diff --git a/.github/workflows/blake3-nonregression.yml b/.github/workflows/blake3-nonregression.yml index 62c019d55b..db8ab6761a 100644 --- a/.github/workflows/blake3-nonregression.yml +++ b/.github/workflows/blake3-nonregression.yml @@ -51,7 +51,7 @@ on: default: "200,15,3" type: string bench_axes: - description: "Comma-separated axes: all, execute_trace_inputs_sync, build_trace, prove_trace_sync, e2e_prove." + description: "Comma-separated axes: all, execute_for_proving_sync, build_trace, prove_trace_sync, e2e_prove." required: false default: "all" type: string diff --git a/CHANGELOG.md b/CHANGELOG.md index 478b1ab3f7..24672b35d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,6 +50,16 @@ - [BREAKING] Removed unused public APIs and narrowed test-only helper visibility across VM and crypto crates ([#3424](https://github.com/0xMiden/miden-vm/pull/3424)). - Enable simd128 Plonky3 backend for WASM builds and added related CI job ([#3433](https://github.com/0xMiden/miden-vm/pull/3433)). - [BREAKING] Bumped Plonky3 related dependencies to integrate SVE2 and WASM-SIMD128 speed-ups and include a NEON bugfix. ([#3441](https://github.com/0xMiden/miden-vm/pull/3441)). +- [BREAKING] Superseded the preceding unreleased partial-proof and configurable-verifier APIs with + checked `ExecutionWitness` and `VmWitness` artifacts, VM-first `Prover` methods, + deferred/complete `ExecutionProof` states, and borrowed verification that reports any + authenticated outstanding precompile root. The intermediate `prove_partial*`, + `Verifier::verify_partial`, and `Verifier::with_max_deferred_elements` APIs were removed. Proof + encoding preserves representation without establishing validity, with standard and + custom-registry decode paths carrying deferred-element bounds. A deferred proof retains a + hydrated `PrecompileWitness`; `DeferredStateWire` is its transport representation, not the + in-memory proof payload. See the PR description for the complete migration guide + ([#3437](https://github.com/0xMiden/miden-vm/pull/3437)). #### Fixes diff --git a/Cargo.lock b/Cargo.lock index 4d449c82c3..af3199e411 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2598,6 +2598,7 @@ dependencies = [ "miden-processor", "serde", "serde-wincode", + "thiserror", "tokio", "tracing", ] @@ -2719,7 +2720,6 @@ dependencies = [ "miden-air", "miden-core", "miden-crypto", - "miden-precompiles", "miden-precompiles-prover", "serde", "serde-wincode", @@ -2738,6 +2738,7 @@ dependencies = [ "miden-core", "miden-core-lib", "miden-mast-package", + "miden-precompiles", "miden-processor", "miden-prover", "miden-test-serde-macros", @@ -2791,7 +2792,6 @@ dependencies = [ "miden-core", "miden-core-lib", "miden-processor", - "miden-prover", "miden-test-utils", "miden-vm", "serde", diff --git a/README.md b/README.md index 82f54ea22e..345b8c4f3f 100644 --- a/README.md +++ b/README.md @@ -109,7 +109,11 @@ RAYON_NUM_THREADS=16 cargo run --profile optimized -p miden-vm-blake3-bench --bi --git-ref "$(git rev-parse HEAD)" ``` -The result is written to `target/blake3-nonregression/result.json`; the harness does not parse the `miden-vm run` or `miden-vm prove` text output. The benchmark records `execute_trace_inputs_sync`, `build_trace`, `prove_trace_sync`, and `e2e_prove`. The `e2e_prove` metric runs execution and trace generation on each sample, but only measures the prover span. The harness also proves and verifies the program once before timing proof-heavy axes. +The result is written to `target/blake3-nonregression/result.json`; the harness does not parse +the `miden-vm run` or `miden-vm prove` text output. The benchmark records +`execute_for_proving_sync`, `build_trace`, `prove_trace_sync`, and `e2e_prove`. The `e2e_prove` +metric runs execution and trace generation on each sample, but only measures the prover span. The +harness also proves and verifies the program once before timing proof-heavy axes. ### Single-core prover performance diff --git a/benches/blake3-bench/benches/blake3_bench.rs b/benches/blake3-bench/benches/blake3_bench.rs index de25026616..983501f8bc 100644 --- a/benches/blake3-bench/benches/blake3_bench.rs +++ b/benches/blake3-bench/benches/blake3_bench.rs @@ -3,19 +3,19 @@ use std::{hint::black_box, time::Duration}; use codspeed_criterion_compat as criterion; use criterion::{BatchSize, Criterion, SamplingMode, criterion_group, criterion_main}; use miden_vm_blake3_bench::{ - BENCH_GROUP, Blake3Fixture, build_trace, execute_program, execute_trace_inputs, + BENCH_GROUP, Blake3Fixture, build_trace, execute_for_proving, execute_program, prove_and_verify_once, prove_span_duration, prove_trace, repo_root_from_manifest, }; const ALL_AXES: [&str; 5] = [ "execute_sync", - "execute_trace_inputs_sync", + "execute_for_proving_sync", "build_trace", "prove_trace_sync", "e2e_prove", ]; const PROOF_AXES: [&str; 2] = ["e2e_prove", "prove_trace_sync"]; -const LIGHT_AXES: [&str; 3] = ["execute_sync", "execute_trace_inputs_sync", "build_trace"]; +const LIGHT_AXES: [&str; 3] = ["execute_sync", "execute_for_proving_sync", "build_trace"]; fn env_usize(name: &str, default: usize) -> usize { match std::env::var(name) { @@ -55,7 +55,7 @@ fn resolve_axes() -> Vec<&'static str> { "all" => requested.extend(ALL_AXES), "e2e_prove" | "prove" | "prove_program_sync" => requested.push("e2e_prove"), "execute_sync" => requested.push("execute_sync"), - "execute_trace_inputs_sync" => requested.push("execute_trace_inputs_sync"), + "execute_for_proving_sync" => requested.push("execute_for_proving_sync"), "prove_trace_sync" => requested.push("prove_trace_sync"), "build_trace" => requested.push("build_trace"), _ => panic!( @@ -116,10 +116,10 @@ fn blake3_bench(c: &mut Criterion) { if has_axis(&axes, "prove_trace_sync") { group.bench_function("prove_trace_sync", |b| { b.iter_batched( - || execute_trace_inputs(&fixture), - |trace_inputs| { - let trace_inputs = black_box(trace_inputs); - prove_trace(trace_inputs); + || execute_for_proving(&fixture), + |execution_witness| { + let execution_witness = black_box(execution_witness); + prove_trace(execution_witness); }, BatchSize::SmallInput, ); @@ -151,11 +151,11 @@ fn blake3_bench(c: &mut Criterion) { }); } - if has_axis(&axes, "execute_trace_inputs_sync") { - group.bench_function("execute_trace_inputs_sync", |b| { + if has_axis(&axes, "execute_for_proving_sync") { + group.bench_function("execute_for_proving_sync", |b| { b.iter_batched( || fixture.clone(), - |fixture| black_box(execute_trace_inputs(&fixture)), + |fixture| black_box(execute_for_proving(&fixture)), BatchSize::SmallInput, ); }); @@ -164,10 +164,10 @@ fn blake3_bench(c: &mut Criterion) { if has_axis(&axes, "build_trace") { group.bench_function("build_trace", |b| { b.iter_batched( - || execute_trace_inputs(&fixture), - |trace_inputs| { - let trace_inputs = black_box(trace_inputs); - build_trace(trace_inputs); + || execute_for_proving(&fixture), + |execution_witness| { + let execution_witness = black_box(execution_witness); + build_trace(execution_witness); }, BatchSize::SmallInput, ); diff --git a/benches/blake3-bench/src/bin/blake3_nonregression/criterion_results.rs b/benches/blake3-bench/src/bin/blake3_nonregression/criterion_results.rs index 5df1828f20..af13eb8a1f 100644 --- a/benches/blake3-bench/src/bin/blake3_nonregression/criterion_results.rs +++ b/benches/blake3-bench/src/bin/blake3_nonregression/criterion_results.rs @@ -69,7 +69,7 @@ fn select_primary_metric( PRIMARY_METRIC, "prove_trace_sync", "build_trace", - "execute_trace_inputs_sync", + "execute_for_proving_sync", "execute_sync", ] .into_iter() @@ -153,9 +153,9 @@ pub(crate) fn selected_criterion_axes(bench_axes: &str) -> Option Option { match name { - "execute_trace_inputs_with_package_debug_info_sync" - | "execute_trace_inputs_with_package_debug_info_at_source_node_sync" => { - Some("execute_trace_inputs_sync".to_string()) + "execute_for_proving_with_package_debug_info_sync" + | "execute_for_proving_with_package_debug_info_at_source_node_sync" => { + Some("execute_for_proving_sync".to_string()) }, "build aux traces" => Some("build_aux_trace".to_string()), "to_core_chiplets_matrices" => Some("to_row_major_matrix".to_string()), diff --git a/benches/blake3-bench/src/lib.rs b/benches/blake3-bench/src/lib.rs index 56919a90f2..014ab2e729 100644 --- a/benches/blake3-bench/src/lib.rs +++ b/benches/blake3-bench/src/lib.rs @@ -6,8 +6,8 @@ use std::{ use miden_core_lib::CoreLibrary; use miden_vm::{ - Assembler, DefaultHost, ExecutionOptions, FastProcessor, HashFunction, Program, ProvingOptions, - StackInputs, TraceBuildInputs, TraceProvingInputs, Verifier, + Assembler, DefaultHost, ExecutionOptions, ExecutionWitness, FastProcessor, HashFunction, + Program, Prover, StackInputs, Verifier, advice::AdviceInputs, assembly::{ DefaultSourceManager, Path as LibraryPath, @@ -15,7 +15,7 @@ use miden_vm::{ package::debug_info::{DebugSourceNodeId, PackageDebugInfo}, }, internal::InputFile, - prove_from_trace_sync, trace, + trace, }; use serde::{Deserialize, Serialize}; use tracing::{Subscriber, span}; @@ -89,10 +89,6 @@ pub fn execution_options() -> ExecutionOptions { .expect("CLI-compatible Blake3 execution options should be valid") } -pub fn proving_options() -> ProvingOptions { - ProvingOptions::with_96_bit_security(HashFunction::Blake3_256) -} - pub fn default_host() -> DefaultHost { DefaultHost::default() .with_library(&CoreLibrary::default()) @@ -103,7 +99,7 @@ fn host_for_fixture(fixture: &Blake3Fixture) -> DefaultHost TraceBuildInputs { +pub fn execute_for_proving(fixture: &Blake3Fixture) -> ExecutionWitness { let mut host = host_for_fixture(fixture); let processor = FastProcessor::new_with_options( fixture.stack_inputs, @@ -113,7 +109,7 @@ pub fn execute_trace_inputs(fixture: &Blake3Fixture) -> TraceBuildInputs { .expect("processor advice inputs should fit advice map limits"); match (fixture.debug_info.as_ref(), fixture.entrypoint_source_node) { (Some(debug_info), Some(entrypoint_source_node)) => processor - .execute_trace_inputs_with_package_debug_info_at_source_node_sync( + .execute_for_proving_with_package_debug_info_at_source_node_sync( &fixture.program, debug_info, entrypoint_source_node, @@ -121,14 +117,14 @@ pub fn execute_trace_inputs(fixture: &Blake3Fixture) -> TraceBuildInputs { ) .expect("failed to execute Blake3 benchmark"), (Some(debug_info), None) => processor - .execute_trace_inputs_with_package_debug_info_sync( + .execute_for_proving_with_package_debug_info_sync( &fixture.program, debug_info, &mut host, ) .expect("failed to execute Blake3 benchmark"), (None, _) => processor - .execute_trace_inputs_sync(&fixture.program, &mut host) + .execute_for_proving_sync(&fixture.program, &mut host) .expect("failed to execute Blake3 benchmark"), } } @@ -148,36 +144,37 @@ pub fn execute_program(fixture: &Blake3Fixture) { pub fn prove_program(fixture: &Blake3Fixture) { let _span = tracing::info_span!("prove_program_sync").entered(); - prove_trace(execute_trace_inputs(fixture)); + prove_trace(execute_for_proving(fixture)); } -pub fn prove_trace(trace_inputs: TraceBuildInputs) { - let _ = prove_trace_outputs(trace_inputs); +pub fn prove_trace(witness: ExecutionWitness) { + let _ = prove_trace_outputs(witness); } pub fn prove_and_verify_once(fixture: &Blake3Fixture) { - let stack_inputs = fixture.stack_inputs; - let trace_inputs = execute_trace_inputs(fixture); - let (stack_outputs, proof) = prove_trace_outputs(trace_inputs); - let claim = miden_vm::ExecutionClaim::from_program_info( - fixture.program.to_info(), - stack_inputs, - stack_outputs, - ); - Verifier::new() - .verify(proof, claim) + let witness = execute_for_proving(fixture); + let claim = witness.claim(); + let (_, proof) = prove_trace_outputs(witness); + let outcome = Verifier::new() + .verify(&claim, &proof) .expect("failed to verify Blake3 benchmark proof"); + assert!(outcome.is_complete(), "prove_full must settle all precompile work"); } fn prove_trace_outputs( - trace_inputs: TraceBuildInputs, + witness: ExecutionWitness, ) -> (miden_vm::StackOutputs, miden_vm::ExecutionProof) { - prove_from_trace_sync(TraceProvingInputs::new(trace_inputs, proving_options())) - .expect("failed to prove Blake3 benchmark trace") + let stack_outputs = *witness.claim().stack_outputs(); + let proof = Prover::new() + .with_hash_fn(HashFunction::Blake3_256) + .prove_full(witness) + .expect("failed to prove Blake3 benchmark witness"); + (stack_outputs, proof) } -pub fn build_trace(trace_inputs: TraceBuildInputs) { - trace::build_trace(trace_inputs).expect("failed to build Blake3 execution trace"); +pub fn build_trace(witness: ExecutionWitness) { + let (vm_witness, _) = witness.into_parts(); + trace::build_trace(vm_witness).expect("failed to build Blake3 execution trace"); } #[derive(Clone, Debug, Serialize, Deserialize)] diff --git a/benches/synthetic-bench/Cargo.toml b/benches/synthetic-bench/Cargo.toml index 7f789d1402..da28fc0c6a 100644 --- a/benches/synthetic-bench/Cargo.toml +++ b/benches/synthetic-bench/Cargo.toml @@ -23,7 +23,6 @@ codspeed-criterion-compat = { workspace = true } miden-assembly = { workspace = true, features = ["std"] } miden-core = { workspace = true, features = ["std"] } miden-core-lib = { workspace = true, features = ["std"] } -miden-prover = { workspace = true, features = ["concurrent"] } miden-utils-testing = { workspace = true, features = ["std"] } [[bench]] diff --git a/benches/synthetic-bench/benches/recursive_verify.rs b/benches/synthetic-bench/benches/recursive_verify.rs index 0852efe549..8b60ae3f73 100644 --- a/benches/synthetic-bench/benches/recursive_verify.rs +++ b/benches/synthetic-bench/benches/recursive_verify.rs @@ -55,11 +55,10 @@ use miden_processor::{ advice::{AdviceInputs, AdviceStack}, trace::TraceLenSummary, }; -use miden_prover::prove_sync; use miden_utils_testing::recursive_verifier::generate_advice_inputs; use miden_vm::{ - Assembler, ExecutionProof, HashFunction, Program, ProgramInfo, ProvingOptions, StackInputs, - StackOutputs, TraceBuildInputs, trace::build_trace, + Assembler, ExecutionProof, ExecutionWitness, HashFunction, Program, ProgramInfo, Prover, + StackInputs, StackOutputs, prove_sync, read_execution_proof_from_bytes, trace::build_trace, }; const DEFAULT_PROOF_COUNTS: [usize; 7] = [2, 3, 4, 5, 6, 7, 8]; @@ -312,7 +311,7 @@ fn load_cached_tx_proof( return None; }, }; - let proof = match ExecutionProof::from_bytes(&proof_bytes) { + let proof = match read_execution_proof_from_bytes(&proof_bytes) { Ok(proof) => proof, Err(err) => { eprintln!("ignoring undecodable cached proof {}: {err}", proof_path.display()); @@ -320,7 +319,7 @@ fn load_cached_tx_proof( }, }; assert_eq!( - proof.miden_proof().hash_fn(), + proof.vm().proof().hash_fn(), hash_fn, "cached transaction proof hash function mismatch" ); @@ -354,7 +353,8 @@ fn store_cached_tx_proof( .unwrap_or_else(|err| panic!("create proof cache {}: {err}", cache_dir.display())); let (proof_path, outputs_path) = tx_proof_cache_paths(cache_dir, proof_index, cache_key); - std::fs::write(&proof_path, proof.to_bytes()) + let proof_bytes = proof.to_bytes().expect("cached proof should encode"); + std::fs::write(&proof_path, proof_bytes) .unwrap_or_else(|err| panic!("write cached proof {}: {err}", proof_path.display())); let mut output_bytes = Vec::new(); @@ -396,10 +396,11 @@ fn print_tx_fixture_shape( FastProcessor::new_with_options(stack_inputs, advice_inputs, ExecutionOptions::default()) .expect("transaction fixture advice should fit provider limits"); let mut host = recursive_host(); - let trace_inputs = processor - .execute_trace_inputs_sync(program, &mut host) + let witness = processor + .execute_for_proving_sync(program, &mut host) .expect("execute transaction fixture"); - let trace = build_trace(trace_inputs).expect("build transaction fixture trace"); + let (vm_witness, _) = witness.into_parts(); + let trace = build_trace(vm_witness).expect("build transaction fixture trace"); let summary = trace.trace_len_summary(); let record = format!("BENCH_TX_SHAPE index={proof_index}"); let shape = trace_shape_summary_for(proof_index, summary); @@ -450,15 +451,13 @@ fn load_tx_fixtures(config: &BenchConfig, proof_count: usize) -> Vec Vec Vec RecursiveProofAdvice { fixture.stack_inputs, fixture.stack_outputs, ); + assert!( + fixture.proof.is_complete() && fixture.proof.precompile().is_none(), + "recursive verifier expects a complete, precompile-free proof" + ); let verifier_inputs = generate_advice_inputs(&fixture.proof, &claim).expect("recursive advice"); let advice_stack = AdviceStack::try_from_values(verifier_inputs.advice_stack()) @@ -653,7 +658,25 @@ fn recursive_host() -> DefaultHost { host } -fn execute_trace_inputs(case: RecursionCase, mut host: DefaultHost) -> TraceBuildInputs { +fn execute_and_prove( + program: &Program, + stack_inputs: StackInputs, + advice_inputs: AdviceInputs, + host: &mut DefaultHost, + hash_fn: HashFunction, +) -> (StackOutputs, ExecutionProof) { + prove_sync( + &Prover::new().with_hash_fn(hash_fn), + program, + stack_inputs, + advice_inputs, + host, + ExecutionOptions::default(), + ) + .expect("execute and prove program") +} + +fn execute_for_proving(case: RecursionCase, mut host: DefaultHost) -> ExecutionWitness { let processor = FastProcessor::new_with_options( StackInputs::default(), case.advice_inputs, @@ -661,35 +684,34 @@ fn execute_trace_inputs(case: RecursionCase, mut host: DefaultHost) -> TraceBuil ) .expect("recursive verifier advice should fit provider limits"); processor - .execute_trace_inputs_sync(&case.program, &mut host) + .execute_for_proving_sync(&case.program, &mut host) .expect("execute recursive verifier") } fn execute_recursive_case((case, host): (RecursionCase, DefaultHost)) { - let trace_inputs = execute_trace_inputs(case, host); - black_box(trace_inputs); + let execution_witness = execute_for_proving(case, host); + black_box(execution_witness); } -fn build_trace_case(trace_inputs: TraceBuildInputs) { - let trace = build_trace(trace_inputs).expect("build recursive verifier trace"); +fn build_trace_case(witness: ExecutionWitness) { + let (vm_witness, _) = witness.into_parts(); + let trace = build_trace(vm_witness).expect("build recursive verifier trace"); black_box(trace); } fn execute_and_build_case((case, host): (RecursionCase, DefaultHost)) { - let trace_inputs = execute_trace_inputs(case, host); - build_trace_case(trace_inputs); + let execution_witness = execute_for_proving(case, host); + build_trace_case(execution_witness); } fn prove_recursive_case((case, mut host, hash_fn): (RecursionCase, DefaultHost, HashFunction)) { - let proof = prove_sync( + let proof = execute_and_prove( &case.program, StackInputs::default(), case.advice_inputs, &mut host, - ExecutionOptions::default(), - ProvingOptions::new(hash_fn), - ) - .expect("prove recursive verifier"); + hash_fn, + ); black_box(proof); } @@ -697,17 +719,10 @@ fn prove_recursive_once(case: &RecursionCase, hash_fn: HashFunction) -> (f64, us let advice_inputs = case.advice_inputs.clone(); let start = Instant::now(); let mut host = recursive_host(); - let (_, proof) = prove_sync( - &case.program, - StackInputs::default(), - advice_inputs, - &mut host, - ExecutionOptions::default(), - ProvingOptions::new(hash_fn), - ) - .expect("prove recursive verifier"); + let (_, proof) = + execute_and_prove(&case.program, StackInputs::default(), advice_inputs, &mut host, hash_fn); let elapsed_ms = start.elapsed().as_secs_f64() * 1_000.0; - let proof_bytes = proof.to_bytes().len(); + let proof_bytes = proof.to_bytes().expect("recursive proof should encode").len(); black_box(proof); (elapsed_ms, proof_bytes) } @@ -805,10 +820,11 @@ fn trace_shape_summary(case: &RecursionCase) -> TraceShapeSummary { ) .expect("recursive verifier advice should fit provider limits"); let mut host = recursive_host(); - let trace_inputs = processor - .execute_trace_inputs_sync(&case.program, &mut host) + let witness = processor + .execute_for_proving_sync(&case.program, &mut host) .expect("execute recursive verifier"); - let trace = build_trace(trace_inputs).expect("build recursive verifier trace"); + let (vm_witness, _) = witness.into_parts(); + let trace = build_trace(vm_witness).expect("build recursive verifier trace"); let summary = trace.trace_len_summary(); trace_shape_summary_for(case.proof_count, summary) } @@ -934,7 +950,7 @@ fn bench_recursive_verify(c: &mut Criterion) { group.bench_function(format!("build_trace/{} proofs", case.proof_count), |b| { b.iter_batched( - || execute_trace_inputs(case.clone(), recursive_host()), + || execute_for_proving(case.clone(), recursive_host()), build_trace_case, BatchSize::SmallInput, ); diff --git a/benches/synthetic-bench/benches/synthetic_bench.rs b/benches/synthetic-bench/benches/synthetic_bench.rs index 06602c20d4..745d52e25b 100644 --- a/benches/synthetic-bench/benches/synthetic_bench.rs +++ b/benches/synthetic-bench/benches/synthetic_bench.rs @@ -28,12 +28,13 @@ use std::{ use codspeed_criterion_compat as criterion; use criterion::{BatchSize, Criterion, SamplingMode, criterion_group, criterion_main}; +use miden_core::program::ExecutionClaim; use miden_processor::{ DefaultHost, ExecutionOptions, FastProcessor, StackInputs, advice::AdviceInputs, }; use miden_vm::{ - Assembler, ExecutionClaim, ExecutionProof, HashFunction, Program, ProgramInfo, ProvingOptions, - StackOutputs, Verifier, prove_sync, + Assembler, ExecutionProof, HashFunction, Program, ProgramInfo, Prover, StackOutputs, Verifier, + prove_sync, }; use miden_vm_synthetic_bench::{ calibrator::{Calibration, calibrate, measure_program}, @@ -117,6 +118,23 @@ fn processor_inputs(program: &Program) -> (DefaultHost, Program, FastProcessor) (host, program.clone(), processor) } +fn execute_and_prove( + program: &Program, + stack_inputs: StackInputs, + advice_inputs: AdviceInputs, + host: &mut DefaultHost, +) -> ProofFixture { + prove_sync( + &Prover::new().with_hash_fn(BENCH_HASH), + program, + stack_inputs, + advice_inputs, + host, + ExecutionOptions::default(), + ) + .expect("execute and prove program") +} + fn resolve_snapshot_paths() -> Vec { if let Ok(explicit) = std::env::var("SYNTH_SNAPSHOT") { return vec![PathBuf::from(explicit)]; @@ -286,8 +304,8 @@ fn bench_one_scenario( // Four axes per scenario: // exec -- FastProcessor::execute_sync (no trace data) - // trace_prep -- FastProcessor::execute_trace_inputs_sync (the input to prove_from_trace_sync) - // prove -- prove_sync (= trace_prep + STARK prove) + // trace_prep -- FastProcessor::execute_for_proving_sync (post-execution witness creation) + // prove -- configured prove_sync with overlapped trace construction // verify -- Verifier::new().verify against a proof generated once outside the timed loop if axes.contains("exec") { group.bench_function("exec", |b| { @@ -308,7 +326,7 @@ fn bench_one_scenario( |(mut host, program, processor)| { black_box( processor - .execute_trace_inputs_sync(&program, &mut host) + .execute_for_proving_sync(&program, &mut host) .expect("trace_prep"), ); }, @@ -329,15 +347,7 @@ fn bench_one_scenario( (host, program.clone(), stack, advice) }, |(mut host, program, stack, advice)| { - let proof = prove_sync( - &program, - stack, - advice, - &mut host, - ExecutionOptions::default(), - ProvingOptions::new(BENCH_HASH), - ) - .expect("prove"); + let proof = execute_and_prove(&program, stack, advice, &mut host); let mut cached = cached_proof.borrow_mut(); if cached.is_none() { *cached = Some(proof.clone()); @@ -355,26 +365,17 @@ fn bench_one_scenario( let program_info = ProgramInfo::from(program.clone()); let (stack_outputs, proof) = cached_proof.borrow().clone().unwrap_or_else(|| { let mut host = DefaultHost::default(); - prove_sync( - &program, - StackInputs::default(), - AdviceInputs::default(), - &mut host, - ExecutionOptions::default(), - ProvingOptions::new(BENCH_HASH), - ) - .expect("prove for verify setup") + execute_and_prove(&program, StackInputs::default(), AdviceInputs::default(), &mut host) }); + let claim = + ExecutionClaim::from_program_info(program_info, StackInputs::default(), stack_outputs); group.bench_function("verify", |b| { b.iter_batched( - || (program_info.clone(), StackInputs::default(), stack_outputs, proof.clone()), - |(program_info, stack_inputs, stack_outputs, proof)| { - let claim = ExecutionClaim::from_program_info( - program_info, - stack_inputs, - stack_outputs, - ); - black_box(Verifier::new().verify(proof, claim).expect("verify")); + || (claim.clone(), proof.clone()), + |(claim, proof)| { + let outcome = Verifier::new().verify(&claim, &proof).expect("verify"); + assert!(outcome.is_complete()); + black_box(outcome.security_level()); }, BatchSize::SmallInput, ); diff --git a/benches/synthetic-bench/src/calibrator.rs b/benches/synthetic-bench/src/calibrator.rs index 04073f3ff5..44eb8221d8 100644 --- a/benches/synthetic-bench/src/calibrator.rs +++ b/benches/synthetic-bench/src/calibrator.rs @@ -28,11 +28,12 @@ pub fn measure_program(source: &str) -> Result { let mut host = DefaultHost::default(); let processor = FastProcessor::new(StackInputs::default()); - let trace_inputs = processor - .execute_trace_inputs_sync(&program, &mut host) + let witness = processor + .execute_for_proving_sync(&program, &mut host) .map_err(|e| MeasurementError::Execution(format!("{e}")))?; + let (vm_witness, _) = witness.into_parts(); let trace = - build_trace(trace_inputs).map_err(|e| MeasurementError::TraceBuild(format!("{e}")))?; + build_trace(vm_witness).map_err(|e| MeasurementError::TraceBuild(format!("{e}")))?; let summary = trace.trace_len_summary(); let chiplets = summary.chiplets_trace_len(); diff --git a/core/src/deferred/mod.rs b/core/src/deferred/mod.rs index 539c43bf50..da059a23d7 100644 --- a/core/src/deferred/mod.rs +++ b/core/src/deferred/mod.rs @@ -13,6 +13,7 @@ mod precompile; mod precompile_registry; mod state; mod wire; +mod witness; use alloc::boxed::Box; @@ -21,6 +22,7 @@ pub use precompile::{Precompile, precompile_id}; pub use precompile_registry::PrecompileRegistry; pub use state::{DeferredContext, DeferredState}; pub use wire::{DeferredStateWire, IntegrityError, TRUE_INDEX, WireEntry}; +pub use witness::{PrecompileWitness, PrecompileWitnessError}; use crate::Word; @@ -33,6 +35,12 @@ pub const DEFERRED_ROOT_DOMAIN: Word = Word::new(Tag::AND.as_word()); /// Default maximum approximate number of field elements allowed in deferred state. pub const DEFAULT_MAX_DEFERRED_ELEMENTS: usize = 1 << 20; +/// Hard library safety ceiling for ordered precompile roots. +/// +/// This bounds root-vector allocation and aggregate-root folding. It is not a protocol acceptance +/// limit; callers may impose a lower limit. +pub const MAX_PRECOMPILE_ROOTS: usize = 1 << 12; + /// Folds a verified deferred statement into the rolling deferred root. pub fn fold_deferred_root(root: DeferredRoot, statement: Digest) -> DeferredRoot { Node::and(root, statement).digest() @@ -80,6 +88,8 @@ pub enum DeferredError { AssertionFailed, #[error("deferred insertion requires {num_elements} elements but only {max} remain")] DeferredStateTooLarge { num_elements: usize, max: usize }, + #[error("deferred state contains {num_elements} elements, exceeding the {max} element limit")] + DeferredStateLimitExceeded { num_elements: usize, max: usize }, #[error("operation is not supported by this handler")] Unsupported, #[error("invalid deferred root transition: expected {expected:?}, got {actual:?}")] diff --git a/core/src/deferred/state.rs b/core/src/deferred/state.rs index b76a2ec457..9381436042 100644 --- a/core/src/deferred/state.rs +++ b/core/src/deferred/state.rs @@ -9,10 +9,9 @@ use super::{ /// /// The state keeps registered nodes, host-side evaluation memos, and the current deferred root. /// Evaluation memos are valid only under the same [`PrecompileRegistry`] semantics used to populate -/// them. The state is intentionally not serialized directly: partial proofs carry -/// [`DeferredStateWire`], and [`Self::from_wire`] rebuilds this state only after registry checks, -/// canonical wire checks, and root evaluation. Final non-empty proofs can instead carry a -/// precompile VM STARK proof for the same deferred root. +/// them. The state is intentionally not serialized directly. [`DeferredStateWire`] is the retained +/// low-level transport representation, and [`Self::from_wire`] rebuilds this state only after +/// registry checks, canonical wire checks, and root evaluation. #[derive(Debug, Clone)] pub struct DeferredState { registry: Arc, @@ -142,6 +141,28 @@ impl DeferredState { &self.nodes } + /// Merges `other` into this state and reduces their roots in order. + /// + /// Root-reachable nodes from `other` are re-registered under this state's registry, so shared + /// nodes are deduplicated without serializing either state. This state's remaining node budget + /// applies to imported nodes. + pub fn merge(mut self, other: Self) -> Result { + let other_root = other.root(); + self.import_reachable_from(&other, other_root)?; + self.log_statement(other_root)?; + Ok(self) + } + + /// Returns the approximate number of field elements occupied by registered deferred nodes. + pub fn num_elements(&self) -> usize { + self.nodes + .iter() + .filter_map(|(digest, node)| { + (*digest != TRUE_DIGEST).then_some(node.storage_felt_len()) + }) + .sum() + } + pub fn remaining_elements(&self) -> usize { self.remaining_elements } @@ -153,14 +174,27 @@ impl DeferredState { /// will fail because the remaining budget is set to zero. This lets callers tighten execution /// options without silently dropping proof-relevant deferred state. pub fn set_max_elements(&mut self, max_elements: usize) { - let used_elements = self - .nodes - .iter() - .filter_map(|(digest, node)| { - (*digest != TRUE_DIGEST).then_some(node.storage_felt_len()) - }) - .sum::(); - self.remaining_elements = max_elements.saturating_sub(used_elements); + self.remaining_elements = max_elements.saturating_sub(self.num_elements()); + } + + /// Resets the deferred-node budget for aggregation. + /// + /// Returns an error if the current state already exceeds the requested aggregate limit. + pub(crate) fn try_reset_max_elements( + &mut self, + max_elements: usize, + ) -> Result<(), PrecompileError> { + let num_elements = self.num_elements(); + if num_elements > max_elements { + return Err(DeferredError::DeferredStateLimitExceeded { + num_elements, + max: max_elements, + } + .into()); + } + + self.remaining_elements = max_elements - num_elements; + Ok(()) } /// Recognizes `tag` under the installed registry and returns its declared outer payload shape. @@ -267,7 +301,8 @@ impl DeferredState { /// /// Only nodes reachable from `root` are emitted; registered or memoized orphans are dropped. /// The installed `PrecompileRegistry` determines each node's shape, so graph edges are never - /// inferred from opaque payload bytes. + /// inferred from opaque payload bytes. Encoding preserves the state representation and does not + /// establish its validity; failures to materialize canonical wire are returned to the caller. pub fn to_wire(&self) -> Result { DeferredStateWire::from_state(self) } @@ -276,9 +311,9 @@ impl DeferredState { /// /// The wire root is implicit: empty wire opens [`TRUE_DIGEST`], otherwise the root is the /// digest of the final entry. Rehydration rejects non-canonical or dangling wire, then - /// evaluates the implicit root to TRUE under the installed precompiles. This is the basis for - /// explicit partial verification: final verification rejects `DeferredProof::Wire`, while the - /// partial verifier rehydrates it and verifies the VM proof against the resulting root. + /// evaluates the implicit root to TRUE under the installed precompiles. The wire remains a + /// low-level transport representation for deferred-state witnesses; final proofs use explicit + /// VM and precompile STARK artifacts instead. pub fn from_wire( registry: Arc, wire: &DeferredStateWire, @@ -287,6 +322,35 @@ impl DeferredState { wire.rehydrate(registry, max_elements) } + fn import_reachable_from( + &mut self, + source: &DeferredState, + root: Digest, + ) -> Result<(), PrecompileError> { + let mut pending = alloc::vec![(root, false)]; + while let Some((digest, children_imported)) = pending.pop() { + if digest == TRUE_DIGEST { + continue; + } + + let node = source.nodes.get(&digest).ok_or(PrecompileError::MissingNode)?; + if let Some(existing) = self.nodes.get(&digest) { + if existing != node { + return Err(DeferredError::ConflictingNode.into()); + } + continue; + } + + if children_imported { + self.register(node.clone())?; + } else { + pending.push((digest, true)); + pending.extend(node.children().map(|child| (child, false))); + } + } + Ok(()) + } + fn validate_node_for_insertion(&self, node: &Node) -> Result { let node_type = self.registry.validate_node(node)?; for child in node.children() { @@ -457,4 +521,57 @@ mod tests { assert!(matches!(error.root(), PrecompileError::AssertionFailed)); assert_eq!(state.get_canonical_digest(digest), None); } + + fn framework_state(statement_depth: usize) -> DeferredState { + let mut state = DeferredState::default(); + let mut statement = TRUE_DIGEST; + for _ in 0..statement_depth { + statement = state.register(Node::and(statement, TRUE_DIGEST)).unwrap(); + } + state.log_statement(statement).unwrap(); + state + } + + #[test] + fn merge_reduces_roots_in_order_and_deduplicates_nodes() { + let first = framework_state(1); + let second = framework_state(2); + let first_root = first.root(); + let second_root = second.root(); + let total_nodes = first.nodes().len() + second.nodes().len(); + + let merged = first.merge(second).unwrap(); + + assert_eq!(merged.root(), Node::and(first_root, second_root).digest()); + assert!(merged.nodes().len() < total_nodes); + } + + #[test] + fn merge_preserves_order_and_duplicate_multiplicity() { + let first = framework_state(1); + let second = framework_state(2); + let first_root = first.root(); + let second_root = second.root(); + + let ordered = first.clone().merge(second.clone()).unwrap(); + let reordered = second.merge(first.clone()).unwrap(); + let duplicate = first.clone().merge(first).unwrap(); + + assert_eq!(ordered.root(), Node::and(first_root, second_root).digest()); + assert_eq!(reordered.root(), Node::and(second_root, first_root).digest()); + assert_eq!(duplicate.root(), Node::and(first_root, first_root).digest()); + assert_ne!(ordered.root(), reordered.root()); + assert_ne!(duplicate.root(), first_root); + } + + #[test] + fn merge_combines_exact_roots_without_filtering_true() { + let settled = DeferredState::default(); + let unsettled = framework_state(1); + let unsettled_root = unsettled.root(); + + let merged = settled.merge(unsettled).unwrap(); + + assert_eq!(merged.root(), Node::and(TRUE_DIGEST, unsettled_root).digest()); + } } diff --git a/core/src/deferred/wire.rs b/core/src/deferred/wire.rs index 11c999280e..9fa43817bd 100644 --- a/core/src/deferred/wire.rs +++ b/core/src/deferred/wire.rs @@ -1,16 +1,15 @@ //! Compact wire format for deferred-state witnesses. //! -//! Partial proofs carry a canonical, topologically ordered stream of the explicit DAG entries -//! needed to justify a deferred root before a precompile VM STARK proof is produced. Wire index 0 -//! is reserved for the implicit TRUE node; entry `i` has wire index `i + 1`, and structural child -//! references may only point to TRUE or earlier entries. Empty wire opens [`TRUE_DIGEST`]; +//! This low-level transport format is a canonical, topologically ordered stream of the explicit DAG +//! entries needed to reconstruct a deferred state. It is not embedded in final execution proofs. +//! Wire index 0 is reserved for the implicit TRUE node; entry `i` has wire index `i + 1`, and +//! structural child references may only point to TRUE or earlier entries. Empty wire opens +//! [`TRUE_DIGEST`]; //! otherwise the root is the digest of the final entry. //! //! Rehydration decodes the untrusted stream into ordinary [`DeferredState`] nodes, rejects //! non-canonical/dangling wire by comparing with [`DeferredState::to_wire`], and finally evaluates -//! the implicit root to repopulate evaluation memos. This supports explicit partial verification: -//! public final verification rejects `DeferredProof::Wire`, while the partial verifier rehydrates -//! it and verifies the VM proof against the resulting root. +//! the implicit root to repopulate evaluation memos. use alloc::{ collections::{BTreeMap, BTreeSet}, @@ -69,9 +68,8 @@ pub enum WireEntry { /// /// The root is implicit: empty `entries` opens [`TRUE_DIGEST`], otherwise the root is the digest of /// the last entry. Accepted wire must be topologically ordered, root-last, duplicate-free, -/// canonical, and semantically valid under the installed [`PrecompileRegistry`]. Wire-backed -/// deferred proofs are partial material: public final verification rejects them, and explicit -/// partial verification rehydrates them before checking the VM proof. +/// canonical, and semantically valid under the installed [`PrecompileRegistry`]. This remains a +/// low-level deferred-state transport type and is not embedded in final execution proofs. #[derive(Debug, Clone, PartialEq, Eq, Default)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] pub struct DeferredStateWire { @@ -702,6 +700,23 @@ mod tests { assert_wire_round_trips(DeferredStateWire::default()); } + #[test] + fn wire_encoder_omits_nodes_unreachable_from_root() { + let mut state = DeferredState::default(); + let orphan = state.register(Node::chunks(alloc::vec![[ZERO; 8]]).unwrap()).unwrap(); + state.log_statement(TRUE_DIGEST).unwrap(); + + assert!(state.get_node(&orphan).is_some()); + assert_eq!( + state.to_wire().unwrap().entries, + alloc::vec![WireEntry::Join { + tag: Tag::AND, + lhs: TRUE_INDEX, + rhs: TRUE_INDEX, + }] + ); + } + #[test] fn wire_encoder_handles_deep_roots_iteratively() { let mut state = DeferredState::default(); diff --git a/core/src/deferred/witness.rs b/core/src/deferred/witness.rs new file mode 100644 index 0000000000..1d2f51ace1 --- /dev/null +++ b/core/src/deferred/witness.rs @@ -0,0 +1,571 @@ +use alloc::{sync::Arc, vec::Vec}; + +use super::{ + DeferredState, DeferredStateWire, Digest, IntegrityError, MAX_PRECOMPILE_ROOTS, + PrecompileError, PrecompileRegistry, TRUE_DIGEST, fold_deferred_root, +}; +use crate::serde::{ + BudgetedReader, ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable, + SliceReader, +}; + +/// A hydrated witness for one or more ordered deferred precompile roots. +/// +/// Execution constructs singleton witnesses. [`Self::merge`] combines only singleton inputs and +/// retains their roots in input order, including duplicates. +/// +/// A witness may contain private execution data and a large hydrated DAG. Treat it as sensitive +/// prover input, and prefer borrowing it during proving instead of cloning it. +#[derive(Debug, Clone)] +pub struct PrecompileWitness { + state: DeferredState, + roots: Vec, +} + +impl PrecompileWitness { + /// Creates a singleton witness from a non-empty execution state. + /// + /// Singleton eligibility is representation-based: this retains exactly one root, but does not + /// verify execution provenance. + pub fn new(state: DeferredState) -> Result { + let root = state.root(); + if root == TRUE_DIGEST { + return Err(PrecompileWitnessError::TrueRoot); + } + + let witness = Self { state, roots: alloc::vec![root] }; + witness.validate()?; + Ok(witness) + } + + /// Returns the aggregate root authenticated by the hydrated deferred state. + pub fn root(&self) -> Digest { + self.state.root() + } + + /// Returns the ordered non-TRUE execution roots represented by this witness. + pub fn roots(&self) -> &[Digest] { + &self.roots + } + + /// Returns the hydrated deferred state used by precompile proving. + pub fn state(&self) -> &DeferredState { + &self.state + } + + /// Consumes this witness and returns the hydrated deferred state used by precompile proving. + pub fn into_state(self) -> DeferredState { + self.state + } + + /// Merges ordered singleton witnesses into one aggregate witness. + /// + /// All inputs are validated before any deferred state is consumed. Singleton eligibility means + /// `roots.len() == 1`; execution provenance is not encoded or verified. Witnesses retaining + /// multiple roots are rejected, so roots cannot be regrouped or merged recursively. + /// `max_elements` bounds the complete merged state, including elements already present in the + /// first witness. + pub fn merge( + witnesses: Vec, + max_elements: usize, + ) -> Result { + if witnesses.is_empty() { + return Err(PrecompileWitnessError::EmptyMerge); + } + if witnesses.len() > MAX_PRECOMPILE_ROOTS { + return Err(PrecompileWitnessError::TooManyRoots { + roots: witnesses.len(), + max: MAX_PRECOMPILE_ROOTS, + }); + } + + for witness in &witnesses { + witness.validate_singleton()?; + } + + let roots = witnesses.iter().map(|witness| witness.roots[0]).collect::>(); + let mut witnesses = witnesses.into_iter(); + let mut state = witnesses.next().expect("non-empty witness input was checked above").state; + state + .try_reset_max_elements(max_elements) + .map_err(PrecompileWitnessError::Merge)?; + + for witness in witnesses { + state = state.merge(witness.state).map_err(PrecompileWitnessError::Merge)?; + } + + let expected_root = roots + .iter() + .copied() + .reduce(fold_deferred_root) + .expect("non-empty witness input retains at least one root"); + if state.root() != expected_root { + return Err(PrecompileWitnessError::RootMismatch); + } + + Ok(Self { state, roots }) + } + + /// Encodes this witness using the canonical root-reachable [`DeferredStateWire`] + /// representation. + /// + /// Encoding preserves the witness representation; it does not establish witness validity. + pub fn to_bytes(&self) -> Result, PrecompileWitnessError> { + let wire = self.state.to_wire()?; + let mut bytes = Vec::new(); + bytes.write_usize(self.roots.len()); + for root in &self.roots { + root.write_into(&mut bytes); + } + wire.write_into(&mut bytes); + Ok(bytes) + } + + /// Decodes and rehydrates a witness under the supplied registry and deferred-element bound. + pub fn from_bytes( + bytes: &[u8], + registry: Arc, + max_elements: usize, + ) -> Result { + let mut reader = BudgetedReader::new(SliceReader::new(bytes), bytes.len()); + let witness = Self::read_from(&mut reader, registry, max_elements)?; + if reader.has_more_bytes() { + return Err(DeserializationError::InvalidValue( + "extra bytes after precompile witness payload".into(), + ) + .into()); + } + if witness.to_bytes()? != bytes { + return Err(PrecompileWitnessError::NonCanonicalEncoding); + } + Ok(witness) + } + + /// Decodes one witness payload from `source` using explicit hydration context. + /// + /// Canonicality of a nested payload is checked by the enclosing transport after it has consumed + /// its complete byte slice. + pub(crate) fn read_from( + source: &mut R, + registry: Arc, + max_elements: usize, + ) -> Result { + let root_count = source.read_usize()?; + if root_count > MAX_PRECOMPILE_ROOTS { + return Err(PrecompileWitnessError::TooManyRoots { + roots: root_count, + max: MAX_PRECOMPILE_ROOTS, + }); + } + let roots = source.read_many_iter::(root_count)?.collect::, _>>()?; + let wire = DeferredStateWire::read_from(source)?; + let state = DeferredState::from_wire(registry, &wire, max_elements)?; + let witness = Self { state, roots }; + witness.validate()?; + Ok(witness) + } + + fn validate_singleton(&self) -> Result<(), PrecompileWitnessError> { + if self.roots.len() != 1 { + return Err(PrecompileWitnessError::NonSingleton); + } + self.validate() + } + + pub(crate) fn validate(&self) -> Result<(), PrecompileWitnessError> { + if self.roots.is_empty() { + return Err(PrecompileWitnessError::NoRoots); + } + if self.roots.contains(&TRUE_DIGEST) { + return Err(PrecompileWitnessError::TrueRoot); + } + if self.roots.iter().any(|root| self.state.get_node(root).is_none()) { + return Err(PrecompileWitnessError::RootMismatch); + } + + let expected_root = self + .roots + .iter() + .copied() + .reduce(fold_deferred_root) + .expect("non-empty roots were checked above"); + if self.state.root() != expected_root { + return Err(PrecompileWitnessError::RootMismatch); + } + + Ok(()) + } +} + +/// Errors produced while constructing, merging, or decoding precompile witnesses. +#[derive(Debug, thiserror::Error)] +pub enum PrecompileWitnessError { + /// A witness cannot represent an empty deferred execution. + #[error("precompile witness roots must differ from TRUE_DIGEST")] + TrueRoot, + /// A decoded witness must retain at least one execution root. + #[error("precompile witness must retain at least one root")] + NoRoots, + /// A merge operation requires at least one singleton witness. + #[error("cannot merge an empty precompile witness list")] + EmptyMerge, + /// The ordered root sequence exceeds the hard allocation and folding safety ceiling. + #[error("precompile witness contains too many roots: found {roots}, maximum is {max}")] + TooManyRoots { roots: usize, max: usize }, + /// Merge inputs must come directly from individual executions. + #[error("precompile witness merge inputs must each contain exactly one root")] + NonSingleton, + /// The retained roots do not describe the hydrated deferred state. + #[error("precompile witness roots do not match its deferred state")] + RootMismatch, + /// The decoded bytes are not the unique canonical witness encoding. + #[error("precompile witness bytes are not canonically encoded")] + NonCanonicalEncoding, + /// Sequential deferred-state aggregation failed. + #[error("failed to merge deferred precompile states: {0}")] + Merge(#[source] PrecompileError), + /// Canonical deferred-state encoding or rehydration failed. + #[error(transparent)] + Integrity(#[from] IntegrityError), + /// The witness byte representation is malformed. + #[error(transparent)] + Deserialization(#[from] DeserializationError), +} + +#[cfg(test)] +mod tests { + use super::*; + use crate::{ + Felt, ZERO, + deferred::{ + DEFAULT_MAX_DEFERRED_ELEMENTS, DeferredContext, DeferredError, Node, NodeType, Payload, + Precompile, Tag, precompile_id, + }, + }; + + fn framework_state(statement_depth: usize) -> DeferredState { + let mut state = DeferredState::default(); + let mut statement = TRUE_DIGEST; + for _ in 0..statement_depth { + statement = state.register(Node::and(statement, TRUE_DIGEST)).unwrap(); + } + state.log_statement(statement).unwrap(); + state + } + + fn singleton(statement_depth: usize) -> PrecompileWitness { + PrecompileWitness::new(framework_state(statement_depth)).unwrap() + } + + fn encoded_parts(roots: &[Digest], wire: &DeferredStateWire) -> Vec { + let mut bytes = Vec::new(); + bytes.write_usize(roots.len()); + for root in roots { + root.write_into(&mut bytes); + } + wire.write_into(&mut bytes); + bytes + } + + #[derive(Debug, Clone, Copy)] + struct FixturePrecompile; + + impl FixturePrecompile { + const NAME: &'static str = "precompile-witness-fixture"; + + fn tag() -> Tag { + Tag::precompile(precompile_id(Self::NAME), [ZERO; 3]) + .expect("fixture id is precompile-owned") + } + } + + impl Precompile for FixturePrecompile { + fn name(&self) -> &'static str { + Self::NAME + } + + fn id(&self) -> Felt { + precompile_id(self.name()) + } + + fn decode(&self, args: [Felt; 3]) -> Option { + (args == [ZERO; 3]).then_some(NodeType::Data) + } + + fn evaluate( + &self, + _args: [Felt; 3], + _payload: &Payload, + _context: &mut DeferredContext<'_>, + ) -> Result { + Ok(Node::TRUE) + } + } + + fn fixture_witness() -> PrecompileWitness { + let registry = Arc::new(PrecompileRegistry::new().with_precompile(FixturePrecompile)); + let mut state = DeferredState::new(registry, usize::MAX).unwrap(); + let statement = state + .register(Node::value(FixturePrecompile::tag(), [ZERO; 8]).unwrap()) + .unwrap(); + state.log_statement(statement).unwrap(); + PrecompileWitness::new(state).unwrap() + } + + #[test] + fn singleton_construction_rejects_true_and_retains_execution_root() { + assert!(matches!( + PrecompileWitness::new(DeferredState::default()), + Err(PrecompileWitnessError::TrueRoot) + )); + + let state = framework_state(1); + let root = state.root(); + let witness = PrecompileWitness::new(state).unwrap(); + + assert_eq!(witness.root(), root); + assert_eq!(witness.roots(), &[root]); + assert_eq!(witness.state().root(), root); + } + + #[test] + fn merge_rejects_empty_input() { + assert!(matches!( + PrecompileWitness::merge(Vec::new(), DEFAULT_MAX_DEFERRED_ELEMENTS), + Err(PrecompileWitnessError::EmptyMerge) + )); + } + + #[test] + fn merge_preserves_order_and_changes_the_aggregate_when_reversed() { + let first = singleton(1); + let second = singleton(2); + let first_root = first.root(); + let second_root = second.root(); + + let ordered = PrecompileWitness::merge( + alloc::vec![first.clone(), second.clone()], + DEFAULT_MAX_DEFERRED_ELEMENTS, + ) + .unwrap(); + let reversed = + PrecompileWitness::merge(alloc::vec![second, first], DEFAULT_MAX_DEFERRED_ELEMENTS) + .unwrap(); + + assert_eq!(ordered.roots(), &[first_root, second_root]); + assert_eq!(ordered.root(), fold_deferred_root(first_root, second_root)); + assert_eq!(reversed.roots(), &[second_root, first_root]); + assert_eq!(reversed.root(), fold_deferred_root(second_root, first_root)); + assert_ne!(ordered.root(), reversed.root()); + } + + #[test] + fn merge_preserves_duplicate_singleton_roots() { + let witness = singleton(1); + let root = witness.root(); + + let merged = PrecompileWitness::merge( + alloc::vec![witness.clone(), witness], + DEFAULT_MAX_DEFERRED_ELEMENTS, + ) + .unwrap(); + + assert_eq!(merged.roots(), &[root, root]); + assert_eq!(merged.root(), fold_deferred_root(root, root)); + } + + #[test] + fn merge_rejects_an_already_merged_input_during_prevalidation() { + let merged = PrecompileWitness::merge( + alloc::vec![singleton(1), singleton(2)], + DEFAULT_MAX_DEFERRED_ELEMENTS, + ) + .unwrap(); + + let error = PrecompileWitness::merge( + alloc::vec![singleton(3), fixture_witness(), merged], + DEFAULT_MAX_DEFERRED_ELEMENTS, + ) + .unwrap_err(); + + assert!(matches!(error, PrecompileWitnessError::NonSingleton)); + } + + #[test] + fn one_element_merge_is_a_singleton_identity_under_explicit_budget() { + let witness = singleton(1); + let root = witness.root(); + let num_elements = witness.state().num_elements(); + let max_elements = num_elements + 10; + + let merged = PrecompileWitness::merge(alloc::vec![witness], max_elements).unwrap(); + + assert_eq!(merged.root(), root); + assert_eq!(merged.roots(), &[root]); + assert_eq!(merged.state().num_elements(), num_elements); + assert_eq!(merged.state().remaining_elements(), 10); + } + + #[test] + fn merge_enforces_explicit_aggregate_element_budget() { + let witness = singleton(1); + let num_elements = witness.state().num_elements(); + + let merged = PrecompileWitness::merge(alloc::vec![witness.clone()], num_elements).unwrap(); + assert_eq!(merged.state().num_elements(), num_elements); + assert_eq!(merged.state().remaining_elements(), 0); + + let error = PrecompileWitness::merge(alloc::vec![witness], num_elements - 1).unwrap_err(); + assert!(matches!( + error, + PrecompileWitnessError::Merge(PrecompileError::Other( + DeferredError::DeferredStateLimitExceeded { .. } + )) + )); + } + + #[test] + fn merge_enforces_budget_across_all_input_states() { + let first = singleton(1); + let max_elements = first.state().num_elements(); + + let error = + PrecompileWitness::merge(alloc::vec![first, singleton(2)], max_elements).unwrap_err(); + assert!(matches!( + error, + PrecompileWitnessError::Merge(PrecompileError::Other( + DeferredError::DeferredStateTooLarge { .. } + )) + )); + } + + #[test] + fn merge_rejects_excessive_root_count() { + let witnesses = alloc::vec![singleton(1); MAX_PRECOMPILE_ROOTS + 1]; + + assert!(matches!( + PrecompileWitness::merge(witnesses, usize::MAX), + Err(PrecompileWitnessError::TooManyRoots { + roots, + max: MAX_PRECOMPILE_ROOTS, + }) if roots == MAX_PRECOMPILE_ROOTS + 1 + )); + } + + #[test] + fn wire_decode_rejects_excessive_root_count_before_hydration() { + let mut bytes = Vec::new(); + bytes.write_usize(MAX_PRECOMPILE_ROOTS + 1); + + assert!(matches!( + PrecompileWitness::from_bytes( + &bytes, + Arc::new(PrecompileRegistry::new()), + usize::MAX, + ), + Err(PrecompileWitnessError::TooManyRoots { + roots, + max: MAX_PRECOMPILE_ROOTS, + }) if roots == MAX_PRECOMPILE_ROOTS + 1 + )); + } + + #[test] + fn wire_round_trip_preserves_aggregate_state_and_ordered_roots() { + let witness = PrecompileWitness::merge( + alloc::vec![singleton(1), singleton(2)], + DEFAULT_MAX_DEFERRED_ELEMENTS, + ) + .unwrap(); + let bytes = witness.to_bytes().unwrap(); + + let decoded = + PrecompileWitness::from_bytes(&bytes, Arc::new(PrecompileRegistry::new()), usize::MAX) + .unwrap(); + + assert_eq!(decoded.root(), witness.root()); + assert_eq!(decoded.roots(), witness.roots()); + } + + #[test] + fn wire_decode_rejects_non_minimal_vint_length_encoding() { + let witness = singleton(1); + let canonical = witness.to_bytes().unwrap(); + assert_eq!(canonical[0], 3, "one root uses the canonical one-byte vint encoding"); + + let mut noncanonical = Vec::with_capacity(canonical.len() + 8); + noncanonical.push(0); // Nine-byte vint marker. + noncanonical.extend_from_slice(&1u64.to_le_bytes()); + noncanonical.extend_from_slice(&canonical[1..]); + + assert!(matches!( + PrecompileWitness::from_bytes( + &noncanonical, + Arc::new(PrecompileRegistry::new()), + usize::MAX, + ), + Err(PrecompileWitnessError::NonCanonicalEncoding) + )); + } + + #[test] + fn context_aware_wire_decode_rejects_invalid_inputs() { + let registry = Arc::new(PrecompileRegistry::new()); + assert!(matches!( + PrecompileWitness::from_bytes(&[0], Arc::clone(®istry), usize::MAX), + Err(PrecompileWitnessError::Deserialization(_)) + )); + + let witness = singleton(1); + let mut noncanonical_wire = witness.state().to_wire().unwrap(); + noncanonical_wire.entries.push( + noncanonical_wire + .entries + .last() + .expect("non-empty state has a wire entry") + .clone(), + ); + let noncanonical = encoded_parts(witness.roots(), &noncanonical_wire); + assert!(matches!( + PrecompileWitness::from_bytes(&noncanonical, Arc::clone(®istry), usize::MAX), + Err(PrecompileWitnessError::Integrity(IntegrityError::InvalidStructure)) + )); + + let bytes = witness.to_bytes().unwrap(); + assert!(matches!( + PrecompileWitness::from_bytes(&bytes, Arc::clone(®istry), 0), + Err(PrecompileWitnessError::Integrity(IntegrityError::DeferredStateTooLarge { .. })) + )); + + let fixture_bytes = fixture_witness().to_bytes().unwrap(); + assert!(matches!( + PrecompileWitness::from_bytes(&fixture_bytes, registry, usize::MAX), + Err(PrecompileWitnessError::Integrity(IntegrityError::InvalidStructure)) + )); + } + + #[test] + fn wire_decode_rejects_true_roots_and_trailing_bytes() { + let empty_wire = DeferredStateWire::default(); + let true_root = encoded_parts(&[TRUE_DIGEST], &empty_wire); + assert!(matches!( + PrecompileWitness::from_bytes( + &true_root, + Arc::new(PrecompileRegistry::new()), + usize::MAX, + ), + Err(PrecompileWitnessError::TrueRoot) + )); + + let mut trailing = singleton(1).to_bytes().unwrap(); + trailing.push(0); + assert!(matches!( + PrecompileWitness::from_bytes( + &trailing, + Arc::new(PrecompileRegistry::new()), + usize::MAX, + ), + Err(PrecompileWitnessError::Deserialization(_)) + )); + } +} diff --git a/core/src/mast/serialization/seed_gen.rs b/core/src/mast/serialization/seed_gen.rs index f11d9117a1..803802e794 100644 --- a/core/src/mast/serialization/seed_gen.rs +++ b/core/src/mast/serialization/seed_gen.rs @@ -8,11 +8,11 @@ use std::println; use crate::{ Felt, Word, advice::{AdviceInputs, AdviceMap}, - deferred::{DeferredStateWire, TRUE_INDEX, Tag, WireEntry}, + deferred::{DeferredStateWire, TRUE_DIGEST, TRUE_INDEX, Tag, WireEntry}, mast::{BasicBlockNodeBuilder, JoinNodeBuilder, MastForest}, operations::Operation, program::{KernelDescriptor, Program, StackInputs, StackOutputs}, - proof::{DeferredProof, ExecutionProof, HashFunction}, + proof::{ExecutionProof, HashFunction, StarkProof, VmProof}, serde::{ByteWriter, Serializable}, }; @@ -309,49 +309,21 @@ fn generate_fuzz_seeds() { } } - // Execution proof seed (minimal) + // Execution proof seed (minimal complete proof with no precompile obligation). { - let proof = - ExecutionProof::from_parts(Vec::new(), HashFunction::Rpo256, DeferredProof::empty()); - write_seed("execution_proof_deserialize", "minimal_proof.bin", &proof.to_bytes()); + let stark = StarkProof::new(Vec::new(), HashFunction::Rpo256); + let vm = VmProof::from_parts(stark, TRUE_DIGEST); + let proof = ExecutionProof::new_complete(vm, None).expect("minimal proof should compose"); + let proof = proof.to_bytes().expect("minimal proof should encode"); + write_seed("execution_proof_deserialize", "minimal_proof.bin", &proof); } - // Execution proof seeds for malicious length-prefix deserialization. + // Execution proof seed for malicious VM STARK length-prefix deserialization. { let mut oversized_proof_len = Vec::new(); + oversized_proof_len.write_u8(1); // Complete execution proof discriminant. oversized_proof_len.write_usize(usize::MAX); write_seed("execution_proof_deserialize", "oversized_proof_len.bin", &oversized_proof_len); - - let mut oversized_deferred_wire_entries_len = Vec::new(); - oversized_deferred_wire_entries_len.write_usize(0); - oversized_deferred_wire_entries_len.write_u8(HashFunction::Blake3_256 as u8); - oversized_deferred_wire_entries_len.write_u8(DeferredProof::WIRE_TAG); - oversized_deferred_wire_entries_len.write_usize(usize::MAX); - write_seed( - "execution_proof_deserialize", - "oversized_deferred_wire_entries_len.bin", - &oversized_deferred_wire_entries_len, - ); - } - - // Execution proof seed with many small deferred-wire entries. - { - let deferred_wire = DeferredStateWire { - entries: (0..64) - .map(|idx| WireEntry::Join { - tag: Tag::AND, - lhs: if idx == 0 { TRUE_INDEX } else { idx }, - rhs: TRUE_INDEX, - }) - .collect(), - }; - let proof = - ExecutionProof::from_parts(vec![1, 2, 3], HashFunction::Blake3_256, deferred_wire); - write_seed( - "execution_proof_deserialize", - "many_minimal_deferred_wire_entries.bin", - &proof.to_bytes(), - ); } println!("\nSeed corpus generated in ../tools/miden-core-fuzz/corpus"); diff --git a/core/src/mast/sparse.rs b/core/src/mast/sparse.rs index c2897bfd34..5739c2b487 100644 --- a/core/src/mast/sparse.rs +++ b/core/src/mast/sparse.rs @@ -18,9 +18,9 @@ use crate::{ // MAST FOREST ID // ================================================================================================ -// `MastForestId` is an opaque handle to a [`MastForest`] in some forest store such as the -// `TraceGenerationContext::mast_forest_store`. It is not a content-derived or stable identity for a -// forest, and must not be compared or reused across stores or trace contexts. It is analogous to +// `MastForestId` is an opaque handle to a [`MastForest`] in some forest store such as an execution +// trace replay's `mast_forest_store`. It is not a content-derived or stable identity for a forest, +// and must not be compared or reused across stores or trace contexts. It is analogous to // `MastNodeId`, which is meaningful only within one forest's node store. newtype_id!(MastForestId); diff --git a/core/src/proof.rs b/core/src/proof.rs index 401fe8a85d..fe7b289a2f 100644 --- a/core/src/proof.rs +++ b/core/src/proof.rs @@ -1,16 +1,20 @@ use alloc::{ string::{String, ToString}, + sync::Arc, vec::Vec, }; #[cfg(feature = "arbitrary")] use proptest::prelude::*; #[cfg(feature = "serde")] -use serde::{Deserialize, Serialize}; +use serde::{Deserialize, Deserializer, Serialize}; use crate::{ crypto::hash::{Blake3_256, Poseidon2, Rpo256, Rpx256}, - deferred::{DeferredRoot, DeferredStateWire}, + deferred::{ + DeferredRoot, MAX_PRECOMPILE_ROOTS, PrecompileRegistry, PrecompileWitness, + PrecompileWitnessError, TRUE_DIGEST, + }, serde::{ BudgetedReader, ByteReader, ByteWriter, Deserializable, DeserializationError, Serializable, SliceReader, @@ -125,107 +129,151 @@ impl Deserializable for HashFunction { } } -// EXECUTION PROOF +// PROOF ARTIFACTS // ================================================================================================ -/// A proof of correct execution of Miden VM. -/// -/// The proof contains the Miden VM STARK proof and deferred proof material for the execution's -/// precompile claims. Verifying the deferred proof returns the root used to check the VM STARK -/// public inputs. -/// -/// `Empty` and STARK-backed deferred proofs are final form; wire-backed proofs are partial form. +/// A Miden VM STARK proof together with its authenticated precompile obligation. #[derive(Debug, Clone, PartialEq, Eq)] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -pub struct ExecutionProof { - miden: StarkProof, - deferred: DeferredProof, +pub struct VmProof { + proof: StarkProof, + precompile_root: DeferredRoot, } -impl ExecutionProof { - // CONSTRUCTOR - // -------------------------------------------------------------------------------------------- +impl VmProof { + /// Creates a VM proof artifact from its STARK proof and authenticated precompile root. + pub const fn from_parts(proof: StarkProof, precompile_root: DeferredRoot) -> Self { + Self { proof, precompile_root } + } - /// Creates a new instance of [ExecutionProof] from a Miden VM STARK proof envelope and deferred - /// proof material. - pub const fn new(miden: StarkProof, deferred: DeferredProof) -> Self { - Self { miden, deferred } + /// Returns the VM STARK proof. + pub const fn proof(&self) -> &StarkProof { + &self.proof } - /// Creates a new instance of [ExecutionProof] from serialized Miden VM STARK proof bytes, hash - /// function, and deferred proof material. - pub fn from_parts( - miden_proof_bytes: Vec, - hash_fn: HashFunction, - deferred: impl Into, - ) -> Self { - Self::new(StarkProof::new(miden_proof_bytes, hash_fn), deferred.into()) + /// Returns the authenticated precompile obligation. + pub const fn precompile_root(&self) -> DeferredRoot { + self.precompile_root } - // PUBLIC ACCESSORS - // -------------------------------------------------------------------------------------------- + /// Consumes this artifact and returns its STARK proof and authenticated precompile root. + pub fn into_parts(self) -> (StarkProof, DeferredRoot) { + (self.proof, self.precompile_root) + } +} - /// Returns the Miden VM STARK proof envelope. - pub const fn miden_proof(&self) -> &StarkProof { - &self.miden +impl Serializable for VmProof { + fn write_into(&self, target: &mut W) { + self.proof.write_into(target); + self.precompile_root.write_into(target); } +} - /// Returns the deferred proof material associated with the Miden VM proof. - pub const fn deferred_proof(&self) -> &DeferredProof { - &self.deferred +impl Deserializable for VmProof { + fn read_from(source: &mut R) -> Result { + let proof = StarkProof::read_from(source)?; + let precompile_root = DeferredRoot::read_from(source)?; + Ok(Self::from_parts(proof, precompile_root)) } - /// Returns `true` if this proof is in final form. - /// - /// This is a shape check only: it means the deferred proof is empty or STARK-backed, not that - /// either the VM STARK proof or the deferred proof has been verified. - pub const fn is_final(&self) -> bool { - self.deferred.is_final() + fn read_from_bytes(bytes: &[u8]) -> Result { + let mut reader = BudgetedReader::new(SliceReader::new(bytes), bytes.len()); + Self::read_from(&mut reader) + } + + fn min_serialized_size() -> usize { + StarkProof::min_serialized_size() + DeferredRoot::min_serialized_size() } +} - /// Returns conjectured security level of this proof in bits. +/// A precompile STARK proof with the ordered, non-empty roots that form its aggregate root. +/// +/// Verification folds the entire sequence. [`TRUE_DIGEST`] roots are omitted; order and duplicate +/// multiplicity are significant. +#[derive(Debug, Clone, PartialEq, Eq)] +#[cfg_attr(feature = "serde", derive(Serialize))] +pub struct PrecompileProof { + proof: StarkProof, + roots: Vec, +} + +impl PrecompileProof { + /// Creates a precompile proof artifact after validating its constituent root shape. /// - /// TODO: this is a placeholder returning a hardcoded 96 (honest only for the current - /// parameter preset). The conjectured estimator now exists as - /// `miden_air::config::conjectured_security_level`, but this method cannot call it — - /// `miden-air` depends on `miden-core`, not the reverse. The intended fix is to stop having - /// the proof self-report a security level and instead grade it in the verifier (which does - /// depend on `miden-air`). - pub fn security_level(&self) -> u32 { - 96 + /// This does not verify the STARK proof. + pub fn from_parts( + proof: StarkProof, + roots: Vec, + ) -> Result { + if roots.is_empty() { + return Err(ExecutionProofError::EmptyPrecompileRoots); + } + if roots.len() > MAX_PRECOMPILE_ROOTS { + return Err(ExecutionProofError::TooManyPrecompileRoots { + roots: roots.len(), + max: MAX_PRECOMPILE_ROOTS, + }); + } + if let Some(index) = roots.iter().position(|root| *root == TRUE_DIGEST) { + return Err(ExecutionProofError::SettledPrecompileRoot { index }); + } + + Ok(Self { proof, roots }) } - // SERIALIZATION / DESERIALIZATION - // -------------------------------------------------------------------------------------------- + /// Returns the precompile STARK proof. + pub const fn proof(&self) -> &StarkProof { + &self.proof + } - /// Serializes this proof into a vector of bytes. - pub fn to_bytes(&self) -> Vec { - let mut bytes = Vec::new(); - self.write_into(&mut bytes); - bytes + /// Returns all constituent roots in fold order. + pub fn roots(&self) -> &[DeferredRoot] { + &self.roots } - /// Reads the source bytes, parsing a new proof instance. - /// - /// The serialization layout matches the [`Serializable`] implementation of [`ExecutionProof`]. - pub fn from_bytes(source: &[u8]) -> Result { - ::read_from_bytes(source) + /// Returns the aggregate root obtained by folding all constituent roots in order. + pub fn aggregate_root(&self) -> DeferredRoot { + self.roots + .iter() + .copied() + .reduce(crate::deferred::fold_deferred_root) + .expect("PrecompileProof roots are non-empty by construction") + } + + /// Consumes this artifact and returns its STARK proof and ordered constituent roots. + pub fn into_parts(self) -> (StarkProof, Vec) { + (self.proof, self.roots) + } + + fn covers<'a>(&self, required_roots: impl Iterator) -> bool { + let mut proof_roots = self.roots.iter(); + required_roots + .filter(|root| **root != TRUE_DIGEST) + .all(|required| proof_roots.any(|provided| provided == required)) } } -impl Serializable for ExecutionProof { +impl Serializable for PrecompileProof { fn write_into(&self, target: &mut W) { - self.miden.write_into(target); - self.deferred.write_into(target); + self.proof.write_into(target); + self.roots.write_into(target); } } -impl Deserializable for ExecutionProof { +impl Deserializable for PrecompileProof { fn read_from(source: &mut R) -> Result { - let miden = StarkProof::read_from(source)?; - let deferred = DeferredProof::read_from(source)?; - - Ok(ExecutionProof::new(miden, deferred)) + let proof = StarkProof::read_from(source)?; + let root_count = source.read_usize()?; + if root_count > MAX_PRECOMPILE_ROOTS { + return Err(invalid_proof_shape(ExecutionProofError::TooManyPrecompileRoots { + roots: root_count, + max: MAX_PRECOMPILE_ROOTS, + })); + } + let roots = source + .read_many_iter::(root_count)? + .collect::, _>>()?; + Self::from_parts(proof, roots).map_err(invalid_proof_shape) } fn read_from_bytes(bytes: &[u8]) -> Result { @@ -234,146 +282,284 @@ impl Deserializable for ExecutionProof { } } -#[cfg(any(test, feature = "testing"))] -impl ExecutionProof { - /// Creates a dummy `ExecutionProof` for testing purposes only. - /// - /// A proof created in this way will not be verifiable against any verifier. - pub fn new_dummy() -> Self { - ExecutionProof::new( - StarkProof::new(Vec::new(), HashFunction::Blake3_256), - DeferredProof::Empty, - ) +#[cfg(feature = "serde")] +impl<'de> Deserialize<'de> for PrecompileProof { + fn deserialize>(deserializer: D) -> Result { + #[derive(Deserialize)] + struct Fields { + proof: StarkProof, + roots: Vec, + } + + let Fields { proof, roots } = Fields::deserialize(deserializer)?; + Self::from_parts(proof, roots).map_err(serde::de::Error::custom) } } -// DEFERRED PROOF -// ================================================================================================ +const DEFERRED_PROOF_DISCRIMINANT: u8 = 0; +const COMPLETE_PROOF_DISCRIMINANT: u8 = 1; -/// Proof material for the precompile claims associated with an execution proof. -/// -/// Verification returns the deferred root used to check the VM STARK proof. `Wire` is the partial -/// form; `Empty` and `Stark` are final forms. +/// A Miden VM execution proof, either awaiting precompile proving or complete. /// -/// Variants are public so callers can construct and inspect deferred proof material directly. -#[derive(Debug, Clone, PartialEq, Eq)] -#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] -pub enum DeferredProof { - /// No precompile claims were produced. Verifiers resolve this to - /// [`crate::deferred::TRUE_DIGEST`]. - Empty, - /// Canonical deferred-state wire for a partial proof. - Wire(DeferredStateWire), - /// A precompile VM STARK proof for this execution's exact deferred root. - /// - /// After `proof` verifies against `public_root`, that root is used to verify the VM STARK - /// proof. - Stark { - proof: StarkProof, - public_root: DeferredRoot, +/// The public variants may represent inconsistent artifacts. Checked constructors are conveniences; +/// only full verification establishes proof validity. +#[derive(Debug, Clone)] +pub enum ExecutionProof { + /// The VM STARK is available and its singleton precompile witness remains to be proved. + Deferred { + vm: VmProof, + precompile: PrecompileWitness, + }, + /// All proof work is complete. `None` means the VM authenticated [`TRUE_DIGEST`]. + Complete { + vm: VmProof, + precompile: Option, }, } -impl DeferredProof { - const EMPTY_TAG: u8 = 0; - pub(crate) const WIRE_TAG: u8 = 1; - const STARK_TAG: u8 = 2; - - /// Creates an empty deferred proof. - pub const fn empty() -> Self { - Self::Empty +impl ExecutionProof { + /// Creates a deferred proof after checking the VM root against a singleton witness. + pub fn new_deferred( + vm: VmProof, + precompile: PrecompileWitness, + ) -> Result { + validate_deferred(&vm, &precompile)?; + Ok(Self::Deferred { vm, precompile }) } - /// Creates a deferred proof backed by a wire opening. - pub const fn wire(wire: DeferredStateWire) -> Self { - Self::Wire(wire) + /// Creates a complete proof after checking its optional precompile proof covers the VM root. + /// + /// This only checks artifact structure; it does not verify either STARK proof. + pub fn new_complete( + vm: VmProof, + precompile: Option, + ) -> Result { + validate_complete(&vm, precompile.as_ref())?; + Ok(Self::Complete { vm, precompile }) } - /// Creates a deferred proof backed by a precompile VM STARK proof. - pub const fn stark(proof: StarkProof, public_root: DeferredRoot) -> Self { - Self::Stark { proof, public_root } + /// Checks that this proof's artifacts have a compatible structure. + /// + /// This does not cryptographically verify either STARK proof. + pub fn validate_structure(&self) -> Result<(), ExecutionProofError> { + match self { + Self::Deferred { vm, precompile } => validate_deferred(vm, precompile), + Self::Complete { vm, precompile } => validate_complete(vm, precompile.as_ref()), + } } - /// Returns `true` if this deferred proof is [`DeferredProof::Empty`]. - pub const fn is_empty(&self) -> bool { - matches!(self, Self::Empty) + /// Returns whether this value has the [`Self::Complete`] representation. + /// + /// This is a shape check only. Public variants may be inconsistent; use full verification to + /// establish validity and determine whether an authenticated obligation remains outstanding. + pub const fn is_complete(&self) -> bool { + matches!(self, Self::Complete { .. }) } - /// Returns `true` if this deferred proof is in final form. - /// - /// This is a shape check only: it accepts empty and STARK-backed proofs and rejects wire-backed - /// partial proofs. It does not verify the contained proof material. - pub const fn is_final(&self) -> bool { - matches!(self, Self::Empty | Self::Stark { .. }) + /// Returns the VM proof artifact in either state. + pub const fn vm(&self) -> &VmProof { + match self { + Self::Deferred { vm, .. } | Self::Complete { vm, .. } => vm, + } } - /// Returns the wire opening if this deferred proof is [`DeferredProof::Wire`]. - pub const fn as_wire(&self) -> Option<&DeferredStateWire> { + /// Returns the retained witness when this proof is deferred. + /// + /// Call `.cloned()` on the returned option when ownership of the witness is needed without + /// consuming the VM proof required for completion. + pub const fn precompile_witness(&self) -> Option<&PrecompileWitness> { match self { - Self::Wire(wire) => Some(wire), - _ => None, + Self::Deferred { precompile, .. } => Some(precompile), + Self::Complete { .. } => None, } } - /// Returns the nested proof and public root if this proof is [`DeferredProof::Stark`]. - pub const fn as_stark(&self) -> Option<(&StarkProof, DeferredRoot)> { + /// Returns the completed precompile proof, if this is a complete proof that carries one. + pub const fn precompile(&self) -> Option<&PrecompileProof> { match self { - Self::Stark { proof, public_root } => Some((proof, *public_root)), - _ => None, + Self::Complete { precompile, .. } => precompile.as_ref(), + Self::Deferred { .. } => None, } } -} -impl From for DeferredProof { - fn from(wire: DeferredStateWire) -> Self { - Self::wire(wire) + /// Attaches a compatible precompile proof to a deferred proof. + pub fn complete(self, precompile: PrecompileProof) -> Result { + let Self::Deferred { vm, precompile: witness } = self else { + return Err(ExecutionProofError::AlreadyComplete); + }; + validate_deferred(&vm, &witness)?; + validate_complete(&vm, Some(&precompile))?; + Ok(Self::Complete { vm, precompile: Some(precompile) }) } -} -impl Serializable for DeferredProof { - fn write_into(&self, target: &mut W) { + /// Encodes either state canonically. + /// + /// Encoding preserves the public enum representation and does not establish proof validity. + /// Use [`Self::read_from_bytes`] with an explicit registry and element bound to decode. + pub fn to_bytes(&self) -> Result, ExecutionProofTransportError> { + let mut bytes = Vec::new(); match self { - Self::Empty => target.write_u8(Self::EMPTY_TAG), - Self::Wire(wire) => { - target.write_u8(Self::WIRE_TAG); - wire.write_into(target); + Self::Deferred { vm, precompile } => { + bytes.write_u8(DEFERRED_PROOF_DISCRIMINANT); + vm.write_into(&mut bytes); + bytes.write_bytes(&precompile.to_bytes()?); }, - Self::Stark { proof, public_root } => { - target.write_u8(Self::STARK_TAG); - proof.write_into(target); - public_root.write_into(target); + Self::Complete { vm, precompile } => { + bytes.write_u8(COMPLETE_PROOF_DISCRIMINANT); + vm.write_into(&mut bytes); + precompile.write_into(&mut bytes); }, } + Ok(bytes) } -} -impl Deserializable for DeferredProof { - fn read_from(source: &mut R) -> Result { - let tag = source.read_u8()?; - match tag { - Self::EMPTY_TAG => Ok(Self::Empty), - Self::WIRE_TAG => Ok(Self::Wire(DeferredStateWire::read_from(source)?)), - Self::STARK_TAG => { - let proof = StarkProof::read_from(source)?; - let public_root = ::read_from(source)?; - Ok(Self::Stark { proof, public_root }) + /// Decodes an execution proof with the context required to hydrate a deferred witness. + /// + /// `registry` defines the installed precompile semantics and `max_elements` bounds hydrated + /// deferred-state material. Complete proofs do not otherwise depend on this context. Decoding + /// establishes transport syntax, canonical representation, and witness hydration, not full + /// proof validity. + pub fn read_from_bytes( + bytes: &[u8], + registry: Arc, + max_elements: usize, + ) -> Result { + let mut reader = BudgetedReader::new(SliceReader::new(bytes), bytes.len()); + let discriminant = reader.read_u8()?; + if !matches!(discriminant, DEFERRED_PROOF_DISCRIMINANT | COMPLETE_PROOF_DISCRIMINANT) { + return Err(DeserializationError::InvalidValue(format!( + "invalid execution proof discriminant {discriminant}" + )) + .into()); + } + + let vm = VmProof::read_from(&mut reader)?; + let proof = match discriminant { + DEFERRED_PROOF_DISCRIMINANT => { + let precompile = PrecompileWitness::read_from(&mut reader, registry, max_elements)?; + Self::Deferred { vm, precompile } }, - other => Err(DeserializationError::InvalidValue(format!( - "invalid deferred proof discriminant: {other}" - ))), + COMPLETE_PROOF_DISCRIMINANT => { + let precompile = Option::::read_from(&mut reader)?; + Self::Complete { vm, precompile } + }, + _ => unreachable!("execution proof discriminant was checked before decoding"), + }; + + if reader.has_more_bytes() { + return Err(DeserializationError::InvalidValue( + "extra bytes after execution proof payload".into(), + ) + .into()); } + if proof.to_bytes()? != bytes { + return Err(ExecutionProofTransportError::NonCanonicalEncoding); + } + + Ok(proof) } +} - fn read_from_bytes(bytes: &[u8]) -> Result { - let mut reader = BudgetedReader::new(SliceReader::new(bytes), bytes.len()); - Self::read_from(&mut reader) +/// Structural errors returned while constructing or composing proof artifacts. +#[derive(Debug, Clone, PartialEq, Eq, thiserror::Error)] +pub enum ExecutionProofError { + /// A precompile proof must identify at least one constituent root. + #[error("a precompile proof must contain at least one constituent root")] + EmptyPrecompileRoots, + /// The ordered root sequence exceeds the hard allocation and folding safety ceiling. + #[error("precompile proof contains too many roots: found {roots}, maximum is {max}")] + TooManyPrecompileRoots { roots: usize, max: usize }, + /// Settled roots are omitted from precompile proof constituent roots. + #[error("precompile proof constituent root at index {index} is already settled")] + SettledPrecompileRoot { index: usize }, + /// A deferred proof must authenticate outstanding precompile work. + #[error("a deferred execution proof cannot authenticate TRUE_DIGEST")] + DeferredTrueRoot, + /// A deferred proof must retain exactly one execution witness root. + #[error("a deferred execution proof witness must contain exactly one root, found {roots}")] + DeferredNonSingletonWitness { roots: usize }, + /// The deferred witness root must equal the root authenticated by the VM proof. + #[error("the deferred witness root does not match the VM precompile root")] + DeferredRootMismatch, + /// A precompile proof was supplied for an already settled VM obligation. + #[error("a precompile proof was supplied for an already settled VM obligation")] + UnexpectedPrecompileProof, + /// A non-empty VM obligation had no precompile proof. + #[error("a precompile proof is required for a non-empty VM obligation")] + MissingPrecompileProof, + /// The proof roots do not cover the VM obligations as an ordered subsequence. + #[error("precompile proof roots do not cover VM obligations in order")] + InsufficientPrecompileRootCoverage, + /// Only a deferred execution proof can be completed. + #[error("the execution proof is already complete")] + AlreadyComplete, +} + +/// Errors returned by canonical execution-proof encoding and context-aware decoding. +#[derive(Debug, thiserror::Error)] +pub enum ExecutionProofTransportError { + /// Deferred witness encoding or hydration failed. + #[error(transparent)] + Witness(#[from] PrecompileWitnessError), + /// The byte representation is malformed. + #[error(transparent)] + Deserialization(#[from] DeserializationError), + /// The decoded representation was valid but not encoded uniquely. + #[error("execution proof bytes are not canonically encoded")] + NonCanonicalEncoding, +} + +fn validate_deferred( + vm: &VmProof, + precompile: &PrecompileWitness, +) -> Result<(), ExecutionProofError> { + if vm.precompile_root == TRUE_DIGEST { + return Err(ExecutionProofError::DeferredTrueRoot); + } + if precompile.roots().len() != 1 { + return Err(ExecutionProofError::DeferredNonSingletonWitness { + roots: precompile.roots().len(), + }); } + if precompile.validate().is_err() || precompile.roots()[0] != vm.precompile_root { + return Err(ExecutionProofError::DeferredRootMismatch); + } + Ok(()) +} - fn min_serialized_size() -> usize { - 1 +fn validate_complete( + vm: &VmProof, + precompile: Option<&PrecompileProof>, +) -> Result<(), ExecutionProofError> { + validate_precompile_coverage(core::iter::once(&vm.precompile_root), precompile) +} + +fn validate_precompile_coverage<'a>( + required_roots: impl Iterator, + precompile: Option<&PrecompileProof>, +) -> Result<(), ExecutionProofError> { + let mut required_roots = required_roots.filter(|root| **root != TRUE_DIGEST).peekable(); + + if required_roots.peek().is_none() { + return if precompile.is_none() { + Ok(()) + } else { + Err(ExecutionProofError::UnexpectedPrecompileProof) + }; + } + + let precompile = precompile.ok_or(ExecutionProofError::MissingPrecompileProof)?; + if precompile.covers(required_roots) { + Ok(()) + } else { + Err(ExecutionProofError::InsufficientPrecompileRootCoverage) } } +fn invalid_proof_shape(error: ExecutionProofError) -> DeserializationError { + DeserializationError::InvalidValue(error.to_string()) +} + // STARK PROOF // ================================================================================================ @@ -425,168 +611,474 @@ impl Deserializable for StarkProof { let mut reader = BudgetedReader::new(SliceReader::new(bytes), bytes.len()); Self::read_from(&mut reader) } + + fn min_serialized_size() -> usize { + Vec::::min_serialized_size() + HashFunction::min_serialized_size() + } } #[cfg(test)] mod tests { + use core::sync::atomic::{AtomicBool, Ordering}; + use super::*; use crate::{ Felt, - deferred::{DeferredRoot, TRUE_INDEX, Tag, WireEntry}, - serde::{BudgetedReader, ByteWriter, DeserializationError, SliceReader}, + deferred::{ + DEFAULT_MAX_DEFERRED_ELEMENTS, DeferredContext, DeferredState, IntegrityError, Node, + NodeType, Payload, Precompile, PrecompileError, Tag, precompile_id, + }, + serde::ByteWriter, }; - #[test] - fn execution_proof_from_bytes_rejects_unbounded_proof_len() { - let mut bytes = Vec::new(); - bytes.write_usize(usize::MAX); + fn dummy_stark_proof(bytes: &[u8]) -> StarkProof { + StarkProof::new(bytes.to_vec(), HashFunction::Blake3_256) + } - let err = ExecutionProof::from_bytes(&bytes).unwrap_err(); - let DeserializationError::InvalidValue(message) = err else { - panic!("expected InvalidValue error"); - }; - assert!(message.contains("requested")); - assert!(message.contains("reader can provide at most")); + fn root(value: u64) -> DeferredRoot { + [ + Felt::new(value).unwrap(), + Felt::new(0).unwrap(), + Felt::new(0).unwrap(), + Felt::new(0).unwrap(), + ] + .into() + } + + fn vm_proof(precompile_root: DeferredRoot) -> VmProof { + VmProof::from_parts(dummy_stark_proof(&[1]), precompile_root) + } + + fn precompile_proof(roots: &[DeferredRoot]) -> PrecompileProof { + PrecompileProof::from_parts(dummy_stark_proof(&[2]), roots.to_vec()).unwrap() + } + + fn witness(statement_depth: usize) -> PrecompileWitness { + let mut state = DeferredState::default(); + let mut statement = TRUE_DIGEST; + for _ in 0..statement_depth { + statement = state.register(Node::and(statement, TRUE_DIGEST)).unwrap(); + } + state.log_statement(statement).unwrap(); + PrecompileWitness::new(state).unwrap() + } + + fn registry() -> Arc { + Arc::new(PrecompileRegistry::new()) + } + + #[derive(Debug, Clone)] + struct MutableShapeFixture { + data_shape: Arc, + } + + impl MutableShapeFixture { + const NAME: &'static str = "proof-mutable-shape-fixture"; + + fn tag() -> Tag { + Tag::precompile(precompile_id(Self::NAME), [Felt::ZERO; 3]) + .expect("fixture id is precompile-owned") + } + } + + impl Precompile for MutableShapeFixture { + fn name(&self) -> &'static str { + Self::NAME + } + + fn id(&self) -> Felt { + precompile_id(Self::NAME) + } + + fn decode(&self, args: [Felt; 3]) -> Option { + (args == [Felt::ZERO; 3]).then(|| { + if self.data_shape.load(Ordering::Relaxed) { + NodeType::Data + } else { + NodeType::PairList + } + }) + } + + fn evaluate( + &self, + _args: [Felt; 3], + _payload: &Payload, + _context: &mut DeferredContext<'_>, + ) -> Result { + Ok(Node::TRUE) + } + } + + fn mutable_shape_witness() -> (PrecompileWitness, Arc) { + let data_shape = Arc::new(AtomicBool::new(false)); + let registry = Arc::new( + PrecompileRegistry::new() + .with_precompile(MutableShapeFixture { data_shape: Arc::clone(&data_shape) }), + ); + let mut state = DeferredState::new(registry, usize::MAX).unwrap(); + let statement = state + .register( + Node::try_pair_list( + MutableShapeFixture::tag(), + alloc::vec![(TRUE_DIGEST, TRUE_DIGEST)], + ) + .unwrap(), + ) + .unwrap(); + state.log_statement(statement).unwrap(); + (PrecompileWitness::new(state).unwrap(), data_shape) + } + + fn round_trip(proof: &ExecutionProof) { + let bytes = proof.to_bytes().unwrap(); + let decoded = ExecutionProof::read_from_bytes(&bytes, registry(), usize::MAX).unwrap(); + assert_eq!(decoded.to_bytes().unwrap(), bytes); } #[test] - fn execution_proof_read_from_bytes_rejects_unbounded_proof_len() { - let mut bytes = Vec::new(); - bytes.write_usize(usize::MAX); + fn proof_minimum_serialized_sizes_match_empty_encodings() { + let stark = StarkProof::new(Vec::new(), HashFunction::Blake3_256); + assert_eq!(StarkProof::min_serialized_size(), stark.to_bytes().len()); + + let vm = VmProof::from_parts(stark, TRUE_DIGEST); + assert_eq!(VmProof::min_serialized_size(), vm.to_bytes().len()); + } - let err = ExecutionProof::read_from_bytes(&bytes).unwrap_err(); - let DeserializationError::InvalidValue(message) = err else { - panic!("expected InvalidValue error"); + #[test] + fn deferred_encoding_propagates_wire_materialization_errors() { + let (witness, data_shape) = mutable_shape_witness(); + data_shape.store(true, Ordering::Relaxed); + + assert!(matches!(witness.state().to_wire(), Err(IntegrityError::InvalidStructure))); + assert!(matches!( + witness.to_bytes(), + Err(PrecompileWitnessError::Integrity(IntegrityError::InvalidStructure)) + )); + + let proof = ExecutionProof::Deferred { + vm: vm_proof(witness.root()), + precompile: witness, }; - assert!(message.contains("requested")); - assert!(message.contains("reader can provide at most")); + assert!(matches!( + proof.to_bytes(), + Err(ExecutionProofTransportError::Witness(PrecompileWitnessError::Integrity( + IntegrityError::InvalidStructure + ))) + )); } #[test] - fn execution_proof_round_trips_empty_deferred_proof() { - let proof = ExecutionProof::new( - StarkProof::new(alloc::vec![1, 2, 3], HashFunction::Blake3_256), - DeferredProof::empty(), + fn precompile_proof_is_singular_checked_and_ordered() { + let first = root(1); + let second = root(2); + let singleton = precompile_proof(&[first]); + let merged = precompile_proof(&[first, second]); + + assert_eq!(singleton.aggregate_root(), first); + assert_eq!(merged.aggregate_root(), crate::deferred::fold_deferred_root(first, second)); + assert_eq!( + PrecompileProof::from_parts(dummy_stark_proof(&[2]), Vec::new()).unwrap_err(), + ExecutionProofError::EmptyPrecompileRoots + ); + assert_eq!( + PrecompileProof::from_parts( + dummy_stark_proof(&[2]), + alloc::vec![first, TRUE_DIGEST, second], + ) + .unwrap_err(), + ExecutionProofError::SettledPrecompileRoot { index: 1 } ); - - let decoded = ExecutionProof::from_bytes(&proof.to_bytes()).unwrap(); - - assert_eq!(decoded, proof); - assert_eq!(decoded.miden_proof().bytes(), &[1, 2, 3]); - assert_eq!(decoded.miden_proof().hash_fn(), HashFunction::Blake3_256); - assert!(decoded.deferred_proof().is_empty()); - assert!(decoded.is_final()); } #[test] - fn execution_proof_round_trips_empty_deferred_wire() { - let proof = ExecutionProof::from_parts( - alloc::vec![1, 2, 3], - HashFunction::Blake3_256, - DeferredProof::wire(DeferredStateWire::default()), + fn precompile_proof_enforces_root_count_safety_ceiling() { + let roots = alloc::vec![root(1); MAX_PRECOMPILE_ROOTS]; + assert_eq!( + PrecompileProof::from_parts(dummy_stark_proof(&[2]), roots) + .unwrap() + .roots() + .len(), + MAX_PRECOMPILE_ROOTS ); - let decoded = ExecutionProof::from_bytes(&proof.to_bytes()).unwrap(); + let roots = alloc::vec![root(1); MAX_PRECOMPILE_ROOTS + 1]; + assert_eq!( + PrecompileProof::from_parts(dummy_stark_proof(&[2]), roots).unwrap_err(), + ExecutionProofError::TooManyPrecompileRoots { + roots: MAX_PRECOMPILE_ROOTS + 1, + max: MAX_PRECOMPILE_ROOTS, + } + ); - assert_eq!(decoded, proof); - assert_eq!(decoded.deferred_proof().as_wire(), Some(&DeferredStateWire::default())); - assert!(!decoded.is_final()); + let mut bytes = dummy_stark_proof(&[2]).to_bytes(); + bytes.write_usize(MAX_PRECOMPILE_ROOTS + 1); + let error = PrecompileProof::read_from_bytes(&bytes).unwrap_err(); + let DeserializationError::InvalidValue(message) = error else { + panic!("expected excessive root count to be rejected") + }; + assert!(message.contains("precompile proof contains too many roots")); } #[test] - fn execution_proof_round_trips_non_empty_deferred_wire() { - let tag = Tag::from_word([ - Felt::new_unchecked(7), - Felt::new_unchecked(1), - Felt::new_unchecked(2), - Felt::new_unchecked(3), - ]); - let deferred_wire = DeferredStateWire { - entries: alloc::vec![ - WireEntry::Data { - tag, - chunks: alloc::vec![[Felt::new_unchecked(1); 8]], - }, - WireEntry::Join { tag, lhs: TRUE_INDEX, rhs: 1 }, - ], + fn precompile_proof_deserialization_rejects_settled_constituent_root() { + let malformed = PrecompileProof { + proof: dummy_stark_proof(&[2]), + roots: alloc::vec![root(1), TRUE_DIGEST], }; - let proof = ExecutionProof::from_parts( - alloc::vec![1, 2, 3], - HashFunction::Blake3_256, - deferred_wire, - ); - let decoded = ExecutionProof::from_bytes(&proof.to_bytes()).unwrap(); + let error = PrecompileProof::read_from_bytes(&malformed.to_bytes()).unwrap_err(); + let DeserializationError::InvalidValue(message) = error else { + panic!("expected invalid precompile proof shape") + }; + assert!(message.contains("index 1 is already settled")); + } + + #[test] + fn deferred_construction_requires_non_true_matching_singleton_witness() { + let singleton = witness(1); + let singleton_root = singleton.root(); + let deferred = + ExecutionProof::new_deferred(vm_proof(singleton_root), singleton.clone()).unwrap(); + assert!(!deferred.is_complete()); + assert_eq!(deferred.precompile_witness().unwrap().roots(), &[singleton_root]); + + assert_eq!( + ExecutionProof::new_deferred(vm_proof(TRUE_DIGEST), singleton.clone()).unwrap_err(), + ExecutionProofError::DeferredTrueRoot + ); + assert_eq!( + ExecutionProof::new_deferred(vm_proof(root(99)), singleton).unwrap_err(), + ExecutionProofError::DeferredRootMismatch + ); - assert_eq!(decoded, proof); - assert!(!decoded.is_final()); + let merged = PrecompileWitness::merge( + alloc::vec![witness(1), witness(2)], + DEFAULT_MAX_DEFERRED_ELEMENTS, + ) + .unwrap(); + let merged_root = merged.root(); + assert_eq!( + ExecutionProof::new_deferred(vm_proof(merged_root), merged).unwrap_err(), + ExecutionProofError::DeferredNonSingletonWitness { roots: 2 } + ); } #[test] - fn execution_proof_round_trips_stark_deferred_proof() { - let public_root: DeferredRoot = [ - Felt::new_unchecked(9), - Felt::new_unchecked(8), - Felt::new_unchecked(7), - Felt::new_unchecked(6), - ] - .into(); - let deferred_stark_proof = StarkProof::new(alloc::vec![4, 5, 6], HashFunction::Poseidon2); - let deferred = DeferredProof::stark(deferred_stark_proof.clone(), public_root); - let proof = ExecutionProof::new( - StarkProof::new(alloc::vec![1, 2, 3], HashFunction::Blake3_256), - deferred, + fn complete_construction_enforces_empty_exact_and_larger_coverage() { + let empty = ExecutionProof::new_complete(vm_proof(TRUE_DIGEST), None).unwrap(); + assert!(empty.is_complete()); + assert!(empty.precompile().is_none()); + + assert_eq!( + ExecutionProof::new_complete(vm_proof(root(1)), None).unwrap_err(), + ExecutionProofError::MissingPrecompileProof + ); + assert_eq!( + ExecutionProof::new_complete( + vm_proof(TRUE_DIGEST), + Some(precompile_proof(&[root(1)])), + ) + .unwrap_err(), + ExecutionProofError::UnexpectedPrecompileProof ); - let decoded = ExecutionProof::from_bytes(&proof.to_bytes()).unwrap(); + let exact = + ExecutionProof::new_complete(vm_proof(root(2)), Some(precompile_proof(&[root(2)]))); + let larger = ExecutionProof::new_complete( + vm_proof(root(2)), + Some(precompile_proof(&[root(1), root(2), root(3)])), + ); + let missing = ExecutionProof::new_complete( + vm_proof(root(4)), + Some(precompile_proof(&[root(1), root(2), root(3)])), + ); - assert_eq!(decoded, proof); - assert_eq!(decoded.deferred_proof().as_stark(), Some((&deferred_stark_proof, public_root))); - assert!(decoded.is_final()); + assert!(exact.is_ok()); + assert!(larger.is_ok()); + assert_eq!(missing.unwrap_err(), ExecutionProofError::InsufficientPrecompileRootCoverage); } #[test] - fn execution_proof_rejects_invalid_deferred_variant() { - let mut bytes = Vec::new(); - bytes.write_usize(0); - bytes.write_u8(HashFunction::Blake3_256 as u8); - bytes.write_u8(255); + fn ordered_coverage_consumes_occurrences_without_deduplicating() { + let required = [root(1), root(1), root(2)]; + let exact = precompile_proof(&required); + let larger = precompile_proof(&[root(3), root(1), root(4), root(1), root(2), root(5)]); + let reordered = precompile_proof(&[root(2), root(1), root(1)]); + let missing = precompile_proof(&[root(1), root(1)]); + let multiplicity_losing = precompile_proof(&[root(1), root(2)]); + + assert!(validate_precompile_coverage(required.iter(), Some(&exact)).is_ok()); + assert!(validate_precompile_coverage(required.iter(), Some(&larger)).is_ok()); + for proof in [&reordered, &missing, &multiplicity_losing] { + assert_eq!( + validate_precompile_coverage(required.iter(), Some(proof)).unwrap_err(), + ExecutionProofError::InsufficientPrecompileRootCoverage + ); + } + } - let err = ExecutionProof::from_bytes(&bytes).unwrap_err(); - let DeserializationError::InvalidValue(message) = err else { - panic!("expected InvalidValue error"); - }; - assert!(message.contains("invalid deferred proof discriminant: 255")); + #[test] + fn deferred_witness_access_is_borrowed_and_cloneable() { + let retained = witness(1); + let root = retained.root(); + let proof = ExecutionProof::new_deferred(vm_proof(root), retained).unwrap(); + let owned_witness = proof.precompile_witness().cloned().unwrap(); + assert_eq!(owned_witness.root(), root); + assert_eq!(proof.vm().precompile_root(), root); + + let complete = proof.complete(precompile_proof(&[root])).unwrap(); + assert!(complete.is_complete()); + assert!(complete.precompile_witness().is_none()); } #[test] - fn execution_proof_rejects_over_budget_proof_len() { - let mut bytes = Vec::new(); - bytes.write_usize(5); + fn completion_is_checked_and_moves_proof_allocations_on_success() { + let retained = witness(1); + let retained_root = retained.root(); + let deferred = + ExecutionProof::new_deferred(vm_proof(retained_root), retained.clone()).unwrap(); + let precompile = precompile_proof(&[root(9), retained_root]); + let vm_bytes = deferred.vm().proof().bytes().as_ptr(); + let precompile_bytes = precompile.proof().bytes().as_ptr(); + let precompile_roots = precompile.roots().as_ptr(); + + let complete = deferred.complete(precompile).unwrap(); + + assert!(complete.is_complete()); + assert_eq!(complete.vm().proof().bytes().as_ptr(), vm_bytes); + assert_eq!(complete.precompile().unwrap().proof().bytes().as_ptr(), precompile_bytes); + assert_eq!(complete.precompile().unwrap().roots().as_ptr(), precompile_roots); + assert_eq!(complete.precompile().unwrap().roots(), &[root(9), retained_root]); + + let deferred = ExecutionProof::new_deferred(vm_proof(retained_root), retained).unwrap(); + assert_eq!( + deferred.complete(precompile_proof(&[root(9)])).unwrap_err(), + ExecutionProofError::InsufficientPrecompileRootCoverage + ); - let budget = bytes.len() + 4; - let mut reader = BudgetedReader::new(SliceReader::new(&bytes), budget); - let err = ExecutionProof::read_from(&mut reader).unwrap_err(); - let DeserializationError::InvalidValue(message) = err else { - panic!("expected InvalidValue error"); - }; - assert!(message.contains("requested 5 elements")); + let complete = ExecutionProof::new_complete( + vm_proof(retained_root), + Some(precompile_proof(&[retained_root])), + ) + .unwrap(); + assert_eq!( + complete.complete(precompile_proof(&[retained_root])).unwrap_err(), + ExecutionProofError::AlreadyComplete + ); } #[test] - fn execution_proof_rejects_over_budget_deferred_wire_entries_len() { - let mut bytes = Vec::new(); - bytes.write_usize(0); - bytes.write_u8(HashFunction::Blake3_256 as u8); - bytes.write_u8(DeferredProof::WIRE_TAG); - bytes.write_usize(2); - - let budget = bytes.len() + 1; - let mut reader = BudgetedReader::new(SliceReader::new(&bytes), budget); - let err = ExecutionProof::read_from(&mut reader).unwrap_err(); - let DeserializationError::InvalidValue(message) = err else { - panic!("expected InvalidValue error"); - }; - assert!(message.contains("requested 2 elements")); + fn all_execution_proof_variants_round_trip_canonically() { + let retained = witness(1); + let retained_root = retained.root(); + let deferred = ExecutionProof::new_deferred(vm_proof(retained_root), retained).unwrap(); + let empty = ExecutionProof::new_complete(vm_proof(TRUE_DIGEST), None).unwrap(); + let singleton = + ExecutionProof::new_complete(vm_proof(root(1)), Some(precompile_proof(&[root(1)]))) + .unwrap(); + let merged = ExecutionProof::new_complete( + vm_proof(root(2)), + Some(precompile_proof(&[root(1), root(2), root(3)])), + ) + .unwrap(); + + for proof in [&deferred, &empty, &singleton, &merged] { + round_trip(proof); + } + assert_eq!( + VmProof::read_from_bytes(&vm_proof(root(3)).to_bytes()).unwrap(), + vm_proof(root(3)) + ); + let precompile = precompile_proof(&[root(1), root(2)]); + assert_eq!(PrecompileProof::read_from_bytes(&precompile.to_bytes()).unwrap(), precompile); + } + + #[test] + fn execution_proof_transport_preserves_malformed_cross_artifact_shapes() { + let retained = witness(1); + let retained_root = retained.root(); + let merged = PrecompileWitness::merge( + alloc::vec![witness(1), witness(2)], + DEFAULT_MAX_DEFERRED_ELEMENTS, + ) + .unwrap(); + + let malformed = [ + ExecutionProof::Deferred { + vm: vm_proof(TRUE_DIGEST), + precompile: retained.clone(), + }, + ExecutionProof::Deferred { + vm: vm_proof(root(99)), + precompile: retained, + }, + ExecutionProof::Deferred { + vm: vm_proof(merged.root()), + precompile: merged, + }, + ExecutionProof::Complete { + vm: vm_proof(retained_root), + precompile: None, + }, + ExecutionProof::Complete { + vm: vm_proof(TRUE_DIGEST), + precompile: Some(precompile_proof(&[retained_root])), + }, + ExecutionProof::Complete { + vm: vm_proof(root(99)), + precompile: Some(precompile_proof(&[retained_root])), + }, + ]; + + for proof in malformed { + let bytes = proof.to_bytes().unwrap(); + let decoded = ExecutionProof::read_from_bytes(&bytes, registry(), usize::MAX).unwrap(); + assert_eq!(decoded.to_bytes().unwrap(), bytes); + } + } + + #[test] + fn execution_proof_transport_rejects_bad_discriminants_trailing_bytes_and_bounds() { + let mut bad_discriminant = alloc::vec![9]; + vm_proof(TRUE_DIGEST).write_into(&mut bad_discriminant); + assert!( + ExecutionProof::read_from_bytes(&bad_discriminant, registry(), usize::MAX).is_err() + ); + + let mut trailing = ExecutionProof::new_complete(vm_proof(TRUE_DIGEST), None) + .unwrap() + .to_bytes() + .unwrap(); + trailing.push(0); + assert!(ExecutionProof::read_from_bytes(&trailing, registry(), usize::MAX).is_err()); + + let canonical = ExecutionProof::Complete { + vm: vm_proof(TRUE_DIGEST), + precompile: None, + } + .to_bytes() + .unwrap(); + assert_eq!(canonical[1], 3, "one STARK byte uses a one-byte vint encoding"); + let mut noncanonical = alloc::vec![canonical[0], 0]; + noncanonical.extend_from_slice(&1u64.to_le_bytes()); + noncanonical.extend_from_slice(&canonical[2..]); + assert!(matches!( + ExecutionProof::read_from_bytes(&noncanonical, registry(), usize::MAX), + Err(ExecutionProofTransportError::NonCanonicalEncoding) + )); + + let retained = witness(1); + let retained_root = retained.root(); + let bytes = ExecutionProof::new_deferred(vm_proof(retained_root), retained) + .unwrap() + .to_bytes() + .unwrap(); + assert!(ExecutionProof::read_from_bytes(&bytes, registry(), 0).is_err()); + + let mut oversized_proof = Vec::new(); + oversized_proof.write_u8(COMPLETE_PROOF_DISCRIMINANT); + oversized_proof.write_usize(usize::MAX); + assert!(ExecutionProof::read_from_bytes(&oversized_proof, registry(), usize::MAX).is_err()); } } diff --git a/crates/lib/core/tests/crypto/falcon.rs b/crates/lib/core/tests/crypto/falcon.rs index c55fa10c60..c1fb79a42c 100644 --- a/crates/lib/core/tests/crypto/falcon.rs +++ b/crates/lib/core/tests/crypto/falcon.rs @@ -518,12 +518,12 @@ fn falcon_prove_verify() { host.register_handler(EVENT_FALCON_SIG_TO_STACK, Arc::new(push_falcon_signature)) .unwrap(); - let trace_inputs = - FastProcessor::new_with_options(stack_inputs, advice_inputs, Default::default()) - .expect("processor advice inputs should fit advice map limits") - .execute_trace_inputs_sync(&program, &mut host) - .expect("failed to execute"); - let trace = miden_processor::trace::build_trace(trace_inputs).expect("failed to build trace"); + let witness = FastProcessor::new_with_options(stack_inputs, advice_inputs, Default::default()) + .expect("processor advice inputs should fit advice map limits") + .execute_for_proving_sync(&program, &mut host) + .expect("failed to execute"); + let (vm_witness, _) = witness.into_parts(); + let trace = miden_processor::trace::build_trace(vm_witness).expect("failed to build trace"); trace.check_constraints(); } diff --git a/crates/lib/core/tests/stark/mod.rs b/crates/lib/core/tests/stark/mod.rs index d0b1957af7..07f2871b27 100644 --- a/crates/lib/core/tests/stark/mod.rs +++ b/crates/lib/core/tests/stark/mod.rs @@ -8,9 +8,9 @@ use miden_core::{ proof::HashFunction, }; use miden_mast_package::Package; -use miden_processor::{DefaultHost, ExecutionOptions, Program, ProgramInfo}; +use miden_processor::{DefaultHost, ExecutionOptions, FastProcessor, Program, ProgramInfo}; use miden_utils_testing::{ - AdviceInputs, ProvingOptions, prove_sync, + AdviceInputs, Prover, recursive_verifier::{VerifierData, generate_advice_inputs}, stack_inputs_from_ints, }; @@ -291,17 +291,12 @@ pub fn generate_recursive_verifier_data( host.load_library(kernel_lib.mast_forest()).unwrap(); } - let options = ProvingOptions::new(HashFunction::Poseidon2); - - let (stack_outputs, proof) = prove_sync( - &program, - stack_inputs, - advice_inputs, - &mut host, - ExecutionOptions::default(), - options, - ) - .unwrap(); + let processor = + FastProcessor::new_with_options(stack_inputs, advice_inputs, ExecutionOptions::default()) + .unwrap(); + let witness = processor.execute_for_proving_sync(&program, &mut host).unwrap(); + let stack_outputs = *witness.claim().stack_outputs(); + let proof = Prover::new().with_hash_fn(HashFunction::Poseidon2).prove(witness).unwrap(); let program_info = ProgramInfo::from(program); let claim = ExecutionClaim::from_program_info(program_info, stack_inputs, stack_outputs); diff --git a/crates/test-utils/src/lib.rs b/crates/test-utils/src/lib.rs index e73ef0d6d3..03d3213fba 100644 --- a/crates/test-utils/src/lib.rs +++ b/crates/test-utils/src/lib.rs @@ -20,8 +20,6 @@ pub use miden_assembly::{ debuginfo::{DefaultSourceManager, SourceFile, SourceLanguage, SourceManager}, diagnostics::Report, }; -#[cfg(not(target_family = "wasm"))] -use miden_core::program::ProgramInfo; pub use miden_core::{ EMPTY_WORD, Felt, ONE, WORD_SIZE, Word, ZERO, chiplets::hasher::{STATE_WIDTH, hash_elements}, @@ -39,16 +37,14 @@ use miden_processor::trace::build_trace; pub use miden_processor::{ ContextId, ExecutionError, ProcessorState, advice::{AdviceInputs, AdviceProvider, AdviceStack}, - trace::ExecutionTrace, + trace::VmTrace, }; use miden_processor::{ - DefaultHost, ExecutionOptions, ExecutionOutput, FastProcessor, Program, TraceBuildInputs, + DefaultHost, ExecutionOptions, ExecutionOutput, ExecutionWitness, FastProcessor, Program, event::{EventHandler, TraceHandler}, }; -#[cfg(not(target_family = "wasm"))] -pub use miden_prover::prove_sync; -pub use miden_prover::{ProvingOptions, prove}; -pub use miden_verifier::verify; +pub use miden_prover::Prover; +pub use miden_verifier::Verifier; pub use pretty_assertions::{assert_eq, assert_ne, assert_str_eq}; #[cfg(all(feature = "arbitrary", not(target_family = "wasm")))] use proptest::prelude::{Arbitrary, Strategy}; @@ -581,7 +577,7 @@ impl Test { /// stack outputs. #[cfg(not(target_family = "wasm"))] #[track_caller] - pub fn execute(&self) -> Result { + pub fn execute(&self) -> Result { self.execute_with_stack_inputs_inner(self.stack_inputs) } @@ -594,7 +590,7 @@ impl Test { pub fn execute_with_stack_inputs( &self, stack_inputs: &[u64], - ) -> Result { + ) -> Result { let stack_inputs = stack_inputs_from_ints(stack_inputs.iter().copied()); self.execute_with_stack_inputs_inner(stack_inputs) } @@ -604,7 +600,7 @@ impl Test { fn execute_with_stack_inputs_inner( &self, stack_inputs: StackInputs, - ) -> Result { + ) -> Result { // Note: we fix a large fragment size here, as we're not testing the fragment boundaries // with these tests (which are tested separately), but rather only the per-fragment trace // generation logic - though not too big so as to over-allocate memory. @@ -623,19 +619,20 @@ impl Test { .unwrap(), )?; if let Some(debug_info) = debug_info.as_ref() { - fast_processor.execute_trace_inputs_with_package_debug_info_sync( + fast_processor.execute_for_proving_with_package_debug_info_sync( &program, debug_info, &mut host, ) } else { - fast_processor.execute_trace_inputs_sync(&program, &mut host) + fast_processor.execute_for_proving_sync(&program, &mut host) } }; // Compare traced full execution and step/resume execution stack outputs. self.assert_result_with_step_execution(stack_inputs, &fast_stack_result); - fast_stack_result.and_then(|trace_inputs| { - let trace = build_trace(trace_inputs)?; + fast_stack_result.and_then(|witness| { + let (vm_witness, _) = witness.into_parts(); + let trace = build_trace(vm_witness)?; assert_eq!(&program.hash(), trace.program_hash(), "inconsistent program hash"); Ok(trace) @@ -677,38 +674,43 @@ impl Test { pub fn prove_and_verify(&self, pub_inputs: Vec, test_fail: bool) { let (program, mut host, _debug_info) = self.get_program_and_host(); let stack_inputs = stack_inputs_from_ints(pub_inputs); - let (stack_outputs, proof) = prove_sync( - &program, + let processor = new_vm_default_processor( stack_inputs, self.advice_inputs.clone(), - &mut host, ExecutionOptions::default(), - ProvingOptions::default(), ) .unwrap(); - - let program_info = ProgramInfo::from(program); + let witness = processor.execute_for_proving_sync(&program, &mut host).unwrap(); + let stack_outputs = *witness.claim().stack_outputs(); + let proof = Prover::new() + .with_hash_fn(miden_core::proof::HashFunction::Blake3_256) + .prove_full(witness) + .unwrap(); + let claim = + ExecutionClaim::from_program_info(program.to_info(), stack_inputs, stack_outputs); if test_fail { let mut elements = [ZERO; MIN_STACK_DEPTH]; elements.copy_from_slice(&*stack_outputs); elements[0] += ONE; let stack_outputs = StackOutputs::new(&elements).expect("stack outputs should fit the VM stack"); - let claim = - ExecutionClaim::from_program_info(program_info, stack_inputs, stack_outputs); - assert!(verify(proof, claim).is_err()); + let invalid_claim = ExecutionClaim::from_program_info( + claim.to_program_info(), + stack_inputs, + stack_outputs, + ); + assert!(Verifier::new().verify(&invalid_claim, &proof).is_err()); } else { - let claim = - ExecutionClaim::from_program_info(program_info, stack_inputs, stack_outputs); - let result = verify(proof, claim); - assert!(result.is_ok(), "error: {result:?}"); + let outcome = + Verifier::new().verify(&claim, &proof).expect("complete proof should verify"); + assert!(outcome.is_complete(), "prove_full must settle all precompile work"); } } /// Executes the test program and checks all AIR constraints without generating a STARK proof. /// /// This is the recommended way to validate constraints in tests. It delegates to - /// [`ExecutionTrace::check_constraints`], which is much faster than the + /// [`VmTrace::check_constraints`], which is much faster than the /// full prove/verify pipeline and provides better error diagnostics. Use /// [`prove_and_verify`](Self::prove_and_verify) only when you need to exercise the /// complete STARK proof generation and verification flow. @@ -775,7 +777,7 @@ impl Test { fn assert_result_with_step_execution( &self, stack_inputs: StackInputs, - fast_result: &Result, + fast_result: &Result, ) { fn compare_results( left_result: Result, @@ -844,7 +846,7 @@ impl Test { }; compare_results( - fast_result.as_ref().map(|trace_inputs| *trace_inputs.stack_outputs()), + fast_result.as_ref().map(|witness| *witness.claim().stack_outputs()), &fast_result_by_step, "traced execution", "step/resume execution", diff --git a/docs/src/design/deferred/index.md b/docs/src/design/deferred/index.md index 5c8bb89e91..51bebe09ae 100644 --- a/docs/src/design/deferred/index.md +++ b/docs/src/design/deferred/index.md @@ -18,10 +18,9 @@ to `TRUE` proves every claim it transitively references. The framework (`miden_c owns the data model, the root commitment, and the wire format; individual *precompiles* plug in the meaning of the nodes. -> **Status.** This page describes the current proof-bound precompile model: the VM accumulates -> precompile claims into a deferred root, and `ExecutionProof` carries a `DeferredProof` for that -> root: empty, wire-backed for partial proofs, or STARK-backed for final proofs. See -> [Status and scope](#status-and-scope). +> **Status.** This page describes the current proof-bound precompile model: execution produces an +> `ExecutionWitness`, and VM proving produces an `ExecutionProof` in either the `Deferred` or +> `Complete` lifecycle state. See [Status and scope](#status-and-scope). > > For the precise `DeferredState`, precompile, and public API contract, see > [Deferred state semantics and API contract](./semantics.md). @@ -46,15 +45,21 @@ its eventual constraint implementation. This direction is developed in GitHub di ## Precompile proof shape -The VM STARK proves execution and the deferred root accumulated for precompile claims; it does not -prove those claims itself. `DeferredProof` supplies the proof material for that root: - -- `Empty`: no precompile claims. -- `Wire`: partial proof; carries canonical `DeferredStateWire` so another prover can prove it later. -- `Stark`: final proof; carries a precompile VM STARK proof for the same deferred root. - -Verification resolves a trusted root from `DeferredProof` and uses it as the VM STARK public input. -The root is not supplied separately. +The VM STARK proves execution and authenticates the deferred root accumulated for precompile +claims; it does not prove those claims itself. `VmProof` carries that authenticated root alongside +the VM STARK. `TRUE_DIGEST` means there is no remaining obligation, so VM-only proving returns +`ExecutionProof::Complete` without a precompile proof. A non-`TRUE_DIGEST` root produces +`ExecutionProof::Deferred`, which retains the matching singleton `PrecompileWitness` for later +proving. `ExecutionProof::complete` attaches a structurally compatible `PrecompileProof`; +`Verifier::verify` performs structural and cryptographic verification. A successful deferred +outcome returns the exact authenticated root through `outstanding_precompile_root()`. Callers that +require settlement inspect `VerificationOutcome::is_complete()`, not the unverified enum shape. + +`DeferredStateWire` remains low-level deferred-state infrastructure. A deferred execution proof +serializes its retained witness using that representation, but the wire is not itself a proof +variant or cryptographic evidence. Encoding preserves representation and accepts cross-artifact +inconsistency. Deferred wire materialization remains fallible; only full verification establishes +proof validity. ## The model @@ -120,10 +125,10 @@ tag id to its owning precompile and is otherwise indifferent to how the precompi precompile's `id` is derived the same way event IDs are — the name hashed with Blake3 and folded into a single field element — but in its own domain-separated namespace, so a precompile and an event of the same name get different ids by construction. The registry rejects misconfigured or -duplicate ids at construction. The default registry is empty and rejects every precompile-owned -tag. A `DeferredState` carries the registry it evaluates under. The default registry is empty; -the public VM/prover/verifier path installs the standard `miden-precompiles` registry for bundled -proof-bound precompiles. +duplicate ids at construction. `PrecompileRegistry::new()` creates an empty low-level registry that +rejects every precompile-owned tag. A `DeferredState` carries the registry it evaluates under, and +`PrecompileRegistry` remains defined in `miden-core` so the framework does not depend on concrete +precompile implementations. During evaluation the framework hands the precompile a `DeferredContext`, through which it can `get_node` for a registered digest, `evaluate_digest` a child digest to its canonical digest, or @@ -168,13 +173,12 @@ This composes with the verifier: - the **VM-computed hash** binds the digest to the exact operand-stack values or memory reads consumed by those instructions; -- once the deferred root is threaded into proof public inputs, the **deferred-root match** binds - that digest to the wire the verifier rehydrates; -- `DeferredState::from_wire` rehydrates the canonical wire opening and evaluates the expected root - from wire data. +- the **VM STARK** authenticates the final deferred root accumulated from those digests; +- the **precompile STARK** proves the aggregate of the ordered constituent roots carried by + `PrecompileProof`. -Once the root is public, these pieces bind the wire — and therefore every evaluation the verifier -re-checks — to data committed by the VM execution trace. +Together these pieces bind every settled precompile obligation to data committed by the VM +execution trace. ### Why `evaluate_deferred` is a bare event @@ -209,14 +213,16 @@ implicit root and evaluates that root directly. The digest is structural: even ` under the distinct capacity `[1, 0, 0, 0]` and is not equal to `TRUE_DIGEST`, though it evaluates semantically to `TRUE`. -For wire-backed proofs, the deferred check collapses to a single fixed point: **rehydrate the -proof-carried wire, evaluate its implicit root to `TRUE`, and return that root for VM STARK -verification.** There is no separate finalization step. +For low-level wire validation, the deferred check collapses to a single fixed point: rehydrate the +wire and evaluate its implicit root to `TRUE`. When a deferred execution proof is decoded, this +context-aware rehydration checks its retained witness structure; the witness is not cryptographic +evidence. `Verifier::verify` separately verifies the VM STARK and, for a complete proof, any +precompile STARK. ## Wire format and verification -The partial/delegation witness format is `DeferredStateWire`, not the in-memory `DeferredState`. -`to_wire` lowers state to a passive, canonical, topologically ordered entry stream: +The low-level deferred-state transport format is `DeferredStateWire`, not the in-memory +`DeferredState`. `to_wire` lowers state to a passive, canonical, topologically ordered entry stream: - wire index `0` is the implicit `TRUE_DIGEST`; - `entries[i]` has wire index `i + 1`; @@ -229,10 +235,19 @@ The partial/delegation witness format is `DeferredStateWire`, not the in-memory `to_wire` emits a deterministic child-first DFS of the root-reachable closure, so unreferenced orphans are dropped. -`DeferredState::from_wire(registry, wire, max_elements)` is the only trusted path from wire bytes -back to a validated state. It runs as a structural decode, a canonicality check, and a root -evaluation. This validates the wire's own implicit root; deferred-proof verification returns the -resulting `state.root()` as the trusted root for VM STARK verification. +Deferred decoding is context-aware. `DeferredState::from_wire(registry, wire, max_elements)`, +`PrecompileWitness::from_bytes(bytes, registry, max_elements)`, and +`ExecutionProof::read_from_bytes(bytes, registry, max_elements)` all require a caller-supplied +trusted registry and a bound on hydrated deferred-state elements. For bundled precompiles, callers +normally use `miden_vm::read_execution_proof_from_bytes`, which installs +`miden_precompiles::registry()` and the existing default deferred-element limit. Custom-precompile +callers use the low-level context-aware decoder directly. `PrecompileRegistry::new()` is only an +empty low-level registry and cannot decode concrete precompile tags. `Prover` and `Verifier` +configuration does not support caller-selected registries. Complete execution proofs accept the +same low-level decoding signature for a uniform transport API but contain no witness to hydrate. + +`DeferredState::from_wire` runs as a structural decode, a canonicality check, and a root evaluation, +validating the wire's own implicit root. 1. **structural** — seed index `0` as the implicit `TRUE_DIGEST`, reconstruct each explicit entry (translating structural child indices back to digests), decode its tag, check that the entry @@ -251,25 +266,12 @@ wire. ## Status and scope -This framework is now the proof-bound precompile substrate. In its current form: - -- the VM accumulates the DAG host-side and exposes the `DeferredState` on the execution output; -- `log_deferred` advances the deferred root by folding registered statements with `Tag::AND`; -- the final deferred root is threaded into the STARK public inputs; -- `ExecutionProof` carries a `DeferredProof` envelope: `Empty` resolves to `TRUE_DIGEST`, `Wire` - carries canonical `DeferredStateWire` for partial/delegable proofs, and `Stark` carries a - precompile VM STARK proof for the exact deferred root; -- verification resolves the trusted deferred root before VM STARK verification: final verification - accepts `Empty` or verified `Stark`, while explicit partial verification rehydrates `Wire` under - the built-in `miden_precompiles::registry()`; -- the `miden-precompiles` crate provides concrete hash, arithmetic, curve, and native signature - precompile implementations used by core-library facades and built-in verification. - -The proof format binds the final deferred root, not a registry name or version. For that reason, -execution, trace generation, proof generation, and verification all use the built-in -`miden_precompiles::registry()` policy. The public VM/prover/verifier APIs do not accept -caller-supplied precompile registries. Use `verify_with_max_deferred_elements(...)` when verifying -proofs produced with a non-default deferred-state budget. +This framework is now the proof-bound precompile substrate. The VM retains its host-side +`DeferredState` in `ExecutionWitness`, and `log_deferred` advances its root by folding registered +statements with `Tag::AND`. The `miden-precompiles` crate supplies the concrete implementations used +by core-library facades and standard proving. See the +[API contract](./semantics.md#proof-obligations-and-composition) for independent proving, merge and +completion invariants, and completeness checks. More generic DAG resource accounting remains a follow-up; the external STARK that verifies a committed DAG, the **Precompile VM**, is described in GitHub discussion #3005. diff --git a/docs/src/design/deferred/semantics.md b/docs/src/design/deferred/semantics.md index bc4d468cbf..b6b405b9a0 100644 --- a/docs/src/design/deferred/semantics.md +++ b/docs/src/design/deferred/semantics.md @@ -6,8 +6,9 @@ sidebar_position: 2 # Deferred state semantics and API contract `DeferredState` is the host-side witness for deferred DAG verification and the deferred root -commitment. It is not serialized directly: partial proofs carry `DeferredStateWire`; final non-empty -proofs carry a precompile VM STARK proof for the exact deferred root. +commitment. It is not cryptographic evidence by itself. VM proving wraps non-empty state as a +singleton `PrecompileWitness` retained by `ExecutionProof::Deferred`; completing the proof replaces +that witness with a compatible `PrecompileProof`. The simplified state model is: @@ -134,29 +135,41 @@ final entry. `from_wire(registry, wire, max_elements)` decodes untrusted wire, r or dangling wire by requiring `state.to_wire() == wire`, then evaluates the implicit wire root to `Node::TRUE`. Evaluation may insert canonical/helper nodes in addition to the wire nodes. -## Deferred proof root resolution - -`DeferredProof` carries the material needed to bind VM proof verification to a deferred root: - -- `Empty` is final and resolves to `TRUE_DIGEST`. -- `Wire` is partial/delegable material backed by canonical `DeferredStateWire`. -- `Stark` is final: verification checks the precompile STARK proof against its embedded public root, - then returns that root. - -The public final verifier accepts only final deferred proof forms. It rejects `Wire`; wire-backed -partial proofs are handled by the explicit `Verifier::verify_partial` path. Partial verification -rehydrates the wire into a `DeferredState` with the standard precompile registry, verifies the VM -STARK against the hydrated state's root, and returns the hydrated state. It rejects `Empty` and -`Stark` because neither carries wire material to hydrate. - -The VM STARK public inputs are built with the resolved final root or hydrated partial root. -High-level `miden-prover` proving APIs and the `miden-vm` proving facade produce final proofs by -default: `Empty` when no precompile claims were logged, or `Stark` for non-empty deferred roots. The -`miden-vm` facade exposes only final proving; callers that intentionally delegate or batch precompile -proving use the explicit `miden-prover::prove_partial*` APIs to preserve `Wire` proof material, then -`verify_partial` to validate and rehydrate that material before producing a final deferred proof. - -The current STARK-backed variant is exact-root only; batch-backed proofs need a separate proof form. +## Proof obligations and composition + +`Prover::prove` consumes an `ExecutionWitness` and proves its VM portion. If the authenticated root +is `TRUE_DIGEST`, it returns `ExecutionProof::Complete` without a precompile proof. Otherwise it +returns `ExecutionProof::Deferred`, pairing the `VmProof` with the matching singleton +`PrecompileWitness`. `Prover::prove_full` proves both stages in memory and returns `Complete`. + +There are two delegated workflows. To complete a VM-first deferred proof, borrow its witness with +`ExecutionProof::precompile_witness()` and pass it by reference to +`Prover::prove_precompile`; clone only when ownership-requiring transport needs a separate value. To +delegate VM and precompile proving independently, split the original `ExecutionWitness` with +`into_parts()` before either worker proves its artifact. The resulting `PrecompileProof` retains the +ordered, non-empty constituent roots covered by its aggregate STARK. `ExecutionProof::complete` +checks that the artifact covers the VM-authenticated root and transitions the proof from `Deferred` +to `Complete` without reproving the VM. + +`PrecompileWitness::merge` accepts a non-empty sequence of singleton witnesses only. For example, +merging `[one, one, two]` preserves that exact root order and both occurrences of `one`; the +aggregate root is their ordered framework-`AND` fold. A multi-root merged witness is not a singleton +and cannot be merged again; a one-input merge remains singleton. A `PrecompileProof` produced from +the merged witness can be reused to complete compatible individual deferred proofs for `one` or +`two`, because completion checks whether each individual root is covered in order. This reuse does +not introduce a multi-execution proof artifact or specify a future settlement envelope. + +`ExecutionProof::new_deferred`, `ExecutionProof::new_complete`, and `ExecutionProof::complete` check +artifact structure only; public variants may bypass those conveniences. Encoding and decoding also +do not establish validity. `Verifier::verify` revalidates structure, verifies the VM STARK for both +lifecycle states, and verifies the aggregate precompile STARK for a complete proof that carries one. +A deferred outcome returns the exact authenticated outstanding root. Callers that require settlement +inspect `VerificationOutcome::is_complete()` after verification rather than trusting +`ExecutionProof::is_complete()` before it. + +`DeferredStateWire` remains the low-level canonical representation used to serialize hydrated +witness material inside a deferred proof. `PrecompileWitness` may contain private execution data and +a large hydrated DAG; treat it as sensitive prover input and borrow it during proving. ## Low-level framework API @@ -183,14 +196,18 @@ of the public contract. ## Scope note -Deferred state is the proof-bound precompile witness model. VM execution accumulates a deferred -root for logged precompile claims; `DeferredProof` explains why that root should be accepted. -Final public verification accepts only final proof forms, resolving `Empty` or a verified `Stark` -root before VM STARK verification. Wire-backed material is partial/delegable: -`Verifier::verify_partial` rehydrates `Wire` under the built-in `miden_precompiles::registry()`, -verifies the VM STARK against the hydrated root, and returns the hydrated state. - -The lower-level `DeferredState` APIs remain parameterized by `PrecompileRegistry` for framework -construction, tests, and non-verifier wire validation. The default registry is empty, but the public -VM/prover/verifier path installs the standard `miden_precompiles::registry()` policy and does not -accept caller-supplied precompile registries. +Deferred witness decoding is context-aware: `DeferredState::from_wire`, +`PrecompileWitness::from_bytes`, and `ExecutionProof::read_from_bytes` require callers to supply an +explicit trusted `PrecompileRegistry` and a deferred-element bound. For bundled precompiles, +ordinary callers use `miden_vm::read_execution_proof_from_bytes`, which installs the standard +registry and existing default limit. Custom-registry callers retain the low-level decoder; +`PrecompileRegistry::new()` is an empty registry. Only `Prover` and `Verifier` configuration lacks +caller-selected registries. + +The deferred-wire canonical decode-and-reencode check remains unchanged. The outer +`ExecutionProof` decoder now also rejects trailing bytes and encodings that do not round-trip +exactly. Hydration still takes an explicit `max_elements` bound, and decoding retains its +per-allocation ceiling. Merging resets the hydrated state's insertion-budget target to `u32::MAX`; +elements already present in the first state are retained. This is not a hard whole-witness cap or a +caller-configurable aggregate policy. There is no separate root-count, outer-envelope, file, or +network-payload limit; callers enforce those ingestion policies. diff --git a/docs/src/design/stack/crypto_ops.md b/docs/src/design/stack/crypto_ops.md index f567fe4cd3..41bdf31719 100644 --- a/docs/src/design/stack/crypto_ops.md +++ b/docs/src/design/stack/crypto_ops.md @@ -387,10 +387,11 @@ $$ The `log_deferred` operation folds a verified statement digest `STMNT` into the rolling deferred root. The update is the structural digest of `Node::and(ROOT_PREV, STMNT)`, computed as a Poseidon2 merge with the framework `Tag::AND` capacity word `[1, 0, 0, 0]`: -`ROOT_NEW = rate0(Poseidon2([ROOT_PREV, STMNT, [1,0,0,0]]))`. The final root is a public input; -`DeferredProof` material later resolves the trusted root before VM STARK verification. Final -verification accepts `Empty` or verified `Stark`; explicit partial verification rehydrates `Wire` -under the built-in `miden_precompiles::registry()`. This section concentrates on the stack +`ROOT_NEW = rate0(Poseidon2([ROOT_PREV, STMNT, [1,0,0,0]]))`. The final root is authenticated by +the VM STARK and carried by `VmProof` as a remaining obligation. `TRUE_DIGEST` produces a complete +execution proof immediately; other roots produce `ExecutionProof::Deferred`, which can transition +to `ExecutionProof::Complete` by attaching a structurally compatible `PrecompileProof`. +`Verifier::verify` performs cryptographic verification. This section concentrates on the stack interaction and bus messages. ### Operation Overview @@ -525,6 +526,8 @@ v_{rem,last} = \alpha_0 + \alpha_1 \cdot op_{log\_deferred} + \sum_{j=0}^{3} \al $$ Because the domain-separated Poseidon2 merge outputs a digest word directly, the deferred root is -itself the digest at every step. The final deferred root is a fixed four-field-element public value, -not a variable-length request transcript. Partial proofs may carry the root-reachable DAG as -`DeferredStateWire`; final proofs may instead carry a precompile VM STARK proof for the same root. +itself the digest at every step. The final deferred root is a fixed four-field-element value +committed by `VmProof`, not a variable-length request transcript. While work is outstanding, +private root-reachable DAG material remains in the `PrecompileWitness` carried by +`ExecutionProof::Deferred`; `ExecutionProof::Complete` contains the VM proof and, when required, a +singular `PrecompileProof`. diff --git a/docs/src/design/stack/precompiles.md b/docs/src/design/stack/precompiles.md index 96b2a9471e..04a2257960 100644 --- a/docs/src/design/stack/precompiles.md +++ b/docs/src/design/stack/precompiles.md @@ -3,23 +3,36 @@ Precompiles let Miden programs make claims about expensive computations without executing them directly in the VM trace, while still binding those claims into the VM proof. This page covers the VM-side mechanics: wrappers register deferred nodes, bind their digests to circuit-visible data, and -log statement digests that evaluate to `TRUE`. `ExecutionProof` carries `DeferredProof` material for -the resulting root; for proof shapes, see [Deferred computation](../deferred/index.md). +log statement digests that evaluate to `TRUE`. `VmProof` authenticates the resulting root; +`ExecutionProof::Deferred` retains the witness for a non-empty obligation, and a compatible +`PrecompileProof` transitions it to `ExecutionProof::Complete`. For proof shapes, see +[Deferred computation](../deferred/index.md). Concrete proof-bound implementations live in the `miden-precompiles` crate. Their MASM support modules are currently internal implementation detail used by core-library facades and tests. ## Current data model -| Concept | Description | -| ------- | ----------- | -| `Tag` | A 4-felt node constructor. Framework ids `0`, `1`, and `2` are reserved for `TRUE`, semantic `AND`, and opaque framework `CHUNKS`; precompile ids are derived from precompile names and interpret the remaining three `args` felts locally. | -| `Node` | A content-addressed `(tag, payload)` term in the deferred DAG. Payloads are data chunks, join child digests, pair lists of `lhs_digest || rhs_digest` chunks, or the framework `TRUE` sentinel. | -| `Precompile` | A host implementation that owns one precompile id, decodes the structural shape for its tags, evaluates nodes to canonical form, and optionally contributes canonical constants through `init()`. | -| `PrecompileRegistry` | The host/framework dispatcher for trusted precompile implementations. Public VM/prover/verifier APIs use the standard registry from `miden-precompiles`. | -| `DeferredState` | The host-side DAG witness accumulated during execution. It tracks registered nodes, evaluates them under the registry, and maintains the rolling deferred root. | -| `DeferredStateWire` | The canonical wire format for partial proofs. It is passive data until rehydrated and validated with `DeferredState::from_wire`. | -| Deferred root | A single digest public value. Each logged statement appends `Node::AND(previous_root, statement_digest)` and advances the root to that node digest. | +- **`Tag`** — A 4-felt node constructor. Framework ids `0`, `1`, and `2` are reserved for `TRUE`, + semantic `AND`, and opaque framework `CHUNKS`. Precompile ids are derived from precompile names + and interpret the remaining three `args` felts locally. +- **`Node`** — A content-addressed `(tag, payload)` term in the deferred DAG. Payloads are data + chunks, join child digests, pair lists of `lhs_digest || rhs_digest` chunks, or the framework + `TRUE` sentinel. +- **`Precompile`** — A host implementation that owns one precompile id and decodes the structural + shape for its tags. It evaluates nodes to canonical form and optionally contributes constants + through `init()`. +- **`PrecompileRegistry`** — The host/framework dispatcher for trusted precompile implementations. + The type remains in `miden-core` so the framework does not depend on concrete implementations. + `PrecompileRegistry::new()` is an empty low-level registry; callers decoding bundled precompiles + normally use `miden_precompiles::registry()`. +- **`DeferredState`** — The host-side DAG witness accumulated during execution. It tracks + registered nodes, evaluates them under the registry, and maintains the rolling deferred root. +- **`DeferredStateWire`** — A low-level canonical witness transport format. It is passive data + until rehydrated and validated with an explicit registry and deferred-element bound. Deferred + proofs use it to serialize retained witness material; the wire is not cryptographic evidence. +- **Deferred root** — A single digest public value. Each logged statement appends + `Node::AND(previous_root, statement_digest)` and advances the root to that node digest. ## Lifecycle overview @@ -27,9 +40,9 @@ modules are currently internal implementation detail used by core-library facade stack or in memory and emits `adv.register_deferred` / `adv.register_deferred_data`. Registration stores the node in host-side `DeferredState`, checks structural child closure, and evaluates the node immediately under the installed registry. -2. **Wrapper binds digests inside the VM** – Registration arguments are visible in the VM execution - trace, but the event does not constrain the host-side `DeferredState` update. Memory-backed - registration additionally performs direct host reads without adding AIR memory accesses. The +2. **Wrapper binds digests inside the VM** – Registration arguments are visible in the VM + execution trace, but the event does not constrain the host-side `DeferredState` update. + Memory-backed registration also performs direct host reads without adding AIR accesses. The wrapper computes each proof-relevant digest with VM instructions from the exact same tag and stack payload or ordered memory chunk sequence. 3. **Wrapper evaluates only through explicit predicates** – When a wrapper uses @@ -40,23 +53,54 @@ modules are currently internal implementation detail used by core-library facade `STMNT` must already be registered in `DeferredState` and evaluate to `TRUE`. The constrained Poseidon2 permutation computes `ROOT_NEW = rate0(Poseidon2([ROOT_PREV, STMNT, Tag::AND]))`, and host-side deferred state records the corresponding `AND` node. -5. **Prover binds the deferred root** – The VM STARK uses the final deferred root as a public input. - `ExecutionProof` carries the chosen `DeferredProof` form: default proving produces final material - (`Empty` or `Stark`), while explicit partial proving preserves `Wire`. -6. **Verifier resolves and checks** – Final verification resolves a trusted root from `DeferredProof` - before VM STARK verification and rejects `Wire`. `Verifier::verify_partial` accepts only `Wire`, - rehydrates it under the built-in `miden_precompiles::registry()` with the configured deferred - budget, then verifies the VM STARK against the hydrated root. +5. **Prover binds the deferred root** – `Prover::prove` proves the VM and returns + `ExecutionProof::Complete` when the root is `TRUE_DIGEST`; otherwise it returns + `ExecutionProof::Deferred` with the matching singleton `PrecompileWitness`. `Prover::prove_full` + proves both stages in memory and always returns `Complete`. +6. **Precompile proving can be delegated** – To complete a VM-first deferred proof, borrow its + witness through `precompile_witness()` and pass it by reference to + `Prover::prove_precompile`; clone only when transport needs ownership. To delegate both proving + stages independently, split `ExecutionWitness` before sending either witness to a worker. + `PrecompileWitness::merge([one, one, two])` preserves that order and duplicate multiplicity, but + only singleton inputs are accepted. A multi-root merged witness cannot be merged again; a + one-input merge remains singleton. One resulting `PrecompileProof` may complete compatible + individual deferred proofs; this is artifact reuse, not a batch settlement envelope. +7. **Verifier authenticates available evidence** – `ExecutionProof::complete` attaches a + compatible precompile proof without reproving the VM. `Verifier::verify` revalidates structure + and accepts both lifecycle states: it verifies the VM STARK for `Deferred` and the precompile + STARK for `Complete` when present. Deferred outcomes expose the exact authenticated outstanding + root. Finality-sensitive callers inspect `VerificationOutcome::is_complete()`. ## Responsibilities -| Participant | Responsibilities | -| ----------- | ---------------- | -| VM | Executes deferred advice events and `log_deferred`, maintains the rolling deferred root, and exposes the final root as a public value. | -| Host / advice provider | Maintains `DeferredState`, runs trusted precompile implementations, and supplies evaluation advice when wrappers request it. | -| MASM wrapper | Registers concrete deferred nodes, computes node/statement digests with VM instructions from exact stack payloads or memory reads, logs only registered statements that should evaluate to `TRUE`, and hides helper outputs from callers when appropriate. | -| Prover | Uses the final deferred root as a VM STARK public input and includes the chosen `DeferredProof` form in `ExecutionProof`: final `Empty`/`Stark` by default, or `Wire` for explicit partial proving. | -| Verifier | Resolves a trusted deferred root from `DeferredProof` before VM STARK verification. Final verification rejects `Wire`; partial verification rehydrates `Wire` under the built-in `miden_precompiles::registry()`. | +- **VM** — Executes deferred advice events and `log_deferred`, maintains the rolling deferred + root, and exposes the final root as a public value. +- **Host / advice provider** — Maintains `DeferredState`, runs trusted precompile implementations, + and supplies evaluation advice when wrappers request it. +- **MASM wrapper** — Registers concrete deferred nodes and computes node and statement digests + with VM instructions from exact stack payloads or memory reads. It logs only statements that + should evaluate to `TRUE`, and hides helper outputs from callers when appropriate. +- **Prover** — Produces the `VmProof`, retains a singleton `PrecompileWitness` in a deferred + proof, and produces a singular `PrecompileProof` from one singleton or one ordered merge. + Witnesses may be private and large, so precompile proving borrows the hydrated witness. +- **Verifier** — Verifies the VM proof in either lifecycle state and, for a complete proof that + carries one, verifies the precompile proof and its ordered root coverage. + +## Registry and transport policy + +Ordinary façade callers decode with `miden_vm::read_execution_proof_from_bytes`, which installs the +standard bundled registry and existing default deferred-element limit. Custom-precompile callers use +`ExecutionProof::read_from_bytes` or the lower-level witness/state decoders with an explicit trusted +registry and bound. `Prover` and `Verifier` configuration does not support caller-selected +registries. + +Encoding preserves representation and does not establish proof validity. The deferred-wire +canonical re-encode check remains, while the outer execution-proof decoder now rejects trailing +bytes and non-round-tripping encodings. Hydration takes an explicit deferred-element bound, decoding +retains its per-allocation ceiling, and merging resets the hydrated state's insertion-budget target +to `u32::MAX` while retaining existing elements. This is not a hard whole-witness cap. There is no +separate root-count, outer-envelope, file, or network-payload limit; callers enforce those ingestion +policies. Witness merging enables proof reuse, not settlement. ## Conventions @@ -88,8 +132,8 @@ modules are currently internal implementation detail used by core-library facade ## Related reading -- [Deferred computation](../deferred/index.md) – deferred DAG model and final/partial proof shapes. -- [`log_deferred` instruction](../../user_docs/assembly/instruction_reference.md) – stack behaviour - and opcode semantics. -- `DeferredStateWire` implementation (`core/src/deferred/wire.rs`) – partial-proof deferred witness - details. +- [Deferred computation](../deferred/index.md) – deferred DAG, witness, and proof artifact model. +- [`log_deferred` instruction](../../user_docs/assembly/instruction_reference.md) – stack + behaviour and opcode semantics. +- `DeferredStateWire` implementation (`core/src/deferred/wire.rs`) – low-level deferred witness + transport details. diff --git a/miden-vm/Cargo.toml b/miden-vm/Cargo.toml index 77f16fa8bd..9be3ec1b38 100644 --- a/miden-vm/Cargo.toml +++ b/miden-vm/Cargo.toml @@ -56,13 +56,21 @@ path = "tests/integration/main.rs" arbitrary = ["std", "dep:proptest", "miden-assembly/testing", "miden-utils-testing/arbitrary"] concurrent = ["miden-prover/concurrent", "std"] default = ["std"] -executable = ["dep:hex", "dep:clap", "dep:tracing-subscriber", "internal", "serde", "std"] +executable = [ + "dep:clap", + "dep:hex", + "dep:tracing-subscriber", + "internal", + "serde", + "std", +] serde = ["dep:serde", "dep:serde_json"] std = [ "hex?/std", "miden-assembly/std", "miden-core-lib/std", "miden-processor/std", + "miden-precompiles/std", "miden-prover/std", "miden-verifier/std", "proptest?/std", @@ -81,6 +89,7 @@ miden-processor.workspace = true miden-prover.workspace = true miden-mast-package.workspace = true miden-core-lib.workspace = true +miden-precompiles.workspace = true miden-verifier.workspace = true # External dependencies diff --git a/miden-vm/README.md b/miden-vm/README.md index 59a9370b76..5a13e5d5ae 100644 --- a/miden-vm/README.md +++ b/miden-vm/README.md @@ -47,9 +47,10 @@ also available for sync callers. These functions take the following arguments: The function returns a `Result` which will contain the final stack state and other execution outputs if the execution was successful, or an error if the execution -failed. If you need an execution trace, use `FastProcessor::execute_trace_inputs()` / -`FastProcessor::execute_trace_inputs_sync()` and pass the returned `TraceBuildInputs` bundle to -`trace::build_trace()`. +failed. For proving, use `FastProcessor::execute_for_proving()` / +`FastProcessor::execute_for_proving_sync()` to produce an `ExecutionWitness`, then pass it to +`Prover::prove()`. To materialize only the VM trace, split the witness with +`ExecutionWitness::into_parts()` and pass the resulting `VmWitness` to `trace::build_trace()`. For example: @@ -87,21 +88,18 @@ let output = ### Proving program execution -To execute a program on Miden VM and generate a proof that the program was executed correctly, you -can use the `prove_sync()` function. The async `prove()` variant is also available for async -callers. `prove_sync()` takes the following arguments: +Execute with `FastProcessor` to produce an `ExecutionWitness`, and read its public claim before +proving consumes it. `Prover::prove` proves the VM portion and returns a `Complete` proof without a +precompile artifact when no deferred work exists, or `Deferred` with its witness retained. Use +`Prover::prove_full` when all proof work should complete immediately in the local process. For +deferred work, borrow `proof.precompile_witness()`, pass it directly to +`Prover::prove_precompile`, and attach the result with `proof.complete(...)`. Clone the witness only +when ownership-requiring transport needs a separate value. -- `program: &Program` - a reference to a Miden program to be executed. -- `stack_inputs: StackInputs` - a set of public inputs with which to execute the program. -- `advice_inputs: AdviceInputs` - the initial nondeterministic inputs available to the VM. -- `host: Host` - an instance of a `Host` which can be used to supply non-deterministic inputs to the VM and receive messages from the VM. -- `execution_options: ExecutionOptions` - VM execution parameters such as cycle limits and trace fragmentation. -- `options: ProvingOptions` - proof-generation parameters. The default options target 96-bit security level. - -If the program is executed successfully, the function returns a tuple with 2 elements: - -- `outputs: StackOutputs` - the outputs generated by the program. -- `proof: ExecutionProof` - proof of program execution. `ExecutionProof` can be easily serialized and deserialized using `to_bytes()` and `from_bytes()` functions respectively. +`ExecutionOptions` configure execution, while `Prover::with_hash_fn` selects the proof hash +function. +The free `prove_sync(&Prover, ...)` remains temporarily to preserve overlapped synchronous execution +and trace construction until the planned `Executor` API owns that orchestration. #### Proof generation example @@ -111,28 +109,34 @@ Here is a simple example of executing a program which pushes two numbers onto th use miden_vm::{ advice::AdviceInputs, field::PrimeField64, - Assembler, DefaultHost, ExecutionOptions, ProvingOptions, prove_sync, StackInputs + Assembler, DefaultHost, ExecutionOptions, FastProcessor, Prover, StackInputs, }; // instantiate the assembler let assembler = Assembler::default(); // this is our program, we compile it from assembly code -let program = assembler.assemble_program( - "prg", - "begin push.3 push.5 add swap drop end", -).unwrap(); +let program = assembler + .assemble_program("prg", "begin push.3 push.5 add swap drop end") + .unwrap() + .unwrap_program(); -// let's execute it and generate a STARK proof -let (outputs, proof) = prove_sync( - &program.unwrap_program(), - StackInputs::default(), // we won't provide any inputs - AdviceInputs::default(), // we don't need any initial advice inputs - &mut DefaultHost::default(), // we'll be using a default host - ExecutionOptions::default(), // we'll use default VM execution options - ProvingOptions::default(), // we'll be using default options +// execute the program to produce a post-execution witness +let mut host = DefaultHost::default(); +let witness = FastProcessor::new_with_options( + StackInputs::default(), + AdviceInputs::default(), + ExecutionOptions::default(), ) +.unwrap() +.execute_for_proving_sync(&program, &mut host) .unwrap(); +let outputs = *witness.claim().stack_outputs(); + +// this program has no precompile work, so VM-only proving returns a complete proof +let proof = Prover::new().prove(witness).unwrap(); +assert!(proof.is_complete()); +assert!(proof.precompile().is_none()); // the output should be 8 assert_eq!(8, outputs.first().unwrap().as_canonical_u64()); @@ -140,16 +144,28 @@ assert_eq!(8, outputs.first().unwrap().as_canonical_u64()); ### Verifying program execution -To verify program execution, use `Verifier::new().verify(...)`. The verifier takes the following parameters: +To verify program execution, use `Verifier::new().verify(&claim, &proof)`. The verifier borrows: -- `proof: ExecutionProof` - the proof generated during program execution. -- `claim: ExecutionClaim` - the claimed program information, stack inputs, and stack outputs. +- `claim: &ExecutionClaim` - the program information and public stack inputs and outputs; +- `proof: &ExecutionProof` - deferred or complete execution proof artifacts. Stack inputs are expected to be ordered as if they would be pushed onto the stack one by one. Thus, their expected order on the stack will be the reverse of the order in which they are provided, and the last value in the `stack_inputs` is expected to be the value at the top of the stack. Stack outputs are expected to be ordered as if they would be popped off the stack one by one. Thus, the value at the top of the stack is expected to be in the first position of the `stack_outputs`, and the order of the rest of the output elements will also match the order on the stack. This is the reverse of the order of the `stack_inputs`. -The verifier returns `Result` which will be `Ok(security_level)` if verification passes, or `Err(VerificationError)` if verification fails, with `VerificationError` describing the reason for the failure. +The verifier returns `Result`. The outcome reports the +minimum verified component security level and any authenticated precompile root that remains +outstanding. A successful deferred verification is valid but incomplete; finality-sensitive callers +inspect `VerificationOutcome::is_complete()` or `outstanding_precompile_root()`. + +Ordinary callers decode execution proofs with +`read_execution_proof_from_bytes(bytes)`, which installs the standard bundled precompile registry +and existing default deferred-element limit. Custom-precompile callers use +`ExecutionProof::read_from_bytes(bytes, registry, max_elements)` directly. + +Encoding and decoding preserve representation and canonical transport; they do not establish proof +validity. Public malformed cross-artifact values can serialize and decode, then fail full +verification as intended. > If a program with the provided hash is executed against some secret inputs and the provided public inputs, it will produce the provided outputs. @@ -160,7 +176,9 @@ Notice how the verifier needs to know only the hash of the program - not what th Here is a simple example of verifying execution of the program from the previous example: ```rust,ignore -use miden_vm::{ExecutionClaim, ProgramInfo, StackInputs, StackOutputs, Verifier, field::Felt}; +use miden_vm::{ + ExecutionClaim, ProgramInfo, StackInputs, StackOutputs, Verifier, field::Felt, +}; let program = /* value from previous example */; let proof = /* value from previous example */; @@ -171,10 +189,18 @@ let claim = ExecutionClaim::from_program_info( expected_outputs, ); -// Verify the execution claim. -match Verifier::new().verify(proof, claim) { - Ok(_) => println!("Execution verified!"), - Err(err) => eprintln!("Verification failed: {err}"), +// Verify all supplied structure and STARKs without consuming either value. +match Verifier::new().verify(&claim, &proof) { + Ok(outcome) if outcome.is_complete() => { + println!("Execution verified and complete!"); + }, + Ok(outcome) => { + println!( + "Execution verified; outstanding precompile root: {:?}", + outcome.outstanding_precompile_root(), + ); + }, + Err(msg) => println!("Something went terribly wrong: {}", msg), } ``` @@ -202,7 +228,7 @@ Notice that except for the first 2 operations which initialize the stack, the se use miden_vm::{ advice::AdviceInputs, field::PrimeField64, - Assembler, DefaultHost, ProvingOptions, StackInputs + Assembler, DefaultHost, ExecutionOptions, FastProcessor, Prover, StackInputs, }; // set the number of terms to compute @@ -219,7 +245,10 @@ let source = format!( n - 1 ); let assembler = Assembler::default(); -let program = assembler.assemble_program("prg", &source).unwrap(); +let program = assembler + .assemble_program("prg", &source) + .unwrap() + .unwrap_program(); // initialize a default host (with an empty advice provider) let mut host = DefaultHost::default(); @@ -227,16 +256,17 @@ let mut host = DefaultHost::default(); // initialize the stack with values 0 and 1 let stack_inputs = StackInputs::try_from_ints([1, 0]).unwrap(); -// execute the program -let (outputs, proof) = miden_vm::prove_sync( - &program.unwrap_program(), +// execute the program and prove its post-execution witness +let witness = FastProcessor::new_with_options( stack_inputs, - AdviceInputs::default(), // without initial advice inputs - &mut host, - miden_vm::ExecutionOptions::default(), // use default VM execution options - ProvingOptions::default(), // use default proving options + AdviceInputs::default(), + ExecutionOptions::default(), ) +.unwrap() +.execute_for_proving_sync(&program, &mut host) .unwrap(); +let outputs = *witness.claim().stack_outputs(); +let proof = Prover::new().prove(witness).unwrap(); // fetch the stack outputs, truncating to the first element let stack = outputs.get_num_elements(1); diff --git a/miden-vm/benches/build_trace.rs b/miden-vm/benches/build_trace.rs index 76ee71889e..ee1ed38255 100644 --- a/miden-vm/benches/build_trace.rs +++ b/miden-vm/benches/build_trace.rs @@ -82,9 +82,10 @@ fn build_trace(c: &mut Criterion) { (host, program.clone(), processor) }, |(mut host, program, processor)| async move { - let trace_inputs = - processor.execute_trace_inputs(&program, &mut host).await.unwrap(); - let trace = trace::build_trace(trace_inputs).unwrap(); + let witness = + processor.execute_for_proving(&program, &mut host).await.unwrap(); + let (vm_witness, _) = witness.into_parts(); + let trace = trace::build_trace(vm_witness).unwrap(); black_box(trace); }, BatchSize::SmallInput, diff --git a/miden-vm/benches/program_execution_for_trace.rs b/miden-vm/benches/program_execution_for_trace.rs index a03b8ea4bf..1c510f7744 100644 --- a/miden-vm/benches/program_execution_for_trace.rs +++ b/miden-vm/benches/program_execution_for_trace.rs @@ -79,7 +79,7 @@ fn program_execution_for_trace(c: &mut Criterion) { }, |(mut host, program, processor)| async move { let out = - processor.execute_trace_inputs(&program, &mut host).await.unwrap(); + processor.execute_for_proving(&program, &mut host).await.unwrap(); black_box(out); }, BatchSize::SmallInput, diff --git a/miden-vm/src/cli/data.rs b/miden-vm/src/cli/data.rs index c0d03d56b3..672ecc5e74 100644 --- a/miden-vm/src/cli/data.rs +++ b/miden-vm/src/cli/data.rs @@ -15,11 +15,14 @@ use miden_assembly::{ use miden_core::{Felt, field::QuotientMap}; use miden_core_lib::CoreLibrary; use miden_mast_package::Package; -use miden_vm::{ExecutionProof, Program, StackOutputs, Word, serde::SliceReader}; +use miden_vm::{ + ExecutionProof, Program, StackOutputs, Word, read_execution_proof_from_bytes, + serde::SliceReader, +}; #[cfg(feature = "arbitrary")] use proptest::prelude::*; use serde::{Deserialize, Serialize}; -use tracing::instrument; +use tracing::{field::Empty, instrument}; // HELPERS // ================================================================================================ @@ -209,8 +212,8 @@ impl ProofFile { let file = fs::read(&path) .map_err(|err| format!("Failed to open proof file `{}` - {}", path.display(), err))?; - // deserialize bytes into a stark proof - ExecutionProof::from_bytes(&file) + // deserialize bytes into an execution proof + read_execution_proof_from_bytes(&file) .map_err(|err| format!("Failed to decode proof data - {err}")) } @@ -218,7 +221,7 @@ impl ProofFile { #[instrument(name = "write_data_to_proof_file", fields( path = %proof_path.clone().unwrap_or(program_path.with_extension("proof")).display(), - size = format!("{} KB", proof.to_bytes().len() / 1024)), skip_all)] + size = Empty), skip_all)] pub fn write( proof: ExecutionProof, proof_path: &Option, @@ -231,12 +234,15 @@ impl ProofFile { None => program_path.with_extension("proof"), }; - // create output fille + let proof_bytes = + proof.to_bytes().map_err(|err| format!("Failed to encode proof data - {err}"))?; + tracing::Span::current() + .record("size", tracing::field::display(format!("{} KB", proof_bytes.len() / 1024))); + + // create output file let mut file = fs::File::create(&path) .map_err(|err| format!("Failed to create proof file `{}` - {}", path.display(), err))?; - let proof_bytes = proof.to_bytes(); - // write proof bytes to file file.write_all(&proof_bytes) .map_err(|err| format!("Failed to write proof file `{}` - {}", path.display(), err))?; diff --git a/miden-vm/src/cli/prove.rs b/miden-vm/src/cli/prove.rs index d8046e7dd0..7cf59b10ea 100644 --- a/miden-vm/src/cli/prove.rs +++ b/miden-vm/src/cli/prove.rs @@ -4,9 +4,7 @@ use clap::Parser; use miden_assembly::diagnostics::{IntoDiagnostic, Report, WrapErr}; use miden_core_lib::CoreLibrary; use miden_processor::{DefaultHost, ExecutionOptions, FastProcessor}; -use miden_vm::{ - HashFunction, ProvingOptions, TraceProvingInputs, internal::InputFile, prove_from_trace_sync, -}; +use miden_vm::{HashFunction, Prover, internal::InputFile}; use super::{ data::{Libraries, OutputFile, ProofFile}, @@ -72,18 +70,15 @@ impl ProveCmd { .map_err(|err| Report::msg(format!("{err}"))) } - pub fn get_proof_options(&self) -> Result { - let hash_fn = HashFunction::try_from(self.hasher.as_str()) - .map_err(|err| Report::msg(format!("{err}")))?; - let proving_options = match self.security.as_str() { - "96bits" => ProvingOptions::with_96_bit_security(hash_fn), - other => { - return Err(Report::msg(format!( - "{other} is not a valid security setting. Currently only '96bits' is supported." - ))); - }, - }; - Ok(proving_options) + pub fn get_hash_fn(&self) -> Result { + if self.security != "96bits" { + return Err(Report::msg(format!( + "{} is not a valid security setting. Currently only '96bits' is supported.", + self.security + ))); + } + + HashFunction::try_from(self.hasher.as_str()).map_err(|err| Report::msg(format!("{err}"))) } pub fn execute(&self) -> Result<(), Report> { println!("==============================================================================="); @@ -140,15 +135,15 @@ impl ProveCmd { let advice_inputs = input_data.parse_advice_inputs().map_err(Report::msg)?; let execution_options = self.get_execution_options()?; - let proving_options = self.get_proof_options()?; + let hash_fn = self.get_hash_fn()?; // execute program and generate proof let processor = FastProcessor::new_with_options(stack_inputs, advice_inputs, execution_options) .map_err(|err| Report::msg(format!("{err}")))?; - let trace_inputs = match (package_debug_info.as_ref(), entrypoint_source_node) { + let witness = match (package_debug_info.as_ref(), entrypoint_source_node) { (Some(debug_info), Some(entrypoint_source_node_id)) => processor - .execute_trace_inputs_with_package_debug_info_at_source_node_sync( + .execute_for_proving_with_package_debug_info_at_source_node_sync( &program, debug_info, entrypoint_source_node_id, @@ -156,15 +151,17 @@ impl ProveCmd { ) .wrap_err("Failed to execute program")?, (Some(debug_info), None) => processor - .execute_trace_inputs_with_package_debug_info_sync(&program, debug_info, &mut host) + .execute_for_proving_with_package_debug_info_sync(&program, debug_info, &mut host) .wrap_err("Failed to execute program")?, (None, _) => processor - .execute_trace_inputs_sync(&program, &mut host) + .execute_for_proving_sync(&program, &mut host) .wrap_err("Failed to execute program")?, }; - let (stack_outputs, proof) = - prove_from_trace_sync(TraceProvingInputs::new(trace_inputs, proving_options)) - .wrap_err("Failed to prove program")?; + let stack_outputs = *witness.claim().stack_outputs(); + let proof = Prover::new() + .with_hash_fn(hash_fn) + .prove_full(witness) + .map_err(|err| Report::msg(format!("Failed to prove program: {err}")))?; println!("Program proved in {} ms", now.elapsed().as_millis()); diff --git a/miden-vm/src/cli/run.rs b/miden-vm/src/cli/run.rs index 1561731d3f..4f9b032c17 100644 --- a/miden-vm/src/cli/run.rs +++ b/miden-vm/src/cli/run.rs @@ -5,7 +5,7 @@ use miden_assembly::diagnostics::{IntoDiagnostic, Report, WrapErr}; use miden_core_lib::CoreLibrary; use miden_processor::{ DefaultHost, ExecutionOptions, FastProcessor, - trace::{ExecutionTrace, build_trace}, + trace::{VmTrace, build_trace}, }; use miden_vm::internal::InputFile; use tracing::instrument; @@ -127,7 +127,7 @@ impl RunCmd { // ================================================================================================ #[instrument(name = "run_program", skip_all)] -fn run_masp_program(params: &RunCmd) -> Result<(ExecutionTrace, [u8; 32]), Report> { +fn run_masp_program(params: &RunCmd) -> Result<(VmTrace, [u8; 32]), Report> { let program = get_masp_program(¶ms.program_file)?; // use simplified input data reading @@ -149,16 +149,17 @@ fn run_masp_program(params: &RunCmd) -> Result<(ExecutionTrace, [u8; 32]), Repor let processor = FastProcessor::new_with_options(stack_inputs, advice_inputs, exec_options) .map_err(|err| Report::msg(format!("{err}")))?; - let trace_inputs = processor - .execute_trace_inputs_sync(&program, &mut host) + let witness = processor + .execute_for_proving_sync(&program, &mut host) .wrap_err("Failed to execute program")?; - let trace = build_trace(trace_inputs).wrap_err("Failed to build trace")?; + let (vm_witness, _) = witness.into_parts(); + let trace = build_trace(vm_witness).wrap_err("Failed to build trace")?; Ok((trace, program_hash)) } #[instrument(name = "run_program", skip_all)] -fn run_masm_program(params: &RunCmd) -> Result<(ExecutionTrace, [u8; 32]), Report> { +fn run_masm_program(params: &RunCmd) -> Result<(VmTrace, [u8; 32]), Report> { for lib in ¶ms.library_paths { if !lib.is_file() { let name = lib.display(); @@ -207,9 +208,9 @@ fn run_masm_program(params: &RunCmd) -> Result<(ExecutionTrace, [u8; 32]), Repor let processor = FastProcessor::new_with_options(stack_inputs, advice_inputs, exec_options) .map_err(|err| Report::msg(format!("{err}")))?; - let trace_inputs = match (package_debug_info.as_ref(), entrypoint_source_node) { + let execution_witness = match (package_debug_info.as_ref(), entrypoint_source_node) { (Some(debug_info), Some(entrypoint_source_node_id)) => processor - .execute_trace_inputs_with_package_debug_info_at_source_node_sync( + .execute_for_proving_with_package_debug_info_at_source_node_sync( &program, debug_info, entrypoint_source_node_id, @@ -217,13 +218,14 @@ fn run_masm_program(params: &RunCmd) -> Result<(ExecutionTrace, [u8; 32]), Repor ) .wrap_err("Failed to execute program")?, (Some(debug_info), None) => processor - .execute_trace_inputs_with_package_debug_info_sync(&program, debug_info, &mut host) + .execute_for_proving_with_package_debug_info_sync(&program, debug_info, &mut host) .wrap_err("Failed to execute program")?, (None, _) => processor - .execute_trace_inputs_sync(&program, &mut host) + .execute_for_proving_sync(&program, &mut host) .wrap_err("Failed to execute program")?, }; - let trace = build_trace(trace_inputs).wrap_err("Failed to build trace")?; + let (vm_witness, _) = execution_witness.into_parts(); + let trace = build_trace(vm_witness).wrap_err("Failed to build trace")?; Ok((trace, program_hash)) } diff --git a/miden-vm/src/cli/verify.rs b/miden-vm/src/cli/verify.rs index 85d6133b2a..c57d0c3a54 100644 --- a/miden-vm/src/cli/verify.rs +++ b/miden-vm/src/cli/verify.rs @@ -6,8 +6,9 @@ use miden_assembly::{ diagnostics::{IntoDiagnostic, Report, Result, WrapErr}, }; use miden_mast_package::Package; -use miden_prover::serde::Deserializable; -use miden_vm::{KernelDescriptor, ProgramInfo, internal::InputFile}; +use miden_vm::{ + ExecutionClaim, KernelDescriptor, ProgramInfo, internal::InputFile, serde::Deserializable, +}; use super::data::{OutputFile, ProgramHash, ProofFile}; @@ -75,13 +76,22 @@ impl VerifyCmd { // verify proof let stack_outputs = outputs_data.stack_outputs().map_err(Report::msg)?; - let claim = - miden_vm::ExecutionClaim::from_program_info(program_info, stack_inputs, stack_outputs); - miden_vm::verify(proof, claim) + let claim = ExecutionClaim::from_program_info(program_info, stack_inputs, stack_outputs); + let outcome = miden_vm::Verifier::new() + .verify(&claim, &proof) .into_diagnostic() .wrap_err("Program failed verification!")?; + if let Some(root) = outcome.outstanding_precompile_root() { + return Err(Report::msg(format!( + "Program proof is valid but incomplete; outstanding precompile root: {root}" + ))); + } - println!("Verification complete in {} ms", now.elapsed().as_millis()); + println!( + "Verification complete in {} ms. Security level: {} bits", + now.elapsed().as_millis(), + outcome.security_level() + ); Ok(()) } diff --git a/miden-vm/src/lib.rs b/miden-vm/src/lib.rs index 14de04b46e..6799f4945c 100644 --- a/miden-vm/src/lib.rs +++ b/miden-vm/src/lib.rs @@ -1,6 +1,8 @@ #![cfg_attr(not(feature = "std"), no_std)] #![doc = include_str!("../README.md")] +extern crate alloc; + // EXPORTS // ================================================================================================ @@ -11,31 +13,42 @@ pub use miden_assembly::{ }; pub use miden_core::{ program::ExecutionClaim, - proof::{DeferredProof, ExecutionProof, HashFunction, StarkProof}, + proof::{ + ExecutionProof, ExecutionProofError, ExecutionProofTransportError, HashFunction, + PrecompileProof, StarkProof, VmProof, + }, }; #[cfg(not(target_family = "wasm"))] pub use miden_processor::execute_sync; pub use miden_processor::{ - BaseHost, DefaultHost, ExecutionError, ExecutionOptions, ExecutionOutput, FastProcessor, - FutureMaybeSend, Host, KernelDescriptor, Program, ProgramInfo, StackInputs, SyncHost, - TraceBuildInputs, TraceGenerationContext, ZERO, advice, crypto, execute, field, - operation::Operation, serde, trace, trace::ExecutionTrace, utils, + BaseHost, DefaultHost, ExecutionError, ExecutionOptions, ExecutionOutput, ExecutionWitness, + FastProcessor, FutureMaybeSend, Host, KernelDescriptor, PrecompileWitness, Program, + ProgramInfo, StackInputs, SyncHost, VmWitness, ZERO, advice, crypto, execute, field, + operation::Operation, serde, trace, trace::VmTrace, utils, }; -pub use miden_prover::{InputError, ProvingOptions, StackOutputs, TraceProvingInputs, Word, prove}; -#[cfg(not(target_family = "wasm"))] -pub use miden_prover::{prove_from_trace_sync, prove_sync}; -pub use miden_verifier::{Unsettled, VerificationError, Verifier}; +pub use miden_prover::{InputError, Prover, ProverError, StackOutputs, Word, prove_sync}; +pub use miden_verifier::{VerificationError, VerificationOutcome, Verifier}; + +/// Decodes an execution proof using the standard bundled precompile registry and deferred-state +/// element limit. +/// +/// Decoding establishes transport syntax, canonical representation, and deferred witness +/// hydration; it does not establish proof validity. Call [`Verifier::verify`] on the decoded value. +/// +/// Use [`ExecutionProof::read_from_bytes`] directly when decoding against a custom registry or +/// element limit. +pub fn read_execution_proof_from_bytes( + bytes: &[u8], +) -> Result { + ExecutionProof::read_from_bytes( + bytes, + alloc::sync::Arc::new(miden_precompiles::registry()), + miden_core::deferred::DEFAULT_MAX_DEFERRED_ELEMENTS, + ) +} // (private) exports // ================================================================================================ #[cfg(feature = "internal")] pub mod internal; - -/// Verifies a final Miden proof of the given execution claim. -/// -/// Wire-backed deferred proofs are partial/delegable proof material and are rejected here; use -/// [`Verifier::verify_partial`] to verify and hydrate wire-backed partial proofs. -pub fn verify(proof: ExecutionProof, claim: ExecutionClaim) -> Result { - miden_verifier::verify(proof, claim) -} diff --git a/miden-vm/tests/integration/prove_verify.rs b/miden-vm/tests/integration/prove_verify.rs index 54e3ef4cd3..169f4aecf9 100644 --- a/miden-vm/tests/integration/prove_verify.rs +++ b/miden-vm/tests/integration/prove_verify.rs @@ -1,21 +1,26 @@ -//! Integration tests for the prove/verify flow with different hash functions. +//! Integration tests for the public proving lifecycle and recursive-verifier regressions. use alloc::sync::Arc; -use miden_assembly::{Assembler, DefaultSourceManager}; +use miden_assembly::{Assembler, DefaultSourceManager, Linkage}; use miden_core::{ - program::ExecutionClaim, - proof::{DeferredProof, ExecutionProof, StarkProof}, + Felt, program::ExecutionClaim, proof::ExecutionProof, utils::bytes_to_packed_u32_elements, }; use miden_core_lib::CoreLibrary; -use miden_processor::ExecutionOptions; -use miden_prover::{ - AdviceInputs, ProgramInfo, ProvingOptions, StackInputs, StackOutputs, prove_partial_sync, - prove_sync, -}; use miden_utils_testing::{recursive_verifier::generate_advice_inputs, stack_inputs_from_ints}; -use miden_verifier::{VerificationError, Verifier, verify}; -use miden_vm::{DefaultHost, HashFunction}; +use miden_vm::{ + DefaultHost, ExecutionOptions, FastProcessor, HashFunction, ProgramInfo, Prover, StackInputs, + StackOutputs, Verifier, advice::AdviceInputs, +}; + +fn masm_push_felts(felts: &[Felt]) -> String { + felts + .iter() + .rev() + .map(|felt| format!("push.{}", felt.as_canonical_u64())) + .collect::>() + .join(" ") +} fn assert_prove_verify( source: &str, @@ -32,18 +37,14 @@ fn assert_prove_verify( let advice_inputs = AdviceInputs::default(); let mut host = DefaultHost::default().with_source_manager(Arc::new(DefaultSourceManager::default())); - let options = ProvingOptions::with_96_bit_security(hash_fn); - println!("Proving with {hash_name}..."); - let (stack_outputs, proof) = prove_sync( - &program, - stack_inputs, - advice_inputs, - &mut host, - ExecutionOptions::default(), - options, - ) - .expect("Proving failed"); + let witness = + FastProcessor::new_with_options(stack_inputs, advice_inputs, ExecutionOptions::default()) + .expect("processor initialization failed") + .execute_for_proving_sync(&program, &mut host) + .expect("execution failed"); + let stack_outputs = *witness.claim().stack_outputs(); + let proof = Prover::new().with_hash_fn(hash_fn).prove_full(witness).expect("Proving failed"); println!("Proof generated successfully!"); if print_stack_outputs { @@ -56,9 +57,10 @@ fn assert_prove_verify( println!("Verifying proof..."); let claim = ExecutionClaim::from_program_info(program.into(), stack_inputs, stack_outputs); - let security_level = verify(proof, claim).expect("Verification failed"); + let outcome = Verifier::new().verify(&claim, &proof).expect("Verification failed"); + assert!(outcome.is_complete()); - println!("Verification successful! Security level: {security_level}"); + println!("Verification successful! Security level: {}", outcome.security_level()); } fn assert_recursive_verify( @@ -121,74 +123,47 @@ fn assert_recursive_verify( } #[test] -fn test_blake3_256_prove_verify() { - // Compute many Fibonacci iterations to generate a trace >= 2048 rows - let source = " - begin - repeat.1000 - swap dup.1 add - end - end - "; - - assert_prove_verify(source, HashFunction::Blake3_256, "Blake3_256", false, false); -} - -#[test] -fn test_keccak_prove_verify() { - // Compute 150th Fibonacci number to generate a longer trace - let source = " - begin - repeat.149 - swap dup.1 add - end - end - "; - - assert_prove_verify(source, HashFunction::Keccak, "Keccak", true, false); -} - -#[test] -fn test_rpo_prove_verify() { - // Compute 150th Fibonacci number to generate a longer trace - let source = " - begin - repeat.149 - swap dup.1 add - end - end - "; - - assert_prove_verify(source, HashFunction::Rpo256, "RPO", true, false); -} - -#[test] -fn test_poseidon2_prove_verify() { - // Compute 150th Fibonacci number to generate a longer trace - let source = " - begin - repeat.149 - swap dup.1 add - end - end - "; - - assert_prove_verify(source, HashFunction::Poseidon2, "Poseidon2", true, true); -} - -/// Sanity test that the multi-AIR Rust prover + Rust verifier work end-to-end with Poseidon2, -/// independent of the MASM recursive verifier path. -#[test] -fn test_poseidon2_prove_verify_rust_only() { - let source = " +fn test_keccak_precompile_wrapper_prove_verify_final() { + let core_lib = CoreLibrary::default(); + let input: Vec = (0u8..32).collect(); + let input = masm_push_felts(&bytes_to_packed_u32_elements(&input)); + let source = format!( + " begin - repeat.149 - swap dup.1 add - end + {input} + exec.::miden::core::crypto::hashes::keccak256::hash + dropw dropw end - "; - - assert_prove_verify(source, HashFunction::Poseidon2, "Poseidon2", true, false); + " + ); + let program = Assembler::default() + .with_package(core_lib.package(), Linkage::Dynamic) + .expect("failed to link core library") + .assemble_program("keccak_precompile_wrapper_test", &source) + .expect("failed to assemble Keccak precompile wrapper test") + .unwrap_program(); + let stack_inputs = StackInputs::default(); + let advice_inputs = AdviceInputs::default(); + let mut host = DefaultHost::default() + .with_library(&core_lib) + .expect("failed to load CoreLibrary into the host"); + + let witness = + FastProcessor::new_with_options(stack_inputs, advice_inputs, ExecutionOptions::default()) + .expect("processor initialization failed") + .execute_for_proving_sync(&program, &mut host) + .expect("failed to execute Keccak precompile program"); + let stack_outputs = *witness.claim().stack_outputs(); + let proof = Prover::new() + .with_hash_fn(HashFunction::Blake3_256) + .prove_full(witness) + .expect("failed to prove Keccak precompile execution"); + + assert!(proof.precompile().is_some()); + let claim = ExecutionClaim::from_program_info(program.into(), stack_inputs, stack_outputs); + let outcome = Verifier::new().verify(&claim, &proof).expect("Verification failed"); + assert!(outcome.is_complete()); + assert_eq!(outcome.outstanding_precompile_root(), None); } /// Equal-heights regression: tiny program where every AIR lands at MIN_TRACE_LEN. @@ -235,318 +210,230 @@ fn test_hash_heavy_divergent_heights_recursive() { assert_prove_verify(source, HashFunction::Poseidon2, "Poseidon2", false, true); } -/// Test end-to-end proving and verification with RPX -#[test] -fn test_rpx_prove_verify() { - // Compute 150th Fibonacci number to generate a longer trace - let source = " - begin - repeat.149 - swap dup.1 add - end - end - "; - - assert_prove_verify(source, HashFunction::Rpx256, "RPX", true, false); -} - -// ================================================================================================ -// FAST PROCESSOR + PARALLEL TRACE GENERATION TESTS +// PROVER API LIFECYCLE TESTS // ================================================================================================ -mod fast_parallel { - use alloc::sync::Arc; - - use miden_assembly::{Assembler, DefaultSourceManager}; +mod prover_api_lifecycle { + use miden_assembly::Assembler; use miden_core::{ - program::ExecutionClaim, - proof::{DeferredProof, ExecutionProof, HashFunction}, - }; - use miden_processor::{ - DefaultHost, ExecutionOptions, FastProcessor, StackInputs, advice::AdviceInputs, - trace::build_trace, + Felt, Word, ZERO, + deferred::{ + DEFAULT_MAX_DEFERRED_ELEMENTS, Node, PrecompileWitnessError, Tag, precompile_id, + }, }; - use miden_prover::{ - ProvingOptions, TraceProvingInputs, config, prove_from_trace_sync, - prove_partial_from_trace_sync, prove_stark, + use miden_vm::{ + DefaultHost, ExecutionClaim, ExecutionOptions, ExecutionProof, ExecutionWitness, + FastProcessor, HashFunction, PrecompileWitness, Program, Prover, StackInputs, StackOutputs, + Verifier, advice::AdviceInputs, prove_sync, read_execution_proof_from_bytes, }; - use miden_verifier::verify; - use miden_vm::{Program, TraceBuildInputs}; - /// Default fragment size for parallel trace generation - const FRAGMENT_SIZE: usize = 1024; - - fn parallel_execution_options() -> ExecutionOptions { - ExecutionOptions::default() - .with_core_trace_fragment_size(FRAGMENT_SIZE) - .unwrap() + fn assemble(source: &str) -> Program { + Assembler::default() + .assemble_program("program", source) + .expect("program should compile") + .unwrap_program() } - fn execute_parallel_trace_inputs( - program: &Program, - stack_inputs: StackInputs, - advice_inputs: AdviceInputs, - host: &mut DefaultHost, - ) -> TraceBuildInputs { - FastProcessor::new_with_options(stack_inputs, advice_inputs, parallel_execution_options()) - .expect("processor should initialize with built-in precompiles") - .execute_trace_inputs_sync(program, host) - .expect("Fast processor execution failed") + fn execute(program: &Program) -> ExecutionWitness { + FastProcessor::new(StackInputs::default()) + .execute_for_proving_sync(program, &mut DefaultHost::default()) + .expect("execution should produce a witness") } - fn default_source_manager_host() -> DefaultHost { - DefaultHost::default().with_source_manager(Arc::new(DefaultSourceManager::default())) + fn word_literal(word: Word) -> String { + format!( + "[{}, {}, {}, {}]", + word[0].as_canonical_u64(), + word[1].as_canonical_u64(), + word[2].as_canonical_u64(), + word[3].as_canonical_u64(), + ) } - /// Test that proves and verifies using the fast processor + parallel trace generation path. - /// This verifies the complete code path works end-to-end. - /// - /// Note: We only test one hash function here since - /// `test_trace_equivalence_slow_vs_fast_parallel` verifies trace equivalence, and the slow - /// processor tests already cover all hash functions. - #[test] - fn test_fast_parallel_prove_verify() { - // Use a program with enough iterations to generate a meaningful trace - let source = " - begin - repeat.500 - swap dup.1 add - end - end - "; - - let program = Assembler::default() - .assemble_program("program", source) - .unwrap() - .unwrap_program(); - let stack_inputs = miden_utils_testing::stack_inputs_from_ints([0, 1]); - let advice_inputs = AdviceInputs::default(); - let mut host = default_source_manager_host(); - let trace_inputs = - execute_parallel_trace_inputs(&program, stack_inputs, advice_inputs, &mut host); - - let fast_stack_outputs = *trace_inputs.stack_outputs(); - - // Build trace using parallel trace generation - let trace = build_trace(trace_inputs).unwrap(); - - // Build public inputs - let (public_values, aux_inputs) = trace.public_inputs().to_air_inputs(); - - // Per-AIR matrices for prove_multi. - let (core_matrix, chiplets_matrix, poseidon2_matrix) = trace.to_air_matrices(); - - // Generate proof using Blake3_256 - let blake3_config = - config::blake3_256_config(config::pcs_params(), config::RELATION_DIGEST); - let proof_bytes = prove_stark( - &blake3_config, - core_matrix, - chiplets_matrix, - poseidon2_matrix, - &public_values, - &aux_inputs, + fn u256_witness(value: u64) -> ExecutionWitness { + let precompile_id = precompile_id("uint256"); + let value_tag = Tag::precompile( + precompile_id, + [ + Felt::new(0).expect("VALUE operation ID is a felt"), + Felt::new(1).expect("U256 bound pointer is a felt"), + ZERO, + ], + ) + .expect("uint precompile ID is not reserved"); + let mut value_chunk = [ZERO; 8]; + value_chunk[0] = Felt::new(value).expect("test U256 value is a felt"); + let value_digest = Node::value(value_tag, value_chunk) + .expect("U256 value node should be valid") + .digest(); + let equality_tag = Tag::precompile( + precompile_id, + [Felt::new(4).expect("EQ operation ID is a felt"), ZERO, ZERO], ) - .expect("Proving failed"); - - // The fixture is deferred-free, so the final proof carries empty deferred material. - assert_eq!(trace.deferred_state().root(), miden_core::deferred::TRUE_DIGEST); - let proof = ExecutionProof::from_parts( - proof_bytes, - HashFunction::Blake3_256, - DeferredProof::empty(), + .expect("uint precompile ID is not reserved"); + + // This is the inlined equivalent of the core library's U256 `push_*_digest`, `assert_eq`, + // `precompiles::register_expr`, and `precompiles::log_deferred` procedures. The processor's + // built-in registry seeds the constant U256 value nodes used here. + let source = format!( + "begin\n\ + push.{}\n\ + push.{}\n\ + push.{}\n\ + movdnw.2\n\ + adv.register_deferred\n\ + hperm\n\ + swapw.2 dropw dropw\n\ + padw padw movdnw.2\n\ + log_deferred\n\ + dropw dropw dropw\n\ + end", + word_literal(value_digest), + word_literal(value_digest), + word_literal(equality_tag.as_word().into()), ); - // Verify the proof - let claim = - ExecutionClaim::from_program_info(program.into(), stack_inputs, fast_stack_outputs); - verify(proof, claim).expect("Verification failed"); + execute(&assemble(&source)) } - #[test] - fn test_prove_from_trace_sync() { - let source = " - begin - repeat.128 - swap dup.1 add - end - end - "; + fn prove_deferred_u256(value: u64, hash_fn: HashFunction) -> (ExecutionClaim, ExecutionProof) { + let witness = u256_witness(value); + let claim = witness.claim(); + let proof = Prover::new() + .with_hash_fn(hash_fn) + .prove(witness) + .expect("U256 execution should produce a deferred proof"); - let program = Assembler::default() - .assemble_program("program", source) - .unwrap() - .unwrap_program(); - let stack_inputs = miden_utils_testing::stack_inputs_from_ints([0, 1]); - let advice_inputs = AdviceInputs::default(); - let mut host = default_source_manager_host(); - let trace_inputs = - execute_parallel_trace_inputs(&program, stack_inputs, advice_inputs, &mut host); - - let (stack_outputs, proof) = prove_from_trace_sync(TraceProvingInputs::new( - trace_inputs, - ProvingOptions::with_96_bit_security(HashFunction::Blake3_256), - )) - .expect("prove_from_trace_sync failed"); - - let claim = ExecutionClaim::from_program_info(program.into(), stack_inputs, stack_outputs); - verify(proof, claim).expect("Verification failed"); + (claim, proof) } - #[test] - fn test_prove_from_trace_sync_preserves_deferred_wire() { - let source = "begin log_deferred end"; - let program = Assembler::default() - .assemble_program("program", source) - .unwrap() - .unwrap_program(); - let stack_inputs = StackInputs::default(); - let advice_inputs = AdviceInputs::default(); - let mut host = default_source_manager_host(); - let trace_inputs = - execute_parallel_trace_inputs(&program, stack_inputs, advice_inputs, &mut host); - let expected_wire = trace_inputs - .deferred_state() - .to_wire() - .expect("deferred state should serialize to wire"); - assert!( - !expected_wire.entries.is_empty(), - "log_deferred should advance the deferred root" - ); - - let (stack_outputs, proof) = prove_partial_from_trace_sync(TraceProvingInputs::new( - trace_inputs, - ProvingOptions::with_96_bit_security(HashFunction::Blake3_256), - )) - .expect("prove_partial_from_trace_sync failed"); - - assert_eq!(proof.deferred_proof().as_wire(), Some(&expected_wire)); - let claim = ExecutionClaim::from_program_info(program.into(), stack_inputs, stack_outputs); - let (_, pending) = miden_verifier::Verifier::new() - .verify_partial(proof, claim) - .expect("partial verification failed"); - assert_ne!(pending.root(), miden_core::deferred::TRUE_DIGEST); - let _state = pending.into_state(); + fn assert_complete( + program: &Program, + stack_inputs: StackInputs, + stack_outputs: StackOutputs, + proof: &ExecutionProof, + ) { + let claim = + ExecutionClaim::from_program_info(program.to_info(), stack_inputs, stack_outputs); + let outcome = Verifier::new() + .verify(&claim, proof) + .expect("complete execution proof should verify"); + assert_eq!(outcome.security_level(), 96); + assert!(outcome.is_complete()); + assert_eq!(outcome.outstanding_precompile_root(), None); } -} - -/// Proves a trivial program and returns the claim/proof pair for API-surface tests. -fn prove_fixture() -> (ExecutionClaim, ExecutionProof) { - let program = Assembler::default() - .assemble_program("program", "begin push.1 push.2 add swap drop end") - .unwrap() - .unwrap_program(); - let stack_inputs = stack_inputs_from_ints([0, 1]); - let mut host = - DefaultHost::default().with_source_manager(Arc::new(DefaultSourceManager::default())); - let (stack_outputs, proof) = prove_sync( - &program, - stack_inputs, - AdviceInputs::default(), - &mut host, - ExecutionOptions::default(), - ProvingOptions::with_96_bit_security(HashFunction::Blake3_256), - ) - .expect("Proving failed"); - ( - ExecutionClaim::from_program_info(program.into(), stack_inputs, stack_outputs), - proof, - ) -} - -/// Like [`prove_fixture`], but produces a wire-backed partial proof via `prove_partial_sync`. -fn prove_partial_fixture() -> (ExecutionClaim, ExecutionProof) { - let program = Assembler::default() - .assemble_program("program", "begin push.1 push.2 add swap drop end") - .unwrap() - .unwrap_program(); - let stack_inputs = stack_inputs_from_ints([0, 1]); - let mut host = - DefaultHost::default().with_source_manager(Arc::new(DefaultSourceManager::default())); - let (stack_outputs, proof) = prove_partial_sync( - &program, - stack_inputs, - AdviceInputs::default(), - &mut host, - ExecutionOptions::default(), - ProvingOptions::with_96_bit_security(HashFunction::Blake3_256), - ) - .expect("Proving failed"); - ( - ExecutionClaim::from_program_info(program.into(), stack_inputs, stack_outputs), - proof, - ) -} - -/// `verify` accepts the prover's final packages and refuses wire-backed partial material; a -/// partial package verifies through `Verifier::verify_partial`, which hydrates the wire and -/// returns the obligation. -#[test] -fn test_partial_obligation_flow() { - // the default prover emits final deferred material: `verify` accepts it directly - let (claim, proof) = prove_fixture(); - verify(proof, claim).expect("final verification should pass"); - - // a partial (wire-backed) package is refused by final verification... - let (claim, partial) = prove_partial_fixture(); - assert!(matches!( - verify(partial.clone(), claim.clone()), - Err(VerificationError::UnsupportedDeferredProof) - )); - - // ...and verified by the partial path, which returns the linear obligation - let (_, pending) = Verifier::new() - .verify_partial(partial, claim) - .expect("partial verification should pass"); - assert_eq!(pending.root(), miden_core::deferred::TRUE_DIGEST); - let _state = pending.into_state(); -} -/// A STARK-backed deferred proof must be exactly encoded and match the root bound by the outer VM -/// proof. -#[test] -fn test_deferred_stark_proof_requires_exact_encoding_and_bound_root() { - // a program with a deferred request binds a non-TRUE deferred root into its statement - let source = " - begin - log_deferred - dropw dropw dropw - end - "; - let program = Assembler::default() - .assemble_program("program", source) - .unwrap() - .unwrap_program(); - let stack_inputs = stack_inputs_from_ints([0, 1]); - let mut host = - DefaultHost::default().with_source_manager(Arc::new(DefaultSourceManager::default())); - let (stack_outputs, proof) = prove_sync( - &program, - stack_inputs, - AdviceInputs::default(), - &mut host, - ExecutionOptions::default(), - ProvingOptions::with_96_bit_security(HashFunction::Poseidon2), - ) - .expect("Proving failed"); - let claim = ExecutionClaim::from_program_info(program.into(), stack_inputs, stack_outputs); + #[test] + fn configured_prove_sync_matches_buffered_and_overlapped_routes() { + let program = assemble("begin push.1 drop end"); + let stack_inputs = StackInputs::default(); + let prover = Prover::new().with_hash_fn(HashFunction::Blake3_256); + + let mut buffered_host = DefaultHost::default(); + let (buffered_outputs, buffered_proof) = prove_sync( + &prover, + &program, + stack_inputs, + AdviceInputs::default(), + &mut buffered_host, + ExecutionOptions::default().with_overlapped_trace_build(false), + ) + .expect("buffered execute-and-prove should succeed"); + + let mut overlapped_host = DefaultHost::default(); + let (overlapped_outputs, overlapped_proof) = prove_sync( + &prover, + &program, + stack_inputs, + AdviceInputs::default(), + &mut overlapped_host, + ExecutionOptions::default().with_overlapped_trace_build(true), + ) + .expect("overlapped execute-and-prove should succeed"); - verify(proof.clone(), claim.clone()).expect("untampered deferred proof should verify"); + assert_eq!(buffered_outputs, overlapped_outputs); + assert_eq!(buffered_proof.vm().precompile_root(), overlapped_proof.vm().precompile_root()); + assert_eq!(buffered_proof.vm().proof().hash_fn(), overlapped_proof.vm().proof().hash_fn()); - // The proof encoding is exact: an otherwise-valid proof with a trailing byte is rejected. - let stark = proof.miden_proof(); - let mut proof_bytes = stark.bytes().to_vec(); - proof_bytes.push(0); - let trailing = ExecutionProof::new( - StarkProof::new(proof_bytes, stark.hash_fn()), - proof.deferred_proof().clone(), - ); - verify(trailing, claim.clone()).expect_err("trailing proof bytes must be rejected"); + // Parallel proof-of-work grinding may select different valid witnesses, so verify both + // proofs instead of requiring byte-identical encodings. + assert_complete(&program, stack_inputs, buffered_outputs, &buffered_proof); + assert_complete(&program, stack_inputs, overlapped_outputs, &overlapped_proof); + } - // The deferred root is statement-bound: replacing it with TRUE must fail. - let tampered = ExecutionProof::new( - StarkProof::new(stark.bytes().to_vec(), stark.hash_fn()), - DeferredProof::empty(), - ); - assert!(verify(tampered, claim).is_err()); + #[test] + fn delegated_and_merged_precompile_proving_compose_across_transport() { + let one_witness = u256_witness(1); + let one_claim = one_witness.claim(); + let one_deferred = Prover::new() + .with_hash_fn(HashFunction::Blake3_256) + .prove(one_witness) + .expect("root-one execution should produce a deferred proof"); + let one_root = one_deferred.vm().precompile_root(); + let deferred_outcome = Verifier::new() + .verify(&one_claim, &one_deferred) + .expect("deferred VM proof should verify"); + assert_eq!(deferred_outcome.security_level(), 96); + assert!(!deferred_outcome.is_complete()); + assert_eq!(deferred_outcome.outstanding_precompile_root(), Some(one_root)); + + let encoded = one_deferred.to_bytes().expect("deferred proof should encode"); + let transported = read_execution_proof_from_bytes(&encoded) + .expect("standard-registry proof decoding should hydrate the deferred witness"); + assert_eq!(transported.to_bytes().unwrap(), encoded); + assert_eq!(transported.vm().precompile_root(), one_root); + + let one_witness = transported + .precompile_witness() + .expect("transported deferred proof should retain its witness") + .clone(); + let (two_claim, two_deferred) = prove_deferred_u256(2, HashFunction::Blake3_256); + let two_root = two_deferred.vm().precompile_root(); + let two_witness = two_deferred + .precompile_witness() + .expect("second deferred proof should retain its witness") + .clone(); + + let merged = PrecompileWitness::merge( + vec![one_witness.clone(), one_witness.clone(), two_witness], + DEFAULT_MAX_DEFERRED_ELEMENTS, + ) + .expect("ordered singleton witnesses should merge"); + let ordered_roots = [one_root, one_root, two_root]; + assert_eq!(merged.roots(), &ordered_roots); + assert_eq!(merged.roots().iter().filter(|root| **root == one_root).count(), 2); + assert!(matches!( + PrecompileWitness::merge( + vec![merged.clone(), one_witness], + DEFAULT_MAX_DEFERRED_ELEMENTS, + ), + Err(PrecompileWitnessError::NonSingleton) + )); + + let shared_precompile = Prover::new() + .with_hash_fn(HashFunction::Poseidon2) + .prove_precompile(&merged) + .expect("merged precompile witness should prove once"); + assert_eq!(shared_precompile.roots(), &ordered_roots); + assert_eq!(shared_precompile.aggregate_root(), merged.root()); + assert_eq!(shared_precompile.proof().hash_fn(), HashFunction::Poseidon2); + + let one_complete = transported + .complete(shared_precompile.clone()) + .expect("shared precompile proof should complete the first execution"); + let two_complete = two_deferred + .complete(shared_precompile) + .expect("shared precompile proof should complete the second execution"); + + let one_outcome = Verifier::new() + .verify(&one_claim, &one_complete) + .expect("completed first execution should verify"); + let two_outcome = Verifier::new() + .verify(&two_claim, &two_complete) + .expect("completed second execution should verify"); + assert!(one_outcome.is_complete()); + assert!(two_outcome.is_complete()); + assert_eq!(one_outcome.outstanding_precompile_root(), None); + assert_eq!(two_outcome.outstanding_precompile_root(), None); + } } diff --git a/precompiles-prover/README.md b/precompiles-prover/README.md index f56383042c..8043bdc3c0 100644 --- a/precompiles-prover/README.md +++ b/precompiles-prover/README.md @@ -10,10 +10,10 @@ crate-private. ## What's here -The implementation translates a VM `DeferredState` into the precompile prover's -session representation, generates the chiplet traces for the supported deferred -nodes, serializes the resulting STARK proof into `DeferredProof::Stark`, and -verifies that proof against its public deferred root. +The implementation translates one VM `DeferredState` into the precompile +prover's session representation, generates the chiplet traces for the supported +deferred nodes, serializes the resulting STARK proof, and verifies that proof +against an explicit deferred root. ## Build diff --git a/precompiles-prover/src/lib.rs b/precompiles-prover/src/lib.rs index cf96f52386..c734d26bb2 100644 --- a/precompiles-prover/src/lib.rs +++ b/precompiles-prover/src/lib.rs @@ -11,12 +11,19 @@ extern crate std; use alloc::string::{String, ToString}; -use miden_core::deferred::{DeferredState, TRUE_DIGEST}; -pub use miden_core::proof::{DeferredProof, HashFunction, StarkProof}; -pub use session::{VerifyError, verify_deferred}; +use miden_core::deferred::DeferredState; +pub use miden_core::{ + deferred::DeferredRoot, + proof::{HashFunction, StarkProof}, +}; +pub use session::VerifyError; #[cfg(any(test, feature = "std"))] pub(crate) mod ace; + +/// Hard per-allocation safety ceiling used while decoding STARK proofs. +pub(crate) const MAX_PROOF_PREALLOCATION_SIZE: usize = 64 * 1024 * 1024; + pub(crate) mod ec; pub(crate) mod hash; pub(crate) mod logup; @@ -29,19 +36,11 @@ pub(crate) mod transcript; pub(crate) mod uint; pub(crate) mod utils; -/// Proves the precompile claims accumulated in `state`. -/// -/// Empty states produce [`DeferredProof::Empty`]. Non-empty states are translated into the private -/// precompile-prover session representation, finalized, and proved as [`DeferredProof::Stark`] -/// for `state.root()`. +/// Proves the precompile claims accumulated in `state` against its exact deferred root. pub fn prove_deferred_state( state: &DeferredState, hash_fn: HashFunction, -) -> Result { - if state.root() == TRUE_DIGEST { - return Ok(DeferredProof::Empty); - } - +) -> Result { let deferred = { let _span = tracing::info_span!("build_session").entered(); deferred::session_from_deferred_state(state)? @@ -50,7 +49,18 @@ pub fn prove_deferred_state( let _span = tracing::info_span!("build_trace").entered(); deferred.session.finish(deferred.root) }; - Ok(traces.prove_deferred(hash_fn)?) + Ok(traces.prove_stark(hash_fn)?) +} + +/// Verifies a precompile STARK against an explicit deferred root and serialized byte-size limit. +/// +/// Proof decoding retains an independent per-allocation safety ceiling. +pub fn verify_deferred( + proof: &StarkProof, + public_root: DeferredRoot, + max_proof_size: usize, +) -> Result<(), VerifyError> { + session::verify_stark(proof, transcript::poseidon2::P2Digest::from(public_root), max_proof_size) } /// Errors produced while proving deferred precompile claims from VM deferred state. @@ -90,5 +100,24 @@ pub enum ProveError { pub(crate) mod deferred; +#[cfg(test)] +mod limit_tests { + use alloc::vec; + + use miden_core::{deferred::TRUE_DIGEST, proof::HashFunction}; + + use super::*; + + #[test] + fn verify_deferred_enforces_serialized_proof_size_limit() { + let proof = StarkProof::new(vec![0, 0], HashFunction::Blake3_256); + + assert!(matches!( + verify_deferred(&proof, TRUE_DIGEST, 1), + Err(VerifyError::ProofTooLarge { size: 2, max: 1 }) + )); + } +} + #[cfg(test)] mod tests; diff --git a/precompiles-prover/src/session/mod.rs b/precompiles-prover/src/session/mod.rs index 4e396c4e48..4d695e447e 100644 --- a/precompiles-prover/src/session/mod.rs +++ b/precompiles-prover/src/session/mod.rs @@ -35,7 +35,7 @@ use alloc::{vec, vec::Vec}; -pub use miden_core::proof::{DeferredProof, StarkProof}; +pub use miden_core::proof::StarkProof; use miden_core::{Felt, utils::RowMajorMatrix}; pub use crate::transcript::eval::trace::{EcNode, Truthy, UintNode}; @@ -81,7 +81,8 @@ mod prove; pub(crate) use fixed::{fixed_ecgroup_msgs, fixed_uintval_msgs}; pub mod statements; pub mod strategies; -pub use prove::{ChipletAir, ChipletMultiAir, VerifyError, verify_deferred, verify_stark}; +pub(crate) use prove::verify_stark; +pub use prove::{ChipletAir, ChipletMultiAir, VerifyError}; /// Number of chiplets in the stack (= the width of [`SessionTraces::mains`]). pub const NUM_CHIPLETS: usize = 12; diff --git a/precompiles-prover/src/session/prove.rs b/precompiles-prover/src/session/prove.rs index 347855b7e1..4cc51444e7 100644 --- a/precompiles-prover/src/session/prove.rs +++ b/precompiles-prover/src/session/prove.rs @@ -5,16 +5,14 @@ //! cross-chiplet LogUp identity — `Σ σ = 0` — in //! [`MultiAir::eval_external`]. //! [`SessionTraces::prove_stark`] produces a core-compatible serialized -//! [`StarkProof`](miden_core::proof::StarkProof), while [`SessionTraces::prove`] -//! returns the core deferred-proof envelope used by VM proof composition. +//! [`StarkProof`](miden_core::proof::StarkProof). use alloc::{vec, vec::Vec}; use miden_core::{ Felt, - deferred::DeferredRoot, field::{Field, PrimeCharacteristicRing, QuadFelt}, - proof::{DeferredProof, HashFunction, StarkProof}, + proof::{HashFunction, StarkProof}, utils::RowMajorMatrix, }; use miden_lifted_air::{ @@ -31,25 +29,8 @@ use serde_wincode::SerdeCompat; use wincode::io::Reader as _; use super::preprocessed_cache; - -const MAX_STARK_PROOF_BYTES: usize = 64 * 1024 * 1024; - -/// Deserializes a serde-backed value and rejects trailing bytes. -fn deserialize_serde_exact<'de, T, C>(mut bytes: &'de [u8], _: C) -> wincode::ReadResult -where - C: wincode::config::Config, - SerdeCompat: wincode::SchemaRead<'de, C, Dst = T>, -{ - let value = as wincode::SchemaRead<'de, C>>::get(bytes.by_ref())?; - if bytes.is_empty() { - Ok(value) - } else { - Err(wincode::error::trailing_bytes()) - } -} - use crate::{ - ProveError, + MAX_PROOF_PREALLOCATION_SIZE, ProveError, ec::{EcPointStoreAir, add::EcGroupAddAir, groups::EcGroupsAir, msm::EcMsmAir}, hash::{ chunk_node::ChunkNodeAir, @@ -59,9 +40,8 @@ use crate::{ primitives::byte_pair_lut::BytePairLutAir, session::{NUM_CHIPLETS, SessionTraces, fixed_ecgroup_msgs, fixed_uintval_msgs}, stark_config::{ - DEFAULT_HASH_FUNCTION, PRECOMPILE_RELATION_DIGEST, blake3_256_config, keccak_config, - observe_protocol_params, poseidon2_config, precompile_pcs_params, rpo_config, rpx_config, - test_challenger, + PRECOMPILE_RELATION_DIGEST, blake3_256_config, keccak_config, observe_protocol_params, + poseidon2_config, precompile_pcs_params, rpo_config, rpx_config, test_challenger, }, transcript::{ eval::TranscriptEvalAir, @@ -70,6 +50,20 @@ use crate::{ uint::{add::UintAddAir, store_mul::UintStoreMulAir}, }; +/// Deserializes a serde-backed value and rejects trailing bytes. +fn deserialize_serde_exact<'de, T, C>(mut bytes: &'de [u8], _: C) -> wincode::ReadResult +where + C: wincode::config::Config, + SerdeCompat: wincode::SchemaRead<'de, C, Dst = T>, +{ + let value = as wincode::SchemaRead<'de, C>>::get(bytes.by_ref())?; + if bytes.is_empty() { + Ok(value) + } else { + Err(wincode::error::trailing_bytes()) + } +} + /// The twelve chiplet AIRs wrapped into one enum — the heterogeneous /// `MultiAir::Air` type. Variant order is the canonical /// [`SessionTraces::mains`] order. @@ -283,15 +277,6 @@ impl SessionTraces { check_constraints(&self.prover_statement(), test_challenger()); } - /// Prove the precompile session with the default production-style hash function, - /// returning a STARK-backed deferred proof for the session's exact deferred root. - /// Consumes the bundle so the main traces move into the prover statement rather - /// than being cloned. - pub fn prove(self) -> DeferredProof { - self.prove_deferred(DEFAULT_HASH_FUNCTION) - .expect("prove precompile session with default hash function") - } - /// Prove the whole stack and return a core-compatible serialized STARK /// proof envelope using the requested hash function. /// @@ -301,7 +286,7 @@ impl SessionTraces { /// the bundle so the main traces move into the prover statement rather /// than being cloned. #[tracing::instrument("prove_stark", skip_all)] - pub fn prove_stark(self, hash_fn: HashFunction) -> Result { + pub(crate) fn prove_stark(self, hash_fn: HashFunction) -> Result { let params = precompile_pcs_params(); match hash_fn { HashFunction::Blake3_256 => { @@ -332,16 +317,6 @@ impl SessionTraces { } } - /// Prove the precompile session and wrap the serialized STARK proof in the core - /// deferred-proof envelope together with the exact deferred root it proves. Consumes - /// the bundle so the main traces move into the prover statement rather than being - /// cloned. - pub fn prove_deferred(self, hash_fn: HashFunction) -> Result { - let public_root: DeferredRoot = self.public_root().as_array().into(); - let proof = self.prove_stark(hash_fn)?; - Ok(DeferredProof::stark(proof, public_root)) - } - fn prove_stark_with_config( self, config: &SC, @@ -372,26 +347,22 @@ impl SessionTraces { } } -/// Verify a STARK-backed deferred proof produced by this crate and return the verified deferred -/// root. -/// -/// The proof must be a [`DeferredProof::Stark`] variant. Its `public_root` is used as the -/// precompile STARK public input; only after that proof verifies is the root returned to callers. -pub fn verify_deferred(proof: &DeferredProof) -> Result { - match proof { - DeferredProof::Stark { proof, public_root } => { - verify_stark(proof, P2Digest::from(*public_root))?; - Ok(*public_root) - }, - DeferredProof::Empty | DeferredProof::Wire(_) => Err(VerifyError::InvalidDeferredProof), - } -} - /// Verify a core serialized STARK proof envelope against a public root. /// /// `Ok(())` iff the verifier accepts, including the `Σ σ = 0` /// cross-chiplet identity via `eval_external`. -pub fn verify_stark(proof: &StarkProof, public_root: P2Digest) -> Result<(), VerifyError> { +pub(crate) fn verify_stark( + proof: &StarkProof, + public_root: P2Digest, + max_proof_size: usize, +) -> Result<(), VerifyError> { + if proof.bytes().len() > max_proof_size { + return Err(VerifyError::ProofTooLarge { + size: proof.bytes().len(), + max: max_proof_size, + }); + } + let params = precompile_pcs_params(); match proof.hash_fn() { HashFunction::Blake3_256 => { @@ -432,15 +403,8 @@ where SC: StarkConfig, ::Commitment: DeserializeOwned, { - if proof_bytes.len() > MAX_STARK_PROOF_BYTES { - return Err(VerifyError::ProofTooLarge { - size: proof_bytes.len(), - max: MAX_STARK_PROOF_BYTES, - }); - } - let proof_encoding_config = wincode::config::Configuration::default() - .with_preallocation_size_limit::(); + .with_preallocation_size_limit::(); let proof = deserialize_serde_exact::, _>( proof_bytes, proof_encoding_config, @@ -479,7 +443,4 @@ pub enum VerifyError { /// identity didn't close). #[error(transparent)] Verifier(#[from] VerifierError), - /// The deferred proof variant is not STARK-backed. - #[error("deferred proof is not STARK-backed")] - InvalidDeferredProof, } diff --git a/precompiles-prover/src/tests/deferred_state.rs b/precompiles-prover/src/tests/deferred_state.rs index 33ffa2a6aa..d1978ea66e 100644 --- a/precompiles-prover/src/tests/deferred_state.rs +++ b/precompiles-prover/src/tests/deferred_state.rs @@ -7,19 +7,22 @@ use miden_core::{ DeferredState, DeferredStateWire, Digest, Node as VmNode, PrecompileRegistry, TRUE_DIGEST as VM_TRUE_DIGEST, TRUE_INDEX, Tag, WireEntry, }, - proof::{DeferredProof, HashFunction, StarkProof}, + proof::{HashFunction, StarkProof}, }; use miden_precompiles::{ CurveId, CurvePrecompile, Keccak256Precompile, UintDomain, UintPrecompile, }; use crate::{ + MAX_PROOF_PREALLOCATION_SIZE, deferred::{DeferredSession, session_from_deferred_state}, hash::keccak::sponge::trace::keccak_oracle, math::{U256, from_hex, to_limbs32}, prove_deferred_state, - session::{Session, SessionTraces, VerifyError, verify_deferred}, + session::{Session, SessionTraces, VerifyError}, + tests::{SessionTracesTestExt, verify_deferred as verify_session}, transcript::poseidon2::P2Digest, + verify_deferred, }; /// A VM synthetic Keccak-only deferred state and the prover-typed view of its root. @@ -291,16 +294,6 @@ fn empty_deferred_state_translates_to_true_root() { translated_traces_check(&state); } -#[test] -fn prove_deferred_state_returns_empty_for_true_root() { - let state = DeferredState::new(Arc::new(miden_precompiles::registry()), usize::MAX) - .expect("full precompile registry initializes"); - - let proof = prove_deferred_state(&state, HashFunction::Blake3_256).unwrap(); - - assert_eq!(proof, DeferredProof::Empty); -} - #[test] fn deferred_session_translates_curve_claims_for_all_fixed_curves() { let mut state = DeferredState::new(Arc::new(miden_precompiles::registry()), usize::MAX) @@ -416,17 +409,17 @@ fn keccak_deferred_state_proof_verifies_and_rejects_trailing_bytes() { assert_eq!(traces.public_root(), synthetic.root); let proof = traces.prove(); - let Some((stark, public_root)) = proof.as_stark() else { - panic!("precompile session should produce a deferred STARK proof"); - }; - assert_eq!(P2Digest::from(public_root), synthetic.root); - verify_deferred(&proof).expect("Keccak deferred-state proof should verify"); + assert_eq!(P2Digest::from(proof.1), synthetic.root); + verify_session(&proof).expect("Keccak deferred-state proof should verify"); // The proof encoding is exact: an otherwise-valid proof with a trailing byte is rejected. + let stark = prove_deferred_state(&synthetic.state, HashFunction::Blake3_256) + .expect("Keccak deferred state should prove"); let mut proof_bytes = stark.bytes().to_vec(); proof_bytes.push(0); - let trailing = DeferredProof::stark(StarkProof::new(proof_bytes, stark.hash_fn()), public_root); - let err = verify_deferred(&trailing).expect_err("trailing proof bytes must be rejected"); + let trailing = StarkProof::new(proof_bytes, stark.hash_fn()); + let err = verify_deferred(&trailing, synthetic.vm_root, MAX_PROOF_PREALLOCATION_SIZE) + .expect_err("trailing proof bytes must be rejected"); assert!(matches!( err, VerifyError::Deserialization(wincode::error::ReadError::TrailingBytes) @@ -439,12 +432,13 @@ fn prove_deferred_state_proves_non_empty_root() { let proof = prove_deferred_state(&synthetic.state, HashFunction::Blake3_256) .expect("Keccak deferred state should prove"); - let Some((_, public_root)) = proof.as_stark() else { - panic!("non-empty deferred state should produce a STARK-backed proof"); - }; - assert_eq!(P2Digest::from(public_root), synthetic.root); - verify_deferred(&proof).expect("Keccak deferred-state proof should verify"); + verify_deferred(&proof, synthetic.vm_root, MAX_PROOF_PREALLOCATION_SIZE) + .expect("Keccak deferred-state proof should verify"); + assert!( + verify_deferred(&proof, VM_TRUE_DIGEST, MAX_PROOF_PREALLOCATION_SIZE).is_err(), + "the proof must be bound to the state's exact root", + ); } /// Each `HashFunction` selects a distinct preprocessed-bundle cache slot @@ -469,11 +463,7 @@ fn prove_deferred_state_round_trips_for_every_hash_function() { for pass in 0..2 { let proof = prove_deferred_state(&synthetic.state, hash_fn) .unwrap_or_else(|e| panic!("{hash_fn:?} pass {pass} should prove: {e}")); - let Some((_, public_root)) = proof.as_stark() else { - panic!("{hash_fn:?} pass {pass}: non-empty deferred state should be STARK-backed"); - }; - assert_eq!(P2Digest::from(public_root), synthetic.root, "{hash_fn:?} pass {pass}"); - verify_deferred(&proof) + verify_deferred(&proof, synthetic.vm_root, MAX_PROOF_PREALLOCATION_SIZE) .unwrap_or_else(|e| panic!("{hash_fn:?} pass {pass} should verify: {e}")); } } diff --git a/precompiles-prover/src/tests/ec_dag.rs b/precompiles-prover/src/tests/ec_dag.rs index e362d3f50b..1101c51782 100644 --- a/precompiles-prover/src/tests/ec_dag.rs +++ b/precompiles-prover/src/tests/ec_dag.rs @@ -24,8 +24,8 @@ use rand::{Rng, RngExt, SeedableRng, rngs::StdRng}; use crate::{ math::{U256, from_hex}, relations::{MAX_MESSAGE_WIDTH, NUM_BUS_IDS}, - session::{Session, SessionTraces, verify_deferred}, - tests::bus_balance::session_stack_residual, + session::{Session, SessionTraces}, + tests::{SessionTracesTestExt, bus_balance::session_stack_residual, verify_deferred}, transcript::eval::{ COL_A_PTR, COL_B_PTR, COL_BOUND_PTR, COL_IS_EC_CREATE, COL_IS_EC_OP, COL_IS_EC_PAI, COL_IS_SUB, COL_LHS_BEGIN, COL_PTR, COL_RHS_BEGIN, DIGEST_WIDTH, diff --git a/precompiles-prover/src/tests/ec_msm.rs b/precompiles-prover/src/tests/ec_msm.rs index c56507bd3e..5ab68270c8 100644 --- a/precompiles-prover/src/tests/ec_msm.rs +++ b/precompiles-prover/src/tests/ec_msm.rs @@ -22,9 +22,8 @@ use crate::{ session::{ EcNode, Session, strategies::{joint_naf, joint_wnaf, straus, wnaf_msm, wnaf_table}, - verify_deferred, }, - tests::check_local_inputs, + tests::{SessionTracesTestExt, check_local_inputs, verify_deferred}, transcript::eval::{COL_IS_EC_MSM, COL_IS_MSM_LAST, COL_MSM_EXPR, TranscriptEvalAir}, }; diff --git a/precompiles-prover/src/tests/mod.rs b/precompiles-prover/src/tests/mod.rs index e0aa53391d..920832a595 100644 --- a/precompiles-prover/src/tests/mod.rs +++ b/precompiles-prover/src/tests/mod.rs @@ -29,11 +29,43 @@ mod vm_uint; use std::{vec, vec::Vec}; -use miden_core::{Felt, field::QuadFelt, utils::RowMajorMatrix}; +use miden_core::{ + Felt, + deferred::DeferredRoot, + field::QuadFelt, + proof::{HashFunction, StarkProof}, + utils::RowMajorMatrix, +}; use miden_lifted_air::{BaseAir, LiftedAir, MultiAir, ProverStatement, ReductionError, Statement}; use miden_lifted_stark::check_constraints; -use crate::stark_config::test_challenger; +use crate::{ + MAX_PROOF_PREALLOCATION_SIZE, + session::{SessionTraces, VerifyError, verify_stark}, + stark_config::test_challenger, + transcript::poseidon2::P2Digest, +}; + +pub(crate) type SessionProof = (StarkProof, DeferredRoot); + +pub(crate) trait SessionTracesTestExt { + fn prove(self) -> SessionProof; +} + +impl SessionTracesTestExt for SessionTraces { + fn prove(self) -> SessionProof { + let public_root = self.public_root().as_array().into(); + let proof = self + .prove_stark(HashFunction::Blake3_256) + .expect("prove precompile session with default hash function"); + (proof, public_root) + } +} + +pub(crate) fn verify_deferred(proof: &SessionProof) -> Result { + verify_stark(&proof.0, P2Digest::from(proof.1), MAX_PROOF_PREALLOCATION_SIZE)?; + Ok(proof.1) +} /// A local-only [`MultiAir`] wrapper for per-chiplet /// [`check_constraints`]: its `eval_external` emits no cross-AIR diff --git a/precompiles-prover/src/tests/uint_dag.rs b/precompiles-prover/src/tests/uint_dag.rs index f5d078a13f..734709710d 100644 --- a/precompiles-prover/src/tests/uint_dag.rs +++ b/precompiles-prover/src/tests/uint_dag.rs @@ -22,8 +22,8 @@ use super::uint::random_uint_below; use crate::{ math::{U256, add_reduce, from_limbs32, mac_reduce}, relations::{MAX_MESSAGE_WIDTH, NUM_BUS_IDS}, - session::{Session, SessionTraces, statements::horner_sign_paths, verify_deferred}, - tests::bus_balance::session_stack_residual, + session::{Session, SessionTraces, statements::horner_sign_paths}, + tests::{SessionTracesTestExt, bus_balance::session_stack_residual, verify_deferred}, transcript::{ eval::{ COL_IS_ADD, COL_IS_MUL, COL_IS_SUB, COL_OUT_MULT, COL_PTR, COL_TAG_ARG0, diff --git a/precompiles/benches/precompiles_bench/support.rs b/precompiles/benches/precompiles_bench/support.rs index 9b6223633f..84f8d27e8a 100644 --- a/precompiles/benches/precompiles_bench/support.rs +++ b/precompiles/benches/precompiles_bench/support.rs @@ -1,8 +1,8 @@ -use miden_core::Felt; +use miden_core::{Felt, program::ExecutionClaim}; use miden_core_lib::CoreLibrary; use miden_vm::{ - Assembler, DefaultHost, ExecutionOptions, ExecutionProof, HashFunction, Program, - ProvingOptions, StackInputs, StackOutputs, Verifier, advice::AdviceInputs, + Assembler, DefaultHost, ExecutionOptions, ExecutionProof, FastProcessor, HashFunction, Program, + Prover, StackInputs, StackOutputs, Verifier, advice::AdviceInputs, }; use self::input_generation::generate_advice_inputs; @@ -91,15 +91,20 @@ pub fn prove_once_with_hash( let mut host = DefaultHost::default() .with_library(&CoreLibrary::default()) .expect("failed to load core library into host"); - miden_vm::prove_sync( - &fixture.program, + let witness = FastProcessor::new_with_options( fixture.stack_inputs, fixture.advice_inputs.clone(), - &mut host, execution_options(), - ProvingOptions::with_96_bit_security(hash_fn), ) - .expect("failed to prove precompile benchmark") + .expect("failed to initialize precompile benchmark processor") + .execute_for_proving_sync(&fixture.program, &mut host) + .expect("failed to execute precompile benchmark"); + let stack_outputs = *witness.claim().stack_outputs(); + let proof = Prover::new() + .with_hash_fn(hash_fn) + .prove_full(witness) + .expect("failed to prove precompile benchmark"); + (stack_outputs, proof) } pub fn verify_once( @@ -107,12 +112,13 @@ pub fn verify_once( stack_outputs: StackOutputs, proof: ExecutionProof, ) { - let claim = miden_vm::ExecutionClaim::from_program_info( + let claim = ExecutionClaim::from_program_info( fixture.program.to_info(), fixture.stack_inputs, stack_outputs, ); - Verifier::new() - .verify(proof, claim) + let outcome = Verifier::new() + .verify(&claim, &proof) .expect("failed to verify precompile benchmark proof"); + assert!(outcome.is_complete(), "prove_full must settle all precompile work"); } diff --git a/processor/README.md b/processor/README.md index 275c64931f..71d98f1f8d 100644 --- a/processor/README.md +++ b/processor/README.md @@ -18,16 +18,18 @@ The (async) function returns a `Result` which w final stack state, advice provider, memory, and deferred state if the execution was successful, or an error if the execution failed. -If you also need an `ExecutionTrace`, use `FastProcessor::execute_trace_inputs()` / -`FastProcessor::execute_trace_inputs_sync()` and then pass the returned `TraceBuildInputs` bundle -to `build_trace()`. - ### Low-level API For more control over execution and trace generation, you can use `FastProcessor` directly: * `FastProcessor::execute()` - Executes a program without any trace generation overhead. Returns `ExecutionOutput` containing the final stack state and other execution results. -* `FastProcessor::execute_trace_inputs()` / `FastProcessor::execute_trace_inputs_sync()` - Executes a program while collecting the execution metadata required for trace generation. Returns a `TraceBuildInputs` bundle. -* `build_trace()` - Takes the `TraceBuildInputs` bundle from `execute_trace_inputs*()` and constructs the full execution trace. When the `concurrent` feature is enabled, trace building is parallelized. +* `FastProcessor::execute_for_proving()` / `FastProcessor::execute_for_proving_sync()` - + Executes a program while collecting the complete post-execution `ExecutionWitness`. +* `build_trace()` - Takes the `VmWitness` produced by `ExecutionWitness::into_parts()` and + constructs the full `VmTrace`. When the `concurrent` feature is enabled, trace building is + parallelized. +* `FastProcessor::execute_and_build_trace_sync()` - With the `std` feature, preserves the optimized + synchronous path that overlaps execution with hasher trace construction and returns + `(VmTrace, Option)`. ## Processor components The processor is separated into two main components: **execution** and **trace generation**. @@ -36,10 +38,19 @@ The processor is separated into two main components: **execution** and **trace g The `FastProcessor` is designed for fast program execution with minimal overhead. It can operate in two modes: * **Pure execution** via `FastProcessor::execute()`: Executes a program without generating any trace-related metadata. This mode is optimized for maximum performance when proof generation is not required. -* **Execution for trace generation** via `FastProcessor::execute_trace_inputs()` / `FastProcessor::execute_trace_inputs_sync()`: Executes a program while collecting the metadata required for subsequent trace generation. This metadata is bundled with the execution output into `TraceBuildInputs`, which is then passed to `build_trace()`. +* **Witness-producing execution** via `FastProcessor::execute_for_proving()` / + `FastProcessor::execute_for_proving_sync()`: Executes a program while collecting the complete + post-execution `ExecutionWitness`. ### Trace generation with `build_trace()` -After execution with `FastProcessor::execute_trace_inputs*()`, the `build_trace()` function uses the returned `TraceBuildInputs` bundle to construct the full execution trace. When the `concurrent` feature is enabled, trace generation is parallelized for improved performance. +After execution with `FastProcessor::execute_for_proving*()`, split the returned +`ExecutionWitness` and pass its `VmWitness` to `build_trace()`. When the `concurrent` feature is +enabled, trace generation is parallelized for improved performance. + +`ExecutionWitness`, `VmWitness`, and `PrecompileWitness` may contain private and potentially large +prover data. `PrecompileWitness` hydration is registry-aware and bounded by a caller-selected +deferred-element limit; its outer byte payload needs a separate ingestion limit. `VmWitness` +transport is owned by a separate integration and is not defined by this crate yet. The trace consists of several sections: * The decoder, which tracks instruction decoding and control flow. diff --git a/processor/src/execution/mod.rs b/processor/src/execution/mod.rs index 0cbe181a10..741241afc0 100644 --- a/processor/src/execution/mod.rs +++ b/processor/src/execution/mod.rs @@ -106,9 +106,9 @@ impl<'a, P, H: BaseHost, S, T, F> ExecutionState<'a, P, H, S, T, F> { /// # Tracing /// /// Different processor implementations will need to record different pieces of information as the -/// the program is executed. For example, the [`crate::FastProcessor::execute_trace_inputs`] -/// execution mode needs to build a [`crate::TraceGenerationContext`] which records information -/// necessary to build the trace at each clock cycle, while the +/// the program is executed. For example, the [`crate::FastProcessor::execute_for_proving`] +/// execution mode needs to build a private trace replay which records information necessary to +/// build the trace at each clock cycle, while the /// [`crate::parallel::core_trace_fragment::CoreTraceFragmentFiller`] needs to build the trace /// essentially by recording the processor state at each clock cycle. For this purpose, the /// [`Self::execute_impl`] method takes in [`Tracer`] argument that abstracts away the "information @@ -151,7 +151,7 @@ impl<'a, P, H: BaseHost, S, T, F> ExecutionState<'a, P, H, S, T, F> { /// InternalBreakReason::Emit { op_idx, continuation, source_node_id } => { /// // Handle Emit operation (e.g., call `SyncHost::on_event`) /// self.op_emit(...); -/// +/// /// // As per `InternalBreakReason::Emit` documentation, we call `finish_emit_op_execution` /// // to complete the execution of the Emit operation. /// finish_emit_op_execution(...); @@ -159,7 +159,7 @@ impl<'a, P, H: BaseHost, S, T, F> ExecutionState<'a, P, H, S, T, F> { /// InternalBreakReason::LoadMastForestFromDyn { callee_hash } => { /// // load MAST forest containing the callee procedure /// let (procedure_id, new_forest) = self.load_mast_forest(...); -/// +/// /// // As per `InternalBreakReason::LoadMastForestFromDyn` documentation, we call /// // `finish_load_mast_forest_from_dyn_start` to complete the execution of the operation. /// finish_load_mast_forest_from_dyn_start(...); @@ -167,7 +167,7 @@ impl<'a, P, H: BaseHost, S, T, F> ExecutionState<'a, P, H, S, T, F> { /// InternalBreakReason::LoadMastForestFromExternal { external_node_id, procedure_hash } => { /// // load MAST forest containing the callee procedure /// let (procedure_id, new_forest) = self.load_mast_forest(...); -/// +/// /// // As per `InternalBreakReason::LoadMastForestFromExternal` documentation, we call /// // `finish_load_mast_forest_from_external_start` to complete the execution of the operation. /// finish_load_mast_forest_from_external_start(...); diff --git a/processor/src/fast/execution_api.rs b/processor/src/fast/execution_api.rs index 93ef954cff..6c9139f04d 100644 --- a/processor/src/fast/execution_api.rs +++ b/processor/src/fast/execution_api.rs @@ -4,7 +4,7 @@ use core::ops::ControlFlow; use miden_core::{ Word, mast::{MastForest, MastNodeId}, - program::{KernelDescriptor, MIN_STACK_DEPTH, Program, StackOutputs}, + program::{KernelDescriptor, MIN_STACK_DEPTH, Program, StackInputs, StackOutputs}, }; use miden_mast_package::debug_info::{ DebugSourceGraphLookupError, DebugSourceNodeId, PackageDebugInfo, @@ -16,8 +16,10 @@ use super::{ external::maybe_use_caller_error_context, step::{BreakReason, NeverStopper, ResumeContext, StepStopper}, }; +#[cfg(feature = "std")] +use crate::PrecompileWitness; use crate::{ - ExecutionError, ExecutionOutput, Host, LoadedMastForest, Stopper, SyncHost, TraceBuildInputs, + ExecutionError, ExecutionOutput, ExecutionWitness, Host, LoadedMastForest, Stopper, SyncHost, continuation_stack::ContinuationStack, errors::{ MapExecErr, MapExecErrNoCtx, PackageSourceDebugContext, malformed_mast_forest_with_context, @@ -141,17 +143,20 @@ impl FastProcessor { /// live stream of requests while execution is still running, hiding its cost behind the /// (inherently sequential) execution itself. /// - /// Produces the same trace as `execute_trace_inputs_sync` followed by - /// [`crate::trace::build_trace`]. + /// Produces the same trace as [`Self::execute_for_proving_sync`] followed by + /// [`ExecutionWitness::into_parts`] and [`crate::trace::build_trace`]. The optional precompile + /// witness is returned separately because [`crate::trace::VmTrace`] retains only its + /// authenticated root. #[cfg(feature = "std")] #[instrument(name = "execute_and_build_trace_sync", skip_all)] pub fn execute_and_build_trace_sync( self, program: &Program, host: &mut impl SyncHost, - ) -> Result { + ) -> Result<(crate::trace::VmTrace, Option), ExecutionError> { use crate::trace::{MAX_TRACE_LEN, build_hasher_chiplet, build_trace_with_prebuilt_hasher}; + let stack_inputs = self.initial_stack_inputs(); let (sender, receiver) = std::sync::mpsc::channel(); let mut tracer = ExecutionTracer::new_with_streamed_hasher( self.options.core_trace_fragment_size(), @@ -174,8 +179,11 @@ impl FastProcessor { // drops the stream's sender, unblocking the builder before the scope's join. let execution_output = self.execute_with_tracer_sync(program, host, &mut tracer); - let mut inputs = match execution_output { - Ok(output) => Self::trace_build_inputs_from_parts(program, output, tracer), + let (mut vm_witness, precompiles_witness) = match execution_output { + Ok(output) => { + Self::execution_witness_from_parts(program, stack_inputs, output, tracer) + .into_parts() + }, Err(err) => { // Dropping the tracer drops the stream's sender; the builder then sees // end-of-input and finishes, letting the scope join it cleanly. The @@ -193,18 +201,18 @@ impl FastProcessor { }, }; // End the stream before joining the builder. - drop(inputs.take_hasher_replay()); + drop(vm_witness.take_hasher_replay()); let hasher = match hasher.join() { Ok(result) => result?, Err(panic) => std::panic::resume_unwind(panic), }; - build_trace_with_prebuilt_hasher(inputs, hasher) + let trace = build_trace_with_prebuilt_hasher(vm_witness, hasher)?; + Ok((trace, precompiles_witness)) }) } - /// Executes the given program synchronously and returns the bundled trace inputs required by - /// [`crate::trace::build_trace`]. + /// Executes the given program synchronously and returns its complete post-execution witness. /// /// # Example /// ``` @@ -217,36 +225,44 @@ impl FastProcessor { /// .unwrap_program(); /// let mut host = DefaultHost::default(); /// - /// let trace_inputs = FastProcessor::new(StackInputs::default()) - /// .execute_trace_inputs_sync(&program, &mut host) + /// let execution_witness = FastProcessor::new(StackInputs::default()) + /// .execute_for_proving_sync(&program, &mut host) /// .unwrap(); - /// let trace = miden_processor::trace::build_trace(trace_inputs).unwrap(); + /// let (vm_witness, _) = execution_witness.into_parts(); + /// let trace = miden_processor::trace::build_trace(vm_witness).unwrap(); /// /// assert_eq!(*trace.program_hash(), program.hash()); /// ``` - #[instrument(name = "execute_trace_inputs_sync", skip_all)] - pub fn execute_trace_inputs_sync( + #[instrument(name = "execute_for_proving_sync", skip_all)] + pub fn execute_for_proving_sync( self, program: &Program, host: &mut impl SyncHost, - ) -> Result { + ) -> Result { + let stack_inputs = self.initial_stack_inputs(); let mut tracer = ExecutionTracer::new( self.options.core_trace_fragment_size(), self.options.max_stack_depth(), ); let execution_output = self.execute_with_tracer_sync(program, host, &mut tracer)?; - Ok(Self::trace_build_inputs_from_parts(program, execution_output, tracer)) + Ok(Self::execution_witness_from_parts( + program, + stack_inputs, + execution_output, + tracer, + )) } /// Executes the given program synchronously with package-owned source/debug context and returns - /// the bundled trace inputs required by [`crate::trace::build_trace`]. - #[instrument(name = "execute_trace_inputs_with_package_debug_info_sync", skip_all)] - pub fn execute_trace_inputs_with_package_debug_info_sync( + /// its complete post-execution witness. + #[instrument(name = "execute_for_proving_with_package_debug_info_sync", skip_all)] + pub fn execute_for_proving_with_package_debug_info_sync( self, program: &Program, package_debug_info: &PackageDebugInfo, host: &mut impl SyncHost, - ) -> Result { + ) -> Result { + let stack_inputs = self.initial_stack_inputs(); let mut tracer = ExecutionTracer::new( self.options.core_trace_fragment_size(), self.options.max_stack_depth(), @@ -258,23 +274,28 @@ impl FastProcessor { host, &mut tracer, )?; - Ok(Self::trace_build_inputs_from_parts(program, execution_output, tracer)) + Ok(Self::execution_witness_from_parts( + program, + stack_inputs, + execution_output, + tracer, + )) } /// Executes the given program synchronously with package-owned source/debug context rooted at - /// `entrypoint_source_node_id` and returns the bundled trace inputs required by - /// [`crate::trace::build_trace`]. + /// `entrypoint_source_node_id` and returns its complete post-execution witness. #[instrument( - name = "execute_trace_inputs_with_package_debug_info_at_source_node_sync", + name = "execute_for_proving_with_package_debug_info_at_source_node_sync", skip_all )] - pub fn execute_trace_inputs_with_package_debug_info_at_source_node_sync( + pub fn execute_for_proving_with_package_debug_info_at_source_node_sync( self, program: &Program, package_debug_info: &PackageDebugInfo, entrypoint_source_node_id: DebugSourceNodeId, host: &mut impl SyncHost, - ) -> Result { + ) -> Result { + let stack_inputs = self.initial_stack_inputs(); let mut tracer = ExecutionTracer::new( self.options.core_trace_fragment_size(), self.options.max_stack_depth(), @@ -286,35 +307,47 @@ impl FastProcessor { host, &mut tracer, )?; - Ok(Self::trace_build_inputs_from_parts(program, execution_output, tracer)) + Ok(Self::execution_witness_from_parts( + program, + stack_inputs, + execution_output, + tracer, + )) } - /// Async variant of [`Self::execute_trace_inputs_sync`] for async hosts. + /// Async variant of [`Self::execute_for_proving_sync`] for async hosts. #[inline(always)] - #[instrument(name = "execute_trace_inputs", skip_all)] - pub async fn execute_trace_inputs( + #[instrument(name = "execute_for_proving", skip_all)] + pub async fn execute_for_proving( self, program: &Program, host: &mut impl Host, - ) -> Result { + ) -> Result { + let stack_inputs = self.initial_stack_inputs(); let mut tracer = ExecutionTracer::new( self.options.core_trace_fragment_size(), self.options.max_stack_depth(), ); let execution_output = self.execute_with_tracer(program, host, &mut tracer).await?; - Ok(Self::trace_build_inputs_from_parts(program, execution_output, tracer)) + Ok(Self::execution_witness_from_parts( + program, + stack_inputs, + execution_output, + tracer, + )) } - /// Async variant of [`Self::execute_trace_inputs_with_package_debug_info_sync`]. + /// Async variant of [`Self::execute_for_proving_with_package_debug_info_sync`]. #[cfg(any(test, feature = "testing"))] #[inline(always)] - #[instrument(name = "execute_trace_inputs_with_package_debug_info", skip_all)] - pub async fn execute_trace_inputs_with_package_debug_info( + #[instrument(name = "execute_for_proving_with_package_debug_info", skip_all)] + pub async fn execute_for_proving_with_package_debug_info( self, program: &Program, package_debug_info: &PackageDebugInfo, host: &mut impl Host, - ) -> Result { + ) -> Result { + let stack_inputs = self.initial_stack_inputs(); let mut tracer = ExecutionTracer::new( self.options.core_trace_fragment_size(), self.options.max_stack_depth(), @@ -328,21 +361,27 @@ impl FastProcessor { &mut tracer, ) .await?; - Ok(Self::trace_build_inputs_from_parts(program, execution_output, tracer)) + Ok(Self::execution_witness_from_parts( + program, + stack_inputs, + execution_output, + tracer, + )) } /// Async variant of - /// [`Self::execute_trace_inputs_with_package_debug_info_at_source_node_sync`]. + /// [`Self::execute_for_proving_with_package_debug_info_at_source_node_sync`]. #[cfg(any(test, feature = "testing"))] #[inline(always)] - #[instrument(name = "execute_trace_inputs_with_package_debug_info_at_source_node", skip_all)] - pub async fn execute_trace_inputs_with_package_debug_info_at_source_node( + #[instrument(name = "execute_for_proving_with_package_debug_info_at_source_node", skip_all)] + pub async fn execute_for_proving_with_package_debug_info_at_source_node( self, program: &Program, package_debug_info: &PackageDebugInfo, entrypoint_source_node_id: DebugSourceNodeId, host: &mut impl Host, - ) -> Result { + ) -> Result { + let stack_inputs = self.initial_stack_inputs(); let mut tracer = ExecutionTracer::new( self.options.core_trace_fragment_size(), self.options.max_stack_depth(), @@ -356,7 +395,12 @@ impl FastProcessor { &mut tracer, ) .await?; - Ok(Self::trace_build_inputs_from_parts(program, execution_output, tracer)) + Ok(Self::execution_witness_from_parts( + program, + stack_inputs, + execution_output, + tracer, + )) } /// Executes the given program with the provided tracer using an async host. @@ -627,20 +671,28 @@ impl FastProcessor { ) } - /// Pairs execution output with the trace inputs captured by the tracer. + /// Pairs execution output with the initial inputs and replay witness captured during execution. #[inline(always)] - fn trace_build_inputs_from_parts( + fn execution_witness_from_parts( program: &Program, + stack_inputs: StackInputs, execution_output: ExecutionOutput, tracer: ExecutionTracer, - ) -> TraceBuildInputs { - TraceBuildInputs::from_execution( - program, + ) -> ExecutionWitness { + ExecutionWitness::from_execution( + program.to_info(), + stack_inputs, execution_output, - tracer.into_trace_generation_context(), + tracer.into_trace_replay(), ) } + /// Returns the current top 16 stack elements in public input order. + #[inline(always)] + fn initial_stack_inputs(&self) -> StackInputs { + core::array::from_fn(|idx| self.stack_get(idx)).into() + } + pub(super) fn source_aware_continuation_stack( program: &Program, package_debug_info: &PackageDebugInfo, diff --git a/processor/src/fast/tests/mod.rs b/processor/src/fast/tests/mod.rs index 0afa8c51e3..55e509edd9 100644 --- a/processor/src/fast/tests/mod.rs +++ b/processor/src/fast/tests/mod.rs @@ -826,16 +826,19 @@ fn package_source_debug_trace_and_step_use_manifest_entrypoint_source_node() { ); let mut trace_host = DefaultHost::default(); - let trace_inputs = + let execution_witness = FastProcessor::new(StackInputs::new(&[Felt::from_u32(3), Felt::from_u32(4)]).unwrap()) - .execute_trace_inputs_with_package_debug_info_at_source_node_sync( + .execute_for_proving_with_package_debug_info_at_source_node_sync( &fixture.program, &fixture.debug_info, fixture.entrypoint_source_node_id, &mut trace_host, ) .unwrap(); - assert_eq!(trace_inputs.stack_outputs().get_element(0), Some(Felt::from_u32(7))); + assert_eq!( + execution_witness.claim().stack_outputs().get_element(0), + Some(Felt::from_u32(7)) + ); let mut step_host = DefaultHost::default(); let stack_outputs = @@ -1677,13 +1680,14 @@ fn issue_2818_traced_execution_stack_grows_past_initial_buffer() { .with_max_stack_depth(DEFAULT_MAX_STACK_DEPTH + GROWTH_MARGIN) .unwrap(); - let trace_inputs = + let execution_witness = FastProcessor::new_with_options(StackInputs::default(), AdviceInputs::default(), options) .expect("processor advice inputs should fit advice map limits") - .execute_trace_inputs_sync(&program, &mut host) + .execute_for_proving_sync(&program, &mut host) .expect("traced execution should grow the stack buffer past the initial buffer"); + let (vm_witness, _) = execution_witness.into_parts(); - crate::trace::build_trace(trace_inputs) + crate::trace::build_trace(vm_witness) .expect("trace replay should accept the same operand stack depth limit"); } diff --git a/processor/src/lib.rs b/processor/src/lib.rs index 6ea781e913..cfe6ce602a 100644 --- a/processor/src/lib.rs +++ b/processor/src/lib.rs @@ -67,12 +67,12 @@ pub use host::{ pub use miden_core::{ EMPTY_WORD, Felt, ONE, WORD_SIZE, Word, ZERO, crypto, field, mast, program::{ - InputError, KernelDescriptor, MIN_STACK_DEPTH, Program, ProgramInfo, StackInputs, - StackOutputs, + ExecutionClaim, InputError, KernelDescriptor, MIN_STACK_DEPTH, Program, ProgramInfo, + StackInputs, StackOutputs, }, serde, utils, }; -pub use trace::{TraceBuildInputs, TraceGenerationContext}; +pub use trace::{ExecutionWitness, PrecompileWitness, VmWitness}; pub mod advice { pub use miden_core::advice::{AdviceInputs, AdviceMap, AdviceStack}; diff --git a/processor/src/trace/chiplets/tests.rs b/processor/src/trace/chiplets/tests.rs index 0dae5f3bc6..13c2ad2398 100644 --- a/processor/src/trace/chiplets/tests.rs +++ b/processor/src/trace/chiplets/tests.rs @@ -151,9 +151,10 @@ fn regression_trace_build_does_not_panic_when_first_memory_access_clk_is_zero() Program::with_kernel(forest.into(), entry, KernelDescriptor::default()) }; - let trace_inputs = processor.execute_trace_inputs_sync(&program, &mut host).unwrap(); + let execution_witness = processor.execute_for_proving_sync(&program, &mut host).unwrap(); + let (vm_witness, _) = execution_witness.into_parts(); - let _trace = crate::trace::build_trace(trace_inputs).unwrap(); + let _trace = crate::trace::build_trace(vm_witness).unwrap(); } // HELPER FUNCTIONS @@ -187,8 +188,9 @@ fn build_trace( Program::with_kernel(mast_forest.into(), basic_block_id, kernel) }; - let trace_inputs = processor.execute_trace_inputs_sync(&program, &mut host).unwrap(); - let trace = crate::trace::build_trace(trace_inputs).unwrap(); + let execution_witness = processor.execute_for_proving_sync(&program, &mut host).unwrap(); + let (vm_witness, _) = execution_witness.into_parts(); + let trace = crate::trace::build_trace(vm_witness).unwrap(); let trace_len = trace.get_trace_len(); ( diff --git a/processor/src/trace/execution_tracer.rs b/processor/src/trace/execution_tracer.rs index 1dd741f6bb..1390f3f7c9 100644 --- a/processor/src/trace/execution_tracer.rs +++ b/processor/src/trace/execution_tracer.rs @@ -40,19 +40,19 @@ use crate::{ struct StateSnapshot { state: CoreTraceState, /// Continuation stack with forest references already translated to [`MastForestId`]s into the - /// `mast_forest_store` of the [`TraceGenerationContext`] being built. + /// `mast_forest_store` of the [`TraceReplay`] being built. continuation_stack: ContinuationStack, /// The active forest at the start of this fragment, in `mast_forest_store`. initial_mast_forest_id: MastForestId, } -// TRACE GENERATION CONTEXT +// TRACE REPLAY // ================================================================================================ #[derive(Debug)] -pub struct TraceGenerationContext { +pub(crate) struct TraceReplay { /// The list of trace fragment contexts built during execution. - pub core_trace_contexts: Vec, + pub(crate) core_trace_contexts: Vec, /// Sparse MAST forests, one per source [`MastForest`] visited during execution. /// @@ -60,24 +60,24 @@ pub struct TraceGenerationContext { /// original [`MastNodeId`]s of the source forest. References from `CoreTraceFragmentContext`, /// `MastForestResolutionReplay`, and `HasherOp::HashBasicBlock` are encoded as /// [`MastForestId`]s into this vector. - pub mast_forest_store: Vec>, + pub(crate) mast_forest_store: Vec>, // Replays that contain additional data needed to generate the range checker and chiplets // columns. - pub range_checker_replay: RangeCheckerReplay, - pub memory_writes: MemoryWritesReplay, - pub bitwise_replay: BitwiseReplay, - pub hasher_for_chiplet: HasherRequestReplay, - pub kernel_replay: KernelReplay, - pub ace_replay: AceReplay, + pub(crate) range_checker_replay: RangeCheckerReplay, + pub(crate) memory_writes: MemoryWritesReplay, + pub(crate) bitwise_replay: BitwiseReplay, + pub(crate) hasher_for_chiplet: HasherRequestReplay, + pub(crate) kernel_replay: KernelReplay, + pub(crate) ace_replay: AceReplay, /// The number of rows per core trace fragment, except for the last fragment which may be /// shorter. - pub fragment_size: usize, + pub(crate) fragment_size: usize, /// The maximum number of field elements allowed on the operand stack in an active execution /// context. - pub max_stack_depth: usize, + pub(crate) max_stack_depth: usize, } /// Builder for recording the context to generate trace fragments during execution. @@ -131,12 +131,12 @@ pub struct ExecutionTracer { /// /// Each builder accumulates the [`MastNodeId`]s of nodes visited inside its source forest /// during execution, and is finalized into an [`Arc`] in - /// [`Self::into_trace_generation_context`]. + /// [`Self::into_trace_replay`]. mast_forest_builders: Vec, /// Maps a source forest's `Arc::as_ptr` identity to its [`MastForestId`] in /// `mast_forest_builders` (and, by construction, the eventual id in - /// `TraceGenerationContext::mast_forest_store`). + /// `TraceReplay::mast_forest_store`). /// /// Pointer identity is sound here because the trace-generation flow never crosses a process /// boundary: the tracer builds the store and the replay processor consumes it in the same @@ -280,10 +280,10 @@ impl ExecutionTracer { translated } - /// Convert the `ExecutionTracer` into a [TraceGenerationContext] using the data accumulated - /// during execution. + /// Converts the `ExecutionTracer` into a [`TraceReplay`] using the data accumulated during + /// execution. #[inline(always)] - pub fn into_trace_generation_context(mut self) -> TraceGenerationContext { + pub(crate) fn into_trace_replay(mut self) -> TraceReplay { // If there is an ongoing trace state being built, finish it self.finish_current_fragment_context(); @@ -296,7 +296,7 @@ impl ExecutionTracer { .map(|builder| Arc::new(builder.finalize())) .collect(); - TraceGenerationContext { + TraceReplay { core_trace_contexts: self.fragment_contexts, mast_forest_store, range_checker_replay: self.range_checker, diff --git a/processor/src/trace/mod.rs b/processor/src/trace/mod.rs index 504cdd3d68..17096db769 100644 --- a/processor/src/trace/mod.rs +++ b/processor/src/trace/mod.rs @@ -6,10 +6,13 @@ use miden_air::{ MidenMultiAir, ProverStatement, PublicInputs, StarkConfig, Statement, config, debug, trace::{MainTrace, decoder::NUM_USER_OP_HELPERS}, }; -use miden_core::deferred::DeferredState; +use miden_core::{ + deferred::{Digest, TRUE_DIGEST}, + program::ExecutionClaim, +}; use crate::{ - Felt, MIN_STACK_DEPTH, Program, ProgramInfo, StackInputs, StackOutputs, Word, ZERO, + Felt, MIN_STACK_DEPTH, ProgramInfo, StackInputs, StackOutputs, Word, ZERO, fast::ExecutionOutput, field::QuadFelt, utils::RowMajorMatrix, }; @@ -31,8 +34,9 @@ mod tests; // RE-EXPORTS // ================================================================================================ -pub use execution_tracer::TraceGenerationContext; +pub(crate) use execution_tracer::TraceReplay; pub use miden_air::trace::RowIndex; +pub use miden_core::deferred::PrecompileWitness; pub use parallel::{CORE_TRACE_WIDTH, build_trace, build_trace_with_max_len}; // Re-exported for the streaming trace-build path // (`FastProcessor::execute_and_build_trace_sync`), which is std-only; the buffered path @@ -43,85 +47,139 @@ pub(crate) use parallel::{MAX_TRACE_LEN, build_hasher_chiplet, build_trace_with_ pub(crate) use trace_state::ResolvedHasherOp; pub use utils::{ChipletsLengths, TraceLenSummary}; -/// Inputs required to build an execution trace from pre-executed data. -#[derive(Debug)] -pub struct TraceBuildInputs { - trace_output: TraceBuildOutput, - trace_generation_context: TraceGenerationContext, - program_info: ProgramInfo, -} - -impl TraceBuildInputs { - /// Takes the hasher replay out, leaving an empty buffered one. - /// - /// The streaming path uses this to drop the replay's channel sender once execution has - /// finished, so the concurrently running hasher builder sees its input stream end. - #[cfg(feature = "std")] - pub(crate) fn take_hasher_replay(&mut self) -> trace_state::HasherRequestReplay { - core::mem::take(&mut self.trace_generation_context.hasher_for_chiplet) - } -} - +/// Complete in-memory witness produced by a traced program execution. +/// +/// This processor-constructed aggregate checks that its optional singleton precompile witness +/// matches the root authenticated by the VM witness. It may contain private and potentially large +/// prover data. #[derive(Debug)] -pub(crate) struct TraceBuildOutput { - stack_outputs: StackOutputs, - deferred_state: DeferredState, +pub struct ExecutionWitness { + vm: VmWitness, + precompile: Option, } -impl TraceBuildOutput { - fn from_execution_output(execution_output: ExecutionOutput) -> Self { +impl ExecutionWitness { + pub(crate) fn from_execution( + program_info: ProgramInfo, + stack_inputs: StackInputs, + execution_output: ExecutionOutput, + trace: TraceReplay, + ) -> Self { let ExecutionOutput { - stack, + stack: stack_outputs, advice: _, memory: _, - deferred_state, + deferred_state: precompiles, } = execution_output; - - Self { stack_outputs: stack, deferred_state } + let precompile_root = precompiles.root(); + let vm = VmWitness { + program_info, + stack_inputs, + stack_outputs, + trace, + precompile_root, + }; + let precompile = (precompile_root != TRUE_DIGEST).then(|| { + PrecompileWitness::new(precompiles) + .expect("a non-TRUE execution root must produce a singleton precompile witness") + }); + + Self::from_parts(vm, precompile) } -} -impl TraceBuildInputs { - pub(crate) fn from_execution( - program: &Program, - execution_output: ExecutionOutput, - trace_generation_context: TraceGenerationContext, - ) -> Self { - let trace_output = TraceBuildOutput::from_execution_output(execution_output); - let program_info = program.to_info(); - Self { - trace_output, - trace_generation_context, - program_info, + fn from_parts(vm: VmWitness, precompile: Option) -> Self { + match &precompile { + Some(precompile) => { + assert_eq!( + precompile.roots(), + &[vm.precompile_root()], + "a precompile witness must be a singleton matching the VM root" + ); + assert_eq!( + precompile.root(), + vm.precompile_root(), + "the precompile witness root must match the VM root" + ); + }, + None => assert_eq!( + vm.precompile_root(), + TRUE_DIGEST, + "an empty precompile witness requires the VM root to be TRUE_DIGEST" + ), } + + Self { vm, precompile } } - /// Returns the stack outputs captured for the execution being replayed. - pub fn stack_outputs(&self) -> &StackOutputs { - &self.trace_output.stack_outputs + /// Returns the public claim associated with this witness. + pub fn claim(&self) -> ExecutionClaim { + self.vm.claim() } - /// Returns the final deferred state captured for the execution being replayed. - pub fn deferred_state(&self) -> &DeferredState { - &self.trace_output.deferred_state + /// Returns the authenticated root of the deferred precompile state. + pub fn precompile_root(&self) -> Digest { + self.vm.precompile_root() } - /// Returns the program info captured for the execution being replayed. - pub fn program_info(&self) -> &ProgramInfo { - &self.program_info + /// Performs the low-level split into a VM trace witness and optional precompile witness. + /// + /// The primary proving workflow is via `Prover::prove`, which packages authenticated precompile + /// work as `ExecutionProof::Deferred`. + pub fn into_parts(self) -> (VmWitness, Option) { + (self.vm, self.precompile) + } +} + +/// Witness required to materialize and prove a VM execution trace. +/// +/// This potentially large value contains private replay data. The processor does not currently +/// define its transport format; delegated workers must use the external `VmWitness` transport work +/// once it is integrated rather than inventing an incompatible encoding. +#[derive(Debug)] +pub struct VmWitness { + program_info: ProgramInfo, + stack_inputs: StackInputs, + stack_outputs: StackOutputs, + trace: TraceReplay, + precompile_root: Digest, +} + +impl VmWitness { + /// Returns the public claim associated with this witness. + pub fn claim(&self) -> ExecutionClaim { + ExecutionClaim::from_program_info( + self.program_info.clone(), + self.stack_inputs, + self.stack_outputs, + ) } + /// Takes the hasher replay out, leaving an empty buffered one. + /// + /// The streaming path uses this to drop the replay's channel sender once execution has + /// finished, so the concurrently running hasher builder sees its input stream end. + #[cfg(feature = "std")] + pub(crate) fn take_hasher_replay(&mut self) -> trace_state::HasherRequestReplay { + core::mem::take(&mut self.trace.hasher_for_chiplet) + } + + /// Returns the authenticated root of the deferred precompile state. + pub fn precompile_root(&self) -> Digest { + self.precompile_root + } + + /// Returns the replay data captured during execution. #[cfg(any(test, feature = "testing"))] - /// Returns the trace replay context captured during execution. - pub fn trace_generation_context(&self) -> &TraceGenerationContext { - &self.trace_generation_context + #[cfg_attr(all(feature = "testing", not(test)), expect(dead_code))] + pub(crate) fn trace_replay(&self) -> &TraceReplay { + &self.trace } - // Kept for tests that force invalid replay contexts without widening the public API. + // Kept for tests that force invalid replay data without widening the public API. #[cfg(any(test, feature = "testing"))] #[cfg_attr(all(feature = "testing", not(test)), expect(dead_code))] - pub(crate) fn trace_generation_context_mut(&mut self) -> &mut TraceGenerationContext { - &mut self.trace_generation_context + pub(crate) fn trace_replay_mut(&mut self) -> &mut TraceReplay { + &mut self.trace } } @@ -133,34 +191,36 @@ impl TraceBuildInputs { /// The trace consists of the following components: /// - Per-AIR trace matrices for Core, Chiplets, and Poseidon2Permutation. /// - Information about the program (program hash and the kernel). -/// - Information about execution outputs (stack state and final deferred state). +/// - Information about the initial and final stack states and authenticated precompile root. /// - Summary of trace lengths of the main trace components. #[derive(Debug)] -pub struct ExecutionTrace { +pub struct VmTrace { main_trace: MainTrace, program_info: ProgramInfo, + stack_inputs: StackInputs, stack_outputs: StackOutputs, - deferred_state: DeferredState, + precompile_root: Digest, trace_len_summary: TraceLenSummary, } -impl ExecutionTrace { +impl VmTrace { // CONSTRUCTOR // -------------------------------------------------------------------------------------------- pub(crate) fn new_from_parts( program_info: ProgramInfo, - trace_output: TraceBuildOutput, + stack_inputs: StackInputs, + stack_outputs: StackOutputs, + precompile_root: Digest, main_trace: MainTrace, trace_len_summary: TraceLenSummary, ) -> Self { - let TraceBuildOutput { stack_outputs, deferred_state } = trace_output; - Self { main_trace, program_info, + stack_inputs, stack_outputs, - deferred_state, + precompile_root, trace_len_summary, } } @@ -187,9 +247,9 @@ impl ExecutionTrace { pub fn public_inputs(&self) -> PublicInputs { PublicInputs::new( self.program_info.clone(), - self.init_stack_state(), + self.stack_inputs, self.stack_outputs, - self.deferred_state.root(), + self.precompile_root, ) } @@ -208,9 +268,9 @@ impl ExecutionTrace { &mut self.main_trace } - /// Returns the final deferred state generated during program execution. - pub fn deferred_state(&self) -> &DeferredState { - &self.deferred_state + /// Returns the authenticated root of the deferred precompile state. + pub fn precompile_root(&self) -> Digest { + self.precompile_root } /// Returns the owned stack outputs required for proof packaging. @@ -220,12 +280,7 @@ impl ExecutionTrace { /// Returns the initial state of the top 16 stack registers. pub fn init_stack_state(&self) -> StackInputs { - let mut result = [ZERO; MIN_STACK_DEPTH]; - let row = RowIndex::from(0_u32); - for (i, result) in result.iter_mut().enumerate() { - *result = self.main_trace.stack_element(i, row); - } - result.into() + self.stack_inputs } /// Returns the final state of the top 16 stack registers. diff --git a/processor/src/trace/parallel/core_trace_fragment/tests.rs b/processor/src/trace/parallel/core_trace_fragment/tests.rs index 7f031b7ee5..3777dfc4d0 100644 --- a/processor/src/trace/parallel/core_trace_fragment/tests.rs +++ b/processor/src/trace/parallel/core_trace_fragment/tests.rs @@ -37,7 +37,7 @@ use miden_utils_testing::rand::rand_value; use crate::{ AdviceInputs, DefaultHost, ExecutionOptions, FastProcessor, ProcessorState, event::{NoopEventHandler, TraceError}, - trace::{ExecutionTrace, build_trace}, + trace::{VmTrace, build_trace}, }; // CONSTANTS @@ -1635,8 +1635,9 @@ fn build_trace_helper(stack_inputs: &[u64], program: &Program) -> (DecoderTrace, ) .unwrap(); - let trace_inputs = processor.execute_trace_inputs_sync(program, &mut host).unwrap(); - let trace = build_trace(trace_inputs).unwrap(); + let execution_witness = processor.execute_for_proving_sync(program, &mut host).unwrap(); + let (vm_witness, _) = execution_witness.into_parts(); + let trace = build_trace(vm_witness).unwrap(); // The trace_len_summary().core_trace_len() is the actual program row count (before padding) let trace_len = trace.trace_len_summary().core_trace_len(); @@ -1665,8 +1666,9 @@ fn build_call_trace_helper(program: &Program) -> (SystemTrace, DecoderTrace, usi .expect("processor advice inputs should fit advice map limits"); let mut host = DefaultHost::default(); - let trace_inputs = processor.execute_trace_inputs_sync(program, &mut host).unwrap(); - let trace = build_trace(trace_inputs).unwrap(); + let execution_witness = processor.execute_for_proving_sync(program, &mut host).unwrap(); + let (vm_witness, _) = execution_witness.into_parts(); + let trace = build_trace(vm_witness).unwrap(); // The trace_len_summary().core_trace_len() is the actual program row count (before padding) let trace_len = trace.trace_len_summary().core_trace_len(); @@ -1678,7 +1680,7 @@ fn build_call_trace_helper(program: &Program) -> (SystemTrace, DecoderTrace, usi } /// Extracts the decoder trace columns from the execution trace. -fn extract_decoder_trace(trace: &ExecutionTrace) -> DecoderTrace { +fn extract_decoder_trace(trace: &VmTrace) -> DecoderTrace { use miden_air::trace::{DECODER_TRACE_WIDTH, SYS_TRACE_WIDTH}; let main_segment = trace.main_trace(); @@ -1689,7 +1691,7 @@ fn extract_decoder_trace(trace: &ExecutionTrace) -> DecoderTrace { } /// Extracts the system trace columns from the execution trace. -fn extract_system_trace(trace: &ExecutionTrace) -> SystemTrace { +fn extract_system_trace(trace: &VmTrace) -> SystemTrace { use miden_air::trace::SYS_TRACE_WIDTH; let main_segment = trace.main_trace(); diff --git a/processor/src/trace/parallel/mod.rs b/processor/src/trace/parallel/mod.rs index f869e27a0b..8bd347bee6 100644 --- a/processor/src/trace/parallel/mod.rs +++ b/processor/src/trace/parallel/mod.rs @@ -22,7 +22,7 @@ use tracing::{info_span, instrument}; use super::{ chiplets::Chiplets, - execution_tracer::TraceGenerationContext, + execution_tracer::TraceReplay, trace_state::{ AceReplay, BitwiseOp, BitwiseReplay, CoreTraceFragmentContext, CoreTraceState, ExecutionReplay, HasherRequestReplay, KernelReplay, MemoryWritesReplay, RangeCheckerReplay, @@ -34,7 +34,7 @@ use crate::{ continuation_stack::{Continuation, ContinuationStack}, errors::MapExecErrNoCtx, trace::{ - ChipletsLengths, ExecutionTrace, TraceBuildInputs, TraceLenSummary, + ChipletsLengths, TraceLenSummary, VmTrace, VmWitness, chiplets::{Ace, Bitwise, Hasher, KernelRom, Memory}, parallel::{processor::ReplayProcessor, tracer::CoreTraceGenerationTracer}, range::RangeChecker, @@ -81,16 +81,17 @@ mod tests; /// .unwrap_program(); /// let mut host = DefaultHost::default(); /// -/// let trace_inputs = FastProcessor::new(StackInputs::default()) -/// .execute_trace_inputs_sync(&program, &mut host) +/// let execution_witness = FastProcessor::new(StackInputs::default()) +/// .execute_for_proving_sync(&program, &mut host) /// .unwrap(); -/// let trace = miden_processor::trace::build_trace(trace_inputs).unwrap(); +/// let (vm_witness, _) = execution_witness.into_parts(); +/// let trace = miden_processor::trace::build_trace(vm_witness).unwrap(); /// /// assert_eq!(*trace.program_hash(), program.hash()); /// ``` #[instrument(name = "build_trace", skip_all)] -pub fn build_trace(inputs: TraceBuildInputs) -> Result { - build_trace_with_max_len(inputs, MAX_TRACE_LEN) +pub fn build_trace(witness: VmWitness) -> Result { + build_trace_with_max_len(witness, MAX_TRACE_LEN) } /// Same as [`build_trace`], but with a custom hard cap. @@ -98,10 +99,10 @@ pub fn build_trace(inputs: TraceBuildInputs) -> Result Result { - build_trace_inner(inputs, None, max_trace_len) +) -> Result { + build_trace_inner(witness, None, max_trace_len) } /// Same as [`build_trace`], but with a hasher chiplet that was already built — used by the @@ -109,24 +110,26 @@ pub fn build_trace_with_max_len( /// (`FastProcessor::execute_and_build_trace_sync`, std-only). #[cfg(feature = "std")] pub(crate) fn build_trace_with_prebuilt_hasher( - inputs: TraceBuildInputs, + witness: VmWitness, prebuilt_hasher: Hasher, -) -> Result { - build_trace_inner(inputs, Some(prebuilt_hasher), MAX_TRACE_LEN) +) -> Result { + build_trace_inner(witness, Some(prebuilt_hasher), MAX_TRACE_LEN) } fn build_trace_inner( - inputs: TraceBuildInputs, + witness: VmWitness, prebuilt_hasher: Option, max_trace_len: usize, -) -> Result { - let TraceBuildInputs { - trace_output, - trace_generation_context, +) -> Result { + let VmWitness { program_info, - } = inputs; + stack_inputs, + stack_outputs, + trace, + precompile_root, + } = witness; - let TraceGenerationContext { + let TraceReplay { core_trace_contexts, mast_forest_store, range_checker_replay, @@ -137,7 +140,7 @@ fn build_trace_inner( ace_replay, fragment_size, max_stack_depth, - } = trace_generation_context; + } = trace; // Before any trace generation, check that the number of core trace rows doesn't exceed the // maximum trace length. This is a necessary check to avoid OOM panics during trace generation, @@ -155,9 +158,7 @@ fn build_trace_inner( } if core_trace_contexts.is_empty() { - return Err(ExecutionError::Internal( - "no trace fragments provided in the trace generation context", - )); + return Err(ExecutionError::Internal("no trace fragments provided in the trace witness")); } let chiplets = info_span!("initialize_chiplets").in_scope(|| { @@ -245,9 +246,11 @@ fn build_trace_inner( ) }; - Ok(ExecutionTrace::new_from_parts( + Ok(VmTrace::new_from_parts( program_info, - trace_output, + stack_inputs, + stack_outputs, + precompile_root, main_trace, trace_len_summary, )) @@ -362,12 +365,12 @@ fn generate_core_trace_row_major( push_halt_opcode_row( &mut core_trace_data, total_core_trace_rows, - system_rows.last().ok_or(ExecutionError::Internal( - "no trace fragments provided in the trace generation context", - ))?, - stack_rows.last().ok_or(ExecutionError::Internal( - "no trace fragments provided in the trace generation context", - ))?, + system_rows + .last() + .ok_or(ExecutionError::Internal("no trace fragments provided in the trace witness"))?, + stack_rows + .last() + .ok_or(ExecutionError::Internal("no trace fragments provided in the trace witness"))?, ); Ok(core_trace_data) diff --git a/processor/src/trace/parallel/processor.rs b/processor/src/trace/parallel/processor.rs index 2acd23d6b4..8407d757eb 100644 --- a/processor/src/trace/parallel/processor.rs +++ b/processor/src/trace/parallel/processor.rs @@ -43,7 +43,7 @@ use crate::{ /// /// The replay structures and initial system and stack state are built by the /// [`crate::trace::execution_tracer::ExecutionTracer`] in conjunction with -/// [`crate::FastProcessor::execute_trace_inputs`]. +/// [`crate::FastProcessor::execute_for_proving`]. #[derive(Debug)] pub(crate) struct ReplayProcessor { pub system: SystemState, @@ -55,8 +55,8 @@ pub(crate) struct ReplayProcessor { pub hasher_response_replay: HasherResponseReplay, pub mast_forest_resolution_replay: MastForestResolutionReplay, - /// Per-fragment view of the [`crate::TraceGenerationContext`]'s `mast_forest_store`. Used to - /// resolve `usize` indices recorded in the replays back to [`Arc`] handles + /// Per-fragment view of the trace replay's `mast_forest_store`. Used to resolve `usize` + /// indices recorded in the replays back to [`Arc`] handles /// during execution. pub mast_forest_store: Vec>, @@ -73,7 +73,7 @@ impl ReplayProcessor { /// /// The parameters are expected to be built by the /// [`crate::trace::execution_tracer::ExecutionTracer`] when used in conjunction with - /// [`crate::FastProcessor::execute_trace_inputs`]. + /// [`crate::FastProcessor::execute_for_proving`]. pub fn new( initial_system: SystemState, initial_stack: StackState, diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_01.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_01.snap index ee1a733775..f64ab7d7a0 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_01.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_01.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 1, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 7, 0, 1, 0, 0, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 12230109559590207045, 16524836159467994993, 15355865270174544634, 1391859963977339721, 12022620756870035528, 14989772180267129899, 13982693476036346567, 4019135314604422332, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 7798791211572712091, 16041868217785231203, 6640187881380078347, 235747346370324341, 13046105914206547188, 17104930832431035898, 3750541143739447161, 16424211063756942915, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 87, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 5389779285479201372, 17553508332489815141, 15087772099628732551, 5347478766541373443, 10896571887744929962, 11129997511013985752, 8670230788026367137, 9164328147053886136, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 0, 0, 1, 0, 3, 8, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, 9, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 4, 10, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 87, 0, 0, 0, 0, 0, 0, 12075365935646826911, 12555112468856587408, 11785226375886997917, 4824245574712348149, 6698272548511662058, 7437332431719550829, 8805294974760200296, 13665174347101618099, 6738391298770517604, 7192645425446594991, 9388817984500446763, 5794113475247796131, 0, 0, 0, 0, 12970026081624744192, 12744187783136811240, 2410348887864631027, 12978945726327275454, 1554921798601148240, 11229913696364167708, 8973022178183201081, 139928186177466980, 13649876187837155162, 10757898852954163787, 1183567474340415150, 18328332676029395445, 0, 0, 0, 0, 13115145854204970892, 17983425541226801902, 503096672456724597, 17391026586069653618, 11975412188970431284, 12728070322904945002, 12583843770217265045, 5648611480833313028, 5270318028794710036, 9198234540668451702, 15227185125669186823, 13442379348215607242, 0, 7938014903722142143, 4026985013879105156, 15433899134283001186, 5518543654937541191, 7811482114300450425, 18246857844067051489, 5066330555278535354, 12777013593391110699, 12191575961919955189, 17344099196019282708, 13114270510039317151, 14016355395255073114, 6427069658768868190, 2211726190322481583, 4862466322566539257, 0, 6295390960602027128, 1672635780379469502, 5514393169316646408, 15268698329081358799, 6358521007699847181, 8905575183526941079, 6308301555581432298, 2713628301395331598, 15644594447494294958, 2471335144483071788, 7634628028118476493, 8705396367530590759, 510439172729197823, 5910464539270739337, 11313308155928141, 0, 16526896907746924406, 3520066619418494561, 5902635986331447140, 4398972274698089981, 12631024732346185051, 8386841573792151210, 12218015928704154046, 10432140379698280314, 11468177025236775618, 13346741951457031181, 11864092150902575386, 1957967507142109539, 1187524630546802447, 6811974332530919582, 1674557656829922128, 0, 1584868061124279887, 9442704715127069304, 1641023224966192349, 6329396367180888266, 404888665587209724, 1712028768453542123, 9636831554872487700, 11205546840421184087, 14264854432675592118, 4651572474102722880, 2600150713028016700, 7671260856915471824, 13564816252723126852, 12833222284634831992, 3051460357884001758, 0, 428341091691738800, 18339284103630472679, 7870616161402447553, 15334351080828855345, 1972261447295035604, 17003628149811009423, 13559543871756207414, 12791588703509816612, 16874590433396658583, 10546926997829974134, 1613237926847090038, 5103230212642319031, 1275403119419295716, 12931787129843438351, 9482922846676968945, 0, 3664885029783550679, 11363752911665810183, 9134704894151526337, 13215878359575686624, 18224453919930723109, 14701830073355456188, 7627101113505064542, 16932075092084463114, 13716504142013330150, 998335944076440638, 12137387735186731363, 17058369724013530208, 1767224174321722467, 602199799565625282, 4204601874695641395, 0, 7106463660950754017, 7750176763733153254, 7574864206138859398, 4526848524085695537, 12851507948139845134, 12194522465304354477, 203045723268582723, 13800072724692742244, 6219761752233525772, 578458477173417489, 12409381620398170328, 3611444773280584194, 8973301930488357361, 6492541737016997329, 7829849934035424392, 0, 4777343346630271661, 0, 0, 15040112894884950263, 12254503491494638924, 10905362093557669084, 12506798032013022761, 15503156871268737834, 10398894083161474515, 15562472066553605377, 9297592479728714122, 15171127217706380424, 9656102210084357377, 6955904167393062211, 12517713541538021270, 0, 0, 0, 0, 16222821967647715914, 18236388426739201624, 10359860344541184143, 1153281584568447720, 11215911684698899438, 1590480596834601729, 5406804875063937073, 902825103749099378, 4476247383648377898, 6603681318758243995, 7979346268508668223, 9081216985780183305, 0, 0, 0, 0, 7115759549889295004, 17795973162642491077, 3118063002769479276, 3375328991910866222, 14829673264916467260, 17032170639409509898, 15296986551515876803, 17801462043040480905, 12194152217648072934, 15515146157726073849, 587062581941150380, 292701116829680586, 0, 0, 0, 0, 571143354463273441, 9666544608273691458, 12872042550989601583, 10652410992593235579, 11969486770687628423, 5473191134781977608, 6282849523905673255, 17953708178661470530, 9124580738322974913, 3090550876749265149, 6178971316333817527, 17953687842851871221, 0, 1, 0, 0, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 12230109559590207045, 16524836159467994993, 15355865270174544634, 1391859963977339721, 12022620756870035528, 14989772180267129899, 13982693476036346567, 4019135314604422332, 0, 1, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2844174837506797768, 14770415536338085095, 8053473190425314497, 12810585393750772644, 12517162067313615795, 6708309406641442601, 9752285986344000829, 14839297145466054073, 8534874634076336098, 14795338728791802759, 16467940132402131085, 13518949717672180282, 1, 0, 0, 0, 197345143463752877, 11590552548391007208, 8513135180731923185, 4789498072246113352, 11303926357913784691, 11723443921595997802, 14952876297128645088, 4864312901193078229, 6947659381816817219, 1746178727761685368, 12918373769842417551, 8684596229708270516, 1, 0, 0, 0, 3198805477847978589, 13930889360803740657, 15057872115125399602, 10921141672562986793, 5789960870644177461, 15608139912666005512, 12683155364689979788, 18346811491373252273, 10487394721802866951, 11974532682130534845, 1519861526503586143, 1098638899502132867, 1, 17128804603859274179, 15425440231805738567, 2171332404261207924, 12061940714814445323, 16550302237377331826, 12740022639409649481, 4788619492523060974, 12101496647901663530, 12627924597542725825, 4538464495267088575, 7655969430543094352, 17740697538393183772, 1276333715732019707, 14173930302505429451, 13814834917482380980, 1, 13522108978497478647, 15326000623266678192, 3937153401353680192, 5391465844431065097, 18248340349342647871, 15368790604451050198, 14035485820573370176, 16386022069680258207, 9349013130282144239, 1551611900277525346, 9934003659359682927, 4355136691411596250, 6906369583230328082, 6194111766557181711, 7090430103975125421, 1, 6858104153104953844, 2783142950383804293, 8584815630276621541, 13736751627541767595, 14322019951421583643, 7328081675331405521, 2919878666094336280, 18265421608060798137, 847119850511152679, 6488028398833527134, 14030107144688032001, 16464054037947062503, 11306313446221145933, 2618902231753980169, 7111715274719427805, 1, 14207818010411458005, 10702031730649360848, 1427799141318779075, 587927478659780999, 15271511291908440421, 1631153249982564447, 14860375384915403614, 5053574427925446505, 16185831982250091643, 5313306335957257312, 14408389614090560738, 3446934167305825216, 6924078255851134462, 1944495675792485669, 9381181653175935358, 1, 1514501911734050528, 2103447129935109946, 15243544860712411446, 15662501863724208746, 13145679926921004363, 4622578459096655813, 15178320922885462585, 6934952687117461169, 6429901021776189429, 8190297765436449986, 17289740015790507499, 5474448770498973057, 14426481937239015119, 15225288135317750243, 9334877092232131090, 1, 17039418869353369367, 5045115566370760009, 4671027510138840984, 7061837181192953446, 12931235775561067332, 13176020926551886014, 2651979372862304957, 6448209114888282956, 14113477446789099358, 14604918207559224688, 8862983295294549605, 16863262536586421908, 9999167437358985507, 9478876837144190569, 5194157795194187382, 1, 10651133333257123943, 11101110287260233241, 650894676042466653, 15832539727497904498, 16656333065661736860, 18369789225665462210, 2693003614851431067, 772790696866677272, 2480179799990567291, 17304358978184667075, 6187736184647340944, 17237712361917640397, 14072736642225359273, 10623410937495095553, 3019557709101931446, 1, 3558792632055854276, 0, 0, 18279620994548222363, 7537712095633077660, 17235753368900772495, 10138479632844764387, 10676334012313161836, 10151433255181272788, 4221944602571779671, 14378476772841555006, 12143502102929103640, 11730678005747995442, 5601143081558686791, 9280411157191944580, 1, 0, 0, 0, 16884818255031608393, 13045713162430805835, 3600896491691629579, 2370161244647043179, 661552320621341973, 5193471677143062225, 4344568064600414577, 6287012165400024744, 16771346841353293653, 11496244803188049682, 13192283114216253262, 1468753321492310312, 1, 0, 0, 0, 10180755850695837534, 6978965227021412920, 3137528352086851557, 4639410328460555037, 12740940713361972140, 6139739720960649901, 6992560805366421671, 5664952048525874594, 15115584234380815111, 6423836987080682296, 16291666223467597742, 9479232376233529718, 1, 0, 0, 0, 10733409993326982567, 1953734515310810079, 14379372350324944355, 1719086499025241451, 3695292032734759229, 13442410518056192242, 5600036575840165991, 16476082167990762462, 13437881851625150616, 9220830330798622848, 10959186559397338078, 3278679000955332681, 1, 1, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 7798791211572712091, 16041868217785231203, 6640187881380078347, 235747346370324341, 13046105914206547188, 17104930832431035898, 3750541143739447161, 16424211063756942915, 1, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 87, 0, 0, 2, 0, 0, 0, 3140855868878816939, 13853610777244465556, 7305682856568545034, 17768394568131058378, 4102628019324006119, 4284053222036732600, 702918224602433827, 10375695918533438253, 11152995795829941880, 5169004732887479405, 15116124983681184313, 11068900437831795240, 2, 0, 0, 0, 14674311818750931642, 15727102992101643424, 10209637917493742085, 14433760483016802213, 15023858318134776079, 13617465913120919705, 11153310337321385356, 12991360735056054606, 3550460033083965293, 13918925059933519570, 14012164523634193404, 9616156815711922050, 2, 0, 0, 0, 10332893761271738825, 4468346375378916401, 9749151272711495276, 8699061724169347090, 9834940708477034873, 5947156991246950325, 14409035433392705531, 628920525634910939, 11788382252656375499, 4818566561319754770, 14056028560156009139, 14939415572295847861, 2, 5517847790939712612, 17084191072185647983, 4373790465892097554, 4225331220542153300, 2130235836373540041, 11014336955587517267, 13261921604701925672, 13681942946271658553, 12034991783627364558, 1627804654564744257, 2932739946223714750, 6512410412877608540, 6097164629377042547, 13231886920322033342, 11051251506011467161, 2, 6837868493616672931, 3932850543815016562, 5993352762837579443, 17042968652914390951, 10638038987314268392, 827661294420902564, 12480026891102399910, 15584776283300553616, 16018818694656253476, 174727052104985970, 6997609737938415989, 18257746455231651762, 2120214735299642538, 343151165640891818, 10759684562283919705, 2, 9492867381892087299, 16262800480453112023, 17322872276971640738, 14643806196666560377, 15595136242254344950, 7518181154580928497, 1317098796508350392, 10963738407742121793, 909342354741125081, 11768528957432122607, 8394540270261060467, 6404191905775366043, 9794215422759310631, 3090225984746935786, 14584417906224674271, 2, 13612281739545428458, 14760519749949005735, 11059096111732277153, 8127477948862304659, 2899450088585457524, 7178383302195079413, 4080342379963224440, 15065835405932063604, 7174159973314940261, 7866236788120069085, 18372302221082695790, 6755863915990177867, 16393276955272037238, 6508850325341530182, 485362918438249523, 2, 4372640031216207607, 5629259567684105503, 4719933692909427189, 12089107207026598168, 12364521740255563281, 15126929415582004941, 9583199887191732065, 8988068388491896607, 10885812525421994040, 3179713771850761109, 3646259631192899507, 2420177325979175775, 10058704817135704897, 328248192680369153, 1212206002969597043, 2, 16719971632373437139, 8913437407619212875, 12445715620888469070, 14590495590496016249, 12591982458207239898, 3518540272376153691, 13537778478631670985, 5768862501974313259, 6641802290415749520, 2619647825741307367, 5310404789838069255, 2813523707389681640, 6001123487053466814, 13283119919073385632, 3027180794999366288, 2, 16985432419746479334, 1732148218874634898, 10732456770751424600, 6298968617386740411, 5222599433923214178, 18313080032108507945, 16008519283195378358, 13531413419888790066, 2081323533358520207, 15255353550768211576, 17138176985304544396, 15815114409447852656, 390133022963677303, 9368984280090759390, 4226326679630301281, 2, 10878179176838766787, 0, 0, 15143079744491591624, 122684593814478623, 17881594072631522907, 7229419957503946158, 12940017521193772991, 10151817482573032909, 8733418387703005516, 1319594737760624758, 14880293583396293735, 5898942779435783768, 16811128745251295765, 1109240219058196190, 2, 0, 0, 0, 17097058137364766519, 12170170828128327789, 8827354137729360970, 14939098920471879539, 17594240265564849285, 12594120096976711335, 11639588720238971595, 2961214099077550944, 2199574547323924831, 11634736545140098063, 16804232943677874803, 715700715650088406, 2, 0, 0, 0, 8947505233582573905, 6678598843273392764, 3725073892233240125, 7720092071903033897, 5255970636116417070, 12681977177382299121, 9779623946328742809, 268997569335911479, 13033985248158052224, 7447389216002042151, 7736891773241144274, 1940240082052736870, 2, 0, 0, 0, 6118821869453917786, 2608197264550826766, 9411170196077201442, 6661421389020413469, 14375230321868528117, 3141438207172205564, 6958632034797014787, 17400815499287696997, 9312329466912734898, 5143036856532903190, 7161333884680390469, 8058403803683718142, 2, 1, 0, 0, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 5389779285479201372, 17553508332489815141, 15087772099628732551, 5347478766541373443, 10896571887744929962, 11129997511013985752, 8670230788026367137, 9164328147053886136, 2, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 10338918064798200754, 15286122942437340674, 6004213370540561229, 11077881500896133090, 15185046381229794929, 4025060549564442513, 16691190932080263388, 17911971684749301267, 1792647895939561414, 11040149027552020115, 16788268171496683395, 6690778673349798915, 3, 0, 0, 0, 18207620435178905496, 4478894291978491061, 8126565228616187566, 14565598150868720008, 486704718504877876, 5092068149414351847, 4895519870785798161, 18320934558859357026, 4783600071858140824, 7590991738963063833, 15020058681279762757, 8502154501231846969, 3, 0, 0, 0, 1790253480113930875, 11472368064126754753, 16140937904922483949, 12784262958320173457, 8992534124131108063, 17197330755228127793, 17888648586033704362, 3783608546885852925, 11488181860237317371, 6520363121033018355, 5666192756396478125, 14698764588926429548, 3, 4775960838571449442, 12355201513767393906, 16893169864929129892, 3067820580898613927, 4037642048582652770, 6463406968300557513, 1334655449937755180, 16454962669178338822, 3423416796618681452, 15635204112556936010, 11367217176161227780, 15846919749025709683, 8739705468185832455, 1695606868833824155, 14902201197695023622, 3, 7270109453425771694, 6393439473671243944, 5763178267509538253, 87155278506862768, 17182682045085641378, 13669966515951696363, 6730246632471569917, 11015850215265080242, 5781848723365073595, 14722218108828704340, 12249120524157518956, 15530817548594619752, 2571721876460128542, 1124203808167418458, 4658355789422303197, 3, 619730554607827397, 2707784357837694055, 10389429507854625814, 412437114519718435, 17010823019251866220, 8496853728750345058, 3962235926057627964, 7293691342607609411, 4966485821032368622, 17523850342152507329, 16165780461118504337, 6833077136448453098, 18408644517259086000, 13790345385092960681, 1118981994890433291, 3, 2870832816007467384, 2873570063945483268, 5260498635996294368, 10072735002004767449, 7363233941642473793, 10401385213219539176, 9719773007613995950, 10216717372939649307, 13022711033487370480, 9232213967333586262, 3354429439844650126, 13306058477265011029, 3840400538830937486, 15100916108359921929, 12686728912814672715, 3, 10126186915863966894, 13849382609137246799, 14871056570003924152, 4577474152973240700, 10319035267502935180, 1107109480596608884, 910001863439660317, 17323775771861278671, 11990539141370178689, 1895237968841058140, 3069611939766785355, 13990132518689115799, 9158955820349235201, 3334355584256728822, 6532229842765454575, 3, 8418794997351000750, 1324633730077053524, 7680826640634201152, 6943155698572158851, 4119721600018041835, 10160115415927000034, 13670021867743170174, 10426040451143237205, 12527054859506162043, 693011963436135866, 15847427063003354492, 1193915807921269299, 5530767236037587666, 4498758928312101948, 1668396433795256171, 3, 12474497430381571234, 3486558176421926303, 176934443909317952, 8642603494321417085, 13568047686929876305, 13873699071648888616, 5469909543377435991, 1153721650762048262, 6332701647560212482, 14750767280279403533, 3863562993110808460, 10010469643426778773, 13610145136323473859, 13803405503382348517, 10066622964560025039, 3, 6502239097904837007, 0, 0, 11596242931973405682, 7569447524345075040, 11402732351667273497, 17726124048449719654, 2143489115939838335, 2291345291252627066, 13774221459002946228, 5704848367751370496, 14844994802213729480, 13325648093707576188, 655937328333223270, 12601714085039449766, 3, 0, 0, 0, 10080683606039484932, 557142253253508029, 11861574744773262883, 17479297133692971328, 13431343265670357832, 5107644268576628652, 5672451077690842648, 10697999158618521351, 13783189127611294708, 6370270522833708976, 16602411989536803847, 17535824353652041621, 3, 0, 0, 0, 18221718971044951820, 11123331110225556773, 17884963006522019435, 13581862227015801716, 3539406162482662008, 12779267696302831166, 17568889654867020374, 14043625177809463809, 10953842550742243459, 17624483884859046607, 16829866994010956924, 10383254959407238075, 3, 0, 0, 0, 7704989128662250393, 7731722432250559639, 1104300072480693820, 12966826694165085383, 5898355191387204970, 418343475844287535, 17504741557362850364, 11212567254567942759, 4585972511305465500, 831671821010246741, 1347174724805777450, 9978241385511108600, 3, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 3, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 4, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 4, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 4, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 4, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 4, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 4, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 4, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 4, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 4, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 4, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 4, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 4, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 4, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 4, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(13) }, program_info: ProgramInfo { program_hash: Word([10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 14, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 16, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 96, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 1, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 7, 0, 1, 0, 0, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 12230109559590207045, 16524836159467994993, 15355865270174544634, 1391859963977339721, 12022620756870035528, 14989772180267129899, 13982693476036346567, 4019135314604422332, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 7798791211572712091, 16041868217785231203, 6640187881380078347, 235747346370324341, 13046105914206547188, 17104930832431035898, 3750541143739447161, 16424211063756942915, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 87, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 5389779285479201372, 17553508332489815141, 15087772099628732551, 5347478766541373443, 10896571887744929962, 11129997511013985752, 8670230788026367137, 9164328147053886136, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 0, 0, 1, 0, 3, 8, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, 9, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 4, 10, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 87, 0, 0, 0, 0, 0, 0, 12075365935646826911, 12555112468856587408, 11785226375886997917, 4824245574712348149, 6698272548511662058, 7437332431719550829, 8805294974760200296, 13665174347101618099, 6738391298770517604, 7192645425446594991, 9388817984500446763, 5794113475247796131, 0, 0, 0, 0, 12970026081624744192, 12744187783136811240, 2410348887864631027, 12978945726327275454, 1554921798601148240, 11229913696364167708, 8973022178183201081, 139928186177466980, 13649876187837155162, 10757898852954163787, 1183567474340415150, 18328332676029395445, 0, 0, 0, 0, 13115145854204970892, 17983425541226801902, 503096672456724597, 17391026586069653618, 11975412188970431284, 12728070322904945002, 12583843770217265045, 5648611480833313028, 5270318028794710036, 9198234540668451702, 15227185125669186823, 13442379348215607242, 0, 7938014903722142143, 4026985013879105156, 15433899134283001186, 5518543654937541191, 7811482114300450425, 18246857844067051489, 5066330555278535354, 12777013593391110699, 12191575961919955189, 17344099196019282708, 13114270510039317151, 14016355395255073114, 6427069658768868190, 2211726190322481583, 4862466322566539257, 0, 6295390960602027128, 1672635780379469502, 5514393169316646408, 15268698329081358799, 6358521007699847181, 8905575183526941079, 6308301555581432298, 2713628301395331598, 15644594447494294958, 2471335144483071788, 7634628028118476493, 8705396367530590759, 510439172729197823, 5910464539270739337, 11313308155928141, 0, 16526896907746924406, 3520066619418494561, 5902635986331447140, 4398972274698089981, 12631024732346185051, 8386841573792151210, 12218015928704154046, 10432140379698280314, 11468177025236775618, 13346741951457031181, 11864092150902575386, 1957967507142109539, 1187524630546802447, 6811974332530919582, 1674557656829922128, 0, 1584868061124279887, 9442704715127069304, 1641023224966192349, 6329396367180888266, 404888665587209724, 1712028768453542123, 9636831554872487700, 11205546840421184087, 14264854432675592118, 4651572474102722880, 2600150713028016700, 7671260856915471824, 13564816252723126852, 12833222284634831992, 3051460357884001758, 0, 428341091691738800, 18339284103630472679, 7870616161402447553, 15334351080828855345, 1972261447295035604, 17003628149811009423, 13559543871756207414, 12791588703509816612, 16874590433396658583, 10546926997829974134, 1613237926847090038, 5103230212642319031, 1275403119419295716, 12931787129843438351, 9482922846676968945, 0, 3664885029783550679, 11363752911665810183, 9134704894151526337, 13215878359575686624, 18224453919930723109, 14701830073355456188, 7627101113505064542, 16932075092084463114, 13716504142013330150, 998335944076440638, 12137387735186731363, 17058369724013530208, 1767224174321722467, 602199799565625282, 4204601874695641395, 0, 7106463660950754017, 7750176763733153254, 7574864206138859398, 4526848524085695537, 12851507948139845134, 12194522465304354477, 203045723268582723, 13800072724692742244, 6219761752233525772, 578458477173417489, 12409381620398170328, 3611444773280584194, 8973301930488357361, 6492541737016997329, 7829849934035424392, 0, 4777343346630271661, 0, 0, 15040112894884950263, 12254503491494638924, 10905362093557669084, 12506798032013022761, 15503156871268737834, 10398894083161474515, 15562472066553605377, 9297592479728714122, 15171127217706380424, 9656102210084357377, 6955904167393062211, 12517713541538021270, 0, 0, 0, 0, 16222821967647715914, 18236388426739201624, 10359860344541184143, 1153281584568447720, 11215911684698899438, 1590480596834601729, 5406804875063937073, 902825103749099378, 4476247383648377898, 6603681318758243995, 7979346268508668223, 9081216985780183305, 0, 0, 0, 0, 7115759549889295004, 17795973162642491077, 3118063002769479276, 3375328991910866222, 14829673264916467260, 17032170639409509898, 15296986551515876803, 17801462043040480905, 12194152217648072934, 15515146157726073849, 587062581941150380, 292701116829680586, 0, 0, 0, 0, 571143354463273441, 9666544608273691458, 12872042550989601583, 10652410992593235579, 11969486770687628423, 5473191134781977608, 6282849523905673255, 17953708178661470530, 9124580738322974913, 3090550876749265149, 6178971316333817527, 17953687842851871221, 0, 1, 0, 0, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 12230109559590207045, 16524836159467994993, 15355865270174544634, 1391859963977339721, 12022620756870035528, 14989772180267129899, 13982693476036346567, 4019135314604422332, 0, 1, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2844174837506797768, 14770415536338085095, 8053473190425314497, 12810585393750772644, 12517162067313615795, 6708309406641442601, 9752285986344000829, 14839297145466054073, 8534874634076336098, 14795338728791802759, 16467940132402131085, 13518949717672180282, 1, 0, 0, 0, 197345143463752877, 11590552548391007208, 8513135180731923185, 4789498072246113352, 11303926357913784691, 11723443921595997802, 14952876297128645088, 4864312901193078229, 6947659381816817219, 1746178727761685368, 12918373769842417551, 8684596229708270516, 1, 0, 0, 0, 3198805477847978589, 13930889360803740657, 15057872115125399602, 10921141672562986793, 5789960870644177461, 15608139912666005512, 12683155364689979788, 18346811491373252273, 10487394721802866951, 11974532682130534845, 1519861526503586143, 1098638899502132867, 1, 17128804603859274179, 15425440231805738567, 2171332404261207924, 12061940714814445323, 16550302237377331826, 12740022639409649481, 4788619492523060974, 12101496647901663530, 12627924597542725825, 4538464495267088575, 7655969430543094352, 17740697538393183772, 1276333715732019707, 14173930302505429451, 13814834917482380980, 1, 13522108978497478647, 15326000623266678192, 3937153401353680192, 5391465844431065097, 18248340349342647871, 15368790604451050198, 14035485820573370176, 16386022069680258207, 9349013130282144239, 1551611900277525346, 9934003659359682927, 4355136691411596250, 6906369583230328082, 6194111766557181711, 7090430103975125421, 1, 6858104153104953844, 2783142950383804293, 8584815630276621541, 13736751627541767595, 14322019951421583643, 7328081675331405521, 2919878666094336280, 18265421608060798137, 847119850511152679, 6488028398833527134, 14030107144688032001, 16464054037947062503, 11306313446221145933, 2618902231753980169, 7111715274719427805, 1, 14207818010411458005, 10702031730649360848, 1427799141318779075, 587927478659780999, 15271511291908440421, 1631153249982564447, 14860375384915403614, 5053574427925446505, 16185831982250091643, 5313306335957257312, 14408389614090560738, 3446934167305825216, 6924078255851134462, 1944495675792485669, 9381181653175935358, 1, 1514501911734050528, 2103447129935109946, 15243544860712411446, 15662501863724208746, 13145679926921004363, 4622578459096655813, 15178320922885462585, 6934952687117461169, 6429901021776189429, 8190297765436449986, 17289740015790507499, 5474448770498973057, 14426481937239015119, 15225288135317750243, 9334877092232131090, 1, 17039418869353369367, 5045115566370760009, 4671027510138840984, 7061837181192953446, 12931235775561067332, 13176020926551886014, 2651979372862304957, 6448209114888282956, 14113477446789099358, 14604918207559224688, 8862983295294549605, 16863262536586421908, 9999167437358985507, 9478876837144190569, 5194157795194187382, 1, 10651133333257123943, 11101110287260233241, 650894676042466653, 15832539727497904498, 16656333065661736860, 18369789225665462210, 2693003614851431067, 772790696866677272, 2480179799990567291, 17304358978184667075, 6187736184647340944, 17237712361917640397, 14072736642225359273, 10623410937495095553, 3019557709101931446, 1, 3558792632055854276, 0, 0, 18279620994548222363, 7537712095633077660, 17235753368900772495, 10138479632844764387, 10676334012313161836, 10151433255181272788, 4221944602571779671, 14378476772841555006, 12143502102929103640, 11730678005747995442, 5601143081558686791, 9280411157191944580, 1, 0, 0, 0, 16884818255031608393, 13045713162430805835, 3600896491691629579, 2370161244647043179, 661552320621341973, 5193471677143062225, 4344568064600414577, 6287012165400024744, 16771346841353293653, 11496244803188049682, 13192283114216253262, 1468753321492310312, 1, 0, 0, 0, 10180755850695837534, 6978965227021412920, 3137528352086851557, 4639410328460555037, 12740940713361972140, 6139739720960649901, 6992560805366421671, 5664952048525874594, 15115584234380815111, 6423836987080682296, 16291666223467597742, 9479232376233529718, 1, 0, 0, 0, 10733409993326982567, 1953734515310810079, 14379372350324944355, 1719086499025241451, 3695292032734759229, 13442410518056192242, 5600036575840165991, 16476082167990762462, 13437881851625150616, 9220830330798622848, 10959186559397338078, 3278679000955332681, 1, 1, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 7798791211572712091, 16041868217785231203, 6640187881380078347, 235747346370324341, 13046105914206547188, 17104930832431035898, 3750541143739447161, 16424211063756942915, 1, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 87, 0, 0, 2, 0, 0, 0, 3140855868878816939, 13853610777244465556, 7305682856568545034, 17768394568131058378, 4102628019324006119, 4284053222036732600, 702918224602433827, 10375695918533438253, 11152995795829941880, 5169004732887479405, 15116124983681184313, 11068900437831795240, 2, 0, 0, 0, 14674311818750931642, 15727102992101643424, 10209637917493742085, 14433760483016802213, 15023858318134776079, 13617465913120919705, 11153310337321385356, 12991360735056054606, 3550460033083965293, 13918925059933519570, 14012164523634193404, 9616156815711922050, 2, 0, 0, 0, 10332893761271738825, 4468346375378916401, 9749151272711495276, 8699061724169347090, 9834940708477034873, 5947156991246950325, 14409035433392705531, 628920525634910939, 11788382252656375499, 4818566561319754770, 14056028560156009139, 14939415572295847861, 2, 5517847790939712612, 17084191072185647983, 4373790465892097554, 4225331220542153300, 2130235836373540041, 11014336955587517267, 13261921604701925672, 13681942946271658553, 12034991783627364558, 1627804654564744257, 2932739946223714750, 6512410412877608540, 6097164629377042547, 13231886920322033342, 11051251506011467161, 2, 6837868493616672931, 3932850543815016562, 5993352762837579443, 17042968652914390951, 10638038987314268392, 827661294420902564, 12480026891102399910, 15584776283300553616, 16018818694656253476, 174727052104985970, 6997609737938415989, 18257746455231651762, 2120214735299642538, 343151165640891818, 10759684562283919705, 2, 9492867381892087299, 16262800480453112023, 17322872276971640738, 14643806196666560377, 15595136242254344950, 7518181154580928497, 1317098796508350392, 10963738407742121793, 909342354741125081, 11768528957432122607, 8394540270261060467, 6404191905775366043, 9794215422759310631, 3090225984746935786, 14584417906224674271, 2, 13612281739545428458, 14760519749949005735, 11059096111732277153, 8127477948862304659, 2899450088585457524, 7178383302195079413, 4080342379963224440, 15065835405932063604, 7174159973314940261, 7866236788120069085, 18372302221082695790, 6755863915990177867, 16393276955272037238, 6508850325341530182, 485362918438249523, 2, 4372640031216207607, 5629259567684105503, 4719933692909427189, 12089107207026598168, 12364521740255563281, 15126929415582004941, 9583199887191732065, 8988068388491896607, 10885812525421994040, 3179713771850761109, 3646259631192899507, 2420177325979175775, 10058704817135704897, 328248192680369153, 1212206002969597043, 2, 16719971632373437139, 8913437407619212875, 12445715620888469070, 14590495590496016249, 12591982458207239898, 3518540272376153691, 13537778478631670985, 5768862501974313259, 6641802290415749520, 2619647825741307367, 5310404789838069255, 2813523707389681640, 6001123487053466814, 13283119919073385632, 3027180794999366288, 2, 16985432419746479334, 1732148218874634898, 10732456770751424600, 6298968617386740411, 5222599433923214178, 18313080032108507945, 16008519283195378358, 13531413419888790066, 2081323533358520207, 15255353550768211576, 17138176985304544396, 15815114409447852656, 390133022963677303, 9368984280090759390, 4226326679630301281, 2, 10878179176838766787, 0, 0, 15143079744491591624, 122684593814478623, 17881594072631522907, 7229419957503946158, 12940017521193772991, 10151817482573032909, 8733418387703005516, 1319594737760624758, 14880293583396293735, 5898942779435783768, 16811128745251295765, 1109240219058196190, 2, 0, 0, 0, 17097058137364766519, 12170170828128327789, 8827354137729360970, 14939098920471879539, 17594240265564849285, 12594120096976711335, 11639588720238971595, 2961214099077550944, 2199574547323924831, 11634736545140098063, 16804232943677874803, 715700715650088406, 2, 0, 0, 0, 8947505233582573905, 6678598843273392764, 3725073892233240125, 7720092071903033897, 5255970636116417070, 12681977177382299121, 9779623946328742809, 268997569335911479, 13033985248158052224, 7447389216002042151, 7736891773241144274, 1940240082052736870, 2, 0, 0, 0, 6118821869453917786, 2608197264550826766, 9411170196077201442, 6661421389020413469, 14375230321868528117, 3141438207172205564, 6958632034797014787, 17400815499287696997, 9312329466912734898, 5143036856532903190, 7161333884680390469, 8058403803683718142, 2, 1, 0, 0, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 5389779285479201372, 17553508332489815141, 15087772099628732551, 5347478766541373443, 10896571887744929962, 11129997511013985752, 8670230788026367137, 9164328147053886136, 2, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 10338918064798200754, 15286122942437340674, 6004213370540561229, 11077881500896133090, 15185046381229794929, 4025060549564442513, 16691190932080263388, 17911971684749301267, 1792647895939561414, 11040149027552020115, 16788268171496683395, 6690778673349798915, 3, 0, 0, 0, 18207620435178905496, 4478894291978491061, 8126565228616187566, 14565598150868720008, 486704718504877876, 5092068149414351847, 4895519870785798161, 18320934558859357026, 4783600071858140824, 7590991738963063833, 15020058681279762757, 8502154501231846969, 3, 0, 0, 0, 1790253480113930875, 11472368064126754753, 16140937904922483949, 12784262958320173457, 8992534124131108063, 17197330755228127793, 17888648586033704362, 3783608546885852925, 11488181860237317371, 6520363121033018355, 5666192756396478125, 14698764588926429548, 3, 4775960838571449442, 12355201513767393906, 16893169864929129892, 3067820580898613927, 4037642048582652770, 6463406968300557513, 1334655449937755180, 16454962669178338822, 3423416796618681452, 15635204112556936010, 11367217176161227780, 15846919749025709683, 8739705468185832455, 1695606868833824155, 14902201197695023622, 3, 7270109453425771694, 6393439473671243944, 5763178267509538253, 87155278506862768, 17182682045085641378, 13669966515951696363, 6730246632471569917, 11015850215265080242, 5781848723365073595, 14722218108828704340, 12249120524157518956, 15530817548594619752, 2571721876460128542, 1124203808167418458, 4658355789422303197, 3, 619730554607827397, 2707784357837694055, 10389429507854625814, 412437114519718435, 17010823019251866220, 8496853728750345058, 3962235926057627964, 7293691342607609411, 4966485821032368622, 17523850342152507329, 16165780461118504337, 6833077136448453098, 18408644517259086000, 13790345385092960681, 1118981994890433291, 3, 2870832816007467384, 2873570063945483268, 5260498635996294368, 10072735002004767449, 7363233941642473793, 10401385213219539176, 9719773007613995950, 10216717372939649307, 13022711033487370480, 9232213967333586262, 3354429439844650126, 13306058477265011029, 3840400538830937486, 15100916108359921929, 12686728912814672715, 3, 10126186915863966894, 13849382609137246799, 14871056570003924152, 4577474152973240700, 10319035267502935180, 1107109480596608884, 910001863439660317, 17323775771861278671, 11990539141370178689, 1895237968841058140, 3069611939766785355, 13990132518689115799, 9158955820349235201, 3334355584256728822, 6532229842765454575, 3, 8418794997351000750, 1324633730077053524, 7680826640634201152, 6943155698572158851, 4119721600018041835, 10160115415927000034, 13670021867743170174, 10426040451143237205, 12527054859506162043, 693011963436135866, 15847427063003354492, 1193915807921269299, 5530767236037587666, 4498758928312101948, 1668396433795256171, 3, 12474497430381571234, 3486558176421926303, 176934443909317952, 8642603494321417085, 13568047686929876305, 13873699071648888616, 5469909543377435991, 1153721650762048262, 6332701647560212482, 14750767280279403533, 3863562993110808460, 10010469643426778773, 13610145136323473859, 13803405503382348517, 10066622964560025039, 3, 6502239097904837007, 0, 0, 11596242931973405682, 7569447524345075040, 11402732351667273497, 17726124048449719654, 2143489115939838335, 2291345291252627066, 13774221459002946228, 5704848367751370496, 14844994802213729480, 13325648093707576188, 655937328333223270, 12601714085039449766, 3, 0, 0, 0, 10080683606039484932, 557142253253508029, 11861574744773262883, 17479297133692971328, 13431343265670357832, 5107644268576628652, 5672451077690842648, 10697999158618521351, 13783189127611294708, 6370270522833708976, 16602411989536803847, 17535824353652041621, 3, 0, 0, 0, 18221718971044951820, 11123331110225556773, 17884963006522019435, 13581862227015801716, 3539406162482662008, 12779267696302831166, 17568889654867020374, 14043625177809463809, 10953842550742243459, 17624483884859046607, 16829866994010956924, 10383254959407238075, 3, 0, 0, 0, 7704989128662250393, 7731722432250559639, 1104300072480693820, 12966826694165085383, 5898355191387204970, 418343475844287535, 17504741557362850364, 11212567254567942759, 4585972511305465500, 831671821010246741, 1347174724805777450, 9978241385511108600, 3, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 3, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 4, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 4, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 4, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 4, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 4, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 4, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 4, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 4, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 4, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 4, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 4, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 4, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 4, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 4, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(13) }, program_info: ProgramInfo { program_hash: Word([10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 14, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 16, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 96, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_02.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_02.snap index ee1a733775..f64ab7d7a0 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_02.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_02.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 1, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 7, 0, 1, 0, 0, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 12230109559590207045, 16524836159467994993, 15355865270174544634, 1391859963977339721, 12022620756870035528, 14989772180267129899, 13982693476036346567, 4019135314604422332, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 7798791211572712091, 16041868217785231203, 6640187881380078347, 235747346370324341, 13046105914206547188, 17104930832431035898, 3750541143739447161, 16424211063756942915, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 87, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 5389779285479201372, 17553508332489815141, 15087772099628732551, 5347478766541373443, 10896571887744929962, 11129997511013985752, 8670230788026367137, 9164328147053886136, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 0, 0, 1, 0, 3, 8, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, 9, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 4, 10, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 87, 0, 0, 0, 0, 0, 0, 12075365935646826911, 12555112468856587408, 11785226375886997917, 4824245574712348149, 6698272548511662058, 7437332431719550829, 8805294974760200296, 13665174347101618099, 6738391298770517604, 7192645425446594991, 9388817984500446763, 5794113475247796131, 0, 0, 0, 0, 12970026081624744192, 12744187783136811240, 2410348887864631027, 12978945726327275454, 1554921798601148240, 11229913696364167708, 8973022178183201081, 139928186177466980, 13649876187837155162, 10757898852954163787, 1183567474340415150, 18328332676029395445, 0, 0, 0, 0, 13115145854204970892, 17983425541226801902, 503096672456724597, 17391026586069653618, 11975412188970431284, 12728070322904945002, 12583843770217265045, 5648611480833313028, 5270318028794710036, 9198234540668451702, 15227185125669186823, 13442379348215607242, 0, 7938014903722142143, 4026985013879105156, 15433899134283001186, 5518543654937541191, 7811482114300450425, 18246857844067051489, 5066330555278535354, 12777013593391110699, 12191575961919955189, 17344099196019282708, 13114270510039317151, 14016355395255073114, 6427069658768868190, 2211726190322481583, 4862466322566539257, 0, 6295390960602027128, 1672635780379469502, 5514393169316646408, 15268698329081358799, 6358521007699847181, 8905575183526941079, 6308301555581432298, 2713628301395331598, 15644594447494294958, 2471335144483071788, 7634628028118476493, 8705396367530590759, 510439172729197823, 5910464539270739337, 11313308155928141, 0, 16526896907746924406, 3520066619418494561, 5902635986331447140, 4398972274698089981, 12631024732346185051, 8386841573792151210, 12218015928704154046, 10432140379698280314, 11468177025236775618, 13346741951457031181, 11864092150902575386, 1957967507142109539, 1187524630546802447, 6811974332530919582, 1674557656829922128, 0, 1584868061124279887, 9442704715127069304, 1641023224966192349, 6329396367180888266, 404888665587209724, 1712028768453542123, 9636831554872487700, 11205546840421184087, 14264854432675592118, 4651572474102722880, 2600150713028016700, 7671260856915471824, 13564816252723126852, 12833222284634831992, 3051460357884001758, 0, 428341091691738800, 18339284103630472679, 7870616161402447553, 15334351080828855345, 1972261447295035604, 17003628149811009423, 13559543871756207414, 12791588703509816612, 16874590433396658583, 10546926997829974134, 1613237926847090038, 5103230212642319031, 1275403119419295716, 12931787129843438351, 9482922846676968945, 0, 3664885029783550679, 11363752911665810183, 9134704894151526337, 13215878359575686624, 18224453919930723109, 14701830073355456188, 7627101113505064542, 16932075092084463114, 13716504142013330150, 998335944076440638, 12137387735186731363, 17058369724013530208, 1767224174321722467, 602199799565625282, 4204601874695641395, 0, 7106463660950754017, 7750176763733153254, 7574864206138859398, 4526848524085695537, 12851507948139845134, 12194522465304354477, 203045723268582723, 13800072724692742244, 6219761752233525772, 578458477173417489, 12409381620398170328, 3611444773280584194, 8973301930488357361, 6492541737016997329, 7829849934035424392, 0, 4777343346630271661, 0, 0, 15040112894884950263, 12254503491494638924, 10905362093557669084, 12506798032013022761, 15503156871268737834, 10398894083161474515, 15562472066553605377, 9297592479728714122, 15171127217706380424, 9656102210084357377, 6955904167393062211, 12517713541538021270, 0, 0, 0, 0, 16222821967647715914, 18236388426739201624, 10359860344541184143, 1153281584568447720, 11215911684698899438, 1590480596834601729, 5406804875063937073, 902825103749099378, 4476247383648377898, 6603681318758243995, 7979346268508668223, 9081216985780183305, 0, 0, 0, 0, 7115759549889295004, 17795973162642491077, 3118063002769479276, 3375328991910866222, 14829673264916467260, 17032170639409509898, 15296986551515876803, 17801462043040480905, 12194152217648072934, 15515146157726073849, 587062581941150380, 292701116829680586, 0, 0, 0, 0, 571143354463273441, 9666544608273691458, 12872042550989601583, 10652410992593235579, 11969486770687628423, 5473191134781977608, 6282849523905673255, 17953708178661470530, 9124580738322974913, 3090550876749265149, 6178971316333817527, 17953687842851871221, 0, 1, 0, 0, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 12230109559590207045, 16524836159467994993, 15355865270174544634, 1391859963977339721, 12022620756870035528, 14989772180267129899, 13982693476036346567, 4019135314604422332, 0, 1, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2844174837506797768, 14770415536338085095, 8053473190425314497, 12810585393750772644, 12517162067313615795, 6708309406641442601, 9752285986344000829, 14839297145466054073, 8534874634076336098, 14795338728791802759, 16467940132402131085, 13518949717672180282, 1, 0, 0, 0, 197345143463752877, 11590552548391007208, 8513135180731923185, 4789498072246113352, 11303926357913784691, 11723443921595997802, 14952876297128645088, 4864312901193078229, 6947659381816817219, 1746178727761685368, 12918373769842417551, 8684596229708270516, 1, 0, 0, 0, 3198805477847978589, 13930889360803740657, 15057872115125399602, 10921141672562986793, 5789960870644177461, 15608139912666005512, 12683155364689979788, 18346811491373252273, 10487394721802866951, 11974532682130534845, 1519861526503586143, 1098638899502132867, 1, 17128804603859274179, 15425440231805738567, 2171332404261207924, 12061940714814445323, 16550302237377331826, 12740022639409649481, 4788619492523060974, 12101496647901663530, 12627924597542725825, 4538464495267088575, 7655969430543094352, 17740697538393183772, 1276333715732019707, 14173930302505429451, 13814834917482380980, 1, 13522108978497478647, 15326000623266678192, 3937153401353680192, 5391465844431065097, 18248340349342647871, 15368790604451050198, 14035485820573370176, 16386022069680258207, 9349013130282144239, 1551611900277525346, 9934003659359682927, 4355136691411596250, 6906369583230328082, 6194111766557181711, 7090430103975125421, 1, 6858104153104953844, 2783142950383804293, 8584815630276621541, 13736751627541767595, 14322019951421583643, 7328081675331405521, 2919878666094336280, 18265421608060798137, 847119850511152679, 6488028398833527134, 14030107144688032001, 16464054037947062503, 11306313446221145933, 2618902231753980169, 7111715274719427805, 1, 14207818010411458005, 10702031730649360848, 1427799141318779075, 587927478659780999, 15271511291908440421, 1631153249982564447, 14860375384915403614, 5053574427925446505, 16185831982250091643, 5313306335957257312, 14408389614090560738, 3446934167305825216, 6924078255851134462, 1944495675792485669, 9381181653175935358, 1, 1514501911734050528, 2103447129935109946, 15243544860712411446, 15662501863724208746, 13145679926921004363, 4622578459096655813, 15178320922885462585, 6934952687117461169, 6429901021776189429, 8190297765436449986, 17289740015790507499, 5474448770498973057, 14426481937239015119, 15225288135317750243, 9334877092232131090, 1, 17039418869353369367, 5045115566370760009, 4671027510138840984, 7061837181192953446, 12931235775561067332, 13176020926551886014, 2651979372862304957, 6448209114888282956, 14113477446789099358, 14604918207559224688, 8862983295294549605, 16863262536586421908, 9999167437358985507, 9478876837144190569, 5194157795194187382, 1, 10651133333257123943, 11101110287260233241, 650894676042466653, 15832539727497904498, 16656333065661736860, 18369789225665462210, 2693003614851431067, 772790696866677272, 2480179799990567291, 17304358978184667075, 6187736184647340944, 17237712361917640397, 14072736642225359273, 10623410937495095553, 3019557709101931446, 1, 3558792632055854276, 0, 0, 18279620994548222363, 7537712095633077660, 17235753368900772495, 10138479632844764387, 10676334012313161836, 10151433255181272788, 4221944602571779671, 14378476772841555006, 12143502102929103640, 11730678005747995442, 5601143081558686791, 9280411157191944580, 1, 0, 0, 0, 16884818255031608393, 13045713162430805835, 3600896491691629579, 2370161244647043179, 661552320621341973, 5193471677143062225, 4344568064600414577, 6287012165400024744, 16771346841353293653, 11496244803188049682, 13192283114216253262, 1468753321492310312, 1, 0, 0, 0, 10180755850695837534, 6978965227021412920, 3137528352086851557, 4639410328460555037, 12740940713361972140, 6139739720960649901, 6992560805366421671, 5664952048525874594, 15115584234380815111, 6423836987080682296, 16291666223467597742, 9479232376233529718, 1, 0, 0, 0, 10733409993326982567, 1953734515310810079, 14379372350324944355, 1719086499025241451, 3695292032734759229, 13442410518056192242, 5600036575840165991, 16476082167990762462, 13437881851625150616, 9220830330798622848, 10959186559397338078, 3278679000955332681, 1, 1, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 7798791211572712091, 16041868217785231203, 6640187881380078347, 235747346370324341, 13046105914206547188, 17104930832431035898, 3750541143739447161, 16424211063756942915, 1, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 87, 0, 0, 2, 0, 0, 0, 3140855868878816939, 13853610777244465556, 7305682856568545034, 17768394568131058378, 4102628019324006119, 4284053222036732600, 702918224602433827, 10375695918533438253, 11152995795829941880, 5169004732887479405, 15116124983681184313, 11068900437831795240, 2, 0, 0, 0, 14674311818750931642, 15727102992101643424, 10209637917493742085, 14433760483016802213, 15023858318134776079, 13617465913120919705, 11153310337321385356, 12991360735056054606, 3550460033083965293, 13918925059933519570, 14012164523634193404, 9616156815711922050, 2, 0, 0, 0, 10332893761271738825, 4468346375378916401, 9749151272711495276, 8699061724169347090, 9834940708477034873, 5947156991246950325, 14409035433392705531, 628920525634910939, 11788382252656375499, 4818566561319754770, 14056028560156009139, 14939415572295847861, 2, 5517847790939712612, 17084191072185647983, 4373790465892097554, 4225331220542153300, 2130235836373540041, 11014336955587517267, 13261921604701925672, 13681942946271658553, 12034991783627364558, 1627804654564744257, 2932739946223714750, 6512410412877608540, 6097164629377042547, 13231886920322033342, 11051251506011467161, 2, 6837868493616672931, 3932850543815016562, 5993352762837579443, 17042968652914390951, 10638038987314268392, 827661294420902564, 12480026891102399910, 15584776283300553616, 16018818694656253476, 174727052104985970, 6997609737938415989, 18257746455231651762, 2120214735299642538, 343151165640891818, 10759684562283919705, 2, 9492867381892087299, 16262800480453112023, 17322872276971640738, 14643806196666560377, 15595136242254344950, 7518181154580928497, 1317098796508350392, 10963738407742121793, 909342354741125081, 11768528957432122607, 8394540270261060467, 6404191905775366043, 9794215422759310631, 3090225984746935786, 14584417906224674271, 2, 13612281739545428458, 14760519749949005735, 11059096111732277153, 8127477948862304659, 2899450088585457524, 7178383302195079413, 4080342379963224440, 15065835405932063604, 7174159973314940261, 7866236788120069085, 18372302221082695790, 6755863915990177867, 16393276955272037238, 6508850325341530182, 485362918438249523, 2, 4372640031216207607, 5629259567684105503, 4719933692909427189, 12089107207026598168, 12364521740255563281, 15126929415582004941, 9583199887191732065, 8988068388491896607, 10885812525421994040, 3179713771850761109, 3646259631192899507, 2420177325979175775, 10058704817135704897, 328248192680369153, 1212206002969597043, 2, 16719971632373437139, 8913437407619212875, 12445715620888469070, 14590495590496016249, 12591982458207239898, 3518540272376153691, 13537778478631670985, 5768862501974313259, 6641802290415749520, 2619647825741307367, 5310404789838069255, 2813523707389681640, 6001123487053466814, 13283119919073385632, 3027180794999366288, 2, 16985432419746479334, 1732148218874634898, 10732456770751424600, 6298968617386740411, 5222599433923214178, 18313080032108507945, 16008519283195378358, 13531413419888790066, 2081323533358520207, 15255353550768211576, 17138176985304544396, 15815114409447852656, 390133022963677303, 9368984280090759390, 4226326679630301281, 2, 10878179176838766787, 0, 0, 15143079744491591624, 122684593814478623, 17881594072631522907, 7229419957503946158, 12940017521193772991, 10151817482573032909, 8733418387703005516, 1319594737760624758, 14880293583396293735, 5898942779435783768, 16811128745251295765, 1109240219058196190, 2, 0, 0, 0, 17097058137364766519, 12170170828128327789, 8827354137729360970, 14939098920471879539, 17594240265564849285, 12594120096976711335, 11639588720238971595, 2961214099077550944, 2199574547323924831, 11634736545140098063, 16804232943677874803, 715700715650088406, 2, 0, 0, 0, 8947505233582573905, 6678598843273392764, 3725073892233240125, 7720092071903033897, 5255970636116417070, 12681977177382299121, 9779623946328742809, 268997569335911479, 13033985248158052224, 7447389216002042151, 7736891773241144274, 1940240082052736870, 2, 0, 0, 0, 6118821869453917786, 2608197264550826766, 9411170196077201442, 6661421389020413469, 14375230321868528117, 3141438207172205564, 6958632034797014787, 17400815499287696997, 9312329466912734898, 5143036856532903190, 7161333884680390469, 8058403803683718142, 2, 1, 0, 0, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 5389779285479201372, 17553508332489815141, 15087772099628732551, 5347478766541373443, 10896571887744929962, 11129997511013985752, 8670230788026367137, 9164328147053886136, 2, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 10338918064798200754, 15286122942437340674, 6004213370540561229, 11077881500896133090, 15185046381229794929, 4025060549564442513, 16691190932080263388, 17911971684749301267, 1792647895939561414, 11040149027552020115, 16788268171496683395, 6690778673349798915, 3, 0, 0, 0, 18207620435178905496, 4478894291978491061, 8126565228616187566, 14565598150868720008, 486704718504877876, 5092068149414351847, 4895519870785798161, 18320934558859357026, 4783600071858140824, 7590991738963063833, 15020058681279762757, 8502154501231846969, 3, 0, 0, 0, 1790253480113930875, 11472368064126754753, 16140937904922483949, 12784262958320173457, 8992534124131108063, 17197330755228127793, 17888648586033704362, 3783608546885852925, 11488181860237317371, 6520363121033018355, 5666192756396478125, 14698764588926429548, 3, 4775960838571449442, 12355201513767393906, 16893169864929129892, 3067820580898613927, 4037642048582652770, 6463406968300557513, 1334655449937755180, 16454962669178338822, 3423416796618681452, 15635204112556936010, 11367217176161227780, 15846919749025709683, 8739705468185832455, 1695606868833824155, 14902201197695023622, 3, 7270109453425771694, 6393439473671243944, 5763178267509538253, 87155278506862768, 17182682045085641378, 13669966515951696363, 6730246632471569917, 11015850215265080242, 5781848723365073595, 14722218108828704340, 12249120524157518956, 15530817548594619752, 2571721876460128542, 1124203808167418458, 4658355789422303197, 3, 619730554607827397, 2707784357837694055, 10389429507854625814, 412437114519718435, 17010823019251866220, 8496853728750345058, 3962235926057627964, 7293691342607609411, 4966485821032368622, 17523850342152507329, 16165780461118504337, 6833077136448453098, 18408644517259086000, 13790345385092960681, 1118981994890433291, 3, 2870832816007467384, 2873570063945483268, 5260498635996294368, 10072735002004767449, 7363233941642473793, 10401385213219539176, 9719773007613995950, 10216717372939649307, 13022711033487370480, 9232213967333586262, 3354429439844650126, 13306058477265011029, 3840400538830937486, 15100916108359921929, 12686728912814672715, 3, 10126186915863966894, 13849382609137246799, 14871056570003924152, 4577474152973240700, 10319035267502935180, 1107109480596608884, 910001863439660317, 17323775771861278671, 11990539141370178689, 1895237968841058140, 3069611939766785355, 13990132518689115799, 9158955820349235201, 3334355584256728822, 6532229842765454575, 3, 8418794997351000750, 1324633730077053524, 7680826640634201152, 6943155698572158851, 4119721600018041835, 10160115415927000034, 13670021867743170174, 10426040451143237205, 12527054859506162043, 693011963436135866, 15847427063003354492, 1193915807921269299, 5530767236037587666, 4498758928312101948, 1668396433795256171, 3, 12474497430381571234, 3486558176421926303, 176934443909317952, 8642603494321417085, 13568047686929876305, 13873699071648888616, 5469909543377435991, 1153721650762048262, 6332701647560212482, 14750767280279403533, 3863562993110808460, 10010469643426778773, 13610145136323473859, 13803405503382348517, 10066622964560025039, 3, 6502239097904837007, 0, 0, 11596242931973405682, 7569447524345075040, 11402732351667273497, 17726124048449719654, 2143489115939838335, 2291345291252627066, 13774221459002946228, 5704848367751370496, 14844994802213729480, 13325648093707576188, 655937328333223270, 12601714085039449766, 3, 0, 0, 0, 10080683606039484932, 557142253253508029, 11861574744773262883, 17479297133692971328, 13431343265670357832, 5107644268576628652, 5672451077690842648, 10697999158618521351, 13783189127611294708, 6370270522833708976, 16602411989536803847, 17535824353652041621, 3, 0, 0, 0, 18221718971044951820, 11123331110225556773, 17884963006522019435, 13581862227015801716, 3539406162482662008, 12779267696302831166, 17568889654867020374, 14043625177809463809, 10953842550742243459, 17624483884859046607, 16829866994010956924, 10383254959407238075, 3, 0, 0, 0, 7704989128662250393, 7731722432250559639, 1104300072480693820, 12966826694165085383, 5898355191387204970, 418343475844287535, 17504741557362850364, 11212567254567942759, 4585972511305465500, 831671821010246741, 1347174724805777450, 9978241385511108600, 3, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 3, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 4, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 4, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 4, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 4, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 4, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 4, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 4, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 4, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 4, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 4, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 4, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 4, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 4, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 4, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(13) }, program_info: ProgramInfo { program_hash: Word([10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 14, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 16, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 96, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 1, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 7, 0, 1, 0, 0, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 12230109559590207045, 16524836159467994993, 15355865270174544634, 1391859963977339721, 12022620756870035528, 14989772180267129899, 13982693476036346567, 4019135314604422332, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 7798791211572712091, 16041868217785231203, 6640187881380078347, 235747346370324341, 13046105914206547188, 17104930832431035898, 3750541143739447161, 16424211063756942915, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 87, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 5389779285479201372, 17553508332489815141, 15087772099628732551, 5347478766541373443, 10896571887744929962, 11129997511013985752, 8670230788026367137, 9164328147053886136, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 0, 0, 1, 0, 3, 8, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, 9, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 4, 10, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 0, 87, 0, 0, 0, 0, 0, 0, 12075365935646826911, 12555112468856587408, 11785226375886997917, 4824245574712348149, 6698272548511662058, 7437332431719550829, 8805294974760200296, 13665174347101618099, 6738391298770517604, 7192645425446594991, 9388817984500446763, 5794113475247796131, 0, 0, 0, 0, 12970026081624744192, 12744187783136811240, 2410348887864631027, 12978945726327275454, 1554921798601148240, 11229913696364167708, 8973022178183201081, 139928186177466980, 13649876187837155162, 10757898852954163787, 1183567474340415150, 18328332676029395445, 0, 0, 0, 0, 13115145854204970892, 17983425541226801902, 503096672456724597, 17391026586069653618, 11975412188970431284, 12728070322904945002, 12583843770217265045, 5648611480833313028, 5270318028794710036, 9198234540668451702, 15227185125669186823, 13442379348215607242, 0, 7938014903722142143, 4026985013879105156, 15433899134283001186, 5518543654937541191, 7811482114300450425, 18246857844067051489, 5066330555278535354, 12777013593391110699, 12191575961919955189, 17344099196019282708, 13114270510039317151, 14016355395255073114, 6427069658768868190, 2211726190322481583, 4862466322566539257, 0, 6295390960602027128, 1672635780379469502, 5514393169316646408, 15268698329081358799, 6358521007699847181, 8905575183526941079, 6308301555581432298, 2713628301395331598, 15644594447494294958, 2471335144483071788, 7634628028118476493, 8705396367530590759, 510439172729197823, 5910464539270739337, 11313308155928141, 0, 16526896907746924406, 3520066619418494561, 5902635986331447140, 4398972274698089981, 12631024732346185051, 8386841573792151210, 12218015928704154046, 10432140379698280314, 11468177025236775618, 13346741951457031181, 11864092150902575386, 1957967507142109539, 1187524630546802447, 6811974332530919582, 1674557656829922128, 0, 1584868061124279887, 9442704715127069304, 1641023224966192349, 6329396367180888266, 404888665587209724, 1712028768453542123, 9636831554872487700, 11205546840421184087, 14264854432675592118, 4651572474102722880, 2600150713028016700, 7671260856915471824, 13564816252723126852, 12833222284634831992, 3051460357884001758, 0, 428341091691738800, 18339284103630472679, 7870616161402447553, 15334351080828855345, 1972261447295035604, 17003628149811009423, 13559543871756207414, 12791588703509816612, 16874590433396658583, 10546926997829974134, 1613237926847090038, 5103230212642319031, 1275403119419295716, 12931787129843438351, 9482922846676968945, 0, 3664885029783550679, 11363752911665810183, 9134704894151526337, 13215878359575686624, 18224453919930723109, 14701830073355456188, 7627101113505064542, 16932075092084463114, 13716504142013330150, 998335944076440638, 12137387735186731363, 17058369724013530208, 1767224174321722467, 602199799565625282, 4204601874695641395, 0, 7106463660950754017, 7750176763733153254, 7574864206138859398, 4526848524085695537, 12851507948139845134, 12194522465304354477, 203045723268582723, 13800072724692742244, 6219761752233525772, 578458477173417489, 12409381620398170328, 3611444773280584194, 8973301930488357361, 6492541737016997329, 7829849934035424392, 0, 4777343346630271661, 0, 0, 15040112894884950263, 12254503491494638924, 10905362093557669084, 12506798032013022761, 15503156871268737834, 10398894083161474515, 15562472066553605377, 9297592479728714122, 15171127217706380424, 9656102210084357377, 6955904167393062211, 12517713541538021270, 0, 0, 0, 0, 16222821967647715914, 18236388426739201624, 10359860344541184143, 1153281584568447720, 11215911684698899438, 1590480596834601729, 5406804875063937073, 902825103749099378, 4476247383648377898, 6603681318758243995, 7979346268508668223, 9081216985780183305, 0, 0, 0, 0, 7115759549889295004, 17795973162642491077, 3118063002769479276, 3375328991910866222, 14829673264916467260, 17032170639409509898, 15296986551515876803, 17801462043040480905, 12194152217648072934, 15515146157726073849, 587062581941150380, 292701116829680586, 0, 0, 0, 0, 571143354463273441, 9666544608273691458, 12872042550989601583, 10652410992593235579, 11969486770687628423, 5473191134781977608, 6282849523905673255, 17953708178661470530, 9124580738322974913, 3090550876749265149, 6178971316333817527, 17953687842851871221, 0, 1, 0, 0, 10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048, 12230109559590207045, 16524836159467994993, 15355865270174544634, 1391859963977339721, 12022620756870035528, 14989772180267129899, 13982693476036346567, 4019135314604422332, 0, 1, 0, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2844174837506797768, 14770415536338085095, 8053473190425314497, 12810585393750772644, 12517162067313615795, 6708309406641442601, 9752285986344000829, 14839297145466054073, 8534874634076336098, 14795338728791802759, 16467940132402131085, 13518949717672180282, 1, 0, 0, 0, 197345143463752877, 11590552548391007208, 8513135180731923185, 4789498072246113352, 11303926357913784691, 11723443921595997802, 14952876297128645088, 4864312901193078229, 6947659381816817219, 1746178727761685368, 12918373769842417551, 8684596229708270516, 1, 0, 0, 0, 3198805477847978589, 13930889360803740657, 15057872115125399602, 10921141672562986793, 5789960870644177461, 15608139912666005512, 12683155364689979788, 18346811491373252273, 10487394721802866951, 11974532682130534845, 1519861526503586143, 1098638899502132867, 1, 17128804603859274179, 15425440231805738567, 2171332404261207924, 12061940714814445323, 16550302237377331826, 12740022639409649481, 4788619492523060974, 12101496647901663530, 12627924597542725825, 4538464495267088575, 7655969430543094352, 17740697538393183772, 1276333715732019707, 14173930302505429451, 13814834917482380980, 1, 13522108978497478647, 15326000623266678192, 3937153401353680192, 5391465844431065097, 18248340349342647871, 15368790604451050198, 14035485820573370176, 16386022069680258207, 9349013130282144239, 1551611900277525346, 9934003659359682927, 4355136691411596250, 6906369583230328082, 6194111766557181711, 7090430103975125421, 1, 6858104153104953844, 2783142950383804293, 8584815630276621541, 13736751627541767595, 14322019951421583643, 7328081675331405521, 2919878666094336280, 18265421608060798137, 847119850511152679, 6488028398833527134, 14030107144688032001, 16464054037947062503, 11306313446221145933, 2618902231753980169, 7111715274719427805, 1, 14207818010411458005, 10702031730649360848, 1427799141318779075, 587927478659780999, 15271511291908440421, 1631153249982564447, 14860375384915403614, 5053574427925446505, 16185831982250091643, 5313306335957257312, 14408389614090560738, 3446934167305825216, 6924078255851134462, 1944495675792485669, 9381181653175935358, 1, 1514501911734050528, 2103447129935109946, 15243544860712411446, 15662501863724208746, 13145679926921004363, 4622578459096655813, 15178320922885462585, 6934952687117461169, 6429901021776189429, 8190297765436449986, 17289740015790507499, 5474448770498973057, 14426481937239015119, 15225288135317750243, 9334877092232131090, 1, 17039418869353369367, 5045115566370760009, 4671027510138840984, 7061837181192953446, 12931235775561067332, 13176020926551886014, 2651979372862304957, 6448209114888282956, 14113477446789099358, 14604918207559224688, 8862983295294549605, 16863262536586421908, 9999167437358985507, 9478876837144190569, 5194157795194187382, 1, 10651133333257123943, 11101110287260233241, 650894676042466653, 15832539727497904498, 16656333065661736860, 18369789225665462210, 2693003614851431067, 772790696866677272, 2480179799990567291, 17304358978184667075, 6187736184647340944, 17237712361917640397, 14072736642225359273, 10623410937495095553, 3019557709101931446, 1, 3558792632055854276, 0, 0, 18279620994548222363, 7537712095633077660, 17235753368900772495, 10138479632844764387, 10676334012313161836, 10151433255181272788, 4221944602571779671, 14378476772841555006, 12143502102929103640, 11730678005747995442, 5601143081558686791, 9280411157191944580, 1, 0, 0, 0, 16884818255031608393, 13045713162430805835, 3600896491691629579, 2370161244647043179, 661552320621341973, 5193471677143062225, 4344568064600414577, 6287012165400024744, 16771346841353293653, 11496244803188049682, 13192283114216253262, 1468753321492310312, 1, 0, 0, 0, 10180755850695837534, 6978965227021412920, 3137528352086851557, 4639410328460555037, 12740940713361972140, 6139739720960649901, 6992560805366421671, 5664952048525874594, 15115584234380815111, 6423836987080682296, 16291666223467597742, 9479232376233529718, 1, 0, 0, 0, 10733409993326982567, 1953734515310810079, 14379372350324944355, 1719086499025241451, 3695292032734759229, 13442410518056192242, 5600036575840165991, 16476082167990762462, 13437881851625150616, 9220830330798622848, 10959186559397338078, 3278679000955332681, 1, 1, 0, 0, 14618787401296499486, 12175440663040620259, 17580394656599216612, 9332791485604804823, 7798791211572712091, 16041868217785231203, 6640187881380078347, 235747346370324341, 13046105914206547188, 17104930832431035898, 3750541143739447161, 16424211063756942915, 1, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 87, 0, 0, 2, 0, 0, 0, 3140855868878816939, 13853610777244465556, 7305682856568545034, 17768394568131058378, 4102628019324006119, 4284053222036732600, 702918224602433827, 10375695918533438253, 11152995795829941880, 5169004732887479405, 15116124983681184313, 11068900437831795240, 2, 0, 0, 0, 14674311818750931642, 15727102992101643424, 10209637917493742085, 14433760483016802213, 15023858318134776079, 13617465913120919705, 11153310337321385356, 12991360735056054606, 3550460033083965293, 13918925059933519570, 14012164523634193404, 9616156815711922050, 2, 0, 0, 0, 10332893761271738825, 4468346375378916401, 9749151272711495276, 8699061724169347090, 9834940708477034873, 5947156991246950325, 14409035433392705531, 628920525634910939, 11788382252656375499, 4818566561319754770, 14056028560156009139, 14939415572295847861, 2, 5517847790939712612, 17084191072185647983, 4373790465892097554, 4225331220542153300, 2130235836373540041, 11014336955587517267, 13261921604701925672, 13681942946271658553, 12034991783627364558, 1627804654564744257, 2932739946223714750, 6512410412877608540, 6097164629377042547, 13231886920322033342, 11051251506011467161, 2, 6837868493616672931, 3932850543815016562, 5993352762837579443, 17042968652914390951, 10638038987314268392, 827661294420902564, 12480026891102399910, 15584776283300553616, 16018818694656253476, 174727052104985970, 6997609737938415989, 18257746455231651762, 2120214735299642538, 343151165640891818, 10759684562283919705, 2, 9492867381892087299, 16262800480453112023, 17322872276971640738, 14643806196666560377, 15595136242254344950, 7518181154580928497, 1317098796508350392, 10963738407742121793, 909342354741125081, 11768528957432122607, 8394540270261060467, 6404191905775366043, 9794215422759310631, 3090225984746935786, 14584417906224674271, 2, 13612281739545428458, 14760519749949005735, 11059096111732277153, 8127477948862304659, 2899450088585457524, 7178383302195079413, 4080342379963224440, 15065835405932063604, 7174159973314940261, 7866236788120069085, 18372302221082695790, 6755863915990177867, 16393276955272037238, 6508850325341530182, 485362918438249523, 2, 4372640031216207607, 5629259567684105503, 4719933692909427189, 12089107207026598168, 12364521740255563281, 15126929415582004941, 9583199887191732065, 8988068388491896607, 10885812525421994040, 3179713771850761109, 3646259631192899507, 2420177325979175775, 10058704817135704897, 328248192680369153, 1212206002969597043, 2, 16719971632373437139, 8913437407619212875, 12445715620888469070, 14590495590496016249, 12591982458207239898, 3518540272376153691, 13537778478631670985, 5768862501974313259, 6641802290415749520, 2619647825741307367, 5310404789838069255, 2813523707389681640, 6001123487053466814, 13283119919073385632, 3027180794999366288, 2, 16985432419746479334, 1732148218874634898, 10732456770751424600, 6298968617386740411, 5222599433923214178, 18313080032108507945, 16008519283195378358, 13531413419888790066, 2081323533358520207, 15255353550768211576, 17138176985304544396, 15815114409447852656, 390133022963677303, 9368984280090759390, 4226326679630301281, 2, 10878179176838766787, 0, 0, 15143079744491591624, 122684593814478623, 17881594072631522907, 7229419957503946158, 12940017521193772991, 10151817482573032909, 8733418387703005516, 1319594737760624758, 14880293583396293735, 5898942779435783768, 16811128745251295765, 1109240219058196190, 2, 0, 0, 0, 17097058137364766519, 12170170828128327789, 8827354137729360970, 14939098920471879539, 17594240265564849285, 12594120096976711335, 11639588720238971595, 2961214099077550944, 2199574547323924831, 11634736545140098063, 16804232943677874803, 715700715650088406, 2, 0, 0, 0, 8947505233582573905, 6678598843273392764, 3725073892233240125, 7720092071903033897, 5255970636116417070, 12681977177382299121, 9779623946328742809, 268997569335911479, 13033985248158052224, 7447389216002042151, 7736891773241144274, 1940240082052736870, 2, 0, 0, 0, 6118821869453917786, 2608197264550826766, 9411170196077201442, 6661421389020413469, 14375230321868528117, 3141438207172205564, 6958632034797014787, 17400815499287696997, 9312329466912734898, 5143036856532903190, 7161333884680390469, 8058403803683718142, 2, 1, 0, 0, 11950369617180951798, 9444935041463352282, 8315531457715846029, 9889393354952375157, 5389779285479201372, 17553508332489815141, 15087772099628732551, 5347478766541373443, 10896571887744929962, 11129997511013985752, 8670230788026367137, 9164328147053886136, 2, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 10338918064798200754, 15286122942437340674, 6004213370540561229, 11077881500896133090, 15185046381229794929, 4025060549564442513, 16691190932080263388, 17911971684749301267, 1792647895939561414, 11040149027552020115, 16788268171496683395, 6690778673349798915, 3, 0, 0, 0, 18207620435178905496, 4478894291978491061, 8126565228616187566, 14565598150868720008, 486704718504877876, 5092068149414351847, 4895519870785798161, 18320934558859357026, 4783600071858140824, 7590991738963063833, 15020058681279762757, 8502154501231846969, 3, 0, 0, 0, 1790253480113930875, 11472368064126754753, 16140937904922483949, 12784262958320173457, 8992534124131108063, 17197330755228127793, 17888648586033704362, 3783608546885852925, 11488181860237317371, 6520363121033018355, 5666192756396478125, 14698764588926429548, 3, 4775960838571449442, 12355201513767393906, 16893169864929129892, 3067820580898613927, 4037642048582652770, 6463406968300557513, 1334655449937755180, 16454962669178338822, 3423416796618681452, 15635204112556936010, 11367217176161227780, 15846919749025709683, 8739705468185832455, 1695606868833824155, 14902201197695023622, 3, 7270109453425771694, 6393439473671243944, 5763178267509538253, 87155278506862768, 17182682045085641378, 13669966515951696363, 6730246632471569917, 11015850215265080242, 5781848723365073595, 14722218108828704340, 12249120524157518956, 15530817548594619752, 2571721876460128542, 1124203808167418458, 4658355789422303197, 3, 619730554607827397, 2707784357837694055, 10389429507854625814, 412437114519718435, 17010823019251866220, 8496853728750345058, 3962235926057627964, 7293691342607609411, 4966485821032368622, 17523850342152507329, 16165780461118504337, 6833077136448453098, 18408644517259086000, 13790345385092960681, 1118981994890433291, 3, 2870832816007467384, 2873570063945483268, 5260498635996294368, 10072735002004767449, 7363233941642473793, 10401385213219539176, 9719773007613995950, 10216717372939649307, 13022711033487370480, 9232213967333586262, 3354429439844650126, 13306058477265011029, 3840400538830937486, 15100916108359921929, 12686728912814672715, 3, 10126186915863966894, 13849382609137246799, 14871056570003924152, 4577474152973240700, 10319035267502935180, 1107109480596608884, 910001863439660317, 17323775771861278671, 11990539141370178689, 1895237968841058140, 3069611939766785355, 13990132518689115799, 9158955820349235201, 3334355584256728822, 6532229842765454575, 3, 8418794997351000750, 1324633730077053524, 7680826640634201152, 6943155698572158851, 4119721600018041835, 10160115415927000034, 13670021867743170174, 10426040451143237205, 12527054859506162043, 693011963436135866, 15847427063003354492, 1193915807921269299, 5530767236037587666, 4498758928312101948, 1668396433795256171, 3, 12474497430381571234, 3486558176421926303, 176934443909317952, 8642603494321417085, 13568047686929876305, 13873699071648888616, 5469909543377435991, 1153721650762048262, 6332701647560212482, 14750767280279403533, 3863562993110808460, 10010469643426778773, 13610145136323473859, 13803405503382348517, 10066622964560025039, 3, 6502239097904837007, 0, 0, 11596242931973405682, 7569447524345075040, 11402732351667273497, 17726124048449719654, 2143489115939838335, 2291345291252627066, 13774221459002946228, 5704848367751370496, 14844994802213729480, 13325648093707576188, 655937328333223270, 12601714085039449766, 3, 0, 0, 0, 10080683606039484932, 557142253253508029, 11861574744773262883, 17479297133692971328, 13431343265670357832, 5107644268576628652, 5672451077690842648, 10697999158618521351, 13783189127611294708, 6370270522833708976, 16602411989536803847, 17535824353652041621, 3, 0, 0, 0, 18221718971044951820, 11123331110225556773, 17884963006522019435, 13581862227015801716, 3539406162482662008, 12779267696302831166, 17568889654867020374, 14043625177809463809, 10953842550742243459, 17624483884859046607, 16829866994010956924, 10383254959407238075, 3, 0, 0, 0, 7704989128662250393, 7731722432250559639, 1104300072480693820, 12966826694165085383, 5898355191387204970, 418343475844287535, 17504741557362850364, 11212567254567942759, 4585972511305465500, 831671821010246741, 1347174724805777450, 9978241385511108600, 3, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 3, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 4, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 4, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 4, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 4, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 4, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 4, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 4, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 4, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 4, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 4, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 4, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 4, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 4, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 4, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(13) }, program_info: ProgramInfo { program_hash: Word([10033257784419832427, 14686140193024196894, 15436783799654791584, 11131623826151749048]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 14, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 16, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 96, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_03.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_03.snap index af2d010ba4..d165ad0560 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_03.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_03.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 1, 0, 0, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 0, 0, 14973522761191262497, 4230519249120879894, 2629183259646768977, 10141819052260397061, 13407203767006087071, 12300175896314074402, 2702373535953719449, 14066933458796711308, 2220020800002954405, 1153376321238519426, 9501912115787530137, 11467779250790108687, 0, 0, 0, 0, 17579142101067141791, 16331511478156948621, 2536845301555017815, 4655744751626348560, 1315476336364332532, 12758262197074716778, 17888512728802654414, 5454338212767341777, 14616265448064819190, 4049834289657867128, 2177315978307888394, 2010382289454711711, 0, 0, 0, 0, 12664267918550820934, 8493562230894032491, 10885506335001351491, 10623508799881057302, 10765360003981902673, 4842275562010620878, 8656573021603208590, 2450260130765540973, 17667697651318069254, 3544163002330957814, 9007165683524157049, 4518865977780754525, 0, 12821199281659850615, 12524526780064226282, 8688367803817133517, 7111709976940449855, 6042875499671257036, 10602803306945095136, 18053244771098668210, 15869901507286010642, 15765124758947684257, 909769595464630286, 9984901127103118556, 16104234613185942963, 1596997669664652458, 3285629071226892513, 5254177489666731166, 0, 1319022057496410037, 6723956385664361856, 362758946504872978, 17945942309272171171, 7547510637898886664, 8389575157731885000, 5432655503035172224, 8636630472484196539, 17112531070480946597, 5597227622497427759, 8296183404013335152, 8448226142379838282, 9123809571274586481, 4262155088312829534, 6352753764020113838, 0, 15817353186600079517, 11896741780081321151, 8120557738706811421, 1514840266710990643, 2518758362364209964, 14494370701341234363, 18160488913248834173, 415225714783614736, 14762958776895421659, 1582837024273971615, 826388124734417268, 9723851761924399417, 2904897680946636379, 572660879606393944, 5062575418735094728, 0, 11887745873838856200, 11056257118819520017, 8546453177127819509, 3906777862244807614, 15967237477862396017, 1240858482343082944, 8886870748754950786, 15806110295452780709, 6486381282415609829, 16950387463813522784, 8577643233130284288, 17768236078519772738, 217872450018257683, 6293942954387886585, 10974892067682463496, 0, 2581007320496406744, 7054105961444862624, 15347768076097298693, 8125727413083423821, 10805393644723323985, 13586718478006757236, 17768197347468566879, 17280093366403031105, 635835674863826303, 4568185472217893804, 9296267175044089272, 10337709963460435554, 4440112583501734927, 9729481707513785664, 4743006626934706100, 0, 17610297678684695918, 16364115285854473865, 11595150248116497643, 7035439775474110251, 11847308316956964837, 7889458920902982286, 11305368688963866992, 14287445400250554900, 1893961912880033900, 10317967923286478317, 3918181922279376301, 15000492392148830533, 7931144489554367364, 9476759250402767950, 18270644106765218282, 0, 11532830003582511953, 460321325058925628, 12709513064174486630, 6478715440156951267, 14089413401266079358, 2281022494971066801, 3378217915115563837, 4838851040494198977, 11743317019648187379, 3359761112394096597, 13620706797177850518, 3438335644910777353, 2067033555957484299, 11784176479463653422, 9418905686906839178, 0, 17359699556169412381, 0, 0, 17848865035999698302, 9363353806961732906, 1059359355271114718, 3722579262469999737, 7401377741210733980, 4394776823738550294, 17911331326024175702, 14231054337850845953, 1567229020978754366, 10965059646087563007, 4717306534304214129, 6160606101751839399, 0, 0, 0, 0, 5210262791539000682, 3231850662476970044, 12242203768226360021, 16352185264854542792, 15126409509795103366, 17462025488896312666, 10962575762908536311, 16737021171185522127, 6692618053949882379, 17172828881706643966, 14646740046786928565, 1663831101883973254, 0, 0, 0, 0, 4908282038977879385, 2701244722093391429, 15021286664224332416, 10534803976436280037, 15876667595247308635, 16333738989139894331, 1581145115862775994, 18250779698217077450, 7155162361709676048, 10303228755363253440, 4300281072628271246, 16497484699945471993, 0, 0, 0, 0, 4313772916158122500, 2902278358899028132, 254766801126374444, 5671561640468956184, 4347645646061943576, 1998087227139787801, 12798150249100419438, 647551028640823116, 15480041353865470488, 13024601617472109101, 16248647525361276326, 18146087632373782831, 0, 1, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 2, 0, 0, 0, 17300126657859479093, 11313920102849673527, 6346627796045519057, 7389299619274629431, 9262647006463201494, 12900235463952244627, 7852421498196750068, 1141784430625393243, 12150004112779528077, 146728085155958051, 1479007214074296519, 5326692900453573033, 2, 0, 0, 0, 13417131057632658648, 13887354800197146837, 8609784525483513948, 16453892850627486456, 976357452201521805, 14650998861370095747, 15798952093464371291, 14383483119098647176, 18419038023611574318, 3683052509510392753, 12831965507313403291, 11464211275629339672, 2, 0, 0, 0, 4507099831440932953, 6830877239439284265, 9097811782723336829, 18355313083727954627, 7779515141290159182, 15839592087462215756, 13604506694568008603, 14024127302218670748, 5952493440729260050, 4068297222526233952, 1979966764305086565, 9333200475194576798, 2, 8357924686780715814, 6636884447613425583, 9624380725568248686, 2880287348195737852, 885106567500324074, 6448875554992341703, 9855604354502581698, 9375523715508471459, 12339746387209375629, 10455158341094955823, 15902189126849452967, 12030315950055306153, 12641257084941861137, 15957996139063952329, 15783553274882271383, 2, 5347236343958253894, 4025896570838415692, 14804406762588016934, 182667766089555833, 8746225101260903407, 12800409546363710287, 816655693375320760, 3488220768045884341, 17449960788520479876, 13060006746047445404, 4590648600733170196, 14869579734892957539, 137356745712127171, 13422659882759208113, 2676688078772673635, 2, 2921699901762625847, 2649189506073489962, 9913373798344930711, 7755498383134197376, 17631069913300146763, 918789106343442195, 12710306366297056980, 3352461179293085611, 13949166093507073033, 16957002236887535634, 5578100969514402869, 4043905565383364858, 7659576686417292817, 2367890233987709775, 8348028103004129201, 2, 10172794879368016270, 6345331429530820033, 5837950612071262866, 16650183950518877881, 761183529886498658, 882392762205142966, 10341241875528441727, 10625329717419136765, 9971095066673234358, 4232004013780299993, 4126250918613430195, 1352790980003480299, 15265846796546163655, 16214598491416624701, 6270582476047461808, 2, 3029040881537747494, 16192268821146642419, 1429264540499601619, 723722855549182307, 9275648404607992275, 7653230088222442503, 5336572895513434476, 17267978825783635674, 2055211161196684150, 5382467524735065973, 17562229302921943767, 11689925804137528317, 12333395168151976785, 13928209897558581843, 6382294855606512139, 2, 7880496552213312201, 15122758161943386192, 7696912976710769683, 16684832919913645113, 1325781221503242261, 9767481056214686264, 15383255957179010771, 4765175578813598212, 352612095018961168, 8164700351999240448, 11366624484197321797, 14418389432583501516, 5429053278517118996, 2079377923041037634, 9248817126035377137, 2, 7798482983966084054, 9698350464160947514, 2622165840457703741, 3191144700364674222, 13840521809458223850, 6693472114669876018, 1844850377219340954, 6041824929233084189, 10694505064011226265, 9837159640677247471, 421241411507411802, 1387064907365996610, 7160690172588878117, 6170204562255862519, 11691591530451877345, 2, 12784330368443191752, 0, 0, 1511701347894443705, 3195625100455147555, 8197728783207379545, 449202167972758168, 10429619634413714415, 1266474106654512299, 10043612818557622726, 17546950285193103331, 17459565798841957386, 1545883776729609444, 4559076489231806387, 2919974393045314777, 2, 0, 0, 0, 14541231479059008872, 2573517030855683796, 3524292720580177308, 13855152767270114589, 3006044390476483944, 594411982442348353, 2707135781132813285, 7980470443732427589, 10692471325161091019, 16152944287821214660, 16000995173627170117, 3599288644418559718, 2, 0, 0, 0, 16401658505261312282, 14340768500784081639, 9157399410194868857, 9102901647434269728, 17796618941315046862, 6870559696376279126, 14430288544136295714, 11256415914434052793, 13509056984869078243, 16212533703602772012, 10731537818920783986, 9244614718938709708, 2, 0, 0, 0, 10956055287997745079, 17622456621764780147, 5455165430251125445, 6727955785885619519, 14753857082920611668, 13906110808313848802, 8347093488770218639, 8918883692704710750, 15290172371351697411, 10523129087658444171, 15727241650811717280, 10475089196439845505, 2, 1, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 2, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 10338918064798200754, 15286122942437340674, 6004213370540561229, 11077881500896133090, 15185046381229794929, 4025060549564442513, 16691190932080263388, 17911971684749301267, 1792647895939561414, 11040149027552020115, 16788268171496683395, 6690778673349798915, 3, 0, 0, 0, 18207620435178905496, 4478894291978491061, 8126565228616187566, 14565598150868720008, 486704718504877876, 5092068149414351847, 4895519870785798161, 18320934558859357026, 4783600071858140824, 7590991738963063833, 15020058681279762757, 8502154501231846969, 3, 0, 0, 0, 1790253480113930875, 11472368064126754753, 16140937904922483949, 12784262958320173457, 8992534124131108063, 17197330755228127793, 17888648586033704362, 3783608546885852925, 11488181860237317371, 6520363121033018355, 5666192756396478125, 14698764588926429548, 3, 4775960838571449442, 12355201513767393906, 16893169864929129892, 3067820580898613927, 4037642048582652770, 6463406968300557513, 1334655449937755180, 16454962669178338822, 3423416796618681452, 15635204112556936010, 11367217176161227780, 15846919749025709683, 8739705468185832455, 1695606868833824155, 14902201197695023622, 3, 7270109453425771694, 6393439473671243944, 5763178267509538253, 87155278506862768, 17182682045085641378, 13669966515951696363, 6730246632471569917, 11015850215265080242, 5781848723365073595, 14722218108828704340, 12249120524157518956, 15530817548594619752, 2571721876460128542, 1124203808167418458, 4658355789422303197, 3, 619730554607827397, 2707784357837694055, 10389429507854625814, 412437114519718435, 17010823019251866220, 8496853728750345058, 3962235926057627964, 7293691342607609411, 4966485821032368622, 17523850342152507329, 16165780461118504337, 6833077136448453098, 18408644517259086000, 13790345385092960681, 1118981994890433291, 3, 2870832816007467384, 2873570063945483268, 5260498635996294368, 10072735002004767449, 7363233941642473793, 10401385213219539176, 9719773007613995950, 10216717372939649307, 13022711033487370480, 9232213967333586262, 3354429439844650126, 13306058477265011029, 3840400538830937486, 15100916108359921929, 12686728912814672715, 3, 10126186915863966894, 13849382609137246799, 14871056570003924152, 4577474152973240700, 10319035267502935180, 1107109480596608884, 910001863439660317, 17323775771861278671, 11990539141370178689, 1895237968841058140, 3069611939766785355, 13990132518689115799, 9158955820349235201, 3334355584256728822, 6532229842765454575, 3, 8418794997351000750, 1324633730077053524, 7680826640634201152, 6943155698572158851, 4119721600018041835, 10160115415927000034, 13670021867743170174, 10426040451143237205, 12527054859506162043, 693011963436135866, 15847427063003354492, 1193915807921269299, 5530767236037587666, 4498758928312101948, 1668396433795256171, 3, 12474497430381571234, 3486558176421926303, 176934443909317952, 8642603494321417085, 13568047686929876305, 13873699071648888616, 5469909543377435991, 1153721650762048262, 6332701647560212482, 14750767280279403533, 3863562993110808460, 10010469643426778773, 13610145136323473859, 13803405503382348517, 10066622964560025039, 3, 6502239097904837007, 0, 0, 11596242931973405682, 7569447524345075040, 11402732351667273497, 17726124048449719654, 2143489115939838335, 2291345291252627066, 13774221459002946228, 5704848367751370496, 14844994802213729480, 13325648093707576188, 655937328333223270, 12601714085039449766, 3, 0, 0, 0, 10080683606039484932, 557142253253508029, 11861574744773262883, 17479297133692971328, 13431343265670357832, 5107644268576628652, 5672451077690842648, 10697999158618521351, 13783189127611294708, 6370270522833708976, 16602411989536803847, 17535824353652041621, 3, 0, 0, 0, 18221718971044951820, 11123331110225556773, 17884963006522019435, 13581862227015801716, 3539406162482662008, 12779267696302831166, 17568889654867020374, 14043625177809463809, 10953842550742243459, 17624483884859046607, 16829866994010956924, 10383254959407238075, 3, 0, 0, 0, 7704989128662250393, 7731722432250559639, 1104300072480693820, 12966826694165085383, 5898355191387204970, 418343475844287535, 17504741557362850364, 11212567254567942759, 4585972511305465500, 831671821010246741, 1347174724805777450, 9978241385511108600, 3, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(11) }, program_info: ProgramInfo { program_hash: Word([1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 12, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 1, 0, 0, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 0, 0, 14973522761191262497, 4230519249120879894, 2629183259646768977, 10141819052260397061, 13407203767006087071, 12300175896314074402, 2702373535953719449, 14066933458796711308, 2220020800002954405, 1153376321238519426, 9501912115787530137, 11467779250790108687, 0, 0, 0, 0, 17579142101067141791, 16331511478156948621, 2536845301555017815, 4655744751626348560, 1315476336364332532, 12758262197074716778, 17888512728802654414, 5454338212767341777, 14616265448064819190, 4049834289657867128, 2177315978307888394, 2010382289454711711, 0, 0, 0, 0, 12664267918550820934, 8493562230894032491, 10885506335001351491, 10623508799881057302, 10765360003981902673, 4842275562010620878, 8656573021603208590, 2450260130765540973, 17667697651318069254, 3544163002330957814, 9007165683524157049, 4518865977780754525, 0, 12821199281659850615, 12524526780064226282, 8688367803817133517, 7111709976940449855, 6042875499671257036, 10602803306945095136, 18053244771098668210, 15869901507286010642, 15765124758947684257, 909769595464630286, 9984901127103118556, 16104234613185942963, 1596997669664652458, 3285629071226892513, 5254177489666731166, 0, 1319022057496410037, 6723956385664361856, 362758946504872978, 17945942309272171171, 7547510637898886664, 8389575157731885000, 5432655503035172224, 8636630472484196539, 17112531070480946597, 5597227622497427759, 8296183404013335152, 8448226142379838282, 9123809571274586481, 4262155088312829534, 6352753764020113838, 0, 15817353186600079517, 11896741780081321151, 8120557738706811421, 1514840266710990643, 2518758362364209964, 14494370701341234363, 18160488913248834173, 415225714783614736, 14762958776895421659, 1582837024273971615, 826388124734417268, 9723851761924399417, 2904897680946636379, 572660879606393944, 5062575418735094728, 0, 11887745873838856200, 11056257118819520017, 8546453177127819509, 3906777862244807614, 15967237477862396017, 1240858482343082944, 8886870748754950786, 15806110295452780709, 6486381282415609829, 16950387463813522784, 8577643233130284288, 17768236078519772738, 217872450018257683, 6293942954387886585, 10974892067682463496, 0, 2581007320496406744, 7054105961444862624, 15347768076097298693, 8125727413083423821, 10805393644723323985, 13586718478006757236, 17768197347468566879, 17280093366403031105, 635835674863826303, 4568185472217893804, 9296267175044089272, 10337709963460435554, 4440112583501734927, 9729481707513785664, 4743006626934706100, 0, 17610297678684695918, 16364115285854473865, 11595150248116497643, 7035439775474110251, 11847308316956964837, 7889458920902982286, 11305368688963866992, 14287445400250554900, 1893961912880033900, 10317967923286478317, 3918181922279376301, 15000492392148830533, 7931144489554367364, 9476759250402767950, 18270644106765218282, 0, 11532830003582511953, 460321325058925628, 12709513064174486630, 6478715440156951267, 14089413401266079358, 2281022494971066801, 3378217915115563837, 4838851040494198977, 11743317019648187379, 3359761112394096597, 13620706797177850518, 3438335644910777353, 2067033555957484299, 11784176479463653422, 9418905686906839178, 0, 17359699556169412381, 0, 0, 17848865035999698302, 9363353806961732906, 1059359355271114718, 3722579262469999737, 7401377741210733980, 4394776823738550294, 17911331326024175702, 14231054337850845953, 1567229020978754366, 10965059646087563007, 4717306534304214129, 6160606101751839399, 0, 0, 0, 0, 5210262791539000682, 3231850662476970044, 12242203768226360021, 16352185264854542792, 15126409509795103366, 17462025488896312666, 10962575762908536311, 16737021171185522127, 6692618053949882379, 17172828881706643966, 14646740046786928565, 1663831101883973254, 0, 0, 0, 0, 4908282038977879385, 2701244722093391429, 15021286664224332416, 10534803976436280037, 15876667595247308635, 16333738989139894331, 1581145115862775994, 18250779698217077450, 7155162361709676048, 10303228755363253440, 4300281072628271246, 16497484699945471993, 0, 0, 0, 0, 4313772916158122500, 2902278358899028132, 254766801126374444, 5671561640468956184, 4347645646061943576, 1998087227139787801, 12798150249100419438, 647551028640823116, 15480041353865470488, 13024601617472109101, 16248647525361276326, 18146087632373782831, 0, 1, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 2, 0, 0, 0, 17300126657859479093, 11313920102849673527, 6346627796045519057, 7389299619274629431, 9262647006463201494, 12900235463952244627, 7852421498196750068, 1141784430625393243, 12150004112779528077, 146728085155958051, 1479007214074296519, 5326692900453573033, 2, 0, 0, 0, 13417131057632658648, 13887354800197146837, 8609784525483513948, 16453892850627486456, 976357452201521805, 14650998861370095747, 15798952093464371291, 14383483119098647176, 18419038023611574318, 3683052509510392753, 12831965507313403291, 11464211275629339672, 2, 0, 0, 0, 4507099831440932953, 6830877239439284265, 9097811782723336829, 18355313083727954627, 7779515141290159182, 15839592087462215756, 13604506694568008603, 14024127302218670748, 5952493440729260050, 4068297222526233952, 1979966764305086565, 9333200475194576798, 2, 8357924686780715814, 6636884447613425583, 9624380725568248686, 2880287348195737852, 885106567500324074, 6448875554992341703, 9855604354502581698, 9375523715508471459, 12339746387209375629, 10455158341094955823, 15902189126849452967, 12030315950055306153, 12641257084941861137, 15957996139063952329, 15783553274882271383, 2, 5347236343958253894, 4025896570838415692, 14804406762588016934, 182667766089555833, 8746225101260903407, 12800409546363710287, 816655693375320760, 3488220768045884341, 17449960788520479876, 13060006746047445404, 4590648600733170196, 14869579734892957539, 137356745712127171, 13422659882759208113, 2676688078772673635, 2, 2921699901762625847, 2649189506073489962, 9913373798344930711, 7755498383134197376, 17631069913300146763, 918789106343442195, 12710306366297056980, 3352461179293085611, 13949166093507073033, 16957002236887535634, 5578100969514402869, 4043905565383364858, 7659576686417292817, 2367890233987709775, 8348028103004129201, 2, 10172794879368016270, 6345331429530820033, 5837950612071262866, 16650183950518877881, 761183529886498658, 882392762205142966, 10341241875528441727, 10625329717419136765, 9971095066673234358, 4232004013780299993, 4126250918613430195, 1352790980003480299, 15265846796546163655, 16214598491416624701, 6270582476047461808, 2, 3029040881537747494, 16192268821146642419, 1429264540499601619, 723722855549182307, 9275648404607992275, 7653230088222442503, 5336572895513434476, 17267978825783635674, 2055211161196684150, 5382467524735065973, 17562229302921943767, 11689925804137528317, 12333395168151976785, 13928209897558581843, 6382294855606512139, 2, 7880496552213312201, 15122758161943386192, 7696912976710769683, 16684832919913645113, 1325781221503242261, 9767481056214686264, 15383255957179010771, 4765175578813598212, 352612095018961168, 8164700351999240448, 11366624484197321797, 14418389432583501516, 5429053278517118996, 2079377923041037634, 9248817126035377137, 2, 7798482983966084054, 9698350464160947514, 2622165840457703741, 3191144700364674222, 13840521809458223850, 6693472114669876018, 1844850377219340954, 6041824929233084189, 10694505064011226265, 9837159640677247471, 421241411507411802, 1387064907365996610, 7160690172588878117, 6170204562255862519, 11691591530451877345, 2, 12784330368443191752, 0, 0, 1511701347894443705, 3195625100455147555, 8197728783207379545, 449202167972758168, 10429619634413714415, 1266474106654512299, 10043612818557622726, 17546950285193103331, 17459565798841957386, 1545883776729609444, 4559076489231806387, 2919974393045314777, 2, 0, 0, 0, 14541231479059008872, 2573517030855683796, 3524292720580177308, 13855152767270114589, 3006044390476483944, 594411982442348353, 2707135781132813285, 7980470443732427589, 10692471325161091019, 16152944287821214660, 16000995173627170117, 3599288644418559718, 2, 0, 0, 0, 16401658505261312282, 14340768500784081639, 9157399410194868857, 9102901647434269728, 17796618941315046862, 6870559696376279126, 14430288544136295714, 11256415914434052793, 13509056984869078243, 16212533703602772012, 10731537818920783986, 9244614718938709708, 2, 0, 0, 0, 10956055287997745079, 17622456621764780147, 5455165430251125445, 6727955785885619519, 14753857082920611668, 13906110808313848802, 8347093488770218639, 8918883692704710750, 15290172371351697411, 10523129087658444171, 15727241650811717280, 10475089196439845505, 2, 1, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 2, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 10338918064798200754, 15286122942437340674, 6004213370540561229, 11077881500896133090, 15185046381229794929, 4025060549564442513, 16691190932080263388, 17911971684749301267, 1792647895939561414, 11040149027552020115, 16788268171496683395, 6690778673349798915, 3, 0, 0, 0, 18207620435178905496, 4478894291978491061, 8126565228616187566, 14565598150868720008, 486704718504877876, 5092068149414351847, 4895519870785798161, 18320934558859357026, 4783600071858140824, 7590991738963063833, 15020058681279762757, 8502154501231846969, 3, 0, 0, 0, 1790253480113930875, 11472368064126754753, 16140937904922483949, 12784262958320173457, 8992534124131108063, 17197330755228127793, 17888648586033704362, 3783608546885852925, 11488181860237317371, 6520363121033018355, 5666192756396478125, 14698764588926429548, 3, 4775960838571449442, 12355201513767393906, 16893169864929129892, 3067820580898613927, 4037642048582652770, 6463406968300557513, 1334655449937755180, 16454962669178338822, 3423416796618681452, 15635204112556936010, 11367217176161227780, 15846919749025709683, 8739705468185832455, 1695606868833824155, 14902201197695023622, 3, 7270109453425771694, 6393439473671243944, 5763178267509538253, 87155278506862768, 17182682045085641378, 13669966515951696363, 6730246632471569917, 11015850215265080242, 5781848723365073595, 14722218108828704340, 12249120524157518956, 15530817548594619752, 2571721876460128542, 1124203808167418458, 4658355789422303197, 3, 619730554607827397, 2707784357837694055, 10389429507854625814, 412437114519718435, 17010823019251866220, 8496853728750345058, 3962235926057627964, 7293691342607609411, 4966485821032368622, 17523850342152507329, 16165780461118504337, 6833077136448453098, 18408644517259086000, 13790345385092960681, 1118981994890433291, 3, 2870832816007467384, 2873570063945483268, 5260498635996294368, 10072735002004767449, 7363233941642473793, 10401385213219539176, 9719773007613995950, 10216717372939649307, 13022711033487370480, 9232213967333586262, 3354429439844650126, 13306058477265011029, 3840400538830937486, 15100916108359921929, 12686728912814672715, 3, 10126186915863966894, 13849382609137246799, 14871056570003924152, 4577474152973240700, 10319035267502935180, 1107109480596608884, 910001863439660317, 17323775771861278671, 11990539141370178689, 1895237968841058140, 3069611939766785355, 13990132518689115799, 9158955820349235201, 3334355584256728822, 6532229842765454575, 3, 8418794997351000750, 1324633730077053524, 7680826640634201152, 6943155698572158851, 4119721600018041835, 10160115415927000034, 13670021867743170174, 10426040451143237205, 12527054859506162043, 693011963436135866, 15847427063003354492, 1193915807921269299, 5530767236037587666, 4498758928312101948, 1668396433795256171, 3, 12474497430381571234, 3486558176421926303, 176934443909317952, 8642603494321417085, 13568047686929876305, 13873699071648888616, 5469909543377435991, 1153721650762048262, 6332701647560212482, 14750767280279403533, 3863562993110808460, 10010469643426778773, 13610145136323473859, 13803405503382348517, 10066622964560025039, 3, 6502239097904837007, 0, 0, 11596242931973405682, 7569447524345075040, 11402732351667273497, 17726124048449719654, 2143489115939838335, 2291345291252627066, 13774221459002946228, 5704848367751370496, 14844994802213729480, 13325648093707576188, 655937328333223270, 12601714085039449766, 3, 0, 0, 0, 10080683606039484932, 557142253253508029, 11861574744773262883, 17479297133692971328, 13431343265670357832, 5107644268576628652, 5672451077690842648, 10697999158618521351, 13783189127611294708, 6370270522833708976, 16602411989536803847, 17535824353652041621, 3, 0, 0, 0, 18221718971044951820, 11123331110225556773, 17884963006522019435, 13581862227015801716, 3539406162482662008, 12779267696302831166, 17568889654867020374, 14043625177809463809, 10953842550742243459, 17624483884859046607, 16829866994010956924, 10383254959407238075, 3, 0, 0, 0, 7704989128662250393, 7731722432250559639, 1104300072480693820, 12966826694165085383, 5898355191387204970, 418343475844287535, 17504741557362850364, 11212567254567942759, 4585972511305465500, 831671821010246741, 1347174724805777450, 9978241385511108600, 3, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(11) }, program_info: ProgramInfo { program_hash: Word([1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 12, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_04.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_04.snap index c6ec8b1d2a..a1e32ce3c8 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_04.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_04.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 0, 0, 14973522761191262497, 4230519249120879894, 2629183259646768977, 10141819052260397061, 13407203767006087071, 12300175896314074402, 2702373535953719449, 14066933458796711308, 2220020800002954405, 1153376321238519426, 9501912115787530137, 11467779250790108687, 0, 0, 0, 0, 17579142101067141791, 16331511478156948621, 2536845301555017815, 4655744751626348560, 1315476336364332532, 12758262197074716778, 17888512728802654414, 5454338212767341777, 14616265448064819190, 4049834289657867128, 2177315978307888394, 2010382289454711711, 0, 0, 0, 0, 12664267918550820934, 8493562230894032491, 10885506335001351491, 10623508799881057302, 10765360003981902673, 4842275562010620878, 8656573021603208590, 2450260130765540973, 17667697651318069254, 3544163002330957814, 9007165683524157049, 4518865977780754525, 0, 12821199281659850615, 12524526780064226282, 8688367803817133517, 7111709976940449855, 6042875499671257036, 10602803306945095136, 18053244771098668210, 15869901507286010642, 15765124758947684257, 909769595464630286, 9984901127103118556, 16104234613185942963, 1596997669664652458, 3285629071226892513, 5254177489666731166, 0, 1319022057496410037, 6723956385664361856, 362758946504872978, 17945942309272171171, 7547510637898886664, 8389575157731885000, 5432655503035172224, 8636630472484196539, 17112531070480946597, 5597227622497427759, 8296183404013335152, 8448226142379838282, 9123809571274586481, 4262155088312829534, 6352753764020113838, 0, 15817353186600079517, 11896741780081321151, 8120557738706811421, 1514840266710990643, 2518758362364209964, 14494370701341234363, 18160488913248834173, 415225714783614736, 14762958776895421659, 1582837024273971615, 826388124734417268, 9723851761924399417, 2904897680946636379, 572660879606393944, 5062575418735094728, 0, 11887745873838856200, 11056257118819520017, 8546453177127819509, 3906777862244807614, 15967237477862396017, 1240858482343082944, 8886870748754950786, 15806110295452780709, 6486381282415609829, 16950387463813522784, 8577643233130284288, 17768236078519772738, 217872450018257683, 6293942954387886585, 10974892067682463496, 0, 2581007320496406744, 7054105961444862624, 15347768076097298693, 8125727413083423821, 10805393644723323985, 13586718478006757236, 17768197347468566879, 17280093366403031105, 635835674863826303, 4568185472217893804, 9296267175044089272, 10337709963460435554, 4440112583501734927, 9729481707513785664, 4743006626934706100, 0, 17610297678684695918, 16364115285854473865, 11595150248116497643, 7035439775474110251, 11847308316956964837, 7889458920902982286, 11305368688963866992, 14287445400250554900, 1893961912880033900, 10317967923286478317, 3918181922279376301, 15000492392148830533, 7931144489554367364, 9476759250402767950, 18270644106765218282, 0, 11532830003582511953, 460321325058925628, 12709513064174486630, 6478715440156951267, 14089413401266079358, 2281022494971066801, 3378217915115563837, 4838851040494198977, 11743317019648187379, 3359761112394096597, 13620706797177850518, 3438335644910777353, 2067033555957484299, 11784176479463653422, 9418905686906839178, 0, 17359699556169412381, 0, 0, 17848865035999698302, 9363353806961732906, 1059359355271114718, 3722579262469999737, 7401377741210733980, 4394776823738550294, 17911331326024175702, 14231054337850845953, 1567229020978754366, 10965059646087563007, 4717306534304214129, 6160606101751839399, 0, 0, 0, 0, 5210262791539000682, 3231850662476970044, 12242203768226360021, 16352185264854542792, 15126409509795103366, 17462025488896312666, 10962575762908536311, 16737021171185522127, 6692618053949882379, 17172828881706643966, 14646740046786928565, 1663831101883973254, 0, 0, 0, 0, 4908282038977879385, 2701244722093391429, 15021286664224332416, 10534803976436280037, 15876667595247308635, 16333738989139894331, 1581145115862775994, 18250779698217077450, 7155162361709676048, 10303228755363253440, 4300281072628271246, 16497484699945471993, 0, 0, 0, 0, 4313772916158122500, 2902278358899028132, 254766801126374444, 5671561640468956184, 4347645646061943576, 1998087227139787801, 12798150249100419438, 647551028640823116, 15480041353865470488, 13024601617472109101, 16248647525361276326, 18146087632373782831, 0, 1, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 2, 0, 0, 0, 17300126657859479093, 11313920102849673527, 6346627796045519057, 7389299619274629431, 9262647006463201494, 12900235463952244627, 7852421498196750068, 1141784430625393243, 12150004112779528077, 146728085155958051, 1479007214074296519, 5326692900453573033, 2, 0, 0, 0, 13417131057632658648, 13887354800197146837, 8609784525483513948, 16453892850627486456, 976357452201521805, 14650998861370095747, 15798952093464371291, 14383483119098647176, 18419038023611574318, 3683052509510392753, 12831965507313403291, 11464211275629339672, 2, 0, 0, 0, 4507099831440932953, 6830877239439284265, 9097811782723336829, 18355313083727954627, 7779515141290159182, 15839592087462215756, 13604506694568008603, 14024127302218670748, 5952493440729260050, 4068297222526233952, 1979966764305086565, 9333200475194576798, 2, 8357924686780715814, 6636884447613425583, 9624380725568248686, 2880287348195737852, 885106567500324074, 6448875554992341703, 9855604354502581698, 9375523715508471459, 12339746387209375629, 10455158341094955823, 15902189126849452967, 12030315950055306153, 12641257084941861137, 15957996139063952329, 15783553274882271383, 2, 5347236343958253894, 4025896570838415692, 14804406762588016934, 182667766089555833, 8746225101260903407, 12800409546363710287, 816655693375320760, 3488220768045884341, 17449960788520479876, 13060006746047445404, 4590648600733170196, 14869579734892957539, 137356745712127171, 13422659882759208113, 2676688078772673635, 2, 2921699901762625847, 2649189506073489962, 9913373798344930711, 7755498383134197376, 17631069913300146763, 918789106343442195, 12710306366297056980, 3352461179293085611, 13949166093507073033, 16957002236887535634, 5578100969514402869, 4043905565383364858, 7659576686417292817, 2367890233987709775, 8348028103004129201, 2, 10172794879368016270, 6345331429530820033, 5837950612071262866, 16650183950518877881, 761183529886498658, 882392762205142966, 10341241875528441727, 10625329717419136765, 9971095066673234358, 4232004013780299993, 4126250918613430195, 1352790980003480299, 15265846796546163655, 16214598491416624701, 6270582476047461808, 2, 3029040881537747494, 16192268821146642419, 1429264540499601619, 723722855549182307, 9275648404607992275, 7653230088222442503, 5336572895513434476, 17267978825783635674, 2055211161196684150, 5382467524735065973, 17562229302921943767, 11689925804137528317, 12333395168151976785, 13928209897558581843, 6382294855606512139, 2, 7880496552213312201, 15122758161943386192, 7696912976710769683, 16684832919913645113, 1325781221503242261, 9767481056214686264, 15383255957179010771, 4765175578813598212, 352612095018961168, 8164700351999240448, 11366624484197321797, 14418389432583501516, 5429053278517118996, 2079377923041037634, 9248817126035377137, 2, 7798482983966084054, 9698350464160947514, 2622165840457703741, 3191144700364674222, 13840521809458223850, 6693472114669876018, 1844850377219340954, 6041824929233084189, 10694505064011226265, 9837159640677247471, 421241411507411802, 1387064907365996610, 7160690172588878117, 6170204562255862519, 11691591530451877345, 2, 12784330368443191752, 0, 0, 1511701347894443705, 3195625100455147555, 8197728783207379545, 449202167972758168, 10429619634413714415, 1266474106654512299, 10043612818557622726, 17546950285193103331, 17459565798841957386, 1545883776729609444, 4559076489231806387, 2919974393045314777, 2, 0, 0, 0, 14541231479059008872, 2573517030855683796, 3524292720580177308, 13855152767270114589, 3006044390476483944, 594411982442348353, 2707135781132813285, 7980470443732427589, 10692471325161091019, 16152944287821214660, 16000995173627170117, 3599288644418559718, 2, 0, 0, 0, 16401658505261312282, 14340768500784081639, 9157399410194868857, 9102901647434269728, 17796618941315046862, 6870559696376279126, 14430288544136295714, 11256415914434052793, 13509056984869078243, 16212533703602772012, 10731537818920783986, 9244614718938709708, 2, 0, 0, 0, 10956055287997745079, 17622456621764780147, 5455165430251125445, 6727955785885619519, 14753857082920611668, 13906110808313848802, 8347093488770218639, 8918883692704710750, 15290172371351697411, 10523129087658444171, 15727241650811717280, 10475089196439845505, 2, 1, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 2, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 3, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 3, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 3, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 3, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 3, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 3, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 3, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 3, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 3, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 3, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 3, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 3, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 3, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 3, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(11) }, program_info: ProgramInfo { program_hash: Word([1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 12, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 0, 0, 14973522761191262497, 4230519249120879894, 2629183259646768977, 10141819052260397061, 13407203767006087071, 12300175896314074402, 2702373535953719449, 14066933458796711308, 2220020800002954405, 1153376321238519426, 9501912115787530137, 11467779250790108687, 0, 0, 0, 0, 17579142101067141791, 16331511478156948621, 2536845301555017815, 4655744751626348560, 1315476336364332532, 12758262197074716778, 17888512728802654414, 5454338212767341777, 14616265448064819190, 4049834289657867128, 2177315978307888394, 2010382289454711711, 0, 0, 0, 0, 12664267918550820934, 8493562230894032491, 10885506335001351491, 10623508799881057302, 10765360003981902673, 4842275562010620878, 8656573021603208590, 2450260130765540973, 17667697651318069254, 3544163002330957814, 9007165683524157049, 4518865977780754525, 0, 12821199281659850615, 12524526780064226282, 8688367803817133517, 7111709976940449855, 6042875499671257036, 10602803306945095136, 18053244771098668210, 15869901507286010642, 15765124758947684257, 909769595464630286, 9984901127103118556, 16104234613185942963, 1596997669664652458, 3285629071226892513, 5254177489666731166, 0, 1319022057496410037, 6723956385664361856, 362758946504872978, 17945942309272171171, 7547510637898886664, 8389575157731885000, 5432655503035172224, 8636630472484196539, 17112531070480946597, 5597227622497427759, 8296183404013335152, 8448226142379838282, 9123809571274586481, 4262155088312829534, 6352753764020113838, 0, 15817353186600079517, 11896741780081321151, 8120557738706811421, 1514840266710990643, 2518758362364209964, 14494370701341234363, 18160488913248834173, 415225714783614736, 14762958776895421659, 1582837024273971615, 826388124734417268, 9723851761924399417, 2904897680946636379, 572660879606393944, 5062575418735094728, 0, 11887745873838856200, 11056257118819520017, 8546453177127819509, 3906777862244807614, 15967237477862396017, 1240858482343082944, 8886870748754950786, 15806110295452780709, 6486381282415609829, 16950387463813522784, 8577643233130284288, 17768236078519772738, 217872450018257683, 6293942954387886585, 10974892067682463496, 0, 2581007320496406744, 7054105961444862624, 15347768076097298693, 8125727413083423821, 10805393644723323985, 13586718478006757236, 17768197347468566879, 17280093366403031105, 635835674863826303, 4568185472217893804, 9296267175044089272, 10337709963460435554, 4440112583501734927, 9729481707513785664, 4743006626934706100, 0, 17610297678684695918, 16364115285854473865, 11595150248116497643, 7035439775474110251, 11847308316956964837, 7889458920902982286, 11305368688963866992, 14287445400250554900, 1893961912880033900, 10317967923286478317, 3918181922279376301, 15000492392148830533, 7931144489554367364, 9476759250402767950, 18270644106765218282, 0, 11532830003582511953, 460321325058925628, 12709513064174486630, 6478715440156951267, 14089413401266079358, 2281022494971066801, 3378217915115563837, 4838851040494198977, 11743317019648187379, 3359761112394096597, 13620706797177850518, 3438335644910777353, 2067033555957484299, 11784176479463653422, 9418905686906839178, 0, 17359699556169412381, 0, 0, 17848865035999698302, 9363353806961732906, 1059359355271114718, 3722579262469999737, 7401377741210733980, 4394776823738550294, 17911331326024175702, 14231054337850845953, 1567229020978754366, 10965059646087563007, 4717306534304214129, 6160606101751839399, 0, 0, 0, 0, 5210262791539000682, 3231850662476970044, 12242203768226360021, 16352185264854542792, 15126409509795103366, 17462025488896312666, 10962575762908536311, 16737021171185522127, 6692618053949882379, 17172828881706643966, 14646740046786928565, 1663831101883973254, 0, 0, 0, 0, 4908282038977879385, 2701244722093391429, 15021286664224332416, 10534803976436280037, 15876667595247308635, 16333738989139894331, 1581145115862775994, 18250779698217077450, 7155162361709676048, 10303228755363253440, 4300281072628271246, 16497484699945471993, 0, 0, 0, 0, 4313772916158122500, 2902278358899028132, 254766801126374444, 5671561640468956184, 4347645646061943576, 1998087227139787801, 12798150249100419438, 647551028640823116, 15480041353865470488, 13024601617472109101, 16248647525361276326, 18146087632373782831, 0, 1, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 2, 0, 0, 0, 17300126657859479093, 11313920102849673527, 6346627796045519057, 7389299619274629431, 9262647006463201494, 12900235463952244627, 7852421498196750068, 1141784430625393243, 12150004112779528077, 146728085155958051, 1479007214074296519, 5326692900453573033, 2, 0, 0, 0, 13417131057632658648, 13887354800197146837, 8609784525483513948, 16453892850627486456, 976357452201521805, 14650998861370095747, 15798952093464371291, 14383483119098647176, 18419038023611574318, 3683052509510392753, 12831965507313403291, 11464211275629339672, 2, 0, 0, 0, 4507099831440932953, 6830877239439284265, 9097811782723336829, 18355313083727954627, 7779515141290159182, 15839592087462215756, 13604506694568008603, 14024127302218670748, 5952493440729260050, 4068297222526233952, 1979966764305086565, 9333200475194576798, 2, 8357924686780715814, 6636884447613425583, 9624380725568248686, 2880287348195737852, 885106567500324074, 6448875554992341703, 9855604354502581698, 9375523715508471459, 12339746387209375629, 10455158341094955823, 15902189126849452967, 12030315950055306153, 12641257084941861137, 15957996139063952329, 15783553274882271383, 2, 5347236343958253894, 4025896570838415692, 14804406762588016934, 182667766089555833, 8746225101260903407, 12800409546363710287, 816655693375320760, 3488220768045884341, 17449960788520479876, 13060006746047445404, 4590648600733170196, 14869579734892957539, 137356745712127171, 13422659882759208113, 2676688078772673635, 2, 2921699901762625847, 2649189506073489962, 9913373798344930711, 7755498383134197376, 17631069913300146763, 918789106343442195, 12710306366297056980, 3352461179293085611, 13949166093507073033, 16957002236887535634, 5578100969514402869, 4043905565383364858, 7659576686417292817, 2367890233987709775, 8348028103004129201, 2, 10172794879368016270, 6345331429530820033, 5837950612071262866, 16650183950518877881, 761183529886498658, 882392762205142966, 10341241875528441727, 10625329717419136765, 9971095066673234358, 4232004013780299993, 4126250918613430195, 1352790980003480299, 15265846796546163655, 16214598491416624701, 6270582476047461808, 2, 3029040881537747494, 16192268821146642419, 1429264540499601619, 723722855549182307, 9275648404607992275, 7653230088222442503, 5336572895513434476, 17267978825783635674, 2055211161196684150, 5382467524735065973, 17562229302921943767, 11689925804137528317, 12333395168151976785, 13928209897558581843, 6382294855606512139, 2, 7880496552213312201, 15122758161943386192, 7696912976710769683, 16684832919913645113, 1325781221503242261, 9767481056214686264, 15383255957179010771, 4765175578813598212, 352612095018961168, 8164700351999240448, 11366624484197321797, 14418389432583501516, 5429053278517118996, 2079377923041037634, 9248817126035377137, 2, 7798482983966084054, 9698350464160947514, 2622165840457703741, 3191144700364674222, 13840521809458223850, 6693472114669876018, 1844850377219340954, 6041824929233084189, 10694505064011226265, 9837159640677247471, 421241411507411802, 1387064907365996610, 7160690172588878117, 6170204562255862519, 11691591530451877345, 2, 12784330368443191752, 0, 0, 1511701347894443705, 3195625100455147555, 8197728783207379545, 449202167972758168, 10429619634413714415, 1266474106654512299, 10043612818557622726, 17546950285193103331, 17459565798841957386, 1545883776729609444, 4559076489231806387, 2919974393045314777, 2, 0, 0, 0, 14541231479059008872, 2573517030855683796, 3524292720580177308, 13855152767270114589, 3006044390476483944, 594411982442348353, 2707135781132813285, 7980470443732427589, 10692471325161091019, 16152944287821214660, 16000995173627170117, 3599288644418559718, 2, 0, 0, 0, 16401658505261312282, 14340768500784081639, 9157399410194868857, 9102901647434269728, 17796618941315046862, 6870559696376279126, 14430288544136295714, 11256415914434052793, 13509056984869078243, 16212533703602772012, 10731537818920783986, 9244614718938709708, 2, 0, 0, 0, 10956055287997745079, 17622456621764780147, 5455165430251125445, 6727955785885619519, 14753857082920611668, 13906110808313848802, 8347093488770218639, 8918883692704710750, 15290172371351697411, 10523129087658444171, 15727241650811717280, 10475089196439845505, 2, 1, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 2, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 3, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 3, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 3, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 3, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 3, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 3, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 3, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 3, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 3, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 3, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 3, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 3, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 3, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 3, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(11) }, program_info: ProgramInfo { program_hash: Word([1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 12, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_05.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_05.snap index af2d010ba4..d165ad0560 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_05.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_05.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 1, 0, 0, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 0, 0, 14973522761191262497, 4230519249120879894, 2629183259646768977, 10141819052260397061, 13407203767006087071, 12300175896314074402, 2702373535953719449, 14066933458796711308, 2220020800002954405, 1153376321238519426, 9501912115787530137, 11467779250790108687, 0, 0, 0, 0, 17579142101067141791, 16331511478156948621, 2536845301555017815, 4655744751626348560, 1315476336364332532, 12758262197074716778, 17888512728802654414, 5454338212767341777, 14616265448064819190, 4049834289657867128, 2177315978307888394, 2010382289454711711, 0, 0, 0, 0, 12664267918550820934, 8493562230894032491, 10885506335001351491, 10623508799881057302, 10765360003981902673, 4842275562010620878, 8656573021603208590, 2450260130765540973, 17667697651318069254, 3544163002330957814, 9007165683524157049, 4518865977780754525, 0, 12821199281659850615, 12524526780064226282, 8688367803817133517, 7111709976940449855, 6042875499671257036, 10602803306945095136, 18053244771098668210, 15869901507286010642, 15765124758947684257, 909769595464630286, 9984901127103118556, 16104234613185942963, 1596997669664652458, 3285629071226892513, 5254177489666731166, 0, 1319022057496410037, 6723956385664361856, 362758946504872978, 17945942309272171171, 7547510637898886664, 8389575157731885000, 5432655503035172224, 8636630472484196539, 17112531070480946597, 5597227622497427759, 8296183404013335152, 8448226142379838282, 9123809571274586481, 4262155088312829534, 6352753764020113838, 0, 15817353186600079517, 11896741780081321151, 8120557738706811421, 1514840266710990643, 2518758362364209964, 14494370701341234363, 18160488913248834173, 415225714783614736, 14762958776895421659, 1582837024273971615, 826388124734417268, 9723851761924399417, 2904897680946636379, 572660879606393944, 5062575418735094728, 0, 11887745873838856200, 11056257118819520017, 8546453177127819509, 3906777862244807614, 15967237477862396017, 1240858482343082944, 8886870748754950786, 15806110295452780709, 6486381282415609829, 16950387463813522784, 8577643233130284288, 17768236078519772738, 217872450018257683, 6293942954387886585, 10974892067682463496, 0, 2581007320496406744, 7054105961444862624, 15347768076097298693, 8125727413083423821, 10805393644723323985, 13586718478006757236, 17768197347468566879, 17280093366403031105, 635835674863826303, 4568185472217893804, 9296267175044089272, 10337709963460435554, 4440112583501734927, 9729481707513785664, 4743006626934706100, 0, 17610297678684695918, 16364115285854473865, 11595150248116497643, 7035439775474110251, 11847308316956964837, 7889458920902982286, 11305368688963866992, 14287445400250554900, 1893961912880033900, 10317967923286478317, 3918181922279376301, 15000492392148830533, 7931144489554367364, 9476759250402767950, 18270644106765218282, 0, 11532830003582511953, 460321325058925628, 12709513064174486630, 6478715440156951267, 14089413401266079358, 2281022494971066801, 3378217915115563837, 4838851040494198977, 11743317019648187379, 3359761112394096597, 13620706797177850518, 3438335644910777353, 2067033555957484299, 11784176479463653422, 9418905686906839178, 0, 17359699556169412381, 0, 0, 17848865035999698302, 9363353806961732906, 1059359355271114718, 3722579262469999737, 7401377741210733980, 4394776823738550294, 17911331326024175702, 14231054337850845953, 1567229020978754366, 10965059646087563007, 4717306534304214129, 6160606101751839399, 0, 0, 0, 0, 5210262791539000682, 3231850662476970044, 12242203768226360021, 16352185264854542792, 15126409509795103366, 17462025488896312666, 10962575762908536311, 16737021171185522127, 6692618053949882379, 17172828881706643966, 14646740046786928565, 1663831101883973254, 0, 0, 0, 0, 4908282038977879385, 2701244722093391429, 15021286664224332416, 10534803976436280037, 15876667595247308635, 16333738989139894331, 1581145115862775994, 18250779698217077450, 7155162361709676048, 10303228755363253440, 4300281072628271246, 16497484699945471993, 0, 0, 0, 0, 4313772916158122500, 2902278358899028132, 254766801126374444, 5671561640468956184, 4347645646061943576, 1998087227139787801, 12798150249100419438, 647551028640823116, 15480041353865470488, 13024601617472109101, 16248647525361276326, 18146087632373782831, 0, 1, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 2, 0, 0, 0, 17300126657859479093, 11313920102849673527, 6346627796045519057, 7389299619274629431, 9262647006463201494, 12900235463952244627, 7852421498196750068, 1141784430625393243, 12150004112779528077, 146728085155958051, 1479007214074296519, 5326692900453573033, 2, 0, 0, 0, 13417131057632658648, 13887354800197146837, 8609784525483513948, 16453892850627486456, 976357452201521805, 14650998861370095747, 15798952093464371291, 14383483119098647176, 18419038023611574318, 3683052509510392753, 12831965507313403291, 11464211275629339672, 2, 0, 0, 0, 4507099831440932953, 6830877239439284265, 9097811782723336829, 18355313083727954627, 7779515141290159182, 15839592087462215756, 13604506694568008603, 14024127302218670748, 5952493440729260050, 4068297222526233952, 1979966764305086565, 9333200475194576798, 2, 8357924686780715814, 6636884447613425583, 9624380725568248686, 2880287348195737852, 885106567500324074, 6448875554992341703, 9855604354502581698, 9375523715508471459, 12339746387209375629, 10455158341094955823, 15902189126849452967, 12030315950055306153, 12641257084941861137, 15957996139063952329, 15783553274882271383, 2, 5347236343958253894, 4025896570838415692, 14804406762588016934, 182667766089555833, 8746225101260903407, 12800409546363710287, 816655693375320760, 3488220768045884341, 17449960788520479876, 13060006746047445404, 4590648600733170196, 14869579734892957539, 137356745712127171, 13422659882759208113, 2676688078772673635, 2, 2921699901762625847, 2649189506073489962, 9913373798344930711, 7755498383134197376, 17631069913300146763, 918789106343442195, 12710306366297056980, 3352461179293085611, 13949166093507073033, 16957002236887535634, 5578100969514402869, 4043905565383364858, 7659576686417292817, 2367890233987709775, 8348028103004129201, 2, 10172794879368016270, 6345331429530820033, 5837950612071262866, 16650183950518877881, 761183529886498658, 882392762205142966, 10341241875528441727, 10625329717419136765, 9971095066673234358, 4232004013780299993, 4126250918613430195, 1352790980003480299, 15265846796546163655, 16214598491416624701, 6270582476047461808, 2, 3029040881537747494, 16192268821146642419, 1429264540499601619, 723722855549182307, 9275648404607992275, 7653230088222442503, 5336572895513434476, 17267978825783635674, 2055211161196684150, 5382467524735065973, 17562229302921943767, 11689925804137528317, 12333395168151976785, 13928209897558581843, 6382294855606512139, 2, 7880496552213312201, 15122758161943386192, 7696912976710769683, 16684832919913645113, 1325781221503242261, 9767481056214686264, 15383255957179010771, 4765175578813598212, 352612095018961168, 8164700351999240448, 11366624484197321797, 14418389432583501516, 5429053278517118996, 2079377923041037634, 9248817126035377137, 2, 7798482983966084054, 9698350464160947514, 2622165840457703741, 3191144700364674222, 13840521809458223850, 6693472114669876018, 1844850377219340954, 6041824929233084189, 10694505064011226265, 9837159640677247471, 421241411507411802, 1387064907365996610, 7160690172588878117, 6170204562255862519, 11691591530451877345, 2, 12784330368443191752, 0, 0, 1511701347894443705, 3195625100455147555, 8197728783207379545, 449202167972758168, 10429619634413714415, 1266474106654512299, 10043612818557622726, 17546950285193103331, 17459565798841957386, 1545883776729609444, 4559076489231806387, 2919974393045314777, 2, 0, 0, 0, 14541231479059008872, 2573517030855683796, 3524292720580177308, 13855152767270114589, 3006044390476483944, 594411982442348353, 2707135781132813285, 7980470443732427589, 10692471325161091019, 16152944287821214660, 16000995173627170117, 3599288644418559718, 2, 0, 0, 0, 16401658505261312282, 14340768500784081639, 9157399410194868857, 9102901647434269728, 17796618941315046862, 6870559696376279126, 14430288544136295714, 11256415914434052793, 13509056984869078243, 16212533703602772012, 10731537818920783986, 9244614718938709708, 2, 0, 0, 0, 10956055287997745079, 17622456621764780147, 5455165430251125445, 6727955785885619519, 14753857082920611668, 13906110808313848802, 8347093488770218639, 8918883692704710750, 15290172371351697411, 10523129087658444171, 15727241650811717280, 10475089196439845505, 2, 1, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 2, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 10338918064798200754, 15286122942437340674, 6004213370540561229, 11077881500896133090, 15185046381229794929, 4025060549564442513, 16691190932080263388, 17911971684749301267, 1792647895939561414, 11040149027552020115, 16788268171496683395, 6690778673349798915, 3, 0, 0, 0, 18207620435178905496, 4478894291978491061, 8126565228616187566, 14565598150868720008, 486704718504877876, 5092068149414351847, 4895519870785798161, 18320934558859357026, 4783600071858140824, 7590991738963063833, 15020058681279762757, 8502154501231846969, 3, 0, 0, 0, 1790253480113930875, 11472368064126754753, 16140937904922483949, 12784262958320173457, 8992534124131108063, 17197330755228127793, 17888648586033704362, 3783608546885852925, 11488181860237317371, 6520363121033018355, 5666192756396478125, 14698764588926429548, 3, 4775960838571449442, 12355201513767393906, 16893169864929129892, 3067820580898613927, 4037642048582652770, 6463406968300557513, 1334655449937755180, 16454962669178338822, 3423416796618681452, 15635204112556936010, 11367217176161227780, 15846919749025709683, 8739705468185832455, 1695606868833824155, 14902201197695023622, 3, 7270109453425771694, 6393439473671243944, 5763178267509538253, 87155278506862768, 17182682045085641378, 13669966515951696363, 6730246632471569917, 11015850215265080242, 5781848723365073595, 14722218108828704340, 12249120524157518956, 15530817548594619752, 2571721876460128542, 1124203808167418458, 4658355789422303197, 3, 619730554607827397, 2707784357837694055, 10389429507854625814, 412437114519718435, 17010823019251866220, 8496853728750345058, 3962235926057627964, 7293691342607609411, 4966485821032368622, 17523850342152507329, 16165780461118504337, 6833077136448453098, 18408644517259086000, 13790345385092960681, 1118981994890433291, 3, 2870832816007467384, 2873570063945483268, 5260498635996294368, 10072735002004767449, 7363233941642473793, 10401385213219539176, 9719773007613995950, 10216717372939649307, 13022711033487370480, 9232213967333586262, 3354429439844650126, 13306058477265011029, 3840400538830937486, 15100916108359921929, 12686728912814672715, 3, 10126186915863966894, 13849382609137246799, 14871056570003924152, 4577474152973240700, 10319035267502935180, 1107109480596608884, 910001863439660317, 17323775771861278671, 11990539141370178689, 1895237968841058140, 3069611939766785355, 13990132518689115799, 9158955820349235201, 3334355584256728822, 6532229842765454575, 3, 8418794997351000750, 1324633730077053524, 7680826640634201152, 6943155698572158851, 4119721600018041835, 10160115415927000034, 13670021867743170174, 10426040451143237205, 12527054859506162043, 693011963436135866, 15847427063003354492, 1193915807921269299, 5530767236037587666, 4498758928312101948, 1668396433795256171, 3, 12474497430381571234, 3486558176421926303, 176934443909317952, 8642603494321417085, 13568047686929876305, 13873699071648888616, 5469909543377435991, 1153721650762048262, 6332701647560212482, 14750767280279403533, 3863562993110808460, 10010469643426778773, 13610145136323473859, 13803405503382348517, 10066622964560025039, 3, 6502239097904837007, 0, 0, 11596242931973405682, 7569447524345075040, 11402732351667273497, 17726124048449719654, 2143489115939838335, 2291345291252627066, 13774221459002946228, 5704848367751370496, 14844994802213729480, 13325648093707576188, 655937328333223270, 12601714085039449766, 3, 0, 0, 0, 10080683606039484932, 557142253253508029, 11861574744773262883, 17479297133692971328, 13431343265670357832, 5107644268576628652, 5672451077690842648, 10697999158618521351, 13783189127611294708, 6370270522833708976, 16602411989536803847, 17535824353652041621, 3, 0, 0, 0, 18221718971044951820, 11123331110225556773, 17884963006522019435, 13581862227015801716, 3539406162482662008, 12779267696302831166, 17568889654867020374, 14043625177809463809, 10953842550742243459, 17624483884859046607, 16829866994010956924, 10383254959407238075, 3, 0, 0, 0, 7704989128662250393, 7731722432250559639, 1104300072480693820, 12966826694165085383, 5898355191387204970, 418343475844287535, 17504741557362850364, 11212567254567942759, 4585972511305465500, 831671821010246741, 1347174724805777450, 9978241385511108600, 3, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(11) }, program_info: ProgramInfo { program_hash: Word([1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 12, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 1, 0, 0, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 0, 0, 14973522761191262497, 4230519249120879894, 2629183259646768977, 10141819052260397061, 13407203767006087071, 12300175896314074402, 2702373535953719449, 14066933458796711308, 2220020800002954405, 1153376321238519426, 9501912115787530137, 11467779250790108687, 0, 0, 0, 0, 17579142101067141791, 16331511478156948621, 2536845301555017815, 4655744751626348560, 1315476336364332532, 12758262197074716778, 17888512728802654414, 5454338212767341777, 14616265448064819190, 4049834289657867128, 2177315978307888394, 2010382289454711711, 0, 0, 0, 0, 12664267918550820934, 8493562230894032491, 10885506335001351491, 10623508799881057302, 10765360003981902673, 4842275562010620878, 8656573021603208590, 2450260130765540973, 17667697651318069254, 3544163002330957814, 9007165683524157049, 4518865977780754525, 0, 12821199281659850615, 12524526780064226282, 8688367803817133517, 7111709976940449855, 6042875499671257036, 10602803306945095136, 18053244771098668210, 15869901507286010642, 15765124758947684257, 909769595464630286, 9984901127103118556, 16104234613185942963, 1596997669664652458, 3285629071226892513, 5254177489666731166, 0, 1319022057496410037, 6723956385664361856, 362758946504872978, 17945942309272171171, 7547510637898886664, 8389575157731885000, 5432655503035172224, 8636630472484196539, 17112531070480946597, 5597227622497427759, 8296183404013335152, 8448226142379838282, 9123809571274586481, 4262155088312829534, 6352753764020113838, 0, 15817353186600079517, 11896741780081321151, 8120557738706811421, 1514840266710990643, 2518758362364209964, 14494370701341234363, 18160488913248834173, 415225714783614736, 14762958776895421659, 1582837024273971615, 826388124734417268, 9723851761924399417, 2904897680946636379, 572660879606393944, 5062575418735094728, 0, 11887745873838856200, 11056257118819520017, 8546453177127819509, 3906777862244807614, 15967237477862396017, 1240858482343082944, 8886870748754950786, 15806110295452780709, 6486381282415609829, 16950387463813522784, 8577643233130284288, 17768236078519772738, 217872450018257683, 6293942954387886585, 10974892067682463496, 0, 2581007320496406744, 7054105961444862624, 15347768076097298693, 8125727413083423821, 10805393644723323985, 13586718478006757236, 17768197347468566879, 17280093366403031105, 635835674863826303, 4568185472217893804, 9296267175044089272, 10337709963460435554, 4440112583501734927, 9729481707513785664, 4743006626934706100, 0, 17610297678684695918, 16364115285854473865, 11595150248116497643, 7035439775474110251, 11847308316956964837, 7889458920902982286, 11305368688963866992, 14287445400250554900, 1893961912880033900, 10317967923286478317, 3918181922279376301, 15000492392148830533, 7931144489554367364, 9476759250402767950, 18270644106765218282, 0, 11532830003582511953, 460321325058925628, 12709513064174486630, 6478715440156951267, 14089413401266079358, 2281022494971066801, 3378217915115563837, 4838851040494198977, 11743317019648187379, 3359761112394096597, 13620706797177850518, 3438335644910777353, 2067033555957484299, 11784176479463653422, 9418905686906839178, 0, 17359699556169412381, 0, 0, 17848865035999698302, 9363353806961732906, 1059359355271114718, 3722579262469999737, 7401377741210733980, 4394776823738550294, 17911331326024175702, 14231054337850845953, 1567229020978754366, 10965059646087563007, 4717306534304214129, 6160606101751839399, 0, 0, 0, 0, 5210262791539000682, 3231850662476970044, 12242203768226360021, 16352185264854542792, 15126409509795103366, 17462025488896312666, 10962575762908536311, 16737021171185522127, 6692618053949882379, 17172828881706643966, 14646740046786928565, 1663831101883973254, 0, 0, 0, 0, 4908282038977879385, 2701244722093391429, 15021286664224332416, 10534803976436280037, 15876667595247308635, 16333738989139894331, 1581145115862775994, 18250779698217077450, 7155162361709676048, 10303228755363253440, 4300281072628271246, 16497484699945471993, 0, 0, 0, 0, 4313772916158122500, 2902278358899028132, 254766801126374444, 5671561640468956184, 4347645646061943576, 1998087227139787801, 12798150249100419438, 647551028640823116, 15480041353865470488, 13024601617472109101, 16248647525361276326, 18146087632373782831, 0, 1, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 2, 0, 0, 0, 17300126657859479093, 11313920102849673527, 6346627796045519057, 7389299619274629431, 9262647006463201494, 12900235463952244627, 7852421498196750068, 1141784430625393243, 12150004112779528077, 146728085155958051, 1479007214074296519, 5326692900453573033, 2, 0, 0, 0, 13417131057632658648, 13887354800197146837, 8609784525483513948, 16453892850627486456, 976357452201521805, 14650998861370095747, 15798952093464371291, 14383483119098647176, 18419038023611574318, 3683052509510392753, 12831965507313403291, 11464211275629339672, 2, 0, 0, 0, 4507099831440932953, 6830877239439284265, 9097811782723336829, 18355313083727954627, 7779515141290159182, 15839592087462215756, 13604506694568008603, 14024127302218670748, 5952493440729260050, 4068297222526233952, 1979966764305086565, 9333200475194576798, 2, 8357924686780715814, 6636884447613425583, 9624380725568248686, 2880287348195737852, 885106567500324074, 6448875554992341703, 9855604354502581698, 9375523715508471459, 12339746387209375629, 10455158341094955823, 15902189126849452967, 12030315950055306153, 12641257084941861137, 15957996139063952329, 15783553274882271383, 2, 5347236343958253894, 4025896570838415692, 14804406762588016934, 182667766089555833, 8746225101260903407, 12800409546363710287, 816655693375320760, 3488220768045884341, 17449960788520479876, 13060006746047445404, 4590648600733170196, 14869579734892957539, 137356745712127171, 13422659882759208113, 2676688078772673635, 2, 2921699901762625847, 2649189506073489962, 9913373798344930711, 7755498383134197376, 17631069913300146763, 918789106343442195, 12710306366297056980, 3352461179293085611, 13949166093507073033, 16957002236887535634, 5578100969514402869, 4043905565383364858, 7659576686417292817, 2367890233987709775, 8348028103004129201, 2, 10172794879368016270, 6345331429530820033, 5837950612071262866, 16650183950518877881, 761183529886498658, 882392762205142966, 10341241875528441727, 10625329717419136765, 9971095066673234358, 4232004013780299993, 4126250918613430195, 1352790980003480299, 15265846796546163655, 16214598491416624701, 6270582476047461808, 2, 3029040881537747494, 16192268821146642419, 1429264540499601619, 723722855549182307, 9275648404607992275, 7653230088222442503, 5336572895513434476, 17267978825783635674, 2055211161196684150, 5382467524735065973, 17562229302921943767, 11689925804137528317, 12333395168151976785, 13928209897558581843, 6382294855606512139, 2, 7880496552213312201, 15122758161943386192, 7696912976710769683, 16684832919913645113, 1325781221503242261, 9767481056214686264, 15383255957179010771, 4765175578813598212, 352612095018961168, 8164700351999240448, 11366624484197321797, 14418389432583501516, 5429053278517118996, 2079377923041037634, 9248817126035377137, 2, 7798482983966084054, 9698350464160947514, 2622165840457703741, 3191144700364674222, 13840521809458223850, 6693472114669876018, 1844850377219340954, 6041824929233084189, 10694505064011226265, 9837159640677247471, 421241411507411802, 1387064907365996610, 7160690172588878117, 6170204562255862519, 11691591530451877345, 2, 12784330368443191752, 0, 0, 1511701347894443705, 3195625100455147555, 8197728783207379545, 449202167972758168, 10429619634413714415, 1266474106654512299, 10043612818557622726, 17546950285193103331, 17459565798841957386, 1545883776729609444, 4559076489231806387, 2919974393045314777, 2, 0, 0, 0, 14541231479059008872, 2573517030855683796, 3524292720580177308, 13855152767270114589, 3006044390476483944, 594411982442348353, 2707135781132813285, 7980470443732427589, 10692471325161091019, 16152944287821214660, 16000995173627170117, 3599288644418559718, 2, 0, 0, 0, 16401658505261312282, 14340768500784081639, 9157399410194868857, 9102901647434269728, 17796618941315046862, 6870559696376279126, 14430288544136295714, 11256415914434052793, 13509056984869078243, 16212533703602772012, 10731537818920783986, 9244614718938709708, 2, 0, 0, 0, 10956055287997745079, 17622456621764780147, 5455165430251125445, 6727955785885619519, 14753857082920611668, 13906110808313848802, 8347093488770218639, 8918883692704710750, 15290172371351697411, 10523129087658444171, 15727241650811717280, 10475089196439845505, 2, 1, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 2, 1, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 10338918064798200754, 15286122942437340674, 6004213370540561229, 11077881500896133090, 15185046381229794929, 4025060549564442513, 16691190932080263388, 17911971684749301267, 1792647895939561414, 11040149027552020115, 16788268171496683395, 6690778673349798915, 3, 0, 0, 0, 18207620435178905496, 4478894291978491061, 8126565228616187566, 14565598150868720008, 486704718504877876, 5092068149414351847, 4895519870785798161, 18320934558859357026, 4783600071858140824, 7590991738963063833, 15020058681279762757, 8502154501231846969, 3, 0, 0, 0, 1790253480113930875, 11472368064126754753, 16140937904922483949, 12784262958320173457, 8992534124131108063, 17197330755228127793, 17888648586033704362, 3783608546885852925, 11488181860237317371, 6520363121033018355, 5666192756396478125, 14698764588926429548, 3, 4775960838571449442, 12355201513767393906, 16893169864929129892, 3067820580898613927, 4037642048582652770, 6463406968300557513, 1334655449937755180, 16454962669178338822, 3423416796618681452, 15635204112556936010, 11367217176161227780, 15846919749025709683, 8739705468185832455, 1695606868833824155, 14902201197695023622, 3, 7270109453425771694, 6393439473671243944, 5763178267509538253, 87155278506862768, 17182682045085641378, 13669966515951696363, 6730246632471569917, 11015850215265080242, 5781848723365073595, 14722218108828704340, 12249120524157518956, 15530817548594619752, 2571721876460128542, 1124203808167418458, 4658355789422303197, 3, 619730554607827397, 2707784357837694055, 10389429507854625814, 412437114519718435, 17010823019251866220, 8496853728750345058, 3962235926057627964, 7293691342607609411, 4966485821032368622, 17523850342152507329, 16165780461118504337, 6833077136448453098, 18408644517259086000, 13790345385092960681, 1118981994890433291, 3, 2870832816007467384, 2873570063945483268, 5260498635996294368, 10072735002004767449, 7363233941642473793, 10401385213219539176, 9719773007613995950, 10216717372939649307, 13022711033487370480, 9232213967333586262, 3354429439844650126, 13306058477265011029, 3840400538830937486, 15100916108359921929, 12686728912814672715, 3, 10126186915863966894, 13849382609137246799, 14871056570003924152, 4577474152973240700, 10319035267502935180, 1107109480596608884, 910001863439660317, 17323775771861278671, 11990539141370178689, 1895237968841058140, 3069611939766785355, 13990132518689115799, 9158955820349235201, 3334355584256728822, 6532229842765454575, 3, 8418794997351000750, 1324633730077053524, 7680826640634201152, 6943155698572158851, 4119721600018041835, 10160115415927000034, 13670021867743170174, 10426040451143237205, 12527054859506162043, 693011963436135866, 15847427063003354492, 1193915807921269299, 5530767236037587666, 4498758928312101948, 1668396433795256171, 3, 12474497430381571234, 3486558176421926303, 176934443909317952, 8642603494321417085, 13568047686929876305, 13873699071648888616, 5469909543377435991, 1153721650762048262, 6332701647560212482, 14750767280279403533, 3863562993110808460, 10010469643426778773, 13610145136323473859, 13803405503382348517, 10066622964560025039, 3, 6502239097904837007, 0, 0, 11596242931973405682, 7569447524345075040, 11402732351667273497, 17726124048449719654, 2143489115939838335, 2291345291252627066, 13774221459002946228, 5704848367751370496, 14844994802213729480, 13325648093707576188, 655937328333223270, 12601714085039449766, 3, 0, 0, 0, 10080683606039484932, 557142253253508029, 11861574744773262883, 17479297133692971328, 13431343265670357832, 5107644268576628652, 5672451077690842648, 10697999158618521351, 13783189127611294708, 6370270522833708976, 16602411989536803847, 17535824353652041621, 3, 0, 0, 0, 18221718971044951820, 11123331110225556773, 17884963006522019435, 13581862227015801716, 3539406162482662008, 12779267696302831166, 17568889654867020374, 14043625177809463809, 10953842550742243459, 17624483884859046607, 16829866994010956924, 10383254959407238075, 3, 0, 0, 0, 7704989128662250393, 7731722432250559639, 1104300072480693820, 12966826694165085383, 5898355191387204970, 418343475844287535, 17504741557362850364, 11212567254567942759, 4585972511305465500, 831671821010246741, 1347174724805777450, 9978241385511108600, 3, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 15558099059781162807, 12870793504304295307, 12385397219736869043, 13164551900610862841, 279187929191844389, 3949603689257433549, 17380497166734391477, 5117931133682798382, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(11) }, program_info: ProgramInfo { program_hash: Word([1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 12, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_06.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_06.snap index c6ec8b1d2a..a1e32ce3c8 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_06.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_06.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 0, 0, 14973522761191262497, 4230519249120879894, 2629183259646768977, 10141819052260397061, 13407203767006087071, 12300175896314074402, 2702373535953719449, 14066933458796711308, 2220020800002954405, 1153376321238519426, 9501912115787530137, 11467779250790108687, 0, 0, 0, 0, 17579142101067141791, 16331511478156948621, 2536845301555017815, 4655744751626348560, 1315476336364332532, 12758262197074716778, 17888512728802654414, 5454338212767341777, 14616265448064819190, 4049834289657867128, 2177315978307888394, 2010382289454711711, 0, 0, 0, 0, 12664267918550820934, 8493562230894032491, 10885506335001351491, 10623508799881057302, 10765360003981902673, 4842275562010620878, 8656573021603208590, 2450260130765540973, 17667697651318069254, 3544163002330957814, 9007165683524157049, 4518865977780754525, 0, 12821199281659850615, 12524526780064226282, 8688367803817133517, 7111709976940449855, 6042875499671257036, 10602803306945095136, 18053244771098668210, 15869901507286010642, 15765124758947684257, 909769595464630286, 9984901127103118556, 16104234613185942963, 1596997669664652458, 3285629071226892513, 5254177489666731166, 0, 1319022057496410037, 6723956385664361856, 362758946504872978, 17945942309272171171, 7547510637898886664, 8389575157731885000, 5432655503035172224, 8636630472484196539, 17112531070480946597, 5597227622497427759, 8296183404013335152, 8448226142379838282, 9123809571274586481, 4262155088312829534, 6352753764020113838, 0, 15817353186600079517, 11896741780081321151, 8120557738706811421, 1514840266710990643, 2518758362364209964, 14494370701341234363, 18160488913248834173, 415225714783614736, 14762958776895421659, 1582837024273971615, 826388124734417268, 9723851761924399417, 2904897680946636379, 572660879606393944, 5062575418735094728, 0, 11887745873838856200, 11056257118819520017, 8546453177127819509, 3906777862244807614, 15967237477862396017, 1240858482343082944, 8886870748754950786, 15806110295452780709, 6486381282415609829, 16950387463813522784, 8577643233130284288, 17768236078519772738, 217872450018257683, 6293942954387886585, 10974892067682463496, 0, 2581007320496406744, 7054105961444862624, 15347768076097298693, 8125727413083423821, 10805393644723323985, 13586718478006757236, 17768197347468566879, 17280093366403031105, 635835674863826303, 4568185472217893804, 9296267175044089272, 10337709963460435554, 4440112583501734927, 9729481707513785664, 4743006626934706100, 0, 17610297678684695918, 16364115285854473865, 11595150248116497643, 7035439775474110251, 11847308316956964837, 7889458920902982286, 11305368688963866992, 14287445400250554900, 1893961912880033900, 10317967923286478317, 3918181922279376301, 15000492392148830533, 7931144489554367364, 9476759250402767950, 18270644106765218282, 0, 11532830003582511953, 460321325058925628, 12709513064174486630, 6478715440156951267, 14089413401266079358, 2281022494971066801, 3378217915115563837, 4838851040494198977, 11743317019648187379, 3359761112394096597, 13620706797177850518, 3438335644910777353, 2067033555957484299, 11784176479463653422, 9418905686906839178, 0, 17359699556169412381, 0, 0, 17848865035999698302, 9363353806961732906, 1059359355271114718, 3722579262469999737, 7401377741210733980, 4394776823738550294, 17911331326024175702, 14231054337850845953, 1567229020978754366, 10965059646087563007, 4717306534304214129, 6160606101751839399, 0, 0, 0, 0, 5210262791539000682, 3231850662476970044, 12242203768226360021, 16352185264854542792, 15126409509795103366, 17462025488896312666, 10962575762908536311, 16737021171185522127, 6692618053949882379, 17172828881706643966, 14646740046786928565, 1663831101883973254, 0, 0, 0, 0, 4908282038977879385, 2701244722093391429, 15021286664224332416, 10534803976436280037, 15876667595247308635, 16333738989139894331, 1581145115862775994, 18250779698217077450, 7155162361709676048, 10303228755363253440, 4300281072628271246, 16497484699945471993, 0, 0, 0, 0, 4313772916158122500, 2902278358899028132, 254766801126374444, 5671561640468956184, 4347645646061943576, 1998087227139787801, 12798150249100419438, 647551028640823116, 15480041353865470488, 13024601617472109101, 16248647525361276326, 18146087632373782831, 0, 1, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 2, 0, 0, 0, 17300126657859479093, 11313920102849673527, 6346627796045519057, 7389299619274629431, 9262647006463201494, 12900235463952244627, 7852421498196750068, 1141784430625393243, 12150004112779528077, 146728085155958051, 1479007214074296519, 5326692900453573033, 2, 0, 0, 0, 13417131057632658648, 13887354800197146837, 8609784525483513948, 16453892850627486456, 976357452201521805, 14650998861370095747, 15798952093464371291, 14383483119098647176, 18419038023611574318, 3683052509510392753, 12831965507313403291, 11464211275629339672, 2, 0, 0, 0, 4507099831440932953, 6830877239439284265, 9097811782723336829, 18355313083727954627, 7779515141290159182, 15839592087462215756, 13604506694568008603, 14024127302218670748, 5952493440729260050, 4068297222526233952, 1979966764305086565, 9333200475194576798, 2, 8357924686780715814, 6636884447613425583, 9624380725568248686, 2880287348195737852, 885106567500324074, 6448875554992341703, 9855604354502581698, 9375523715508471459, 12339746387209375629, 10455158341094955823, 15902189126849452967, 12030315950055306153, 12641257084941861137, 15957996139063952329, 15783553274882271383, 2, 5347236343958253894, 4025896570838415692, 14804406762588016934, 182667766089555833, 8746225101260903407, 12800409546363710287, 816655693375320760, 3488220768045884341, 17449960788520479876, 13060006746047445404, 4590648600733170196, 14869579734892957539, 137356745712127171, 13422659882759208113, 2676688078772673635, 2, 2921699901762625847, 2649189506073489962, 9913373798344930711, 7755498383134197376, 17631069913300146763, 918789106343442195, 12710306366297056980, 3352461179293085611, 13949166093507073033, 16957002236887535634, 5578100969514402869, 4043905565383364858, 7659576686417292817, 2367890233987709775, 8348028103004129201, 2, 10172794879368016270, 6345331429530820033, 5837950612071262866, 16650183950518877881, 761183529886498658, 882392762205142966, 10341241875528441727, 10625329717419136765, 9971095066673234358, 4232004013780299993, 4126250918613430195, 1352790980003480299, 15265846796546163655, 16214598491416624701, 6270582476047461808, 2, 3029040881537747494, 16192268821146642419, 1429264540499601619, 723722855549182307, 9275648404607992275, 7653230088222442503, 5336572895513434476, 17267978825783635674, 2055211161196684150, 5382467524735065973, 17562229302921943767, 11689925804137528317, 12333395168151976785, 13928209897558581843, 6382294855606512139, 2, 7880496552213312201, 15122758161943386192, 7696912976710769683, 16684832919913645113, 1325781221503242261, 9767481056214686264, 15383255957179010771, 4765175578813598212, 352612095018961168, 8164700351999240448, 11366624484197321797, 14418389432583501516, 5429053278517118996, 2079377923041037634, 9248817126035377137, 2, 7798482983966084054, 9698350464160947514, 2622165840457703741, 3191144700364674222, 13840521809458223850, 6693472114669876018, 1844850377219340954, 6041824929233084189, 10694505064011226265, 9837159640677247471, 421241411507411802, 1387064907365996610, 7160690172588878117, 6170204562255862519, 11691591530451877345, 2, 12784330368443191752, 0, 0, 1511701347894443705, 3195625100455147555, 8197728783207379545, 449202167972758168, 10429619634413714415, 1266474106654512299, 10043612818557622726, 17546950285193103331, 17459565798841957386, 1545883776729609444, 4559076489231806387, 2919974393045314777, 2, 0, 0, 0, 14541231479059008872, 2573517030855683796, 3524292720580177308, 13855152767270114589, 3006044390476483944, 594411982442348353, 2707135781132813285, 7980470443732427589, 10692471325161091019, 16152944287821214660, 16000995173627170117, 3599288644418559718, 2, 0, 0, 0, 16401658505261312282, 14340768500784081639, 9157399410194868857, 9102901647434269728, 17796618941315046862, 6870559696376279126, 14430288544136295714, 11256415914434052793, 13509056984869078243, 16212533703602772012, 10731537818920783986, 9244614718938709708, 2, 0, 0, 0, 10956055287997745079, 17622456621764780147, 5455165430251125445, 6727955785885619519, 14753857082920611668, 13906110808313848802, 8347093488770218639, 8918883692704710750, 15290172371351697411, 10523129087658444171, 15727241650811717280, 10475089196439845505, 2, 1, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 2, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 3, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 3, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 3, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 3, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 3, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 3, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 3, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 3, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 3, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 3, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 3, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 3, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 3, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 3, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(11) }, program_info: ProgramInfo { program_hash: Word([1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 12, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 0, 87, 0, 0, 0, 0, 0, 0, 14973522761191262497, 4230519249120879894, 2629183259646768977, 10141819052260397061, 13407203767006087071, 12300175896314074402, 2702373535953719449, 14066933458796711308, 2220020800002954405, 1153376321238519426, 9501912115787530137, 11467779250790108687, 0, 0, 0, 0, 17579142101067141791, 16331511478156948621, 2536845301555017815, 4655744751626348560, 1315476336364332532, 12758262197074716778, 17888512728802654414, 5454338212767341777, 14616265448064819190, 4049834289657867128, 2177315978307888394, 2010382289454711711, 0, 0, 0, 0, 12664267918550820934, 8493562230894032491, 10885506335001351491, 10623508799881057302, 10765360003981902673, 4842275562010620878, 8656573021603208590, 2450260130765540973, 17667697651318069254, 3544163002330957814, 9007165683524157049, 4518865977780754525, 0, 12821199281659850615, 12524526780064226282, 8688367803817133517, 7111709976940449855, 6042875499671257036, 10602803306945095136, 18053244771098668210, 15869901507286010642, 15765124758947684257, 909769595464630286, 9984901127103118556, 16104234613185942963, 1596997669664652458, 3285629071226892513, 5254177489666731166, 0, 1319022057496410037, 6723956385664361856, 362758946504872978, 17945942309272171171, 7547510637898886664, 8389575157731885000, 5432655503035172224, 8636630472484196539, 17112531070480946597, 5597227622497427759, 8296183404013335152, 8448226142379838282, 9123809571274586481, 4262155088312829534, 6352753764020113838, 0, 15817353186600079517, 11896741780081321151, 8120557738706811421, 1514840266710990643, 2518758362364209964, 14494370701341234363, 18160488913248834173, 415225714783614736, 14762958776895421659, 1582837024273971615, 826388124734417268, 9723851761924399417, 2904897680946636379, 572660879606393944, 5062575418735094728, 0, 11887745873838856200, 11056257118819520017, 8546453177127819509, 3906777862244807614, 15967237477862396017, 1240858482343082944, 8886870748754950786, 15806110295452780709, 6486381282415609829, 16950387463813522784, 8577643233130284288, 17768236078519772738, 217872450018257683, 6293942954387886585, 10974892067682463496, 0, 2581007320496406744, 7054105961444862624, 15347768076097298693, 8125727413083423821, 10805393644723323985, 13586718478006757236, 17768197347468566879, 17280093366403031105, 635835674863826303, 4568185472217893804, 9296267175044089272, 10337709963460435554, 4440112583501734927, 9729481707513785664, 4743006626934706100, 0, 17610297678684695918, 16364115285854473865, 11595150248116497643, 7035439775474110251, 11847308316956964837, 7889458920902982286, 11305368688963866992, 14287445400250554900, 1893961912880033900, 10317967923286478317, 3918181922279376301, 15000492392148830533, 7931144489554367364, 9476759250402767950, 18270644106765218282, 0, 11532830003582511953, 460321325058925628, 12709513064174486630, 6478715440156951267, 14089413401266079358, 2281022494971066801, 3378217915115563837, 4838851040494198977, 11743317019648187379, 3359761112394096597, 13620706797177850518, 3438335644910777353, 2067033555957484299, 11784176479463653422, 9418905686906839178, 0, 17359699556169412381, 0, 0, 17848865035999698302, 9363353806961732906, 1059359355271114718, 3722579262469999737, 7401377741210733980, 4394776823738550294, 17911331326024175702, 14231054337850845953, 1567229020978754366, 10965059646087563007, 4717306534304214129, 6160606101751839399, 0, 0, 0, 0, 5210262791539000682, 3231850662476970044, 12242203768226360021, 16352185264854542792, 15126409509795103366, 17462025488896312666, 10962575762908536311, 16737021171185522127, 6692618053949882379, 17172828881706643966, 14646740046786928565, 1663831101883973254, 0, 0, 0, 0, 4908282038977879385, 2701244722093391429, 15021286664224332416, 10534803976436280037, 15876667595247308635, 16333738989139894331, 1581145115862775994, 18250779698217077450, 7155162361709676048, 10303228755363253440, 4300281072628271246, 16497484699945471993, 0, 0, 0, 0, 4313772916158122500, 2902278358899028132, 254766801126374444, 5671561640468956184, 4347645646061943576, 1998087227139787801, 12798150249100419438, 647551028640823116, 15480041353865470488, 13024601617472109101, 16248647525361276326, 18146087632373782831, 0, 1, 0, 0, 1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209, 484349804684265665, 6880098633847640351, 846980218218532239, 17903889365796795298, 5550459936565271753, 9107753202341829570, 15324484398676964645, 9257266254418654737, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 1942941126776981551, 9461460041610899538, 7600020670677266955, 3257731577738044347, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 84, 0, 0, 2, 0, 0, 0, 17300126657859479093, 11313920102849673527, 6346627796045519057, 7389299619274629431, 9262647006463201494, 12900235463952244627, 7852421498196750068, 1141784430625393243, 12150004112779528077, 146728085155958051, 1479007214074296519, 5326692900453573033, 2, 0, 0, 0, 13417131057632658648, 13887354800197146837, 8609784525483513948, 16453892850627486456, 976357452201521805, 14650998861370095747, 15798952093464371291, 14383483119098647176, 18419038023611574318, 3683052509510392753, 12831965507313403291, 11464211275629339672, 2, 0, 0, 0, 4507099831440932953, 6830877239439284265, 9097811782723336829, 18355313083727954627, 7779515141290159182, 15839592087462215756, 13604506694568008603, 14024127302218670748, 5952493440729260050, 4068297222526233952, 1979966764305086565, 9333200475194576798, 2, 8357924686780715814, 6636884447613425583, 9624380725568248686, 2880287348195737852, 885106567500324074, 6448875554992341703, 9855604354502581698, 9375523715508471459, 12339746387209375629, 10455158341094955823, 15902189126849452967, 12030315950055306153, 12641257084941861137, 15957996139063952329, 15783553274882271383, 2, 5347236343958253894, 4025896570838415692, 14804406762588016934, 182667766089555833, 8746225101260903407, 12800409546363710287, 816655693375320760, 3488220768045884341, 17449960788520479876, 13060006746047445404, 4590648600733170196, 14869579734892957539, 137356745712127171, 13422659882759208113, 2676688078772673635, 2, 2921699901762625847, 2649189506073489962, 9913373798344930711, 7755498383134197376, 17631069913300146763, 918789106343442195, 12710306366297056980, 3352461179293085611, 13949166093507073033, 16957002236887535634, 5578100969514402869, 4043905565383364858, 7659576686417292817, 2367890233987709775, 8348028103004129201, 2, 10172794879368016270, 6345331429530820033, 5837950612071262866, 16650183950518877881, 761183529886498658, 882392762205142966, 10341241875528441727, 10625329717419136765, 9971095066673234358, 4232004013780299993, 4126250918613430195, 1352790980003480299, 15265846796546163655, 16214598491416624701, 6270582476047461808, 2, 3029040881537747494, 16192268821146642419, 1429264540499601619, 723722855549182307, 9275648404607992275, 7653230088222442503, 5336572895513434476, 17267978825783635674, 2055211161196684150, 5382467524735065973, 17562229302921943767, 11689925804137528317, 12333395168151976785, 13928209897558581843, 6382294855606512139, 2, 7880496552213312201, 15122758161943386192, 7696912976710769683, 16684832919913645113, 1325781221503242261, 9767481056214686264, 15383255957179010771, 4765175578813598212, 352612095018961168, 8164700351999240448, 11366624484197321797, 14418389432583501516, 5429053278517118996, 2079377923041037634, 9248817126035377137, 2, 7798482983966084054, 9698350464160947514, 2622165840457703741, 3191144700364674222, 13840521809458223850, 6693472114669876018, 1844850377219340954, 6041824929233084189, 10694505064011226265, 9837159640677247471, 421241411507411802, 1387064907365996610, 7160690172588878117, 6170204562255862519, 11691591530451877345, 2, 12784330368443191752, 0, 0, 1511701347894443705, 3195625100455147555, 8197728783207379545, 449202167972758168, 10429619634413714415, 1266474106654512299, 10043612818557622726, 17546950285193103331, 17459565798841957386, 1545883776729609444, 4559076489231806387, 2919974393045314777, 2, 0, 0, 0, 14541231479059008872, 2573517030855683796, 3524292720580177308, 13855152767270114589, 3006044390476483944, 594411982442348353, 2707135781132813285, 7980470443732427589, 10692471325161091019, 16152944287821214660, 16000995173627170117, 3599288644418559718, 2, 0, 0, 0, 16401658505261312282, 14340768500784081639, 9157399410194868857, 9102901647434269728, 17796618941315046862, 6870559696376279126, 14430288544136295714, 11256415914434052793, 13509056984869078243, 16212533703602772012, 10731537818920783986, 9244614718938709708, 2, 0, 0, 0, 10956055287997745079, 17622456621764780147, 5455165430251125445, 6727955785885619519, 14753857082920611668, 13906110808313848802, 8347093488770218639, 8918883692704710750, 15290172371351697411, 10523129087658444171, 15727241650811717280, 10475089196439845505, 2, 1, 0, 0, 10403713768525900847, 2139411523427040457, 8515917035379853351, 856023126862020256, 5748739229791737666, 3971489439724797398, 10156667480279311531, 10471841795831116097, 4161518306931659446, 14664557596733629071, 10457686661281861787, 5372530612210116852, 2, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 3, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 3, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 3, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 3, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 3, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 3, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 3, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 3, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 3, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 3, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 3, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 3, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 3, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 3, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(11) }, program_info: ProgramInfo { program_hash: Word([1876701632238060746, 15418340615945340323, 12750157181197398124, 14164386418602606209]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 12, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_07.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_07.snap index 5478beb097..8828c1b7dc 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_07.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_07.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 0, 41, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 1, 0, 0, 1, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 7, 1, 0, 0, 9, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 0, 0, 14526210785099218637, 11847263499640079386, 14727111875255715984, 15492005690507045243, 3560320103534777253, 6108459071875623888, 17010585649681490524, 9461625672567273576, 5346213935533921584, 17324400741801951375, 11366145235097950908, 11020281342858012232, 0, 0, 0, 0, 16197070053425155514, 15404003330998391348, 11930643358177149189, 1706026293115752249, 4860311493079570077, 17106682771221635926, 1613342353291471586, 10021094444428090144, 295368900173018762, 10362371049945425700, 9316163589333399506, 7378950726844095693, 0, 0, 0, 0, 11506810158870826797, 14392904697466827547, 17905937794745323592, 17513565884470753819, 7019811109989114514, 10250939299242755101, 7620822681592706112, 12768902792042039708, 744728025267091276, 16212166364245632221, 10010770609378408333, 15023204573923685916, 0, 9206943447329060417, 1573227013771687083, 7633983188953929869, 14747762092445444483, 12960730896173836507, 5351433366377253619, 4177159482546072600, 17061003377938727239, 9435579121926835049, 9864020053232925179, 11244311170762781618, 2840907732738372264, 7192941522047765124, 6173174116697481058, 13004561835267794042, 0, 12007385695887985386, 13598702180788517287, 3912064789771327196, 11932998954627996911, 3853323028698833085, 11507033346049547360, 10110848241210835991, 15428609857280202530, 17110299148476621277, 12520416593002020608, 9431488564150546187, 2602629576595200800, 15183940660821516128, 15328070744340284046, 9882485700386666987, 0, 2642957852140576392, 12998709907982857483, 4565256592569070651, 4013127352579691203, 10860110376897053120, 13677509527593892026, 2308518476531625659, 6232392686954434349, 13948263847203418837, 7843559618500491242, 7771043128539275771, 18270783924518568037, 16689544634184962614, 16359543813917605495, 8488375023251026510, 0, 13959988857529015221, 12915245760499792818, 14841159553908529338, 14670848694035742368, 13930039566082372841, 9902385290951234306, 3203646694279229751, 13440312555890036471, 10385999516795969620, 11713935020689149772, 12229669264695050570, 402942260260809100, 16753462626177821460, 662362961313881669, 5887183544599407053, 0, 14402936773953440947, 2012430503613052642, 1213953359224393220, 13944145787018602210, 6056959262477445647, 4982640241702718669, 1688381135968391307, 4510633793399532317, 7320984145724666154, 4691989180601120012, 102059673196228558, 1411198915631488472, 1854414388528665842, 16986811917033125654, 795637807896719676, 0, 6294256185997130924, 4739079035802422148, 10935612526477766520, 17716511124280484394, 5021001597521525061, 18126874747305633609, 481644947884807344, 6049685422777720638, 1030047529196261526, 9576302115777192780, 10035472829778314322, 923305066890152615, 12527260620733941943, 11414360666749268526, 17760291183069624834, 0, 10231661581337343904, 1832808263237927056, 6905801525972141190, 7456565975287668714, 12513973463050722371, 15559507328575476525, 2883833371658699080, 3184838730020301861, 18205970767593414562, 2798075613901729544, 189593258747480201, 13243754036156659300, 5745460764532976218, 2786581607585809614, 17436021357923428450, 0, 72056538882336487, 0, 0, 5652048509186166814, 15367385573432163092, 6683125870356394251, 3770937106356856256, 1769679637596203925, 14372844572054653742, 13769745398507346855, 11807785571768521955, 5724215673931049374, 4401662327723853424, 11928715632009092524, 9924361168171239878, 0, 0, 0, 0, 15128667119917371737, 8016996928120686373, 7467419359957362665, 4993381537595555977, 9371037824338144222, 2930594646951740022, 3944515787153841278, 5454163417882053837, 7667177038930845021, 10105079595217614088, 5177647710243780137, 13395674984723106859, 0, 0, 0, 0, 17075658029987678701, 16942975531700611427, 3643709618611291855, 1334709094417075573, 11909212706933233016, 9741605425019020242, 7607696627297382550, 15299729661431018600, 7032572794257903279, 16683658838871091473, 3645139219999290477, 7245544203380098384, 0, 0, 0, 0, 12068304939642236116, 13614044321092849027, 2880541849277464939, 815353510606417922, 14606426392222040491, 10929343986009381754, 18415245620786467058, 16142346014486690114, 10307567187784261413, 3831820208496643010, 14408727760370549811, 16272758710359397343, 0, 1, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 2, 0, 0, 0, 12086689928305136975, 10578835246084642663, 16542988469676950340, 18039575486237140027, 11378817209220925403, 1830288712116369429, 6836951313152193092, 13067316829245445662, 10483719891652983399, 15107628385291453978, 5745482890193398991, 1467598035505522824, 2, 0, 0, 0, 6641033060700930640, 8002128452364190151, 4237597913508652736, 16497663922788367837, 9373930087271682821, 8772840226065969951, 13812790890684464043, 3327344850838518736, 15781875901493184698, 16732525831131872764, 1159309880266465962, 6519234662137256116, 2, 0, 0, 0, 10088943647124252289, 13701383109068607902, 15690388373484222925, 4290213237740108975, 15844775943612000391, 16171043348080529647, 8784789786127538562, 12635460091357573504, 10561363445665196403, 3917577954302608976, 5337858229134527127, 14152777758433279341, 2, 13029570897742009002, 13177254746172619023, 16038571161593335404, 2188338323498964707, 14662423055206707252, 399526319231252303, 14972684080243877319, 16777311805145501140, 6099803173114002593, 11253362042985817221, 10221863501466764826, 13414791437675451535, 2725322839420367772, 11819412321405778772, 13817033321558649088, 2, 13691749519374287845, 15387673422637086663, 6922978787178957527, 2041172898547348571, 14589651886185789070, 5957633751491508475, 11960354433033043999, 15992971255870582512, 11830967408320733184, 15268965263556481837, 9065968121241919240, 14630209597160847101, 3695262652988767746, 6761434464064434034, 4499935311821727041, 2, 15420756780139702261, 12424942891141165558, 6929528357507663172, 12198893338677478437, 18421446739075495822, 8468855093677567166, 14423050383612849622, 15188396328060565700, 16106496456550916799, 4380220556771000987, 18185062664582859482, 3471791712555441489, 5206529722281859812, 12099854936489528262, 3482375809599031896, 2, 15574108340013622137, 15113564352853103247, 11759657553614819330, 8329975443345290464, 17940882943282719830, 715706186220073675, 11225208304861844348, 11251091880797815873, 16487042113140331701, 2684378958809639271, 18420809765897439905, 5225320321320513732, 6305682781245368810, 4669442538207571276, 14700449525371639507, 2, 2979254376677653503, 1883000689168719362, 8104422763610466617, 5576229311275790732, 2194272311725182022, 11069690432331401312, 9059389138265053881, 8765354464725236382, 9222374345361788506, 18259801840836875925, 6516753426367602114, 16862896352549227556, 4308341550229035638, 3265342498516698837, 13464131825573347891, 2, 13700569878861168214, 2688488967505940113, 3894270749155947782, 13272913612051073638, 229891148220106304, 8827790146883078828, 18375171102175520942, 14403529172649637015, 13099700194841873205, 188376523053645225, 1993959712224675182, 14801384607878448444, 10465527702245819388, 17660990215931846922, 908628888712311860, 2, 17841857416383363570, 1410880649834889205, 15205315845157535511, 474005396413342575, 13140045598301896487, 3896472587811302452, 11889483340877797878, 10675872888943407911, 9043988711004206942, 6590644200881402626, 6630214594291443650, 7328314644790889015, 1925120838408255657, 12102121948068675841, 3366469296269798303, 2, 9810051462759316493, 0, 0, 1967048762267479030, 14694789381285854906, 7850615184380239535, 6179804070945807128, 6190847648382551976, 7074541545875785618, 9996122377954848783, 18406348765365233841, 4381980521208731448, 2527214276140522656, 17476881528019612421, 10227790736734811126, 2, 0, 0, 0, 12825387260273911399, 6194529288585122100, 10547428200413979362, 7146038864248149980, 3758150568829560250, 6436891845148661154, 9620702432336511668, 2457824222102594551, 13331592005230563304, 11086532868255377399, 4413541832527011587, 16051730796051624324, 2, 0, 0, 0, 16438196827052442198, 18163112479653478435, 13659775893412875850, 9240379517650154023, 17622738652736541491, 10377502873777599097, 14167784496777925017, 8652392797374596693, 10690605953822876908, 6607959159332506262, 7925296024181542304, 11865355698347075352, 2, 0, 0, 0, 8453841446519729480, 5007921045949414127, 10571120719178391220, 9766554424414228694, 8901262338981550121, 11643533070801732852, 18177267262839360795, 4695688607260963965, 5981212851350180937, 7185340145346514702, 15820300171842782914, 13017849308841041926, 2, 1, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 2, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 9406198837081470939, 12454644480646831381, 5357297729805547264, 15695767008081417024, 17081781165782008305, 18173774266735228622, 6597958223090468622, 10058815580948772803, 9341085403015625984, 17305809056185869492, 16092333721991261411, 14466140396882267896, 3, 0, 0, 0, 10022220918800215931, 6625466299838152616, 14873368774111773763, 13822207310342005989, 11851640107665623803, 4144160359412257714, 1001954617881206717, 2558852513241095712, 8048571622541726255, 3796262690630383451, 12690029978283677858, 7698456735078463171, 3, 0, 0, 0, 1529838978363474364, 5877585793149040063, 11620602129319348479, 3184399423922769699, 4766473366160256877, 7300042540399827448, 2462275239493078851, 11288811565422176008, 16822095754433680909, 18301782264345075251, 18087044935643148806, 510047809549721667, 3, 17625583494235189807, 10622457062204255065, 2653216356844660597, 9475027500051639757, 10463750966311648190, 11600868756246964674, 15662168292079378087, 14737424852298451342, 117344945972585870, 3251083096698399603, 12684542007451613640, 4788924408482455108, 6902797868122893844, 15800238251163812693, 12046292011878974455, 3, 7496472832454263388, 12998172934440185624, 17507911152779544052, 16456090005001040440, 16590029451027219509, 2617628953138715244, 622817961215058190, 1598986500188737220, 17607068252592942451, 15060402253986549440, 16875740049367006869, 4040451923151286438, 5925341866968505601, 14259707661873610422, 10732873470134113982, 3, 1452526314939094806, 1479000593888603377, 246310986971833963, 4152569545950646704, 4118156517299583310, 17663239633609473365, 8127661496786659791, 17689549836214880979, 14746946312861632567, 602662289136933629, 11216558892028292475, 5188174964157774722, 7100861533945618475, 3714941418598094928, 1377039040653060055, 3, 2930684747787414446, 1754494303819808128, 669923854651336066, 5941781742039952076, 876859729835418933, 790907098378102911, 115518666891692872, 16890877536441094576, 16820881161920465009, 241154565549913410, 44006951265386772, 5087127128059490065, 18106355872892957036, 3269612205224843731, 8638796096796806719, 3, 2414727401863600363, 7617116592575512612, 18041147314657306922, 15957716643783059543, 11912796059449786962, 11153176059938326063, 14174738803865199162, 11999349000942665761, 17632700466101721722, 6582530104605672978, 16757182470542785800, 12431955029502155155, 17163152133935520513, 1237894940644049096, 6188646281997977531, 3, 2319532296399149270, 9283783715220787949, 810281363185644618, 4756894436878044936, 12165478487736095233, 13041376666032139342, 3740623961436206385, 6384260880460211781, 17121495806538343926, 14583996149149192254, 11562370595738293151, 8268709300694246348, 17892562184847802024, 3859704522936614211, 7366245284644652757, 3, 949011576700156842, 1533322811274401426, 15060757839378359292, 1432035093691797337, 206692693307936550, 378907012515670704, 10248912138703390835, 10128144445036454539, 5042107387767762304, 9843022881405494656, 11880883914254039546, 13220616153049902, 455311511731825064, 5381232113954376086, 5364482943654507461, 3, 5881102500383619035, 0, 0, 2424299330597632902, 607119689966087280, 17283177276798307300, 475409702871185800, 15518804315920479075, 4578339057778509415, 4685043752195987874, 10392430241191498892, 11507515262772595129, 14439767021292397992, 13673908725375817159, 5378163831543087962, 3, 0, 0, 0, 14342875730731176181, 6225072162372691712, 8577974921324183601, 751519865506756952, 9824595797538483612, 10360631973465438301, 10226703749989732907, 13840269947314152185, 1831374399934529359, 14389265827404554261, 11392184682219726353, 17676970157216697757, 3, 0, 0, 0, 10605591699135631895, 525785012032090331, 1824237168047932550, 3952375305216254717, 9821754274536606782, 7855314197760224131, 17861834154975224793, 9836275050510148653, 17819027328170218375, 2840178708967434753, 15534576285961723627, 15357405679043026976, 3, 0, 0, 0, 9793600913424407404, 14104167067920766779, 12309619471118709560, 12550056362664815329, 320739284087105326, 3762140957859872022, 10326389091316073307, 18366686834124399227, 5296819603037261258, 8152022108836431115, 8031664516364171852, 12133015237048791800, 3, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(12) }, program_info: ProgramInfo { program_hash: Word([6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 13, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 0, 41, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 1, 0, 0, 1, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 7, 1, 0, 0, 9, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 0, 0, 14526210785099218637, 11847263499640079386, 14727111875255715984, 15492005690507045243, 3560320103534777253, 6108459071875623888, 17010585649681490524, 9461625672567273576, 5346213935533921584, 17324400741801951375, 11366145235097950908, 11020281342858012232, 0, 0, 0, 0, 16197070053425155514, 15404003330998391348, 11930643358177149189, 1706026293115752249, 4860311493079570077, 17106682771221635926, 1613342353291471586, 10021094444428090144, 295368900173018762, 10362371049945425700, 9316163589333399506, 7378950726844095693, 0, 0, 0, 0, 11506810158870826797, 14392904697466827547, 17905937794745323592, 17513565884470753819, 7019811109989114514, 10250939299242755101, 7620822681592706112, 12768902792042039708, 744728025267091276, 16212166364245632221, 10010770609378408333, 15023204573923685916, 0, 9206943447329060417, 1573227013771687083, 7633983188953929869, 14747762092445444483, 12960730896173836507, 5351433366377253619, 4177159482546072600, 17061003377938727239, 9435579121926835049, 9864020053232925179, 11244311170762781618, 2840907732738372264, 7192941522047765124, 6173174116697481058, 13004561835267794042, 0, 12007385695887985386, 13598702180788517287, 3912064789771327196, 11932998954627996911, 3853323028698833085, 11507033346049547360, 10110848241210835991, 15428609857280202530, 17110299148476621277, 12520416593002020608, 9431488564150546187, 2602629576595200800, 15183940660821516128, 15328070744340284046, 9882485700386666987, 0, 2642957852140576392, 12998709907982857483, 4565256592569070651, 4013127352579691203, 10860110376897053120, 13677509527593892026, 2308518476531625659, 6232392686954434349, 13948263847203418837, 7843559618500491242, 7771043128539275771, 18270783924518568037, 16689544634184962614, 16359543813917605495, 8488375023251026510, 0, 13959988857529015221, 12915245760499792818, 14841159553908529338, 14670848694035742368, 13930039566082372841, 9902385290951234306, 3203646694279229751, 13440312555890036471, 10385999516795969620, 11713935020689149772, 12229669264695050570, 402942260260809100, 16753462626177821460, 662362961313881669, 5887183544599407053, 0, 14402936773953440947, 2012430503613052642, 1213953359224393220, 13944145787018602210, 6056959262477445647, 4982640241702718669, 1688381135968391307, 4510633793399532317, 7320984145724666154, 4691989180601120012, 102059673196228558, 1411198915631488472, 1854414388528665842, 16986811917033125654, 795637807896719676, 0, 6294256185997130924, 4739079035802422148, 10935612526477766520, 17716511124280484394, 5021001597521525061, 18126874747305633609, 481644947884807344, 6049685422777720638, 1030047529196261526, 9576302115777192780, 10035472829778314322, 923305066890152615, 12527260620733941943, 11414360666749268526, 17760291183069624834, 0, 10231661581337343904, 1832808263237927056, 6905801525972141190, 7456565975287668714, 12513973463050722371, 15559507328575476525, 2883833371658699080, 3184838730020301861, 18205970767593414562, 2798075613901729544, 189593258747480201, 13243754036156659300, 5745460764532976218, 2786581607585809614, 17436021357923428450, 0, 72056538882336487, 0, 0, 5652048509186166814, 15367385573432163092, 6683125870356394251, 3770937106356856256, 1769679637596203925, 14372844572054653742, 13769745398507346855, 11807785571768521955, 5724215673931049374, 4401662327723853424, 11928715632009092524, 9924361168171239878, 0, 0, 0, 0, 15128667119917371737, 8016996928120686373, 7467419359957362665, 4993381537595555977, 9371037824338144222, 2930594646951740022, 3944515787153841278, 5454163417882053837, 7667177038930845021, 10105079595217614088, 5177647710243780137, 13395674984723106859, 0, 0, 0, 0, 17075658029987678701, 16942975531700611427, 3643709618611291855, 1334709094417075573, 11909212706933233016, 9741605425019020242, 7607696627297382550, 15299729661431018600, 7032572794257903279, 16683658838871091473, 3645139219999290477, 7245544203380098384, 0, 0, 0, 0, 12068304939642236116, 13614044321092849027, 2880541849277464939, 815353510606417922, 14606426392222040491, 10929343986009381754, 18415245620786467058, 16142346014486690114, 10307567187784261413, 3831820208496643010, 14408727760370549811, 16272758710359397343, 0, 1, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 2, 0, 0, 0, 12086689928305136975, 10578835246084642663, 16542988469676950340, 18039575486237140027, 11378817209220925403, 1830288712116369429, 6836951313152193092, 13067316829245445662, 10483719891652983399, 15107628385291453978, 5745482890193398991, 1467598035505522824, 2, 0, 0, 0, 6641033060700930640, 8002128452364190151, 4237597913508652736, 16497663922788367837, 9373930087271682821, 8772840226065969951, 13812790890684464043, 3327344850838518736, 15781875901493184698, 16732525831131872764, 1159309880266465962, 6519234662137256116, 2, 0, 0, 0, 10088943647124252289, 13701383109068607902, 15690388373484222925, 4290213237740108975, 15844775943612000391, 16171043348080529647, 8784789786127538562, 12635460091357573504, 10561363445665196403, 3917577954302608976, 5337858229134527127, 14152777758433279341, 2, 13029570897742009002, 13177254746172619023, 16038571161593335404, 2188338323498964707, 14662423055206707252, 399526319231252303, 14972684080243877319, 16777311805145501140, 6099803173114002593, 11253362042985817221, 10221863501466764826, 13414791437675451535, 2725322839420367772, 11819412321405778772, 13817033321558649088, 2, 13691749519374287845, 15387673422637086663, 6922978787178957527, 2041172898547348571, 14589651886185789070, 5957633751491508475, 11960354433033043999, 15992971255870582512, 11830967408320733184, 15268965263556481837, 9065968121241919240, 14630209597160847101, 3695262652988767746, 6761434464064434034, 4499935311821727041, 2, 15420756780139702261, 12424942891141165558, 6929528357507663172, 12198893338677478437, 18421446739075495822, 8468855093677567166, 14423050383612849622, 15188396328060565700, 16106496456550916799, 4380220556771000987, 18185062664582859482, 3471791712555441489, 5206529722281859812, 12099854936489528262, 3482375809599031896, 2, 15574108340013622137, 15113564352853103247, 11759657553614819330, 8329975443345290464, 17940882943282719830, 715706186220073675, 11225208304861844348, 11251091880797815873, 16487042113140331701, 2684378958809639271, 18420809765897439905, 5225320321320513732, 6305682781245368810, 4669442538207571276, 14700449525371639507, 2, 2979254376677653503, 1883000689168719362, 8104422763610466617, 5576229311275790732, 2194272311725182022, 11069690432331401312, 9059389138265053881, 8765354464725236382, 9222374345361788506, 18259801840836875925, 6516753426367602114, 16862896352549227556, 4308341550229035638, 3265342498516698837, 13464131825573347891, 2, 13700569878861168214, 2688488967505940113, 3894270749155947782, 13272913612051073638, 229891148220106304, 8827790146883078828, 18375171102175520942, 14403529172649637015, 13099700194841873205, 188376523053645225, 1993959712224675182, 14801384607878448444, 10465527702245819388, 17660990215931846922, 908628888712311860, 2, 17841857416383363570, 1410880649834889205, 15205315845157535511, 474005396413342575, 13140045598301896487, 3896472587811302452, 11889483340877797878, 10675872888943407911, 9043988711004206942, 6590644200881402626, 6630214594291443650, 7328314644790889015, 1925120838408255657, 12102121948068675841, 3366469296269798303, 2, 9810051462759316493, 0, 0, 1967048762267479030, 14694789381285854906, 7850615184380239535, 6179804070945807128, 6190847648382551976, 7074541545875785618, 9996122377954848783, 18406348765365233841, 4381980521208731448, 2527214276140522656, 17476881528019612421, 10227790736734811126, 2, 0, 0, 0, 12825387260273911399, 6194529288585122100, 10547428200413979362, 7146038864248149980, 3758150568829560250, 6436891845148661154, 9620702432336511668, 2457824222102594551, 13331592005230563304, 11086532868255377399, 4413541832527011587, 16051730796051624324, 2, 0, 0, 0, 16438196827052442198, 18163112479653478435, 13659775893412875850, 9240379517650154023, 17622738652736541491, 10377502873777599097, 14167784496777925017, 8652392797374596693, 10690605953822876908, 6607959159332506262, 7925296024181542304, 11865355698347075352, 2, 0, 0, 0, 8453841446519729480, 5007921045949414127, 10571120719178391220, 9766554424414228694, 8901262338981550121, 11643533070801732852, 18177267262839360795, 4695688607260963965, 5981212851350180937, 7185340145346514702, 15820300171842782914, 13017849308841041926, 2, 1, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 2, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 9406198837081470939, 12454644480646831381, 5357297729805547264, 15695767008081417024, 17081781165782008305, 18173774266735228622, 6597958223090468622, 10058815580948772803, 9341085403015625984, 17305809056185869492, 16092333721991261411, 14466140396882267896, 3, 0, 0, 0, 10022220918800215931, 6625466299838152616, 14873368774111773763, 13822207310342005989, 11851640107665623803, 4144160359412257714, 1001954617881206717, 2558852513241095712, 8048571622541726255, 3796262690630383451, 12690029978283677858, 7698456735078463171, 3, 0, 0, 0, 1529838978363474364, 5877585793149040063, 11620602129319348479, 3184399423922769699, 4766473366160256877, 7300042540399827448, 2462275239493078851, 11288811565422176008, 16822095754433680909, 18301782264345075251, 18087044935643148806, 510047809549721667, 3, 17625583494235189807, 10622457062204255065, 2653216356844660597, 9475027500051639757, 10463750966311648190, 11600868756246964674, 15662168292079378087, 14737424852298451342, 117344945972585870, 3251083096698399603, 12684542007451613640, 4788924408482455108, 6902797868122893844, 15800238251163812693, 12046292011878974455, 3, 7496472832454263388, 12998172934440185624, 17507911152779544052, 16456090005001040440, 16590029451027219509, 2617628953138715244, 622817961215058190, 1598986500188737220, 17607068252592942451, 15060402253986549440, 16875740049367006869, 4040451923151286438, 5925341866968505601, 14259707661873610422, 10732873470134113982, 3, 1452526314939094806, 1479000593888603377, 246310986971833963, 4152569545950646704, 4118156517299583310, 17663239633609473365, 8127661496786659791, 17689549836214880979, 14746946312861632567, 602662289136933629, 11216558892028292475, 5188174964157774722, 7100861533945618475, 3714941418598094928, 1377039040653060055, 3, 2930684747787414446, 1754494303819808128, 669923854651336066, 5941781742039952076, 876859729835418933, 790907098378102911, 115518666891692872, 16890877536441094576, 16820881161920465009, 241154565549913410, 44006951265386772, 5087127128059490065, 18106355872892957036, 3269612205224843731, 8638796096796806719, 3, 2414727401863600363, 7617116592575512612, 18041147314657306922, 15957716643783059543, 11912796059449786962, 11153176059938326063, 14174738803865199162, 11999349000942665761, 17632700466101721722, 6582530104605672978, 16757182470542785800, 12431955029502155155, 17163152133935520513, 1237894940644049096, 6188646281997977531, 3, 2319532296399149270, 9283783715220787949, 810281363185644618, 4756894436878044936, 12165478487736095233, 13041376666032139342, 3740623961436206385, 6384260880460211781, 17121495806538343926, 14583996149149192254, 11562370595738293151, 8268709300694246348, 17892562184847802024, 3859704522936614211, 7366245284644652757, 3, 949011576700156842, 1533322811274401426, 15060757839378359292, 1432035093691797337, 206692693307936550, 378907012515670704, 10248912138703390835, 10128144445036454539, 5042107387767762304, 9843022881405494656, 11880883914254039546, 13220616153049902, 455311511731825064, 5381232113954376086, 5364482943654507461, 3, 5881102500383619035, 0, 0, 2424299330597632902, 607119689966087280, 17283177276798307300, 475409702871185800, 15518804315920479075, 4578339057778509415, 4685043752195987874, 10392430241191498892, 11507515262772595129, 14439767021292397992, 13673908725375817159, 5378163831543087962, 3, 0, 0, 0, 14342875730731176181, 6225072162372691712, 8577974921324183601, 751519865506756952, 9824595797538483612, 10360631973465438301, 10226703749989732907, 13840269947314152185, 1831374399934529359, 14389265827404554261, 11392184682219726353, 17676970157216697757, 3, 0, 0, 0, 10605591699135631895, 525785012032090331, 1824237168047932550, 3952375305216254717, 9821754274536606782, 7855314197760224131, 17861834154975224793, 9836275050510148653, 17819027328170218375, 2840178708967434753, 15534576285961723627, 15357405679043026976, 3, 0, 0, 0, 9793600913424407404, 14104167067920766779, 12309619471118709560, 12550056362664815329, 320739284087105326, 3762140957859872022, 10326389091316073307, 18366686834124399227, 5296819603037261258, 8152022108836431115, 8031664516364171852, 12133015237048791800, 3, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(12) }, program_info: ProgramInfo { program_hash: Word([6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 13, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_08.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_08.snap index 5478beb097..8828c1b7dc 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_08.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_08.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 0, 41, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 1, 0, 0, 1, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 7, 1, 0, 0, 9, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 0, 0, 14526210785099218637, 11847263499640079386, 14727111875255715984, 15492005690507045243, 3560320103534777253, 6108459071875623888, 17010585649681490524, 9461625672567273576, 5346213935533921584, 17324400741801951375, 11366145235097950908, 11020281342858012232, 0, 0, 0, 0, 16197070053425155514, 15404003330998391348, 11930643358177149189, 1706026293115752249, 4860311493079570077, 17106682771221635926, 1613342353291471586, 10021094444428090144, 295368900173018762, 10362371049945425700, 9316163589333399506, 7378950726844095693, 0, 0, 0, 0, 11506810158870826797, 14392904697466827547, 17905937794745323592, 17513565884470753819, 7019811109989114514, 10250939299242755101, 7620822681592706112, 12768902792042039708, 744728025267091276, 16212166364245632221, 10010770609378408333, 15023204573923685916, 0, 9206943447329060417, 1573227013771687083, 7633983188953929869, 14747762092445444483, 12960730896173836507, 5351433366377253619, 4177159482546072600, 17061003377938727239, 9435579121926835049, 9864020053232925179, 11244311170762781618, 2840907732738372264, 7192941522047765124, 6173174116697481058, 13004561835267794042, 0, 12007385695887985386, 13598702180788517287, 3912064789771327196, 11932998954627996911, 3853323028698833085, 11507033346049547360, 10110848241210835991, 15428609857280202530, 17110299148476621277, 12520416593002020608, 9431488564150546187, 2602629576595200800, 15183940660821516128, 15328070744340284046, 9882485700386666987, 0, 2642957852140576392, 12998709907982857483, 4565256592569070651, 4013127352579691203, 10860110376897053120, 13677509527593892026, 2308518476531625659, 6232392686954434349, 13948263847203418837, 7843559618500491242, 7771043128539275771, 18270783924518568037, 16689544634184962614, 16359543813917605495, 8488375023251026510, 0, 13959988857529015221, 12915245760499792818, 14841159553908529338, 14670848694035742368, 13930039566082372841, 9902385290951234306, 3203646694279229751, 13440312555890036471, 10385999516795969620, 11713935020689149772, 12229669264695050570, 402942260260809100, 16753462626177821460, 662362961313881669, 5887183544599407053, 0, 14402936773953440947, 2012430503613052642, 1213953359224393220, 13944145787018602210, 6056959262477445647, 4982640241702718669, 1688381135968391307, 4510633793399532317, 7320984145724666154, 4691989180601120012, 102059673196228558, 1411198915631488472, 1854414388528665842, 16986811917033125654, 795637807896719676, 0, 6294256185997130924, 4739079035802422148, 10935612526477766520, 17716511124280484394, 5021001597521525061, 18126874747305633609, 481644947884807344, 6049685422777720638, 1030047529196261526, 9576302115777192780, 10035472829778314322, 923305066890152615, 12527260620733941943, 11414360666749268526, 17760291183069624834, 0, 10231661581337343904, 1832808263237927056, 6905801525972141190, 7456565975287668714, 12513973463050722371, 15559507328575476525, 2883833371658699080, 3184838730020301861, 18205970767593414562, 2798075613901729544, 189593258747480201, 13243754036156659300, 5745460764532976218, 2786581607585809614, 17436021357923428450, 0, 72056538882336487, 0, 0, 5652048509186166814, 15367385573432163092, 6683125870356394251, 3770937106356856256, 1769679637596203925, 14372844572054653742, 13769745398507346855, 11807785571768521955, 5724215673931049374, 4401662327723853424, 11928715632009092524, 9924361168171239878, 0, 0, 0, 0, 15128667119917371737, 8016996928120686373, 7467419359957362665, 4993381537595555977, 9371037824338144222, 2930594646951740022, 3944515787153841278, 5454163417882053837, 7667177038930845021, 10105079595217614088, 5177647710243780137, 13395674984723106859, 0, 0, 0, 0, 17075658029987678701, 16942975531700611427, 3643709618611291855, 1334709094417075573, 11909212706933233016, 9741605425019020242, 7607696627297382550, 15299729661431018600, 7032572794257903279, 16683658838871091473, 3645139219999290477, 7245544203380098384, 0, 0, 0, 0, 12068304939642236116, 13614044321092849027, 2880541849277464939, 815353510606417922, 14606426392222040491, 10929343986009381754, 18415245620786467058, 16142346014486690114, 10307567187784261413, 3831820208496643010, 14408727760370549811, 16272758710359397343, 0, 1, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 2, 0, 0, 0, 12086689928305136975, 10578835246084642663, 16542988469676950340, 18039575486237140027, 11378817209220925403, 1830288712116369429, 6836951313152193092, 13067316829245445662, 10483719891652983399, 15107628385291453978, 5745482890193398991, 1467598035505522824, 2, 0, 0, 0, 6641033060700930640, 8002128452364190151, 4237597913508652736, 16497663922788367837, 9373930087271682821, 8772840226065969951, 13812790890684464043, 3327344850838518736, 15781875901493184698, 16732525831131872764, 1159309880266465962, 6519234662137256116, 2, 0, 0, 0, 10088943647124252289, 13701383109068607902, 15690388373484222925, 4290213237740108975, 15844775943612000391, 16171043348080529647, 8784789786127538562, 12635460091357573504, 10561363445665196403, 3917577954302608976, 5337858229134527127, 14152777758433279341, 2, 13029570897742009002, 13177254746172619023, 16038571161593335404, 2188338323498964707, 14662423055206707252, 399526319231252303, 14972684080243877319, 16777311805145501140, 6099803173114002593, 11253362042985817221, 10221863501466764826, 13414791437675451535, 2725322839420367772, 11819412321405778772, 13817033321558649088, 2, 13691749519374287845, 15387673422637086663, 6922978787178957527, 2041172898547348571, 14589651886185789070, 5957633751491508475, 11960354433033043999, 15992971255870582512, 11830967408320733184, 15268965263556481837, 9065968121241919240, 14630209597160847101, 3695262652988767746, 6761434464064434034, 4499935311821727041, 2, 15420756780139702261, 12424942891141165558, 6929528357507663172, 12198893338677478437, 18421446739075495822, 8468855093677567166, 14423050383612849622, 15188396328060565700, 16106496456550916799, 4380220556771000987, 18185062664582859482, 3471791712555441489, 5206529722281859812, 12099854936489528262, 3482375809599031896, 2, 15574108340013622137, 15113564352853103247, 11759657553614819330, 8329975443345290464, 17940882943282719830, 715706186220073675, 11225208304861844348, 11251091880797815873, 16487042113140331701, 2684378958809639271, 18420809765897439905, 5225320321320513732, 6305682781245368810, 4669442538207571276, 14700449525371639507, 2, 2979254376677653503, 1883000689168719362, 8104422763610466617, 5576229311275790732, 2194272311725182022, 11069690432331401312, 9059389138265053881, 8765354464725236382, 9222374345361788506, 18259801840836875925, 6516753426367602114, 16862896352549227556, 4308341550229035638, 3265342498516698837, 13464131825573347891, 2, 13700569878861168214, 2688488967505940113, 3894270749155947782, 13272913612051073638, 229891148220106304, 8827790146883078828, 18375171102175520942, 14403529172649637015, 13099700194841873205, 188376523053645225, 1993959712224675182, 14801384607878448444, 10465527702245819388, 17660990215931846922, 908628888712311860, 2, 17841857416383363570, 1410880649834889205, 15205315845157535511, 474005396413342575, 13140045598301896487, 3896472587811302452, 11889483340877797878, 10675872888943407911, 9043988711004206942, 6590644200881402626, 6630214594291443650, 7328314644790889015, 1925120838408255657, 12102121948068675841, 3366469296269798303, 2, 9810051462759316493, 0, 0, 1967048762267479030, 14694789381285854906, 7850615184380239535, 6179804070945807128, 6190847648382551976, 7074541545875785618, 9996122377954848783, 18406348765365233841, 4381980521208731448, 2527214276140522656, 17476881528019612421, 10227790736734811126, 2, 0, 0, 0, 12825387260273911399, 6194529288585122100, 10547428200413979362, 7146038864248149980, 3758150568829560250, 6436891845148661154, 9620702432336511668, 2457824222102594551, 13331592005230563304, 11086532868255377399, 4413541832527011587, 16051730796051624324, 2, 0, 0, 0, 16438196827052442198, 18163112479653478435, 13659775893412875850, 9240379517650154023, 17622738652736541491, 10377502873777599097, 14167784496777925017, 8652392797374596693, 10690605953822876908, 6607959159332506262, 7925296024181542304, 11865355698347075352, 2, 0, 0, 0, 8453841446519729480, 5007921045949414127, 10571120719178391220, 9766554424414228694, 8901262338981550121, 11643533070801732852, 18177267262839360795, 4695688607260963965, 5981212851350180937, 7185340145346514702, 15820300171842782914, 13017849308841041926, 2, 1, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 2, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 9406198837081470939, 12454644480646831381, 5357297729805547264, 15695767008081417024, 17081781165782008305, 18173774266735228622, 6597958223090468622, 10058815580948772803, 9341085403015625984, 17305809056185869492, 16092333721991261411, 14466140396882267896, 3, 0, 0, 0, 10022220918800215931, 6625466299838152616, 14873368774111773763, 13822207310342005989, 11851640107665623803, 4144160359412257714, 1001954617881206717, 2558852513241095712, 8048571622541726255, 3796262690630383451, 12690029978283677858, 7698456735078463171, 3, 0, 0, 0, 1529838978363474364, 5877585793149040063, 11620602129319348479, 3184399423922769699, 4766473366160256877, 7300042540399827448, 2462275239493078851, 11288811565422176008, 16822095754433680909, 18301782264345075251, 18087044935643148806, 510047809549721667, 3, 17625583494235189807, 10622457062204255065, 2653216356844660597, 9475027500051639757, 10463750966311648190, 11600868756246964674, 15662168292079378087, 14737424852298451342, 117344945972585870, 3251083096698399603, 12684542007451613640, 4788924408482455108, 6902797868122893844, 15800238251163812693, 12046292011878974455, 3, 7496472832454263388, 12998172934440185624, 17507911152779544052, 16456090005001040440, 16590029451027219509, 2617628953138715244, 622817961215058190, 1598986500188737220, 17607068252592942451, 15060402253986549440, 16875740049367006869, 4040451923151286438, 5925341866968505601, 14259707661873610422, 10732873470134113982, 3, 1452526314939094806, 1479000593888603377, 246310986971833963, 4152569545950646704, 4118156517299583310, 17663239633609473365, 8127661496786659791, 17689549836214880979, 14746946312861632567, 602662289136933629, 11216558892028292475, 5188174964157774722, 7100861533945618475, 3714941418598094928, 1377039040653060055, 3, 2930684747787414446, 1754494303819808128, 669923854651336066, 5941781742039952076, 876859729835418933, 790907098378102911, 115518666891692872, 16890877536441094576, 16820881161920465009, 241154565549913410, 44006951265386772, 5087127128059490065, 18106355872892957036, 3269612205224843731, 8638796096796806719, 3, 2414727401863600363, 7617116592575512612, 18041147314657306922, 15957716643783059543, 11912796059449786962, 11153176059938326063, 14174738803865199162, 11999349000942665761, 17632700466101721722, 6582530104605672978, 16757182470542785800, 12431955029502155155, 17163152133935520513, 1237894940644049096, 6188646281997977531, 3, 2319532296399149270, 9283783715220787949, 810281363185644618, 4756894436878044936, 12165478487736095233, 13041376666032139342, 3740623961436206385, 6384260880460211781, 17121495806538343926, 14583996149149192254, 11562370595738293151, 8268709300694246348, 17892562184847802024, 3859704522936614211, 7366245284644652757, 3, 949011576700156842, 1533322811274401426, 15060757839378359292, 1432035093691797337, 206692693307936550, 378907012515670704, 10248912138703390835, 10128144445036454539, 5042107387767762304, 9843022881405494656, 11880883914254039546, 13220616153049902, 455311511731825064, 5381232113954376086, 5364482943654507461, 3, 5881102500383619035, 0, 0, 2424299330597632902, 607119689966087280, 17283177276798307300, 475409702871185800, 15518804315920479075, 4578339057778509415, 4685043752195987874, 10392430241191498892, 11507515262772595129, 14439767021292397992, 13673908725375817159, 5378163831543087962, 3, 0, 0, 0, 14342875730731176181, 6225072162372691712, 8577974921324183601, 751519865506756952, 9824595797538483612, 10360631973465438301, 10226703749989732907, 13840269947314152185, 1831374399934529359, 14389265827404554261, 11392184682219726353, 17676970157216697757, 3, 0, 0, 0, 10605591699135631895, 525785012032090331, 1824237168047932550, 3952375305216254717, 9821754274536606782, 7855314197760224131, 17861834154975224793, 9836275050510148653, 17819027328170218375, 2840178708967434753, 15534576285961723627, 15357405679043026976, 3, 0, 0, 0, 9793600913424407404, 14104167067920766779, 12309619471118709560, 12550056362664815329, 320739284087105326, 3762140957859872022, 10326389091316073307, 18366686834124399227, 5296819603037261258, 8152022108836431115, 8031664516364171852, 12133015237048791800, 3, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(12) }, program_info: ProgramInfo { program_hash: Word([6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 13, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 0, 41, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 1, 0, 0, 1, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 7, 1, 0, 0, 9, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 0, 0, 14526210785099218637, 11847263499640079386, 14727111875255715984, 15492005690507045243, 3560320103534777253, 6108459071875623888, 17010585649681490524, 9461625672567273576, 5346213935533921584, 17324400741801951375, 11366145235097950908, 11020281342858012232, 0, 0, 0, 0, 16197070053425155514, 15404003330998391348, 11930643358177149189, 1706026293115752249, 4860311493079570077, 17106682771221635926, 1613342353291471586, 10021094444428090144, 295368900173018762, 10362371049945425700, 9316163589333399506, 7378950726844095693, 0, 0, 0, 0, 11506810158870826797, 14392904697466827547, 17905937794745323592, 17513565884470753819, 7019811109989114514, 10250939299242755101, 7620822681592706112, 12768902792042039708, 744728025267091276, 16212166364245632221, 10010770609378408333, 15023204573923685916, 0, 9206943447329060417, 1573227013771687083, 7633983188953929869, 14747762092445444483, 12960730896173836507, 5351433366377253619, 4177159482546072600, 17061003377938727239, 9435579121926835049, 9864020053232925179, 11244311170762781618, 2840907732738372264, 7192941522047765124, 6173174116697481058, 13004561835267794042, 0, 12007385695887985386, 13598702180788517287, 3912064789771327196, 11932998954627996911, 3853323028698833085, 11507033346049547360, 10110848241210835991, 15428609857280202530, 17110299148476621277, 12520416593002020608, 9431488564150546187, 2602629576595200800, 15183940660821516128, 15328070744340284046, 9882485700386666987, 0, 2642957852140576392, 12998709907982857483, 4565256592569070651, 4013127352579691203, 10860110376897053120, 13677509527593892026, 2308518476531625659, 6232392686954434349, 13948263847203418837, 7843559618500491242, 7771043128539275771, 18270783924518568037, 16689544634184962614, 16359543813917605495, 8488375023251026510, 0, 13959988857529015221, 12915245760499792818, 14841159553908529338, 14670848694035742368, 13930039566082372841, 9902385290951234306, 3203646694279229751, 13440312555890036471, 10385999516795969620, 11713935020689149772, 12229669264695050570, 402942260260809100, 16753462626177821460, 662362961313881669, 5887183544599407053, 0, 14402936773953440947, 2012430503613052642, 1213953359224393220, 13944145787018602210, 6056959262477445647, 4982640241702718669, 1688381135968391307, 4510633793399532317, 7320984145724666154, 4691989180601120012, 102059673196228558, 1411198915631488472, 1854414388528665842, 16986811917033125654, 795637807896719676, 0, 6294256185997130924, 4739079035802422148, 10935612526477766520, 17716511124280484394, 5021001597521525061, 18126874747305633609, 481644947884807344, 6049685422777720638, 1030047529196261526, 9576302115777192780, 10035472829778314322, 923305066890152615, 12527260620733941943, 11414360666749268526, 17760291183069624834, 0, 10231661581337343904, 1832808263237927056, 6905801525972141190, 7456565975287668714, 12513973463050722371, 15559507328575476525, 2883833371658699080, 3184838730020301861, 18205970767593414562, 2798075613901729544, 189593258747480201, 13243754036156659300, 5745460764532976218, 2786581607585809614, 17436021357923428450, 0, 72056538882336487, 0, 0, 5652048509186166814, 15367385573432163092, 6683125870356394251, 3770937106356856256, 1769679637596203925, 14372844572054653742, 13769745398507346855, 11807785571768521955, 5724215673931049374, 4401662327723853424, 11928715632009092524, 9924361168171239878, 0, 0, 0, 0, 15128667119917371737, 8016996928120686373, 7467419359957362665, 4993381537595555977, 9371037824338144222, 2930594646951740022, 3944515787153841278, 5454163417882053837, 7667177038930845021, 10105079595217614088, 5177647710243780137, 13395674984723106859, 0, 0, 0, 0, 17075658029987678701, 16942975531700611427, 3643709618611291855, 1334709094417075573, 11909212706933233016, 9741605425019020242, 7607696627297382550, 15299729661431018600, 7032572794257903279, 16683658838871091473, 3645139219999290477, 7245544203380098384, 0, 0, 0, 0, 12068304939642236116, 13614044321092849027, 2880541849277464939, 815353510606417922, 14606426392222040491, 10929343986009381754, 18415245620786467058, 16142346014486690114, 10307567187784261413, 3831820208496643010, 14408727760370549811, 16272758710359397343, 0, 1, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 2, 0, 0, 0, 12086689928305136975, 10578835246084642663, 16542988469676950340, 18039575486237140027, 11378817209220925403, 1830288712116369429, 6836951313152193092, 13067316829245445662, 10483719891652983399, 15107628385291453978, 5745482890193398991, 1467598035505522824, 2, 0, 0, 0, 6641033060700930640, 8002128452364190151, 4237597913508652736, 16497663922788367837, 9373930087271682821, 8772840226065969951, 13812790890684464043, 3327344850838518736, 15781875901493184698, 16732525831131872764, 1159309880266465962, 6519234662137256116, 2, 0, 0, 0, 10088943647124252289, 13701383109068607902, 15690388373484222925, 4290213237740108975, 15844775943612000391, 16171043348080529647, 8784789786127538562, 12635460091357573504, 10561363445665196403, 3917577954302608976, 5337858229134527127, 14152777758433279341, 2, 13029570897742009002, 13177254746172619023, 16038571161593335404, 2188338323498964707, 14662423055206707252, 399526319231252303, 14972684080243877319, 16777311805145501140, 6099803173114002593, 11253362042985817221, 10221863501466764826, 13414791437675451535, 2725322839420367772, 11819412321405778772, 13817033321558649088, 2, 13691749519374287845, 15387673422637086663, 6922978787178957527, 2041172898547348571, 14589651886185789070, 5957633751491508475, 11960354433033043999, 15992971255870582512, 11830967408320733184, 15268965263556481837, 9065968121241919240, 14630209597160847101, 3695262652988767746, 6761434464064434034, 4499935311821727041, 2, 15420756780139702261, 12424942891141165558, 6929528357507663172, 12198893338677478437, 18421446739075495822, 8468855093677567166, 14423050383612849622, 15188396328060565700, 16106496456550916799, 4380220556771000987, 18185062664582859482, 3471791712555441489, 5206529722281859812, 12099854936489528262, 3482375809599031896, 2, 15574108340013622137, 15113564352853103247, 11759657553614819330, 8329975443345290464, 17940882943282719830, 715706186220073675, 11225208304861844348, 11251091880797815873, 16487042113140331701, 2684378958809639271, 18420809765897439905, 5225320321320513732, 6305682781245368810, 4669442538207571276, 14700449525371639507, 2, 2979254376677653503, 1883000689168719362, 8104422763610466617, 5576229311275790732, 2194272311725182022, 11069690432331401312, 9059389138265053881, 8765354464725236382, 9222374345361788506, 18259801840836875925, 6516753426367602114, 16862896352549227556, 4308341550229035638, 3265342498516698837, 13464131825573347891, 2, 13700569878861168214, 2688488967505940113, 3894270749155947782, 13272913612051073638, 229891148220106304, 8827790146883078828, 18375171102175520942, 14403529172649637015, 13099700194841873205, 188376523053645225, 1993959712224675182, 14801384607878448444, 10465527702245819388, 17660990215931846922, 908628888712311860, 2, 17841857416383363570, 1410880649834889205, 15205315845157535511, 474005396413342575, 13140045598301896487, 3896472587811302452, 11889483340877797878, 10675872888943407911, 9043988711004206942, 6590644200881402626, 6630214594291443650, 7328314644790889015, 1925120838408255657, 12102121948068675841, 3366469296269798303, 2, 9810051462759316493, 0, 0, 1967048762267479030, 14694789381285854906, 7850615184380239535, 6179804070945807128, 6190847648382551976, 7074541545875785618, 9996122377954848783, 18406348765365233841, 4381980521208731448, 2527214276140522656, 17476881528019612421, 10227790736734811126, 2, 0, 0, 0, 12825387260273911399, 6194529288585122100, 10547428200413979362, 7146038864248149980, 3758150568829560250, 6436891845148661154, 9620702432336511668, 2457824222102594551, 13331592005230563304, 11086532868255377399, 4413541832527011587, 16051730796051624324, 2, 0, 0, 0, 16438196827052442198, 18163112479653478435, 13659775893412875850, 9240379517650154023, 17622738652736541491, 10377502873777599097, 14167784496777925017, 8652392797374596693, 10690605953822876908, 6607959159332506262, 7925296024181542304, 11865355698347075352, 2, 0, 0, 0, 8453841446519729480, 5007921045949414127, 10571120719178391220, 9766554424414228694, 8901262338981550121, 11643533070801732852, 18177267262839360795, 4695688607260963965, 5981212851350180937, 7185340145346514702, 15820300171842782914, 13017849308841041926, 2, 1, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 2, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 9406198837081470939, 12454644480646831381, 5357297729805547264, 15695767008081417024, 17081781165782008305, 18173774266735228622, 6597958223090468622, 10058815580948772803, 9341085403015625984, 17305809056185869492, 16092333721991261411, 14466140396882267896, 3, 0, 0, 0, 10022220918800215931, 6625466299838152616, 14873368774111773763, 13822207310342005989, 11851640107665623803, 4144160359412257714, 1001954617881206717, 2558852513241095712, 8048571622541726255, 3796262690630383451, 12690029978283677858, 7698456735078463171, 3, 0, 0, 0, 1529838978363474364, 5877585793149040063, 11620602129319348479, 3184399423922769699, 4766473366160256877, 7300042540399827448, 2462275239493078851, 11288811565422176008, 16822095754433680909, 18301782264345075251, 18087044935643148806, 510047809549721667, 3, 17625583494235189807, 10622457062204255065, 2653216356844660597, 9475027500051639757, 10463750966311648190, 11600868756246964674, 15662168292079378087, 14737424852298451342, 117344945972585870, 3251083096698399603, 12684542007451613640, 4788924408482455108, 6902797868122893844, 15800238251163812693, 12046292011878974455, 3, 7496472832454263388, 12998172934440185624, 17507911152779544052, 16456090005001040440, 16590029451027219509, 2617628953138715244, 622817961215058190, 1598986500188737220, 17607068252592942451, 15060402253986549440, 16875740049367006869, 4040451923151286438, 5925341866968505601, 14259707661873610422, 10732873470134113982, 3, 1452526314939094806, 1479000593888603377, 246310986971833963, 4152569545950646704, 4118156517299583310, 17663239633609473365, 8127661496786659791, 17689549836214880979, 14746946312861632567, 602662289136933629, 11216558892028292475, 5188174964157774722, 7100861533945618475, 3714941418598094928, 1377039040653060055, 3, 2930684747787414446, 1754494303819808128, 669923854651336066, 5941781742039952076, 876859729835418933, 790907098378102911, 115518666891692872, 16890877536441094576, 16820881161920465009, 241154565549913410, 44006951265386772, 5087127128059490065, 18106355872892957036, 3269612205224843731, 8638796096796806719, 3, 2414727401863600363, 7617116592575512612, 18041147314657306922, 15957716643783059543, 11912796059449786962, 11153176059938326063, 14174738803865199162, 11999349000942665761, 17632700466101721722, 6582530104605672978, 16757182470542785800, 12431955029502155155, 17163152133935520513, 1237894940644049096, 6188646281997977531, 3, 2319532296399149270, 9283783715220787949, 810281363185644618, 4756894436878044936, 12165478487736095233, 13041376666032139342, 3740623961436206385, 6384260880460211781, 17121495806538343926, 14583996149149192254, 11562370595738293151, 8268709300694246348, 17892562184847802024, 3859704522936614211, 7366245284644652757, 3, 949011576700156842, 1533322811274401426, 15060757839378359292, 1432035093691797337, 206692693307936550, 378907012515670704, 10248912138703390835, 10128144445036454539, 5042107387767762304, 9843022881405494656, 11880883914254039546, 13220616153049902, 455311511731825064, 5381232113954376086, 5364482943654507461, 3, 5881102500383619035, 0, 0, 2424299330597632902, 607119689966087280, 17283177276798307300, 475409702871185800, 15518804315920479075, 4578339057778509415, 4685043752195987874, 10392430241191498892, 11507515262772595129, 14439767021292397992, 13673908725375817159, 5378163831543087962, 3, 0, 0, 0, 14342875730731176181, 6225072162372691712, 8577974921324183601, 751519865506756952, 9824595797538483612, 10360631973465438301, 10226703749989732907, 13840269947314152185, 1831374399934529359, 14389265827404554261, 11392184682219726353, 17676970157216697757, 3, 0, 0, 0, 10605591699135631895, 525785012032090331, 1824237168047932550, 3952375305216254717, 9821754274536606782, 7855314197760224131, 17861834154975224793, 9836275050510148653, 17819027328170218375, 2840178708967434753, 15534576285961723627, 15357405679043026976, 3, 0, 0, 0, 9793600913424407404, 14104167067920766779, 12309619471118709560, 12550056362664815329, 320739284087105326, 3762140957859872022, 10326389091316073307, 18366686834124399227, 5296819603037261258, 8152022108836431115, 8031664516364171852, 12133015237048791800, 3, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(12) }, program_info: ProgramInfo { program_hash: Word([6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 13, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_09.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_09.snap index c2534f08f8..afc1ea78d4 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_09.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_09.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 0, 41, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 1, 0, 0, 1, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 7, 1, 0, 0, 9, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 5, 0, 0, 1, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 1, 1, 0, 41, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 9, 1, 0, 0, 1, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 12, 1, 0, 0, 14, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 3, 8, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 9, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 3, 10, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 0, 0, 14526210785099218637, 11847263499640079386, 14727111875255715984, 15492005690507045243, 3560320103534777253, 6108459071875623888, 17010585649681490524, 9461625672567273576, 5346213935533921584, 17324400741801951375, 11366145235097950908, 11020281342858012232, 0, 0, 0, 0, 16197070053425155514, 15404003330998391348, 11930643358177149189, 1706026293115752249, 4860311493079570077, 17106682771221635926, 1613342353291471586, 10021094444428090144, 295368900173018762, 10362371049945425700, 9316163589333399506, 7378950726844095693, 0, 0, 0, 0, 11506810158870826797, 14392904697466827547, 17905937794745323592, 17513565884470753819, 7019811109989114514, 10250939299242755101, 7620822681592706112, 12768902792042039708, 744728025267091276, 16212166364245632221, 10010770609378408333, 15023204573923685916, 0, 9206943447329060417, 1573227013771687083, 7633983188953929869, 14747762092445444483, 12960730896173836507, 5351433366377253619, 4177159482546072600, 17061003377938727239, 9435579121926835049, 9864020053232925179, 11244311170762781618, 2840907732738372264, 7192941522047765124, 6173174116697481058, 13004561835267794042, 0, 12007385695887985386, 13598702180788517287, 3912064789771327196, 11932998954627996911, 3853323028698833085, 11507033346049547360, 10110848241210835991, 15428609857280202530, 17110299148476621277, 12520416593002020608, 9431488564150546187, 2602629576595200800, 15183940660821516128, 15328070744340284046, 9882485700386666987, 0, 2642957852140576392, 12998709907982857483, 4565256592569070651, 4013127352579691203, 10860110376897053120, 13677509527593892026, 2308518476531625659, 6232392686954434349, 13948263847203418837, 7843559618500491242, 7771043128539275771, 18270783924518568037, 16689544634184962614, 16359543813917605495, 8488375023251026510, 0, 13959988857529015221, 12915245760499792818, 14841159553908529338, 14670848694035742368, 13930039566082372841, 9902385290951234306, 3203646694279229751, 13440312555890036471, 10385999516795969620, 11713935020689149772, 12229669264695050570, 402942260260809100, 16753462626177821460, 662362961313881669, 5887183544599407053, 0, 14402936773953440947, 2012430503613052642, 1213953359224393220, 13944145787018602210, 6056959262477445647, 4982640241702718669, 1688381135968391307, 4510633793399532317, 7320984145724666154, 4691989180601120012, 102059673196228558, 1411198915631488472, 1854414388528665842, 16986811917033125654, 795637807896719676, 0, 6294256185997130924, 4739079035802422148, 10935612526477766520, 17716511124280484394, 5021001597521525061, 18126874747305633609, 481644947884807344, 6049685422777720638, 1030047529196261526, 9576302115777192780, 10035472829778314322, 923305066890152615, 12527260620733941943, 11414360666749268526, 17760291183069624834, 0, 10231661581337343904, 1832808263237927056, 6905801525972141190, 7456565975287668714, 12513973463050722371, 15559507328575476525, 2883833371658699080, 3184838730020301861, 18205970767593414562, 2798075613901729544, 189593258747480201, 13243754036156659300, 5745460764532976218, 2786581607585809614, 17436021357923428450, 0, 72056538882336487, 0, 0, 5652048509186166814, 15367385573432163092, 6683125870356394251, 3770937106356856256, 1769679637596203925, 14372844572054653742, 13769745398507346855, 11807785571768521955, 5724215673931049374, 4401662327723853424, 11928715632009092524, 9924361168171239878, 0, 0, 0, 0, 15128667119917371737, 8016996928120686373, 7467419359957362665, 4993381537595555977, 9371037824338144222, 2930594646951740022, 3944515787153841278, 5454163417882053837, 7667177038930845021, 10105079595217614088, 5177647710243780137, 13395674984723106859, 0, 0, 0, 0, 17075658029987678701, 16942975531700611427, 3643709618611291855, 1334709094417075573, 11909212706933233016, 9741605425019020242, 7607696627297382550, 15299729661431018600, 7032572794257903279, 16683658838871091473, 3645139219999290477, 7245544203380098384, 0, 0, 0, 0, 12068304939642236116, 13614044321092849027, 2880541849277464939, 815353510606417922, 14606426392222040491, 10929343986009381754, 18415245620786467058, 16142346014486690114, 10307567187784261413, 3831820208496643010, 14408727760370549811, 16272758710359397343, 0, 1, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 2, 0, 0, 0, 12086689928305136975, 10578835246084642663, 16542988469676950340, 18039575486237140027, 11378817209220925403, 1830288712116369429, 6836951313152193092, 13067316829245445662, 10483719891652983399, 15107628385291453978, 5745482890193398991, 1467598035505522824, 2, 0, 0, 0, 6641033060700930640, 8002128452364190151, 4237597913508652736, 16497663922788367837, 9373930087271682821, 8772840226065969951, 13812790890684464043, 3327344850838518736, 15781875901493184698, 16732525831131872764, 1159309880266465962, 6519234662137256116, 2, 0, 0, 0, 10088943647124252289, 13701383109068607902, 15690388373484222925, 4290213237740108975, 15844775943612000391, 16171043348080529647, 8784789786127538562, 12635460091357573504, 10561363445665196403, 3917577954302608976, 5337858229134527127, 14152777758433279341, 2, 13029570897742009002, 13177254746172619023, 16038571161593335404, 2188338323498964707, 14662423055206707252, 399526319231252303, 14972684080243877319, 16777311805145501140, 6099803173114002593, 11253362042985817221, 10221863501466764826, 13414791437675451535, 2725322839420367772, 11819412321405778772, 13817033321558649088, 2, 13691749519374287845, 15387673422637086663, 6922978787178957527, 2041172898547348571, 14589651886185789070, 5957633751491508475, 11960354433033043999, 15992971255870582512, 11830967408320733184, 15268965263556481837, 9065968121241919240, 14630209597160847101, 3695262652988767746, 6761434464064434034, 4499935311821727041, 2, 15420756780139702261, 12424942891141165558, 6929528357507663172, 12198893338677478437, 18421446739075495822, 8468855093677567166, 14423050383612849622, 15188396328060565700, 16106496456550916799, 4380220556771000987, 18185062664582859482, 3471791712555441489, 5206529722281859812, 12099854936489528262, 3482375809599031896, 2, 15574108340013622137, 15113564352853103247, 11759657553614819330, 8329975443345290464, 17940882943282719830, 715706186220073675, 11225208304861844348, 11251091880797815873, 16487042113140331701, 2684378958809639271, 18420809765897439905, 5225320321320513732, 6305682781245368810, 4669442538207571276, 14700449525371639507, 2, 2979254376677653503, 1883000689168719362, 8104422763610466617, 5576229311275790732, 2194272311725182022, 11069690432331401312, 9059389138265053881, 8765354464725236382, 9222374345361788506, 18259801840836875925, 6516753426367602114, 16862896352549227556, 4308341550229035638, 3265342498516698837, 13464131825573347891, 2, 13700569878861168214, 2688488967505940113, 3894270749155947782, 13272913612051073638, 229891148220106304, 8827790146883078828, 18375171102175520942, 14403529172649637015, 13099700194841873205, 188376523053645225, 1993959712224675182, 14801384607878448444, 10465527702245819388, 17660990215931846922, 908628888712311860, 2, 17841857416383363570, 1410880649834889205, 15205315845157535511, 474005396413342575, 13140045598301896487, 3896472587811302452, 11889483340877797878, 10675872888943407911, 9043988711004206942, 6590644200881402626, 6630214594291443650, 7328314644790889015, 1925120838408255657, 12102121948068675841, 3366469296269798303, 2, 9810051462759316493, 0, 0, 1967048762267479030, 14694789381285854906, 7850615184380239535, 6179804070945807128, 6190847648382551976, 7074541545875785618, 9996122377954848783, 18406348765365233841, 4381980521208731448, 2527214276140522656, 17476881528019612421, 10227790736734811126, 2, 0, 0, 0, 12825387260273911399, 6194529288585122100, 10547428200413979362, 7146038864248149980, 3758150568829560250, 6436891845148661154, 9620702432336511668, 2457824222102594551, 13331592005230563304, 11086532868255377399, 4413541832527011587, 16051730796051624324, 2, 0, 0, 0, 16438196827052442198, 18163112479653478435, 13659775893412875850, 9240379517650154023, 17622738652736541491, 10377502873777599097, 14167784496777925017, 8652392797374596693, 10690605953822876908, 6607959159332506262, 7925296024181542304, 11865355698347075352, 2, 0, 0, 0, 8453841446519729480, 5007921045949414127, 10571120719178391220, 9766554424414228694, 8901262338981550121, 11643533070801732852, 18177267262839360795, 4695688607260963965, 5981212851350180937, 7185340145346514702, 15820300171842782914, 13017849308841041926, 2, 1, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 2, 2, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 9406198837081470939, 12454644480646831381, 5357297729805547264, 15695767008081417024, 17081781165782008305, 18173774266735228622, 6597958223090468622, 10058815580948772803, 9341085403015625984, 17305809056185869492, 16092333721991261411, 14466140396882267896, 3, 0, 0, 0, 10022220918800215931, 6625466299838152616, 14873368774111773763, 13822207310342005989, 11851640107665623803, 4144160359412257714, 1001954617881206717, 2558852513241095712, 8048571622541726255, 3796262690630383451, 12690029978283677858, 7698456735078463171, 3, 0, 0, 0, 1529838978363474364, 5877585793149040063, 11620602129319348479, 3184399423922769699, 4766473366160256877, 7300042540399827448, 2462275239493078851, 11288811565422176008, 16822095754433680909, 18301782264345075251, 18087044935643148806, 510047809549721667, 3, 17625583494235189807, 10622457062204255065, 2653216356844660597, 9475027500051639757, 10463750966311648190, 11600868756246964674, 15662168292079378087, 14737424852298451342, 117344945972585870, 3251083096698399603, 12684542007451613640, 4788924408482455108, 6902797868122893844, 15800238251163812693, 12046292011878974455, 3, 7496472832454263388, 12998172934440185624, 17507911152779544052, 16456090005001040440, 16590029451027219509, 2617628953138715244, 622817961215058190, 1598986500188737220, 17607068252592942451, 15060402253986549440, 16875740049367006869, 4040451923151286438, 5925341866968505601, 14259707661873610422, 10732873470134113982, 3, 1452526314939094806, 1479000593888603377, 246310986971833963, 4152569545950646704, 4118156517299583310, 17663239633609473365, 8127661496786659791, 17689549836214880979, 14746946312861632567, 602662289136933629, 11216558892028292475, 5188174964157774722, 7100861533945618475, 3714941418598094928, 1377039040653060055, 3, 2930684747787414446, 1754494303819808128, 669923854651336066, 5941781742039952076, 876859729835418933, 790907098378102911, 115518666891692872, 16890877536441094576, 16820881161920465009, 241154565549913410, 44006951265386772, 5087127128059490065, 18106355872892957036, 3269612205224843731, 8638796096796806719, 3, 2414727401863600363, 7617116592575512612, 18041147314657306922, 15957716643783059543, 11912796059449786962, 11153176059938326063, 14174738803865199162, 11999349000942665761, 17632700466101721722, 6582530104605672978, 16757182470542785800, 12431955029502155155, 17163152133935520513, 1237894940644049096, 6188646281997977531, 3, 2319532296399149270, 9283783715220787949, 810281363185644618, 4756894436878044936, 12165478487736095233, 13041376666032139342, 3740623961436206385, 6384260880460211781, 17121495806538343926, 14583996149149192254, 11562370595738293151, 8268709300694246348, 17892562184847802024, 3859704522936614211, 7366245284644652757, 3, 949011576700156842, 1533322811274401426, 15060757839378359292, 1432035093691797337, 206692693307936550, 378907012515670704, 10248912138703390835, 10128144445036454539, 5042107387767762304, 9843022881405494656, 11880883914254039546, 13220616153049902, 455311511731825064, 5381232113954376086, 5364482943654507461, 3, 5881102500383619035, 0, 0, 2424299330597632902, 607119689966087280, 17283177276798307300, 475409702871185800, 15518804315920479075, 4578339057778509415, 4685043752195987874, 10392430241191498892, 11507515262772595129, 14439767021292397992, 13673908725375817159, 5378163831543087962, 3, 0, 0, 0, 14342875730731176181, 6225072162372691712, 8577974921324183601, 751519865506756952, 9824595797538483612, 10360631973465438301, 10226703749989732907, 13840269947314152185, 1831374399934529359, 14389265827404554261, 11392184682219726353, 17676970157216697757, 3, 0, 0, 0, 10605591699135631895, 525785012032090331, 1824237168047932550, 3952375305216254717, 9821754274536606782, 7855314197760224131, 17861834154975224793, 9836275050510148653, 17819027328170218375, 2840178708967434753, 15534576285961723627, 15357405679043026976, 3, 0, 0, 0, 9793600913424407404, 14104167067920766779, 12309619471118709560, 12550056362664815329, 320739284087105326, 3762140957859872022, 10326389091316073307, 18366686834124399227, 5296819603037261258, 8152022108836431115, 8031664516364171852, 12133015237048791800, 3, 2, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(17) }, program_info: ProgramInfo { program_hash: Word([6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 18, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 16, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 0, 41, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 1, 0, 0, 1, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 7, 1, 0, 0, 9, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 5, 0, 0, 1, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 1, 1, 0, 41, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 9, 1, 0, 0, 1, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 12, 1, 0, 0, 14, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 3, 8, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 9, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 3, 10, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 0, 0, 14526210785099218637, 11847263499640079386, 14727111875255715984, 15492005690507045243, 3560320103534777253, 6108459071875623888, 17010585649681490524, 9461625672567273576, 5346213935533921584, 17324400741801951375, 11366145235097950908, 11020281342858012232, 0, 0, 0, 0, 16197070053425155514, 15404003330998391348, 11930643358177149189, 1706026293115752249, 4860311493079570077, 17106682771221635926, 1613342353291471586, 10021094444428090144, 295368900173018762, 10362371049945425700, 9316163589333399506, 7378950726844095693, 0, 0, 0, 0, 11506810158870826797, 14392904697466827547, 17905937794745323592, 17513565884470753819, 7019811109989114514, 10250939299242755101, 7620822681592706112, 12768902792042039708, 744728025267091276, 16212166364245632221, 10010770609378408333, 15023204573923685916, 0, 9206943447329060417, 1573227013771687083, 7633983188953929869, 14747762092445444483, 12960730896173836507, 5351433366377253619, 4177159482546072600, 17061003377938727239, 9435579121926835049, 9864020053232925179, 11244311170762781618, 2840907732738372264, 7192941522047765124, 6173174116697481058, 13004561835267794042, 0, 12007385695887985386, 13598702180788517287, 3912064789771327196, 11932998954627996911, 3853323028698833085, 11507033346049547360, 10110848241210835991, 15428609857280202530, 17110299148476621277, 12520416593002020608, 9431488564150546187, 2602629576595200800, 15183940660821516128, 15328070744340284046, 9882485700386666987, 0, 2642957852140576392, 12998709907982857483, 4565256592569070651, 4013127352579691203, 10860110376897053120, 13677509527593892026, 2308518476531625659, 6232392686954434349, 13948263847203418837, 7843559618500491242, 7771043128539275771, 18270783924518568037, 16689544634184962614, 16359543813917605495, 8488375023251026510, 0, 13959988857529015221, 12915245760499792818, 14841159553908529338, 14670848694035742368, 13930039566082372841, 9902385290951234306, 3203646694279229751, 13440312555890036471, 10385999516795969620, 11713935020689149772, 12229669264695050570, 402942260260809100, 16753462626177821460, 662362961313881669, 5887183544599407053, 0, 14402936773953440947, 2012430503613052642, 1213953359224393220, 13944145787018602210, 6056959262477445647, 4982640241702718669, 1688381135968391307, 4510633793399532317, 7320984145724666154, 4691989180601120012, 102059673196228558, 1411198915631488472, 1854414388528665842, 16986811917033125654, 795637807896719676, 0, 6294256185997130924, 4739079035802422148, 10935612526477766520, 17716511124280484394, 5021001597521525061, 18126874747305633609, 481644947884807344, 6049685422777720638, 1030047529196261526, 9576302115777192780, 10035472829778314322, 923305066890152615, 12527260620733941943, 11414360666749268526, 17760291183069624834, 0, 10231661581337343904, 1832808263237927056, 6905801525972141190, 7456565975287668714, 12513973463050722371, 15559507328575476525, 2883833371658699080, 3184838730020301861, 18205970767593414562, 2798075613901729544, 189593258747480201, 13243754036156659300, 5745460764532976218, 2786581607585809614, 17436021357923428450, 0, 72056538882336487, 0, 0, 5652048509186166814, 15367385573432163092, 6683125870356394251, 3770937106356856256, 1769679637596203925, 14372844572054653742, 13769745398507346855, 11807785571768521955, 5724215673931049374, 4401662327723853424, 11928715632009092524, 9924361168171239878, 0, 0, 0, 0, 15128667119917371737, 8016996928120686373, 7467419359957362665, 4993381537595555977, 9371037824338144222, 2930594646951740022, 3944515787153841278, 5454163417882053837, 7667177038930845021, 10105079595217614088, 5177647710243780137, 13395674984723106859, 0, 0, 0, 0, 17075658029987678701, 16942975531700611427, 3643709618611291855, 1334709094417075573, 11909212706933233016, 9741605425019020242, 7607696627297382550, 15299729661431018600, 7032572794257903279, 16683658838871091473, 3645139219999290477, 7245544203380098384, 0, 0, 0, 0, 12068304939642236116, 13614044321092849027, 2880541849277464939, 815353510606417922, 14606426392222040491, 10929343986009381754, 18415245620786467058, 16142346014486690114, 10307567187784261413, 3831820208496643010, 14408727760370549811, 16272758710359397343, 0, 1, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 2, 0, 0, 0, 12086689928305136975, 10578835246084642663, 16542988469676950340, 18039575486237140027, 11378817209220925403, 1830288712116369429, 6836951313152193092, 13067316829245445662, 10483719891652983399, 15107628385291453978, 5745482890193398991, 1467598035505522824, 2, 0, 0, 0, 6641033060700930640, 8002128452364190151, 4237597913508652736, 16497663922788367837, 9373930087271682821, 8772840226065969951, 13812790890684464043, 3327344850838518736, 15781875901493184698, 16732525831131872764, 1159309880266465962, 6519234662137256116, 2, 0, 0, 0, 10088943647124252289, 13701383109068607902, 15690388373484222925, 4290213237740108975, 15844775943612000391, 16171043348080529647, 8784789786127538562, 12635460091357573504, 10561363445665196403, 3917577954302608976, 5337858229134527127, 14152777758433279341, 2, 13029570897742009002, 13177254746172619023, 16038571161593335404, 2188338323498964707, 14662423055206707252, 399526319231252303, 14972684080243877319, 16777311805145501140, 6099803173114002593, 11253362042985817221, 10221863501466764826, 13414791437675451535, 2725322839420367772, 11819412321405778772, 13817033321558649088, 2, 13691749519374287845, 15387673422637086663, 6922978787178957527, 2041172898547348571, 14589651886185789070, 5957633751491508475, 11960354433033043999, 15992971255870582512, 11830967408320733184, 15268965263556481837, 9065968121241919240, 14630209597160847101, 3695262652988767746, 6761434464064434034, 4499935311821727041, 2, 15420756780139702261, 12424942891141165558, 6929528357507663172, 12198893338677478437, 18421446739075495822, 8468855093677567166, 14423050383612849622, 15188396328060565700, 16106496456550916799, 4380220556771000987, 18185062664582859482, 3471791712555441489, 5206529722281859812, 12099854936489528262, 3482375809599031896, 2, 15574108340013622137, 15113564352853103247, 11759657553614819330, 8329975443345290464, 17940882943282719830, 715706186220073675, 11225208304861844348, 11251091880797815873, 16487042113140331701, 2684378958809639271, 18420809765897439905, 5225320321320513732, 6305682781245368810, 4669442538207571276, 14700449525371639507, 2, 2979254376677653503, 1883000689168719362, 8104422763610466617, 5576229311275790732, 2194272311725182022, 11069690432331401312, 9059389138265053881, 8765354464725236382, 9222374345361788506, 18259801840836875925, 6516753426367602114, 16862896352549227556, 4308341550229035638, 3265342498516698837, 13464131825573347891, 2, 13700569878861168214, 2688488967505940113, 3894270749155947782, 13272913612051073638, 229891148220106304, 8827790146883078828, 18375171102175520942, 14403529172649637015, 13099700194841873205, 188376523053645225, 1993959712224675182, 14801384607878448444, 10465527702245819388, 17660990215931846922, 908628888712311860, 2, 17841857416383363570, 1410880649834889205, 15205315845157535511, 474005396413342575, 13140045598301896487, 3896472587811302452, 11889483340877797878, 10675872888943407911, 9043988711004206942, 6590644200881402626, 6630214594291443650, 7328314644790889015, 1925120838408255657, 12102121948068675841, 3366469296269798303, 2, 9810051462759316493, 0, 0, 1967048762267479030, 14694789381285854906, 7850615184380239535, 6179804070945807128, 6190847648382551976, 7074541545875785618, 9996122377954848783, 18406348765365233841, 4381980521208731448, 2527214276140522656, 17476881528019612421, 10227790736734811126, 2, 0, 0, 0, 12825387260273911399, 6194529288585122100, 10547428200413979362, 7146038864248149980, 3758150568829560250, 6436891845148661154, 9620702432336511668, 2457824222102594551, 13331592005230563304, 11086532868255377399, 4413541832527011587, 16051730796051624324, 2, 0, 0, 0, 16438196827052442198, 18163112479653478435, 13659775893412875850, 9240379517650154023, 17622738652736541491, 10377502873777599097, 14167784496777925017, 8652392797374596693, 10690605953822876908, 6607959159332506262, 7925296024181542304, 11865355698347075352, 2, 0, 0, 0, 8453841446519729480, 5007921045949414127, 10571120719178391220, 9766554424414228694, 8901262338981550121, 11643533070801732852, 18177267262839360795, 4695688607260963965, 5981212851350180937, 7185340145346514702, 15820300171842782914, 13017849308841041926, 2, 1, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 2, 2, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 9406198837081470939, 12454644480646831381, 5357297729805547264, 15695767008081417024, 17081781165782008305, 18173774266735228622, 6597958223090468622, 10058815580948772803, 9341085403015625984, 17305809056185869492, 16092333721991261411, 14466140396882267896, 3, 0, 0, 0, 10022220918800215931, 6625466299838152616, 14873368774111773763, 13822207310342005989, 11851640107665623803, 4144160359412257714, 1001954617881206717, 2558852513241095712, 8048571622541726255, 3796262690630383451, 12690029978283677858, 7698456735078463171, 3, 0, 0, 0, 1529838978363474364, 5877585793149040063, 11620602129319348479, 3184399423922769699, 4766473366160256877, 7300042540399827448, 2462275239493078851, 11288811565422176008, 16822095754433680909, 18301782264345075251, 18087044935643148806, 510047809549721667, 3, 17625583494235189807, 10622457062204255065, 2653216356844660597, 9475027500051639757, 10463750966311648190, 11600868756246964674, 15662168292079378087, 14737424852298451342, 117344945972585870, 3251083096698399603, 12684542007451613640, 4788924408482455108, 6902797868122893844, 15800238251163812693, 12046292011878974455, 3, 7496472832454263388, 12998172934440185624, 17507911152779544052, 16456090005001040440, 16590029451027219509, 2617628953138715244, 622817961215058190, 1598986500188737220, 17607068252592942451, 15060402253986549440, 16875740049367006869, 4040451923151286438, 5925341866968505601, 14259707661873610422, 10732873470134113982, 3, 1452526314939094806, 1479000593888603377, 246310986971833963, 4152569545950646704, 4118156517299583310, 17663239633609473365, 8127661496786659791, 17689549836214880979, 14746946312861632567, 602662289136933629, 11216558892028292475, 5188174964157774722, 7100861533945618475, 3714941418598094928, 1377039040653060055, 3, 2930684747787414446, 1754494303819808128, 669923854651336066, 5941781742039952076, 876859729835418933, 790907098378102911, 115518666891692872, 16890877536441094576, 16820881161920465009, 241154565549913410, 44006951265386772, 5087127128059490065, 18106355872892957036, 3269612205224843731, 8638796096796806719, 3, 2414727401863600363, 7617116592575512612, 18041147314657306922, 15957716643783059543, 11912796059449786962, 11153176059938326063, 14174738803865199162, 11999349000942665761, 17632700466101721722, 6582530104605672978, 16757182470542785800, 12431955029502155155, 17163152133935520513, 1237894940644049096, 6188646281997977531, 3, 2319532296399149270, 9283783715220787949, 810281363185644618, 4756894436878044936, 12165478487736095233, 13041376666032139342, 3740623961436206385, 6384260880460211781, 17121495806538343926, 14583996149149192254, 11562370595738293151, 8268709300694246348, 17892562184847802024, 3859704522936614211, 7366245284644652757, 3, 949011576700156842, 1533322811274401426, 15060757839378359292, 1432035093691797337, 206692693307936550, 378907012515670704, 10248912138703390835, 10128144445036454539, 5042107387767762304, 9843022881405494656, 11880883914254039546, 13220616153049902, 455311511731825064, 5381232113954376086, 5364482943654507461, 3, 5881102500383619035, 0, 0, 2424299330597632902, 607119689966087280, 17283177276798307300, 475409702871185800, 15518804315920479075, 4578339057778509415, 4685043752195987874, 10392430241191498892, 11507515262772595129, 14439767021292397992, 13673908725375817159, 5378163831543087962, 3, 0, 0, 0, 14342875730731176181, 6225072162372691712, 8577974921324183601, 751519865506756952, 9824595797538483612, 10360631973465438301, 10226703749989732907, 13840269947314152185, 1831374399934529359, 14389265827404554261, 11392184682219726353, 17676970157216697757, 3, 0, 0, 0, 10605591699135631895, 525785012032090331, 1824237168047932550, 3952375305216254717, 9821754274536606782, 7855314197760224131, 17861834154975224793, 9836275050510148653, 17819027328170218375, 2840178708967434753, 15534576285961723627, 15357405679043026976, 3, 0, 0, 0, 9793600913424407404, 14104167067920766779, 12309619471118709560, 12550056362664815329, 320739284087105326, 3762140957859872022, 10326389091316073307, 18366686834124399227, 5296819603037261258, 8152022108836431115, 8031664516364171852, 12133015237048791800, 3, 2, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(17) }, program_info: ProgramInfo { program_hash: Word([6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 18, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 16, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_10.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_10.snap index f82725a9c4..6adccacd1f 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_10.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_10.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 0, 41, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 1, 0, 0, 1, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 7, 1, 0, 0, 9, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 5, 0, 0, 1, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 1, 1, 0, 41, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 9, 1, 0, 0, 1, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 12, 1, 0, 0, 14, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 5, 0, 0, 1, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 1, 1, 0, 41, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 11, 1, 0, 0, 1, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 1, 0, 0, 19, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 3, 8, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 9, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 3, 10, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 11, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 3, 12, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 0, 0, 14526210785099218637, 11847263499640079386, 14727111875255715984, 15492005690507045243, 3560320103534777253, 6108459071875623888, 17010585649681490524, 9461625672567273576, 5346213935533921584, 17324400741801951375, 11366145235097950908, 11020281342858012232, 0, 0, 0, 0, 16197070053425155514, 15404003330998391348, 11930643358177149189, 1706026293115752249, 4860311493079570077, 17106682771221635926, 1613342353291471586, 10021094444428090144, 295368900173018762, 10362371049945425700, 9316163589333399506, 7378950726844095693, 0, 0, 0, 0, 11506810158870826797, 14392904697466827547, 17905937794745323592, 17513565884470753819, 7019811109989114514, 10250939299242755101, 7620822681592706112, 12768902792042039708, 744728025267091276, 16212166364245632221, 10010770609378408333, 15023204573923685916, 0, 9206943447329060417, 1573227013771687083, 7633983188953929869, 14747762092445444483, 12960730896173836507, 5351433366377253619, 4177159482546072600, 17061003377938727239, 9435579121926835049, 9864020053232925179, 11244311170762781618, 2840907732738372264, 7192941522047765124, 6173174116697481058, 13004561835267794042, 0, 12007385695887985386, 13598702180788517287, 3912064789771327196, 11932998954627996911, 3853323028698833085, 11507033346049547360, 10110848241210835991, 15428609857280202530, 17110299148476621277, 12520416593002020608, 9431488564150546187, 2602629576595200800, 15183940660821516128, 15328070744340284046, 9882485700386666987, 0, 2642957852140576392, 12998709907982857483, 4565256592569070651, 4013127352579691203, 10860110376897053120, 13677509527593892026, 2308518476531625659, 6232392686954434349, 13948263847203418837, 7843559618500491242, 7771043128539275771, 18270783924518568037, 16689544634184962614, 16359543813917605495, 8488375023251026510, 0, 13959988857529015221, 12915245760499792818, 14841159553908529338, 14670848694035742368, 13930039566082372841, 9902385290951234306, 3203646694279229751, 13440312555890036471, 10385999516795969620, 11713935020689149772, 12229669264695050570, 402942260260809100, 16753462626177821460, 662362961313881669, 5887183544599407053, 0, 14402936773953440947, 2012430503613052642, 1213953359224393220, 13944145787018602210, 6056959262477445647, 4982640241702718669, 1688381135968391307, 4510633793399532317, 7320984145724666154, 4691989180601120012, 102059673196228558, 1411198915631488472, 1854414388528665842, 16986811917033125654, 795637807896719676, 0, 6294256185997130924, 4739079035802422148, 10935612526477766520, 17716511124280484394, 5021001597521525061, 18126874747305633609, 481644947884807344, 6049685422777720638, 1030047529196261526, 9576302115777192780, 10035472829778314322, 923305066890152615, 12527260620733941943, 11414360666749268526, 17760291183069624834, 0, 10231661581337343904, 1832808263237927056, 6905801525972141190, 7456565975287668714, 12513973463050722371, 15559507328575476525, 2883833371658699080, 3184838730020301861, 18205970767593414562, 2798075613901729544, 189593258747480201, 13243754036156659300, 5745460764532976218, 2786581607585809614, 17436021357923428450, 0, 72056538882336487, 0, 0, 5652048509186166814, 15367385573432163092, 6683125870356394251, 3770937106356856256, 1769679637596203925, 14372844572054653742, 13769745398507346855, 11807785571768521955, 5724215673931049374, 4401662327723853424, 11928715632009092524, 9924361168171239878, 0, 0, 0, 0, 15128667119917371737, 8016996928120686373, 7467419359957362665, 4993381537595555977, 9371037824338144222, 2930594646951740022, 3944515787153841278, 5454163417882053837, 7667177038930845021, 10105079595217614088, 5177647710243780137, 13395674984723106859, 0, 0, 0, 0, 17075658029987678701, 16942975531700611427, 3643709618611291855, 1334709094417075573, 11909212706933233016, 9741605425019020242, 7607696627297382550, 15299729661431018600, 7032572794257903279, 16683658838871091473, 3645139219999290477, 7245544203380098384, 0, 0, 0, 0, 12068304939642236116, 13614044321092849027, 2880541849277464939, 815353510606417922, 14606426392222040491, 10929343986009381754, 18415245620786467058, 16142346014486690114, 10307567187784261413, 3831820208496643010, 14408727760370549811, 16272758710359397343, 0, 1, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 2, 0, 0, 0, 12086689928305136975, 10578835246084642663, 16542988469676950340, 18039575486237140027, 11378817209220925403, 1830288712116369429, 6836951313152193092, 13067316829245445662, 10483719891652983399, 15107628385291453978, 5745482890193398991, 1467598035505522824, 2, 0, 0, 0, 6641033060700930640, 8002128452364190151, 4237597913508652736, 16497663922788367837, 9373930087271682821, 8772840226065969951, 13812790890684464043, 3327344850838518736, 15781875901493184698, 16732525831131872764, 1159309880266465962, 6519234662137256116, 2, 0, 0, 0, 10088943647124252289, 13701383109068607902, 15690388373484222925, 4290213237740108975, 15844775943612000391, 16171043348080529647, 8784789786127538562, 12635460091357573504, 10561363445665196403, 3917577954302608976, 5337858229134527127, 14152777758433279341, 2, 13029570897742009002, 13177254746172619023, 16038571161593335404, 2188338323498964707, 14662423055206707252, 399526319231252303, 14972684080243877319, 16777311805145501140, 6099803173114002593, 11253362042985817221, 10221863501466764826, 13414791437675451535, 2725322839420367772, 11819412321405778772, 13817033321558649088, 2, 13691749519374287845, 15387673422637086663, 6922978787178957527, 2041172898547348571, 14589651886185789070, 5957633751491508475, 11960354433033043999, 15992971255870582512, 11830967408320733184, 15268965263556481837, 9065968121241919240, 14630209597160847101, 3695262652988767746, 6761434464064434034, 4499935311821727041, 2, 15420756780139702261, 12424942891141165558, 6929528357507663172, 12198893338677478437, 18421446739075495822, 8468855093677567166, 14423050383612849622, 15188396328060565700, 16106496456550916799, 4380220556771000987, 18185062664582859482, 3471791712555441489, 5206529722281859812, 12099854936489528262, 3482375809599031896, 2, 15574108340013622137, 15113564352853103247, 11759657553614819330, 8329975443345290464, 17940882943282719830, 715706186220073675, 11225208304861844348, 11251091880797815873, 16487042113140331701, 2684378958809639271, 18420809765897439905, 5225320321320513732, 6305682781245368810, 4669442538207571276, 14700449525371639507, 2, 2979254376677653503, 1883000689168719362, 8104422763610466617, 5576229311275790732, 2194272311725182022, 11069690432331401312, 9059389138265053881, 8765354464725236382, 9222374345361788506, 18259801840836875925, 6516753426367602114, 16862896352549227556, 4308341550229035638, 3265342498516698837, 13464131825573347891, 2, 13700569878861168214, 2688488967505940113, 3894270749155947782, 13272913612051073638, 229891148220106304, 8827790146883078828, 18375171102175520942, 14403529172649637015, 13099700194841873205, 188376523053645225, 1993959712224675182, 14801384607878448444, 10465527702245819388, 17660990215931846922, 908628888712311860, 2, 17841857416383363570, 1410880649834889205, 15205315845157535511, 474005396413342575, 13140045598301896487, 3896472587811302452, 11889483340877797878, 10675872888943407911, 9043988711004206942, 6590644200881402626, 6630214594291443650, 7328314644790889015, 1925120838408255657, 12102121948068675841, 3366469296269798303, 2, 9810051462759316493, 0, 0, 1967048762267479030, 14694789381285854906, 7850615184380239535, 6179804070945807128, 6190847648382551976, 7074541545875785618, 9996122377954848783, 18406348765365233841, 4381980521208731448, 2527214276140522656, 17476881528019612421, 10227790736734811126, 2, 0, 0, 0, 12825387260273911399, 6194529288585122100, 10547428200413979362, 7146038864248149980, 3758150568829560250, 6436891845148661154, 9620702432336511668, 2457824222102594551, 13331592005230563304, 11086532868255377399, 4413541832527011587, 16051730796051624324, 2, 0, 0, 0, 16438196827052442198, 18163112479653478435, 13659775893412875850, 9240379517650154023, 17622738652736541491, 10377502873777599097, 14167784496777925017, 8652392797374596693, 10690605953822876908, 6607959159332506262, 7925296024181542304, 11865355698347075352, 2, 0, 0, 0, 8453841446519729480, 5007921045949414127, 10571120719178391220, 9766554424414228694, 8901262338981550121, 11643533070801732852, 18177267262839360795, 4695688607260963965, 5981212851350180937, 7185340145346514702, 15820300171842782914, 13017849308841041926, 2, 1, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 2, 3, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 9406198837081470939, 12454644480646831381, 5357297729805547264, 15695767008081417024, 17081781165782008305, 18173774266735228622, 6597958223090468622, 10058815580948772803, 9341085403015625984, 17305809056185869492, 16092333721991261411, 14466140396882267896, 3, 0, 0, 0, 10022220918800215931, 6625466299838152616, 14873368774111773763, 13822207310342005989, 11851640107665623803, 4144160359412257714, 1001954617881206717, 2558852513241095712, 8048571622541726255, 3796262690630383451, 12690029978283677858, 7698456735078463171, 3, 0, 0, 0, 1529838978363474364, 5877585793149040063, 11620602129319348479, 3184399423922769699, 4766473366160256877, 7300042540399827448, 2462275239493078851, 11288811565422176008, 16822095754433680909, 18301782264345075251, 18087044935643148806, 510047809549721667, 3, 17625583494235189807, 10622457062204255065, 2653216356844660597, 9475027500051639757, 10463750966311648190, 11600868756246964674, 15662168292079378087, 14737424852298451342, 117344945972585870, 3251083096698399603, 12684542007451613640, 4788924408482455108, 6902797868122893844, 15800238251163812693, 12046292011878974455, 3, 7496472832454263388, 12998172934440185624, 17507911152779544052, 16456090005001040440, 16590029451027219509, 2617628953138715244, 622817961215058190, 1598986500188737220, 17607068252592942451, 15060402253986549440, 16875740049367006869, 4040451923151286438, 5925341866968505601, 14259707661873610422, 10732873470134113982, 3, 1452526314939094806, 1479000593888603377, 246310986971833963, 4152569545950646704, 4118156517299583310, 17663239633609473365, 8127661496786659791, 17689549836214880979, 14746946312861632567, 602662289136933629, 11216558892028292475, 5188174964157774722, 7100861533945618475, 3714941418598094928, 1377039040653060055, 3, 2930684747787414446, 1754494303819808128, 669923854651336066, 5941781742039952076, 876859729835418933, 790907098378102911, 115518666891692872, 16890877536441094576, 16820881161920465009, 241154565549913410, 44006951265386772, 5087127128059490065, 18106355872892957036, 3269612205224843731, 8638796096796806719, 3, 2414727401863600363, 7617116592575512612, 18041147314657306922, 15957716643783059543, 11912796059449786962, 11153176059938326063, 14174738803865199162, 11999349000942665761, 17632700466101721722, 6582530104605672978, 16757182470542785800, 12431955029502155155, 17163152133935520513, 1237894940644049096, 6188646281997977531, 3, 2319532296399149270, 9283783715220787949, 810281363185644618, 4756894436878044936, 12165478487736095233, 13041376666032139342, 3740623961436206385, 6384260880460211781, 17121495806538343926, 14583996149149192254, 11562370595738293151, 8268709300694246348, 17892562184847802024, 3859704522936614211, 7366245284644652757, 3, 949011576700156842, 1533322811274401426, 15060757839378359292, 1432035093691797337, 206692693307936550, 378907012515670704, 10248912138703390835, 10128144445036454539, 5042107387767762304, 9843022881405494656, 11880883914254039546, 13220616153049902, 455311511731825064, 5381232113954376086, 5364482943654507461, 3, 5881102500383619035, 0, 0, 2424299330597632902, 607119689966087280, 17283177276798307300, 475409702871185800, 15518804315920479075, 4578339057778509415, 4685043752195987874, 10392430241191498892, 11507515262772595129, 14439767021292397992, 13673908725375817159, 5378163831543087962, 3, 0, 0, 0, 14342875730731176181, 6225072162372691712, 8577974921324183601, 751519865506756952, 9824595797538483612, 10360631973465438301, 10226703749989732907, 13840269947314152185, 1831374399934529359, 14389265827404554261, 11392184682219726353, 17676970157216697757, 3, 0, 0, 0, 10605591699135631895, 525785012032090331, 1824237168047932550, 3952375305216254717, 9821754274536606782, 7855314197760224131, 17861834154975224793, 9836275050510148653, 17819027328170218375, 2840178708967434753, 15534576285961723627, 15357405679043026976, 3, 0, 0, 0, 9793600913424407404, 14104167067920766779, 12309619471118709560, 12550056362664815329, 320739284087105326, 3762140957859872022, 10326389091316073307, 18366686834124399227, 5296819603037261258, 8152022108836431115, 8031664516364171852, 12133015237048791800, 3, 3, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(22) }, program_info: ProgramInfo { program_hash: Word([6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 23, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 16, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 0, 41, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 1, 0, 0, 1, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 7, 1, 0, 0, 9, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 5, 0, 0, 1, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 1, 1, 0, 41, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 9, 1, 0, 0, 1, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 12, 1, 0, 0, 14, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 5, 0, 0, 1, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 1, 1, 0, 41, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 11, 1, 0, 0, 1, 0, 1, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 1, 0, 0, 19, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 3, 8, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 9, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 3, 10, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 11, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 3, 12, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 0, 87, 0, 0, 0, 0, 0, 0, 14526210785099218637, 11847263499640079386, 14727111875255715984, 15492005690507045243, 3560320103534777253, 6108459071875623888, 17010585649681490524, 9461625672567273576, 5346213935533921584, 17324400741801951375, 11366145235097950908, 11020281342858012232, 0, 0, 0, 0, 16197070053425155514, 15404003330998391348, 11930643358177149189, 1706026293115752249, 4860311493079570077, 17106682771221635926, 1613342353291471586, 10021094444428090144, 295368900173018762, 10362371049945425700, 9316163589333399506, 7378950726844095693, 0, 0, 0, 0, 11506810158870826797, 14392904697466827547, 17905937794745323592, 17513565884470753819, 7019811109989114514, 10250939299242755101, 7620822681592706112, 12768902792042039708, 744728025267091276, 16212166364245632221, 10010770609378408333, 15023204573923685916, 0, 9206943447329060417, 1573227013771687083, 7633983188953929869, 14747762092445444483, 12960730896173836507, 5351433366377253619, 4177159482546072600, 17061003377938727239, 9435579121926835049, 9864020053232925179, 11244311170762781618, 2840907732738372264, 7192941522047765124, 6173174116697481058, 13004561835267794042, 0, 12007385695887985386, 13598702180788517287, 3912064789771327196, 11932998954627996911, 3853323028698833085, 11507033346049547360, 10110848241210835991, 15428609857280202530, 17110299148476621277, 12520416593002020608, 9431488564150546187, 2602629576595200800, 15183940660821516128, 15328070744340284046, 9882485700386666987, 0, 2642957852140576392, 12998709907982857483, 4565256592569070651, 4013127352579691203, 10860110376897053120, 13677509527593892026, 2308518476531625659, 6232392686954434349, 13948263847203418837, 7843559618500491242, 7771043128539275771, 18270783924518568037, 16689544634184962614, 16359543813917605495, 8488375023251026510, 0, 13959988857529015221, 12915245760499792818, 14841159553908529338, 14670848694035742368, 13930039566082372841, 9902385290951234306, 3203646694279229751, 13440312555890036471, 10385999516795969620, 11713935020689149772, 12229669264695050570, 402942260260809100, 16753462626177821460, 662362961313881669, 5887183544599407053, 0, 14402936773953440947, 2012430503613052642, 1213953359224393220, 13944145787018602210, 6056959262477445647, 4982640241702718669, 1688381135968391307, 4510633793399532317, 7320984145724666154, 4691989180601120012, 102059673196228558, 1411198915631488472, 1854414388528665842, 16986811917033125654, 795637807896719676, 0, 6294256185997130924, 4739079035802422148, 10935612526477766520, 17716511124280484394, 5021001597521525061, 18126874747305633609, 481644947884807344, 6049685422777720638, 1030047529196261526, 9576302115777192780, 10035472829778314322, 923305066890152615, 12527260620733941943, 11414360666749268526, 17760291183069624834, 0, 10231661581337343904, 1832808263237927056, 6905801525972141190, 7456565975287668714, 12513973463050722371, 15559507328575476525, 2883833371658699080, 3184838730020301861, 18205970767593414562, 2798075613901729544, 189593258747480201, 13243754036156659300, 5745460764532976218, 2786581607585809614, 17436021357923428450, 0, 72056538882336487, 0, 0, 5652048509186166814, 15367385573432163092, 6683125870356394251, 3770937106356856256, 1769679637596203925, 14372844572054653742, 13769745398507346855, 11807785571768521955, 5724215673931049374, 4401662327723853424, 11928715632009092524, 9924361168171239878, 0, 0, 0, 0, 15128667119917371737, 8016996928120686373, 7467419359957362665, 4993381537595555977, 9371037824338144222, 2930594646951740022, 3944515787153841278, 5454163417882053837, 7667177038930845021, 10105079595217614088, 5177647710243780137, 13395674984723106859, 0, 0, 0, 0, 17075658029987678701, 16942975531700611427, 3643709618611291855, 1334709094417075573, 11909212706933233016, 9741605425019020242, 7607696627297382550, 15299729661431018600, 7032572794257903279, 16683658838871091473, 3645139219999290477, 7245544203380098384, 0, 0, 0, 0, 12068304939642236116, 13614044321092849027, 2880541849277464939, 815353510606417922, 14606426392222040491, 10929343986009381754, 18415245620786467058, 16142346014486690114, 10307567187784261413, 3831820208496643010, 14408727760370549811, 16272758710359397343, 0, 1, 0, 0, 6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845, 2445654027848798773, 13989391813235195492, 481784282030877064, 1887209632430994963, 9346278187721986719, 3141189181316333764, 4622204731995696995, 16701354768447765175, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 85, 0, 0, 2, 0, 0, 0, 12086689928305136975, 10578835246084642663, 16542988469676950340, 18039575486237140027, 11378817209220925403, 1830288712116369429, 6836951313152193092, 13067316829245445662, 10483719891652983399, 15107628385291453978, 5745482890193398991, 1467598035505522824, 2, 0, 0, 0, 6641033060700930640, 8002128452364190151, 4237597913508652736, 16497663922788367837, 9373930087271682821, 8772840226065969951, 13812790890684464043, 3327344850838518736, 15781875901493184698, 16732525831131872764, 1159309880266465962, 6519234662137256116, 2, 0, 0, 0, 10088943647124252289, 13701383109068607902, 15690388373484222925, 4290213237740108975, 15844775943612000391, 16171043348080529647, 8784789786127538562, 12635460091357573504, 10561363445665196403, 3917577954302608976, 5337858229134527127, 14152777758433279341, 2, 13029570897742009002, 13177254746172619023, 16038571161593335404, 2188338323498964707, 14662423055206707252, 399526319231252303, 14972684080243877319, 16777311805145501140, 6099803173114002593, 11253362042985817221, 10221863501466764826, 13414791437675451535, 2725322839420367772, 11819412321405778772, 13817033321558649088, 2, 13691749519374287845, 15387673422637086663, 6922978787178957527, 2041172898547348571, 14589651886185789070, 5957633751491508475, 11960354433033043999, 15992971255870582512, 11830967408320733184, 15268965263556481837, 9065968121241919240, 14630209597160847101, 3695262652988767746, 6761434464064434034, 4499935311821727041, 2, 15420756780139702261, 12424942891141165558, 6929528357507663172, 12198893338677478437, 18421446739075495822, 8468855093677567166, 14423050383612849622, 15188396328060565700, 16106496456550916799, 4380220556771000987, 18185062664582859482, 3471791712555441489, 5206529722281859812, 12099854936489528262, 3482375809599031896, 2, 15574108340013622137, 15113564352853103247, 11759657553614819330, 8329975443345290464, 17940882943282719830, 715706186220073675, 11225208304861844348, 11251091880797815873, 16487042113140331701, 2684378958809639271, 18420809765897439905, 5225320321320513732, 6305682781245368810, 4669442538207571276, 14700449525371639507, 2, 2979254376677653503, 1883000689168719362, 8104422763610466617, 5576229311275790732, 2194272311725182022, 11069690432331401312, 9059389138265053881, 8765354464725236382, 9222374345361788506, 18259801840836875925, 6516753426367602114, 16862896352549227556, 4308341550229035638, 3265342498516698837, 13464131825573347891, 2, 13700569878861168214, 2688488967505940113, 3894270749155947782, 13272913612051073638, 229891148220106304, 8827790146883078828, 18375171102175520942, 14403529172649637015, 13099700194841873205, 188376523053645225, 1993959712224675182, 14801384607878448444, 10465527702245819388, 17660990215931846922, 908628888712311860, 2, 17841857416383363570, 1410880649834889205, 15205315845157535511, 474005396413342575, 13140045598301896487, 3896472587811302452, 11889483340877797878, 10675872888943407911, 9043988711004206942, 6590644200881402626, 6630214594291443650, 7328314644790889015, 1925120838408255657, 12102121948068675841, 3366469296269798303, 2, 9810051462759316493, 0, 0, 1967048762267479030, 14694789381285854906, 7850615184380239535, 6179804070945807128, 6190847648382551976, 7074541545875785618, 9996122377954848783, 18406348765365233841, 4381980521208731448, 2527214276140522656, 17476881528019612421, 10227790736734811126, 2, 0, 0, 0, 12825387260273911399, 6194529288585122100, 10547428200413979362, 7146038864248149980, 3758150568829560250, 6436891845148661154, 9620702432336511668, 2457824222102594551, 13331592005230563304, 11086532868255377399, 4413541832527011587, 16051730796051624324, 2, 0, 0, 0, 16438196827052442198, 18163112479653478435, 13659775893412875850, 9240379517650154023, 17622738652736541491, 10377502873777599097, 14167784496777925017, 8652392797374596693, 10690605953822876908, 6607959159332506262, 7925296024181542304, 11865355698347075352, 2, 0, 0, 0, 8453841446519729480, 5007921045949414127, 10571120719178391220, 9766554424414228694, 8901262338981550121, 11643533070801732852, 18177267262839360795, 4695688607260963965, 5981212851350180937, 7185340145346514702, 15820300171842782914, 13017849308841041926, 2, 1, 0, 0, 13719137288158876142, 6221215488690831821, 11468044834296629525, 16720332114142763849, 13962113176908263293, 676026057669832378, 15921241029195116857, 15915352364638718229, 1456698220748515004, 1707540503940690697, 10429997843948879425, 4559651383104503034, 2, 3, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 9406198837081470939, 12454644480646831381, 5357297729805547264, 15695767008081417024, 17081781165782008305, 18173774266735228622, 6597958223090468622, 10058815580948772803, 9341085403015625984, 17305809056185869492, 16092333721991261411, 14466140396882267896, 3, 0, 0, 0, 10022220918800215931, 6625466299838152616, 14873368774111773763, 13822207310342005989, 11851640107665623803, 4144160359412257714, 1001954617881206717, 2558852513241095712, 8048571622541726255, 3796262690630383451, 12690029978283677858, 7698456735078463171, 3, 0, 0, 0, 1529838978363474364, 5877585793149040063, 11620602129319348479, 3184399423922769699, 4766473366160256877, 7300042540399827448, 2462275239493078851, 11288811565422176008, 16822095754433680909, 18301782264345075251, 18087044935643148806, 510047809549721667, 3, 17625583494235189807, 10622457062204255065, 2653216356844660597, 9475027500051639757, 10463750966311648190, 11600868756246964674, 15662168292079378087, 14737424852298451342, 117344945972585870, 3251083096698399603, 12684542007451613640, 4788924408482455108, 6902797868122893844, 15800238251163812693, 12046292011878974455, 3, 7496472832454263388, 12998172934440185624, 17507911152779544052, 16456090005001040440, 16590029451027219509, 2617628953138715244, 622817961215058190, 1598986500188737220, 17607068252592942451, 15060402253986549440, 16875740049367006869, 4040451923151286438, 5925341866968505601, 14259707661873610422, 10732873470134113982, 3, 1452526314939094806, 1479000593888603377, 246310986971833963, 4152569545950646704, 4118156517299583310, 17663239633609473365, 8127661496786659791, 17689549836214880979, 14746946312861632567, 602662289136933629, 11216558892028292475, 5188174964157774722, 7100861533945618475, 3714941418598094928, 1377039040653060055, 3, 2930684747787414446, 1754494303819808128, 669923854651336066, 5941781742039952076, 876859729835418933, 790907098378102911, 115518666891692872, 16890877536441094576, 16820881161920465009, 241154565549913410, 44006951265386772, 5087127128059490065, 18106355872892957036, 3269612205224843731, 8638796096796806719, 3, 2414727401863600363, 7617116592575512612, 18041147314657306922, 15957716643783059543, 11912796059449786962, 11153176059938326063, 14174738803865199162, 11999349000942665761, 17632700466101721722, 6582530104605672978, 16757182470542785800, 12431955029502155155, 17163152133935520513, 1237894940644049096, 6188646281997977531, 3, 2319532296399149270, 9283783715220787949, 810281363185644618, 4756894436878044936, 12165478487736095233, 13041376666032139342, 3740623961436206385, 6384260880460211781, 17121495806538343926, 14583996149149192254, 11562370595738293151, 8268709300694246348, 17892562184847802024, 3859704522936614211, 7366245284644652757, 3, 949011576700156842, 1533322811274401426, 15060757839378359292, 1432035093691797337, 206692693307936550, 378907012515670704, 10248912138703390835, 10128144445036454539, 5042107387767762304, 9843022881405494656, 11880883914254039546, 13220616153049902, 455311511731825064, 5381232113954376086, 5364482943654507461, 3, 5881102500383619035, 0, 0, 2424299330597632902, 607119689966087280, 17283177276798307300, 475409702871185800, 15518804315920479075, 4578339057778509415, 4685043752195987874, 10392430241191498892, 11507515262772595129, 14439767021292397992, 13673908725375817159, 5378163831543087962, 3, 0, 0, 0, 14342875730731176181, 6225072162372691712, 8577974921324183601, 751519865506756952, 9824595797538483612, 10360631973465438301, 10226703749989732907, 13840269947314152185, 1831374399934529359, 14389265827404554261, 11392184682219726353, 17676970157216697757, 3, 0, 0, 0, 10605591699135631895, 525785012032090331, 1824237168047932550, 3952375305216254717, 9821754274536606782, 7855314197760224131, 17861834154975224793, 9836275050510148653, 17819027328170218375, 2840178708967434753, 15534576285961723627, 15357405679043026976, 3, 0, 0, 0, 9793600913424407404, 14104167067920766779, 12309619471118709560, 12550056362664815329, 320739284087105326, 3762140957859872022, 10326389091316073307, 18366686834124399227, 5296819603037261258, 8152022108836431115, 8031664516364171852, 12133015237048791800, 3, 3, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(22) }, program_info: ProgramInfo { program_hash: Word([6406609362174192544, 2141985200726836626, 6661786482229909687, 13187921859861146845]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [9999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 23, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 16, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_11.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_11.snap index 3287f8d79d..6241431c2d 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_11.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_11.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 5, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 7, 0, 0, 0, 1, 0, 0, 0, 8, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 7, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 5, 0, 0, 0, 0, 1, 1, 1, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 1, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2188, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4375, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6562, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8749, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10936, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13123, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15310, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16039, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16282, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16363, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16372, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16381, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16382, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 16383, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 18570, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 20757, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 22944, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 25131, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 27318, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 29505, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 31692, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 33879, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 36066, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 38253, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 40440, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 42627, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 44814, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 47001, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 49188, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 51375, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 53562, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 55749, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 57936, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 60123, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 62310, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64497, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65226, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65469, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65496, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65523, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 13813148053191742203, 9801149536421508036, 8323744943735804454, 9781218902110540179, 5842910582527751306, 6515775080041612554, 2207036983008389704, 7138588223420389995, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 108, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 12109893904215917933, 11216622576129138242, 2033568431633301211, 6175855265335479925, 2993234814900659250, 17541474196881156701, 6380009076578808155, 7007738773696586556, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 7, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 8, 1, 1, 0, 0, 0, 6, 4294967292, 0, 1, 5, 0, 0, 2147483648, 0, 1, 0, 1, 1, 65535, 16383, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 87, 0, 0, 0, 0, 0, 0, 647798198322186763, 6592792203074652875, 17476824078129141338, 17767912865459160960, 12302196565172406159, 7133118425001032114, 13036064078204647105, 12154160758539910974, 12910600937056884084, 6562813264032936877, 17375732645941164592, 10668415322419739982, 0, 0, 0, 0, 17688107483147659424, 3826470524415365168, 15397518990548874541, 7384515665769464908, 11530227496484511911, 10894583914980996271, 11471481017983097595, 647782521607901735, 6043493769912162117, 15718422881208362819, 16775781916941621047, 3126686215251231764, 0, 0, 0, 0, 17869525775473816866, 13995241216315274115, 14157490272424291288, 12595361644534565853, 12216357805740360097, 1694591003072000395, 3743605083914104716, 7861948909415027744, 13777320358159433695, 10689965220940509198, 4900308999419319661, 11865597697730630365, 0, 10853190877700104359, 6532325916675391436, 17332182286650619204, 1356390314429927430, 680063998460740918, 8263520885737962336, 18031038291900560110, 7916313783579135045, 1390923500114638504, 7357257710265531874, 18050819232629601946, 3177304029089432776, 3356183043120314110, 4896437526344275110, 17783772191254049099, 0, 13700841206357793383, 5242897844664901975, 6931875987485621525, 13535345953969129244, 2030741039344819106, 2762531947819167934, 1589867303015706387, 12511013938757434078, 8759705058299416073, 17894980373425490293, 119389077056921696, 1349552240585307632, 743126002153768243, 2283053310727276098, 4623381538665208128, 0, 6666301890538843304, 15100184186909227104, 13104585709762494144, 16067212803475054780, 15532329799213457697, 8334881840944266358, 2517121414305531206, 9226292579245106006, 17087207871947927046, 11092098231878012627, 10970068856242050959, 11581725042784187604, 13304428174381080582, 15591901374250498087, 14932175652999057387, 0, 5429713005191529599, 485169140917582212, 4576842161780004363, 12062213544561319942, 11418995341251578421, 17152905263785336993, 1631276317082485483, 3568887030966752039, 3361290037864726245, 15436522396033313024, 17085807233874391210, 8147970228355894659, 6261462177346527521, 6933857645565178124, 7551583744620273002, 0, 6807448188965543153, 9507596951835777611, 11958721233767021404, 3380817682214556522, 16170609460104531156, 10111115936627491028, 3604487074555980458, 8451136074985746484, 5442720530348853678, 9471235153819067672, 10672876360944965833, 15381377407789231918, 4737142352428164538, 8819307315481053031, 3302024672420588861, 0, 8272992415832567053, 10756755112993818184, 10057238749770162032, 11156441887212538418, 3098818062082866526, 4253492566197441506, 8767167317332381804, 17223395584715517067, 6083768282731854197, 15287591782061935966, 1749627974902211442, 11405958977712175628, 12451241949260942894, 5075882627538566638, 5802029065265737628, 0, 115043481862425790, 8259507034822886871, 12751027772465443875, 14559366336196618760, 14638271998745396609, 16008945461034236, 3946239166811380672, 12563230741835717849, 12528039909892426334, 17476972384961842195, 14568804827433702794, 3163555765045496501, 9857342525699923921, 5170133709252280486, 6934457598776258250, 0, 16607251464683034540, 0, 0, 16598287690982947812, 17624625052233494012, 18382683990989729838, 11627160828668855898, 2837237790382853743, 17608254328373195204, 8384927093614621388, 144360432842733232, 4955652552073033885, 2877948804182802216, 14754884514108307037, 8237817611365992649, 0, 0, 0, 0, 14243997351069122112, 6885597843867247745, 5829165866197358838, 3828442679559769924, 5962955824096586186, 5722638855509675004, 3866341543198538266, 10395572289151695247, 11957833676204658018, 7226351981553525019, 13730521644769894866, 1730532664872069974, 0, 0, 0, 0, 10057186991882797037, 13979535426176151003, 3368993333474359559, 15087545933098252019, 15471413093926581707, 13303729614330622172, 5722877545315066256, 8676274815465763770, 8482044564546020834, 5141673631152671885, 384165086974752860, 13639880556665716509, 0, 0, 0, 0, 5245170599699700602, 10291681149902218321, 11746208067041323698, 11709563291311499632, 235501757784833854, 13623063482483079236, 4703846003811315010, 17004989925486193850, 7023073680354827593, 11626271086934648748, 14817075775725990184, 4763888723549665869, 0, 1, 0, 0, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 13813148053191742203, 9801149536421508036, 8323744943735804454, 9781218902110540179, 5842910582527751306, 6515775080041612554, 2207036983008389704, 7138588223420389995, 0, 2, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 2, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 108, 0, 0, 2, 0, 0, 0, 12512288845269211131, 853499250082959838, 13488661663129764539, 8125050245190817108, 3804813068188359937, 3313483727945122453, 12360781197875022983, 12306355678569585549, 14131911740731702820, 4051317191743228419, 18012527566990830204, 10255515555502453711, 2, 0, 0, 0, 13268666745610888359, 5035299923140309359, 9492710178938090874, 16432193728393177858, 488197519654209705, 16306861889432269511, 12965290967174006273, 5899276799385944982, 4732569325232601941, 17250390449616619232, 2263709671564173949, 16014366373996617459, 2, 0, 0, 0, 6251349156658906743, 8609811827979294882, 16396123621276698425, 4191392625375252196, 13118130563168054808, 10137725945150597993, 17091661325003867912, 15987533992994607704, 16422379462831291528, 12094114857378650954, 1084226545221903173, 6915613376340340043, 2, 1534645424544051783, 4642164202005224189, 13639350595321647774, 14997123658379691665, 5095591508188209815, 17378968424157853898, 3319587194701345303, 7912013546961175954, 13058442299138466556, 113820789366504723, 979480813836484063, 12810935507899622334, 10071317704529062824, 17157647224138114155, 86309787246248239, 2, 2913198445711677774, 9888361099408058975, 6942011412713736468, 6203537965825290504, 14477641448356369216, 8203223455911494092, 6384931917509725098, 10942323986007690541, 2372505191155982696, 13505926961374950297, 9863815224566244166, 12000427914776781281, 9676867145055745792, 16197034225912806058, 14661960577890819530, 2, 15190546416264078116, 7775818643073018412, 9071871860943081771, 1416093219274823693, 5963314482819748512, 17442313688172807287, 1561163009835858446, 7267981992016523791, 13647940476497044011, 3432681625158272448, 1993371153287576489, 14086944830164184302, 17901613865752995639, 9876439357546613309, 1905959172944565459, 2, 16787762740302082173, 13687172702509280801, 13829601699493328726, 13077396723920915658, 6334600257668993247, 16005831570146470727, 6870535038357161642, 3318715655314199213, 1604329190047159158, 13627534697145261227, 9687118959345407025, 1168709924583816553, 13777237771639017487, 6657527270060440390, 2805827836820765534, 2, 3605868392435965294, 253522748327669049, 11011264558059064878, 6160836649233708903, 12171046083408363106, 8043060876658338795, 9860685140977757959, 4159667182749534960, 9273137746535878130, 16329758115433750926, 6949713863289936704, 14729752357791305157, 13443252680326955644, 8704483663624610247, 13845644156795384523, 2, 1381807822628776459, 6185989713666623112, 6906262917832007676, 12034839856630957225, 1124098930189483722, 10617691351745831328, 17046424117532723784, 18328837382080531957, 499124217804614118, 7054779445715304974, 14721592817235079691, 15438177461805878082, 4893763607985641131, 14735613271204743175, 11055989889840127175, 2, 12865381359176879968, 2554523313877966954, 7294679159466444323, 4506042742239578122, 6099115752699339215, 15220891401986890192, 12223236740078007539, 12409048149390343723, 16157310078954948179, 5713143862578741194, 12176609611331176615, 1208131014354067353, 8416999318707249338, 4632186832415650928, 4787230416960148769, 2, 8430676800162925096, 0, 0, 8496072762751336805, 16886443911130558975, 12033532278877703853, 15851236173354166236, 15013693898292177964, 8135782089737993532, 1771838547975961981, 4211538783056899457, 1087116229540095042, 13570948918462148235, 13789448633689060947, 15910710132207983081, 2, 0, 0, 0, 7928740039385897882, 10727806439135124602, 7646638143768945898, 14819732602933823085, 9587178260979641455, 14797965785210665193, 16685257700649146157, 1815375165055766101, 9227997262307743106, 10732992718179136350, 10791645390406102219, 3748207455775523223, 2, 0, 0, 0, 15502106930635125896, 14713985548484747994, 10270851360514545566, 7322520777221196131, 13829203811429967568, 3578695923684700475, 15476694481212406519, 17447568335080248836, 16980404531860824247, 16570689533324192389, 8333013671770279648, 8383746024118130204, 2, 0, 0, 0, 17958915377109677965, 15689157688771292017, 1337195173853601995, 12055027230426124267, 11003189687841806082, 10219528601216730754, 5064732806791575544, 16072502552074795611, 7851615748612726715, 15271023857443749252, 13107834510030116795, 17189900208955315576, 2, 1, 0, 0, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 12109893904215917933, 11216622576129138242, 2033568431633301211, 6175855265335479925, 2993234814900659250, 17541474196881156701, 6380009076578808155, 7007738773696586556, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(12) }, program_info: ProgramInfo { program_hash: Word([14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 13, range_trace_len: 45, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 1, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 5, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 7, 0, 0, 0, 1, 0, 0, 0, 8, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 7, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 5, 0, 0, 0, 0, 1, 1, 1, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 1, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2188, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4375, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6562, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8749, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10936, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13123, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15310, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16039, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16282, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16363, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16372, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16381, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16382, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 16383, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 18570, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 20757, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 22944, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 25131, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 27318, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 29505, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 31692, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 33879, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 36066, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 38253, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 40440, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 42627, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 44814, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 47001, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 49188, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 51375, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 53562, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 55749, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 57936, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 60123, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 62310, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64497, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65226, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65469, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65496, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65523, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 13813148053191742203, 9801149536421508036, 8323744943735804454, 9781218902110540179, 5842910582527751306, 6515775080041612554, 2207036983008389704, 7138588223420389995, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 108, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 12109893904215917933, 11216622576129138242, 2033568431633301211, 6175855265335479925, 2993234814900659250, 17541474196881156701, 6380009076578808155, 7007738773696586556, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 7, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 8, 1, 1, 0, 0, 0, 6, 4294967292, 0, 1, 5, 0, 0, 2147483648, 0, 1, 0, 1, 1, 65535, 16383, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 87, 0, 0, 0, 0, 0, 0, 647798198322186763, 6592792203074652875, 17476824078129141338, 17767912865459160960, 12302196565172406159, 7133118425001032114, 13036064078204647105, 12154160758539910974, 12910600937056884084, 6562813264032936877, 17375732645941164592, 10668415322419739982, 0, 0, 0, 0, 17688107483147659424, 3826470524415365168, 15397518990548874541, 7384515665769464908, 11530227496484511911, 10894583914980996271, 11471481017983097595, 647782521607901735, 6043493769912162117, 15718422881208362819, 16775781916941621047, 3126686215251231764, 0, 0, 0, 0, 17869525775473816866, 13995241216315274115, 14157490272424291288, 12595361644534565853, 12216357805740360097, 1694591003072000395, 3743605083914104716, 7861948909415027744, 13777320358159433695, 10689965220940509198, 4900308999419319661, 11865597697730630365, 0, 10853190877700104359, 6532325916675391436, 17332182286650619204, 1356390314429927430, 680063998460740918, 8263520885737962336, 18031038291900560110, 7916313783579135045, 1390923500114638504, 7357257710265531874, 18050819232629601946, 3177304029089432776, 3356183043120314110, 4896437526344275110, 17783772191254049099, 0, 13700841206357793383, 5242897844664901975, 6931875987485621525, 13535345953969129244, 2030741039344819106, 2762531947819167934, 1589867303015706387, 12511013938757434078, 8759705058299416073, 17894980373425490293, 119389077056921696, 1349552240585307632, 743126002153768243, 2283053310727276098, 4623381538665208128, 0, 6666301890538843304, 15100184186909227104, 13104585709762494144, 16067212803475054780, 15532329799213457697, 8334881840944266358, 2517121414305531206, 9226292579245106006, 17087207871947927046, 11092098231878012627, 10970068856242050959, 11581725042784187604, 13304428174381080582, 15591901374250498087, 14932175652999057387, 0, 5429713005191529599, 485169140917582212, 4576842161780004363, 12062213544561319942, 11418995341251578421, 17152905263785336993, 1631276317082485483, 3568887030966752039, 3361290037864726245, 15436522396033313024, 17085807233874391210, 8147970228355894659, 6261462177346527521, 6933857645565178124, 7551583744620273002, 0, 6807448188965543153, 9507596951835777611, 11958721233767021404, 3380817682214556522, 16170609460104531156, 10111115936627491028, 3604487074555980458, 8451136074985746484, 5442720530348853678, 9471235153819067672, 10672876360944965833, 15381377407789231918, 4737142352428164538, 8819307315481053031, 3302024672420588861, 0, 8272992415832567053, 10756755112993818184, 10057238749770162032, 11156441887212538418, 3098818062082866526, 4253492566197441506, 8767167317332381804, 17223395584715517067, 6083768282731854197, 15287591782061935966, 1749627974902211442, 11405958977712175628, 12451241949260942894, 5075882627538566638, 5802029065265737628, 0, 115043481862425790, 8259507034822886871, 12751027772465443875, 14559366336196618760, 14638271998745396609, 16008945461034236, 3946239166811380672, 12563230741835717849, 12528039909892426334, 17476972384961842195, 14568804827433702794, 3163555765045496501, 9857342525699923921, 5170133709252280486, 6934457598776258250, 0, 16607251464683034540, 0, 0, 16598287690982947812, 17624625052233494012, 18382683990989729838, 11627160828668855898, 2837237790382853743, 17608254328373195204, 8384927093614621388, 144360432842733232, 4955652552073033885, 2877948804182802216, 14754884514108307037, 8237817611365992649, 0, 0, 0, 0, 14243997351069122112, 6885597843867247745, 5829165866197358838, 3828442679559769924, 5962955824096586186, 5722638855509675004, 3866341543198538266, 10395572289151695247, 11957833676204658018, 7226351981553525019, 13730521644769894866, 1730532664872069974, 0, 0, 0, 0, 10057186991882797037, 13979535426176151003, 3368993333474359559, 15087545933098252019, 15471413093926581707, 13303729614330622172, 5722877545315066256, 8676274815465763770, 8482044564546020834, 5141673631152671885, 384165086974752860, 13639880556665716509, 0, 0, 0, 0, 5245170599699700602, 10291681149902218321, 11746208067041323698, 11709563291311499632, 235501757784833854, 13623063482483079236, 4703846003811315010, 17004989925486193850, 7023073680354827593, 11626271086934648748, 14817075775725990184, 4763888723549665869, 0, 1, 0, 0, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 13813148053191742203, 9801149536421508036, 8323744943735804454, 9781218902110540179, 5842910582527751306, 6515775080041612554, 2207036983008389704, 7138588223420389995, 0, 2, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 2, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 108, 0, 0, 2, 0, 0, 0, 12512288845269211131, 853499250082959838, 13488661663129764539, 8125050245190817108, 3804813068188359937, 3313483727945122453, 12360781197875022983, 12306355678569585549, 14131911740731702820, 4051317191743228419, 18012527566990830204, 10255515555502453711, 2, 0, 0, 0, 13268666745610888359, 5035299923140309359, 9492710178938090874, 16432193728393177858, 488197519654209705, 16306861889432269511, 12965290967174006273, 5899276799385944982, 4732569325232601941, 17250390449616619232, 2263709671564173949, 16014366373996617459, 2, 0, 0, 0, 6251349156658906743, 8609811827979294882, 16396123621276698425, 4191392625375252196, 13118130563168054808, 10137725945150597993, 17091661325003867912, 15987533992994607704, 16422379462831291528, 12094114857378650954, 1084226545221903173, 6915613376340340043, 2, 1534645424544051783, 4642164202005224189, 13639350595321647774, 14997123658379691665, 5095591508188209815, 17378968424157853898, 3319587194701345303, 7912013546961175954, 13058442299138466556, 113820789366504723, 979480813836484063, 12810935507899622334, 10071317704529062824, 17157647224138114155, 86309787246248239, 2, 2913198445711677774, 9888361099408058975, 6942011412713736468, 6203537965825290504, 14477641448356369216, 8203223455911494092, 6384931917509725098, 10942323986007690541, 2372505191155982696, 13505926961374950297, 9863815224566244166, 12000427914776781281, 9676867145055745792, 16197034225912806058, 14661960577890819530, 2, 15190546416264078116, 7775818643073018412, 9071871860943081771, 1416093219274823693, 5963314482819748512, 17442313688172807287, 1561163009835858446, 7267981992016523791, 13647940476497044011, 3432681625158272448, 1993371153287576489, 14086944830164184302, 17901613865752995639, 9876439357546613309, 1905959172944565459, 2, 16787762740302082173, 13687172702509280801, 13829601699493328726, 13077396723920915658, 6334600257668993247, 16005831570146470727, 6870535038357161642, 3318715655314199213, 1604329190047159158, 13627534697145261227, 9687118959345407025, 1168709924583816553, 13777237771639017487, 6657527270060440390, 2805827836820765534, 2, 3605868392435965294, 253522748327669049, 11011264558059064878, 6160836649233708903, 12171046083408363106, 8043060876658338795, 9860685140977757959, 4159667182749534960, 9273137746535878130, 16329758115433750926, 6949713863289936704, 14729752357791305157, 13443252680326955644, 8704483663624610247, 13845644156795384523, 2, 1381807822628776459, 6185989713666623112, 6906262917832007676, 12034839856630957225, 1124098930189483722, 10617691351745831328, 17046424117532723784, 18328837382080531957, 499124217804614118, 7054779445715304974, 14721592817235079691, 15438177461805878082, 4893763607985641131, 14735613271204743175, 11055989889840127175, 2, 12865381359176879968, 2554523313877966954, 7294679159466444323, 4506042742239578122, 6099115752699339215, 15220891401986890192, 12223236740078007539, 12409048149390343723, 16157310078954948179, 5713143862578741194, 12176609611331176615, 1208131014354067353, 8416999318707249338, 4632186832415650928, 4787230416960148769, 2, 8430676800162925096, 0, 0, 8496072762751336805, 16886443911130558975, 12033532278877703853, 15851236173354166236, 15013693898292177964, 8135782089737993532, 1771838547975961981, 4211538783056899457, 1087116229540095042, 13570948918462148235, 13789448633689060947, 15910710132207983081, 2, 0, 0, 0, 7928740039385897882, 10727806439135124602, 7646638143768945898, 14819732602933823085, 9587178260979641455, 14797965785210665193, 16685257700649146157, 1815375165055766101, 9227997262307743106, 10732992718179136350, 10791645390406102219, 3748207455775523223, 2, 0, 0, 0, 15502106930635125896, 14713985548484747994, 10270851360514545566, 7322520777221196131, 13829203811429967568, 3578695923684700475, 15476694481212406519, 17447568335080248836, 16980404531860824247, 16570689533324192389, 8333013671770279648, 8383746024118130204, 2, 0, 0, 0, 17958915377109677965, 15689157688771292017, 1337195173853601995, 12055027230426124267, 11003189687841806082, 10219528601216730754, 5064732806791575544, 16072502552074795611, 7851615748612726715, 15271023857443749252, 13107834510030116795, 17189900208955315576, 2, 1, 0, 0, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 12109893904215917933, 11216622576129138242, 2033568431633301211, 6175855265335479925, 2993234814900659250, 17541474196881156701, 6380009076578808155, 7007738773696586556, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(12) }, program_info: ProgramInfo { program_hash: Word([14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 13, range_trace_len: 45, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 1, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_12.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_12.snap index 3287f8d79d..6241431c2d 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_12.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_12.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 5, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 7, 0, 0, 0, 1, 0, 0, 0, 8, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 7, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 5, 0, 0, 0, 0, 1, 1, 1, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 1, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2188, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4375, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6562, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8749, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10936, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13123, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15310, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16039, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16282, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16363, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16372, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16381, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16382, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 16383, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 18570, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 20757, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 22944, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 25131, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 27318, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 29505, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 31692, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 33879, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 36066, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 38253, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 40440, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 42627, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 44814, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 47001, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 49188, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 51375, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 53562, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 55749, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 57936, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 60123, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 62310, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64497, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65226, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65469, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65496, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65523, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 13813148053191742203, 9801149536421508036, 8323744943735804454, 9781218902110540179, 5842910582527751306, 6515775080041612554, 2207036983008389704, 7138588223420389995, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 108, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 12109893904215917933, 11216622576129138242, 2033568431633301211, 6175855265335479925, 2993234814900659250, 17541474196881156701, 6380009076578808155, 7007738773696586556, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 7, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 8, 1, 1, 0, 0, 0, 6, 4294967292, 0, 1, 5, 0, 0, 2147483648, 0, 1, 0, 1, 1, 65535, 16383, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 87, 0, 0, 0, 0, 0, 0, 647798198322186763, 6592792203074652875, 17476824078129141338, 17767912865459160960, 12302196565172406159, 7133118425001032114, 13036064078204647105, 12154160758539910974, 12910600937056884084, 6562813264032936877, 17375732645941164592, 10668415322419739982, 0, 0, 0, 0, 17688107483147659424, 3826470524415365168, 15397518990548874541, 7384515665769464908, 11530227496484511911, 10894583914980996271, 11471481017983097595, 647782521607901735, 6043493769912162117, 15718422881208362819, 16775781916941621047, 3126686215251231764, 0, 0, 0, 0, 17869525775473816866, 13995241216315274115, 14157490272424291288, 12595361644534565853, 12216357805740360097, 1694591003072000395, 3743605083914104716, 7861948909415027744, 13777320358159433695, 10689965220940509198, 4900308999419319661, 11865597697730630365, 0, 10853190877700104359, 6532325916675391436, 17332182286650619204, 1356390314429927430, 680063998460740918, 8263520885737962336, 18031038291900560110, 7916313783579135045, 1390923500114638504, 7357257710265531874, 18050819232629601946, 3177304029089432776, 3356183043120314110, 4896437526344275110, 17783772191254049099, 0, 13700841206357793383, 5242897844664901975, 6931875987485621525, 13535345953969129244, 2030741039344819106, 2762531947819167934, 1589867303015706387, 12511013938757434078, 8759705058299416073, 17894980373425490293, 119389077056921696, 1349552240585307632, 743126002153768243, 2283053310727276098, 4623381538665208128, 0, 6666301890538843304, 15100184186909227104, 13104585709762494144, 16067212803475054780, 15532329799213457697, 8334881840944266358, 2517121414305531206, 9226292579245106006, 17087207871947927046, 11092098231878012627, 10970068856242050959, 11581725042784187604, 13304428174381080582, 15591901374250498087, 14932175652999057387, 0, 5429713005191529599, 485169140917582212, 4576842161780004363, 12062213544561319942, 11418995341251578421, 17152905263785336993, 1631276317082485483, 3568887030966752039, 3361290037864726245, 15436522396033313024, 17085807233874391210, 8147970228355894659, 6261462177346527521, 6933857645565178124, 7551583744620273002, 0, 6807448188965543153, 9507596951835777611, 11958721233767021404, 3380817682214556522, 16170609460104531156, 10111115936627491028, 3604487074555980458, 8451136074985746484, 5442720530348853678, 9471235153819067672, 10672876360944965833, 15381377407789231918, 4737142352428164538, 8819307315481053031, 3302024672420588861, 0, 8272992415832567053, 10756755112993818184, 10057238749770162032, 11156441887212538418, 3098818062082866526, 4253492566197441506, 8767167317332381804, 17223395584715517067, 6083768282731854197, 15287591782061935966, 1749627974902211442, 11405958977712175628, 12451241949260942894, 5075882627538566638, 5802029065265737628, 0, 115043481862425790, 8259507034822886871, 12751027772465443875, 14559366336196618760, 14638271998745396609, 16008945461034236, 3946239166811380672, 12563230741835717849, 12528039909892426334, 17476972384961842195, 14568804827433702794, 3163555765045496501, 9857342525699923921, 5170133709252280486, 6934457598776258250, 0, 16607251464683034540, 0, 0, 16598287690982947812, 17624625052233494012, 18382683990989729838, 11627160828668855898, 2837237790382853743, 17608254328373195204, 8384927093614621388, 144360432842733232, 4955652552073033885, 2877948804182802216, 14754884514108307037, 8237817611365992649, 0, 0, 0, 0, 14243997351069122112, 6885597843867247745, 5829165866197358838, 3828442679559769924, 5962955824096586186, 5722638855509675004, 3866341543198538266, 10395572289151695247, 11957833676204658018, 7226351981553525019, 13730521644769894866, 1730532664872069974, 0, 0, 0, 0, 10057186991882797037, 13979535426176151003, 3368993333474359559, 15087545933098252019, 15471413093926581707, 13303729614330622172, 5722877545315066256, 8676274815465763770, 8482044564546020834, 5141673631152671885, 384165086974752860, 13639880556665716509, 0, 0, 0, 0, 5245170599699700602, 10291681149902218321, 11746208067041323698, 11709563291311499632, 235501757784833854, 13623063482483079236, 4703846003811315010, 17004989925486193850, 7023073680354827593, 11626271086934648748, 14817075775725990184, 4763888723549665869, 0, 1, 0, 0, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 13813148053191742203, 9801149536421508036, 8323744943735804454, 9781218902110540179, 5842910582527751306, 6515775080041612554, 2207036983008389704, 7138588223420389995, 0, 2, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 2, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 108, 0, 0, 2, 0, 0, 0, 12512288845269211131, 853499250082959838, 13488661663129764539, 8125050245190817108, 3804813068188359937, 3313483727945122453, 12360781197875022983, 12306355678569585549, 14131911740731702820, 4051317191743228419, 18012527566990830204, 10255515555502453711, 2, 0, 0, 0, 13268666745610888359, 5035299923140309359, 9492710178938090874, 16432193728393177858, 488197519654209705, 16306861889432269511, 12965290967174006273, 5899276799385944982, 4732569325232601941, 17250390449616619232, 2263709671564173949, 16014366373996617459, 2, 0, 0, 0, 6251349156658906743, 8609811827979294882, 16396123621276698425, 4191392625375252196, 13118130563168054808, 10137725945150597993, 17091661325003867912, 15987533992994607704, 16422379462831291528, 12094114857378650954, 1084226545221903173, 6915613376340340043, 2, 1534645424544051783, 4642164202005224189, 13639350595321647774, 14997123658379691665, 5095591508188209815, 17378968424157853898, 3319587194701345303, 7912013546961175954, 13058442299138466556, 113820789366504723, 979480813836484063, 12810935507899622334, 10071317704529062824, 17157647224138114155, 86309787246248239, 2, 2913198445711677774, 9888361099408058975, 6942011412713736468, 6203537965825290504, 14477641448356369216, 8203223455911494092, 6384931917509725098, 10942323986007690541, 2372505191155982696, 13505926961374950297, 9863815224566244166, 12000427914776781281, 9676867145055745792, 16197034225912806058, 14661960577890819530, 2, 15190546416264078116, 7775818643073018412, 9071871860943081771, 1416093219274823693, 5963314482819748512, 17442313688172807287, 1561163009835858446, 7267981992016523791, 13647940476497044011, 3432681625158272448, 1993371153287576489, 14086944830164184302, 17901613865752995639, 9876439357546613309, 1905959172944565459, 2, 16787762740302082173, 13687172702509280801, 13829601699493328726, 13077396723920915658, 6334600257668993247, 16005831570146470727, 6870535038357161642, 3318715655314199213, 1604329190047159158, 13627534697145261227, 9687118959345407025, 1168709924583816553, 13777237771639017487, 6657527270060440390, 2805827836820765534, 2, 3605868392435965294, 253522748327669049, 11011264558059064878, 6160836649233708903, 12171046083408363106, 8043060876658338795, 9860685140977757959, 4159667182749534960, 9273137746535878130, 16329758115433750926, 6949713863289936704, 14729752357791305157, 13443252680326955644, 8704483663624610247, 13845644156795384523, 2, 1381807822628776459, 6185989713666623112, 6906262917832007676, 12034839856630957225, 1124098930189483722, 10617691351745831328, 17046424117532723784, 18328837382080531957, 499124217804614118, 7054779445715304974, 14721592817235079691, 15438177461805878082, 4893763607985641131, 14735613271204743175, 11055989889840127175, 2, 12865381359176879968, 2554523313877966954, 7294679159466444323, 4506042742239578122, 6099115752699339215, 15220891401986890192, 12223236740078007539, 12409048149390343723, 16157310078954948179, 5713143862578741194, 12176609611331176615, 1208131014354067353, 8416999318707249338, 4632186832415650928, 4787230416960148769, 2, 8430676800162925096, 0, 0, 8496072762751336805, 16886443911130558975, 12033532278877703853, 15851236173354166236, 15013693898292177964, 8135782089737993532, 1771838547975961981, 4211538783056899457, 1087116229540095042, 13570948918462148235, 13789448633689060947, 15910710132207983081, 2, 0, 0, 0, 7928740039385897882, 10727806439135124602, 7646638143768945898, 14819732602933823085, 9587178260979641455, 14797965785210665193, 16685257700649146157, 1815375165055766101, 9227997262307743106, 10732992718179136350, 10791645390406102219, 3748207455775523223, 2, 0, 0, 0, 15502106930635125896, 14713985548484747994, 10270851360514545566, 7322520777221196131, 13829203811429967568, 3578695923684700475, 15476694481212406519, 17447568335080248836, 16980404531860824247, 16570689533324192389, 8333013671770279648, 8383746024118130204, 2, 0, 0, 0, 17958915377109677965, 15689157688771292017, 1337195173853601995, 12055027230426124267, 11003189687841806082, 10219528601216730754, 5064732806791575544, 16072502552074795611, 7851615748612726715, 15271023857443749252, 13107834510030116795, 17189900208955315576, 2, 1, 0, 0, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 12109893904215917933, 11216622576129138242, 2033568431633301211, 6175855265335479925, 2993234814900659250, 17541474196881156701, 6380009076578808155, 7007738773696586556, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(12) }, program_info: ProgramInfo { program_hash: Word([14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 13, range_trace_len: 45, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 1, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 5, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 7, 0, 0, 0, 1, 0, 0, 0, 8, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 7, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 6, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 5, 0, 0, 0, 0, 1, 1, 1, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 1, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2188, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4375, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6562, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8749, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10936, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13123, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15310, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16039, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16282, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16363, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16372, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16381, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16382, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 16383, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 18570, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 20757, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 22944, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 25131, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 27318, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 29505, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 31692, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 33879, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 36066, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 38253, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 40440, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 42627, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 44814, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 47001, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 49188, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 51375, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 53562, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 55749, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 57936, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 60123, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 62310, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64497, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65226, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65469, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65496, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65523, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 13813148053191742203, 9801149536421508036, 8323744943735804454, 9781218902110540179, 5842910582527751306, 6515775080041612554, 2207036983008389704, 7138588223420389995, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 108, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 12109893904215917933, 11216622576129138242, 2033568431633301211, 6175855265335479925, 2993234814900659250, 17541474196881156701, 6380009076578808155, 7007738773696586556, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 7, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 8, 1, 1, 0, 0, 0, 6, 4294967292, 0, 1, 5, 0, 0, 2147483648, 0, 1, 0, 1, 1, 65535, 16383, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 0, 87, 0, 0, 0, 0, 0, 0, 647798198322186763, 6592792203074652875, 17476824078129141338, 17767912865459160960, 12302196565172406159, 7133118425001032114, 13036064078204647105, 12154160758539910974, 12910600937056884084, 6562813264032936877, 17375732645941164592, 10668415322419739982, 0, 0, 0, 0, 17688107483147659424, 3826470524415365168, 15397518990548874541, 7384515665769464908, 11530227496484511911, 10894583914980996271, 11471481017983097595, 647782521607901735, 6043493769912162117, 15718422881208362819, 16775781916941621047, 3126686215251231764, 0, 0, 0, 0, 17869525775473816866, 13995241216315274115, 14157490272424291288, 12595361644534565853, 12216357805740360097, 1694591003072000395, 3743605083914104716, 7861948909415027744, 13777320358159433695, 10689965220940509198, 4900308999419319661, 11865597697730630365, 0, 10853190877700104359, 6532325916675391436, 17332182286650619204, 1356390314429927430, 680063998460740918, 8263520885737962336, 18031038291900560110, 7916313783579135045, 1390923500114638504, 7357257710265531874, 18050819232629601946, 3177304029089432776, 3356183043120314110, 4896437526344275110, 17783772191254049099, 0, 13700841206357793383, 5242897844664901975, 6931875987485621525, 13535345953969129244, 2030741039344819106, 2762531947819167934, 1589867303015706387, 12511013938757434078, 8759705058299416073, 17894980373425490293, 119389077056921696, 1349552240585307632, 743126002153768243, 2283053310727276098, 4623381538665208128, 0, 6666301890538843304, 15100184186909227104, 13104585709762494144, 16067212803475054780, 15532329799213457697, 8334881840944266358, 2517121414305531206, 9226292579245106006, 17087207871947927046, 11092098231878012627, 10970068856242050959, 11581725042784187604, 13304428174381080582, 15591901374250498087, 14932175652999057387, 0, 5429713005191529599, 485169140917582212, 4576842161780004363, 12062213544561319942, 11418995341251578421, 17152905263785336993, 1631276317082485483, 3568887030966752039, 3361290037864726245, 15436522396033313024, 17085807233874391210, 8147970228355894659, 6261462177346527521, 6933857645565178124, 7551583744620273002, 0, 6807448188965543153, 9507596951835777611, 11958721233767021404, 3380817682214556522, 16170609460104531156, 10111115936627491028, 3604487074555980458, 8451136074985746484, 5442720530348853678, 9471235153819067672, 10672876360944965833, 15381377407789231918, 4737142352428164538, 8819307315481053031, 3302024672420588861, 0, 8272992415832567053, 10756755112993818184, 10057238749770162032, 11156441887212538418, 3098818062082866526, 4253492566197441506, 8767167317332381804, 17223395584715517067, 6083768282731854197, 15287591782061935966, 1749627974902211442, 11405958977712175628, 12451241949260942894, 5075882627538566638, 5802029065265737628, 0, 115043481862425790, 8259507034822886871, 12751027772465443875, 14559366336196618760, 14638271998745396609, 16008945461034236, 3946239166811380672, 12563230741835717849, 12528039909892426334, 17476972384961842195, 14568804827433702794, 3163555765045496501, 9857342525699923921, 5170133709252280486, 6934457598776258250, 0, 16607251464683034540, 0, 0, 16598287690982947812, 17624625052233494012, 18382683990989729838, 11627160828668855898, 2837237790382853743, 17608254328373195204, 8384927093614621388, 144360432842733232, 4955652552073033885, 2877948804182802216, 14754884514108307037, 8237817611365992649, 0, 0, 0, 0, 14243997351069122112, 6885597843867247745, 5829165866197358838, 3828442679559769924, 5962955824096586186, 5722638855509675004, 3866341543198538266, 10395572289151695247, 11957833676204658018, 7226351981553525019, 13730521644769894866, 1730532664872069974, 0, 0, 0, 0, 10057186991882797037, 13979535426176151003, 3368993333474359559, 15087545933098252019, 15471413093926581707, 13303729614330622172, 5722877545315066256, 8676274815465763770, 8482044564546020834, 5141673631152671885, 384165086974752860, 13639880556665716509, 0, 0, 0, 0, 5245170599699700602, 10291681149902218321, 11746208067041323698, 11709563291311499632, 235501757784833854, 13623063482483079236, 4703846003811315010, 17004989925486193850, 7023073680354827593, 11626271086934648748, 14817075775725990184, 4763888723549665869, 0, 1, 0, 0, 14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053, 13813148053191742203, 9801149536421508036, 8323744943735804454, 9781218902110540179, 5842910582527751306, 6515775080041612554, 2207036983008389704, 7138588223420389995, 0, 2, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 2, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 108, 0, 0, 2, 0, 0, 0, 12512288845269211131, 853499250082959838, 13488661663129764539, 8125050245190817108, 3804813068188359937, 3313483727945122453, 12360781197875022983, 12306355678569585549, 14131911740731702820, 4051317191743228419, 18012527566990830204, 10255515555502453711, 2, 0, 0, 0, 13268666745610888359, 5035299923140309359, 9492710178938090874, 16432193728393177858, 488197519654209705, 16306861889432269511, 12965290967174006273, 5899276799385944982, 4732569325232601941, 17250390449616619232, 2263709671564173949, 16014366373996617459, 2, 0, 0, 0, 6251349156658906743, 8609811827979294882, 16396123621276698425, 4191392625375252196, 13118130563168054808, 10137725945150597993, 17091661325003867912, 15987533992994607704, 16422379462831291528, 12094114857378650954, 1084226545221903173, 6915613376340340043, 2, 1534645424544051783, 4642164202005224189, 13639350595321647774, 14997123658379691665, 5095591508188209815, 17378968424157853898, 3319587194701345303, 7912013546961175954, 13058442299138466556, 113820789366504723, 979480813836484063, 12810935507899622334, 10071317704529062824, 17157647224138114155, 86309787246248239, 2, 2913198445711677774, 9888361099408058975, 6942011412713736468, 6203537965825290504, 14477641448356369216, 8203223455911494092, 6384931917509725098, 10942323986007690541, 2372505191155982696, 13505926961374950297, 9863815224566244166, 12000427914776781281, 9676867145055745792, 16197034225912806058, 14661960577890819530, 2, 15190546416264078116, 7775818643073018412, 9071871860943081771, 1416093219274823693, 5963314482819748512, 17442313688172807287, 1561163009835858446, 7267981992016523791, 13647940476497044011, 3432681625158272448, 1993371153287576489, 14086944830164184302, 17901613865752995639, 9876439357546613309, 1905959172944565459, 2, 16787762740302082173, 13687172702509280801, 13829601699493328726, 13077396723920915658, 6334600257668993247, 16005831570146470727, 6870535038357161642, 3318715655314199213, 1604329190047159158, 13627534697145261227, 9687118959345407025, 1168709924583816553, 13777237771639017487, 6657527270060440390, 2805827836820765534, 2, 3605868392435965294, 253522748327669049, 11011264558059064878, 6160836649233708903, 12171046083408363106, 8043060876658338795, 9860685140977757959, 4159667182749534960, 9273137746535878130, 16329758115433750926, 6949713863289936704, 14729752357791305157, 13443252680326955644, 8704483663624610247, 13845644156795384523, 2, 1381807822628776459, 6185989713666623112, 6906262917832007676, 12034839856630957225, 1124098930189483722, 10617691351745831328, 17046424117532723784, 18328837382080531957, 499124217804614118, 7054779445715304974, 14721592817235079691, 15438177461805878082, 4893763607985641131, 14735613271204743175, 11055989889840127175, 2, 12865381359176879968, 2554523313877966954, 7294679159466444323, 4506042742239578122, 6099115752699339215, 15220891401986890192, 12223236740078007539, 12409048149390343723, 16157310078954948179, 5713143862578741194, 12176609611331176615, 1208131014354067353, 8416999318707249338, 4632186832415650928, 4787230416960148769, 2, 8430676800162925096, 0, 0, 8496072762751336805, 16886443911130558975, 12033532278877703853, 15851236173354166236, 15013693898292177964, 8135782089737993532, 1771838547975961981, 4211538783056899457, 1087116229540095042, 13570948918462148235, 13789448633689060947, 15910710132207983081, 2, 0, 0, 0, 7928740039385897882, 10727806439135124602, 7646638143768945898, 14819732602933823085, 9587178260979641455, 14797965785210665193, 16685257700649146157, 1815375165055766101, 9227997262307743106, 10732992718179136350, 10791645390406102219, 3748207455775523223, 2, 0, 0, 0, 15502106930635125896, 14713985548484747994, 10270851360514545566, 7322520777221196131, 13829203811429967568, 3578695923684700475, 15476694481212406519, 17447568335080248836, 16980404531860824247, 16570689533324192389, 8333013671770279648, 8383746024118130204, 2, 0, 0, 0, 17958915377109677965, 15689157688771292017, 1337195173853601995, 12055027230426124267, 11003189687841806082, 10219528601216730754, 5064732806791575544, 16072502552074795611, 7851615748612726715, 15271023857443749252, 13107834510030116795, 17189900208955315576, 2, 1, 0, 0, 9795023497998985336, 13300695072875785024, 10130173733677792318, 11939015773035265411, 12109893904215917933, 11216622576129138242, 2033568431633301211, 6175855265335479925, 2993234814900659250, 17541474196881156701, 6380009076578808155, 7007738773696586556, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(12) }, program_info: ProgramInfo { program_hash: Word([14702774402853413141, 15069487866135976146, 6734468535935735084, 4533503067745498053]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 13, range_trace_len: 45, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 1, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_13.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_13.snap index 3f28a63ed3..24c3d194e3 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_13.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_13.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 8, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 18295472245208082500, 5861891236755868697, 15427470125368014171, 5623455816162216176, 11335643519415282023, 11551270937114235273, 11863835819310119404, 14266241634618616211, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 3302920651539558582, 2392789792202575031, 11898680931385242334, 3118702462093730513, 6675709269000188192, 6602703777719207165, 6265915402349571564, 2890093557727619615, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 7, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 8, 1, 1, 1, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 87, 0, 0, 0, 0, 0, 0, 3856634821061399044, 17111039960895529319, 4566799539362193550, 16844085186824886612, 3355565787613486613, 17176810829821093448, 1352137470786356802, 17998789203926124900, 16786513982140394745, 18361321143200586840, 13282415620666686464, 8228901733828007087, 0, 0, 0, 0, 7778838127124972351, 10159506934852280087, 12722539778584946047, 2132149890053205639, 18102156639692354752, 8649394742436479221, 4276590013765363445, 12997989410109585404, 9529430557140348691, 7606828505864121076, 17598459768503654580, 7777709650181082785, 0, 0, 0, 0, 8194007358744550661, 306611979519524457, 10528705374691960700, 319508112022086105, 10482736583082303606, 10309893049243492470, 12917037695721108312, 6248886070590142047, 6486447845183860200, 17251231915071761348, 16404214944354933870, 13204576128129345952, 0, 8699431654038775343, 37936723307283666, 8146588049311051327, 4530941775236136548, 16738435301601374688, 11359785745622903572, 15791382447019722900, 13379247305879358010, 13936169968399350974, 3508629571016445401, 5950565638198879243, 3988632325321614173, 14773776822077474877, 3784342517219646416, 16429780078047820450, 0, 3424975013671552621, 14815277144979047633, 8209627855274846837, 8295342049297215958, 15269992241592835077, 6438591265885629379, 13730717627697535913, 7787232003492715877, 9621206971434531853, 11223875126467095457, 6436756480486800604, 5377264485189635000, 5482319143373695788, 12350937431324290559, 6389531569788570962, 0, 4990332689225356878, 13089030850077380376, 2471524608045276896, 17139358263655017093, 18165060065290469256, 9446121688110358951, 977359788342611310, 16707128933418187061, 16621781274459601592, 7539458736435553900, 13565999334907596759, 1167963651906558177, 801268771425181312, 6228026786881094671, 1048304545096961231, 0, 9535941747246118180, 6758632961600419030, 13740260214376027515, 1405920164415583051, 14920069431652436384, 17439962485710135044, 417887867370226026, 16088228384974311599, 3710261815002798848, 137273432282796342, 5851059442771612226, 15136621875351529272, 15702932139541150313, 8779333934582463234, 9538098266673672038, 0, 8185802697182936648, 17682692702261395783, 2219736463483295590, 10757593865239447517, 1468754948270208383, 13746393160610271679, 6189648269704333551, 6527095477330083457, 289679669419955019, 9046656083049426920, 3573808134852581123, 16538711805104705524, 17122129810962376462, 2926585958971102942, 10107422984112301769, 0, 12705492336505225259, 715424026399539381, 2549298692279483128, 1219968445867773701, 12911638424059178129, 5048199682718381540, 1535097268869899419, 17260972721034176516, 15413356179839910737, 13476986835056197648, 7470895530577539713, 8398414302064166980, 16518486341402545799, 70008875869363926, 10307933594111103714, 0, 450024681039430413, 17110346123676092707, 503623504778112596, 1520822994009218024, 3997469258016952350, 18365130032920199069, 7964473389350786015, 9071675461601628413, 4719657860691726363, 2082610983791917873, 13643709933077212296, 16696777778525571691, 5937099920759461106, 17798517164851075633, 7519473231185213307, 0, 17931731304193244959, 0, 0, 11156145431451224746, 9448001553779471302, 11663814486624427477, 8105139713546092506, 996052311483623897, 18356245393792640289, 11128269591471854109, 3650549423833220560, 10102060878284432657, 6999065210900455588, 9632395034475899386, 10920626017129534091, 0, 0, 0, 0, 17063798001278894185, 2357038714604006367, 10530018908095235062, 8857952782846291740, 17150424826448967994, 8501298665346388356, 15857100073185553560, 2606143849991065668, 1709380969765926542, 7242804148613591485, 10415598312293556776, 3315485625242432418, 0, 0, 0, 0, 6980956723582544769, 17736580895885199098, 10473837116748539797, 5495612785159148096, 8023377746099375924, 15245498074053387423, 15841461147440760970, 14724882291190243897, 13636145514567347966, 11793730383025693858, 9279036588745121360, 3956126734745245173, 0, 0, 0, 0, 14149948942544104911, 13474931984659215558, 7610362789910399421, 10137886774563078569, 110488320743199774, 6631727638469492070, 9820426758070632911, 11785623090416681374, 2883529595690350478, 8282658300559339579, 1247473541961741200, 12265308465311135280, 0, 1, 0, 0, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 18295472245208082500, 5861891236755868697, 15427470125368014171, 5623455816162216176, 11335643519415282023, 11551270937114235273, 11863835819310119404, 14266241634618616211, 0, 2, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 2, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 104, 0, 0, 2, 0, 0, 0, 8045445736281483033, 11250386210932698181, 8447328201766628152, 527413860513422548, 2685530738566346168, 6831208533457089257, 18437518609042158966, 9278656209339918204, 4985219875437159245, 11102677601257469434, 16507477945842790035, 1824439754798293960, 2, 0, 0, 0, 13956548861570575417, 9763011176116608502, 4674794667694672124, 15480945315513057131, 1720127490715987209, 8831144276914012491, 250532683106813113, 18120264276823504303, 7075953940225467814, 5209117550659913714, 16837262421580091230, 11776861544437613654, 2, 0, 0, 0, 11512288827914447463, 17480311708360681553, 1580648391454313983, 3096307188042936924, 1465975368055000312, 1362735000009130378, 9465263839861379226, 14989718516974665241, 6566304943303044120, 2566111340353544025, 11325114382049196546, 15312957863351292707, 2, 14277010279095994320, 16421135900115366688, 8672081456162485113, 3315051758368515759, 16767795201975506841, 15745773069630130456, 10428682341827527559, 1609230777320982945, 8538451532688083939, 3309529438878958210, 2752224770668803053, 4030118788308868253, 9432517950422109187, 16655292287441213846, 3022134227219891882, 2, 12527609013750224641, 4064424364292504784, 12759359572746242099, 17498386834554682438, 9899399543530128857, 13823203783008011183, 4789373231313821943, 2275698290172824909, 14631083886626574849, 6083693282888760833, 17878128073269252636, 9098606451540172932, 4868784239831205121, 2796426330015583824, 10989039359288278884, 2, 11227322858093773958, 1256671723465513282, 4658091495748016755, 14665531030768273966, 5299487590341247604, 3822486110676485203, 2504794437525571246, 16499336243305873535, 10440692312118465582, 8016916182618053860, 11635644660770389253, 4003332628141212645, 8214607993079575395, 7207010966340578848, 10940185796204185824, 2, 12668058855470446370, 5255019430616758101, 14462744774902056824, 4113277495358115867, 1662113282866907292, 6585130578479449998, 17149676088405916342, 10457761600032190139, 3327323833077679847, 8197592365883421679, 7425424839480263678, 13938948244809494455, 16228892676090661713, 1504971017217144480, 8182776272628891435, 2, 6914860967029724068, 10806403396787496173, 3848579298848325229, 13805102062857951563, 16229844626955596217, 13935582109846251306, 8572389593169145834, 17576620671980411587, 10572618363726686694, 4850773447466262928, 15638373093776703034, 7910188832488865399, 15531097057290072206, 4889338479662679107, 10949924992689136363, 2, 4330865582496855032, 8473297999555512458, 7242240654409420037, 10299128364456298062, 14941042471610818695, 7565852759213474271, 3702504147651721524, 207598518842942194, 6753564273898291164, 11919043583188527726, 2096230895461827816, 9814026405907874850, 17772509140662880385, 15771358593260243554, 6654163437055992392, 2, 14424762448455122149, 9431772018868236879, 584341294112809445, 4918781353216964245, 2337856752823889422, 16060522829040602978, 1539091624536270714, 3206058370812795090, 10870942617842401040, 8606083879706978586, 4344150548445731150, 380060561426657383, 2730766720879432427, 14498706802584030890, 7769509436274319865, 2, 4147902545389306045, 0, 0, 16093847529947137599, 5589254378675598674, 14560311910293184412, 2592280228933147027, 10554718058272358421, 1080024418599256897, 646685994271806030, 5548578222066968465, 13466005348915411989, 1280314003050779809, 11336903746061502338, 9170512654829817344, 2, 0, 0, 0, 4018352536943676596, 1718970205214835807, 16103902027304323769, 7153843611717905198, 7564037379049998274, 6261812460083581507, 17412746410051240602, 11497751499239916990, 9826997558611816650, 2818155236871917143, 1303564367886020260, 8520201627654591972, 2, 0, 0, 0, 7399548230295413142, 15817399793431362137, 11111223990289672490, 14277270972042777124, 9762507146447503800, 5775448381623517643, 9705617515238056177, 10499143968321217911, 13713380413483444727, 2803285551461817904, 3117235683594903662, 8848529162601814389, 2, 0, 0, 0, 41605777382338142, 13705243190620087435, 8813156438606599548, 3668196738148877897, 8870883218370515482, 1311045307375281156, 891925000095841393, 18305520102948210690, 3095238878624340898, 8925726914230878692, 11158112996086314015, 16463229027226752316, 2, 1, 0, 0, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 3302920651539558582, 2392789792202575031, 11898680931385242334, 3118702462093730513, 6675709269000188192, 6602703777719207165, 6265915402349571564, 2890093557727619615, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(12) }, program_info: ProgramInfo { program_hash: Word([8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090]), kernel: KernelDescriptor([Word([13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008])]) }, stack_outputs: StackOutputs { elements: [1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 13, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 1 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 8, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 18295472245208082500, 5861891236755868697, 15427470125368014171, 5623455816162216176, 11335643519415282023, 11551270937114235273, 11863835819310119404, 14266241634618616211, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 3302920651539558582, 2392789792202575031, 11898680931385242334, 3118702462093730513, 6675709269000188192, 6602703777719207165, 6265915402349571564, 2890093557727619615, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 7, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 8, 1, 1, 1, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 87, 0, 0, 0, 0, 0, 0, 3856634821061399044, 17111039960895529319, 4566799539362193550, 16844085186824886612, 3355565787613486613, 17176810829821093448, 1352137470786356802, 17998789203926124900, 16786513982140394745, 18361321143200586840, 13282415620666686464, 8228901733828007087, 0, 0, 0, 0, 7778838127124972351, 10159506934852280087, 12722539778584946047, 2132149890053205639, 18102156639692354752, 8649394742436479221, 4276590013765363445, 12997989410109585404, 9529430557140348691, 7606828505864121076, 17598459768503654580, 7777709650181082785, 0, 0, 0, 0, 8194007358744550661, 306611979519524457, 10528705374691960700, 319508112022086105, 10482736583082303606, 10309893049243492470, 12917037695721108312, 6248886070590142047, 6486447845183860200, 17251231915071761348, 16404214944354933870, 13204576128129345952, 0, 8699431654038775343, 37936723307283666, 8146588049311051327, 4530941775236136548, 16738435301601374688, 11359785745622903572, 15791382447019722900, 13379247305879358010, 13936169968399350974, 3508629571016445401, 5950565638198879243, 3988632325321614173, 14773776822077474877, 3784342517219646416, 16429780078047820450, 0, 3424975013671552621, 14815277144979047633, 8209627855274846837, 8295342049297215958, 15269992241592835077, 6438591265885629379, 13730717627697535913, 7787232003492715877, 9621206971434531853, 11223875126467095457, 6436756480486800604, 5377264485189635000, 5482319143373695788, 12350937431324290559, 6389531569788570962, 0, 4990332689225356878, 13089030850077380376, 2471524608045276896, 17139358263655017093, 18165060065290469256, 9446121688110358951, 977359788342611310, 16707128933418187061, 16621781274459601592, 7539458736435553900, 13565999334907596759, 1167963651906558177, 801268771425181312, 6228026786881094671, 1048304545096961231, 0, 9535941747246118180, 6758632961600419030, 13740260214376027515, 1405920164415583051, 14920069431652436384, 17439962485710135044, 417887867370226026, 16088228384974311599, 3710261815002798848, 137273432282796342, 5851059442771612226, 15136621875351529272, 15702932139541150313, 8779333934582463234, 9538098266673672038, 0, 8185802697182936648, 17682692702261395783, 2219736463483295590, 10757593865239447517, 1468754948270208383, 13746393160610271679, 6189648269704333551, 6527095477330083457, 289679669419955019, 9046656083049426920, 3573808134852581123, 16538711805104705524, 17122129810962376462, 2926585958971102942, 10107422984112301769, 0, 12705492336505225259, 715424026399539381, 2549298692279483128, 1219968445867773701, 12911638424059178129, 5048199682718381540, 1535097268869899419, 17260972721034176516, 15413356179839910737, 13476986835056197648, 7470895530577539713, 8398414302064166980, 16518486341402545799, 70008875869363926, 10307933594111103714, 0, 450024681039430413, 17110346123676092707, 503623504778112596, 1520822994009218024, 3997469258016952350, 18365130032920199069, 7964473389350786015, 9071675461601628413, 4719657860691726363, 2082610983791917873, 13643709933077212296, 16696777778525571691, 5937099920759461106, 17798517164851075633, 7519473231185213307, 0, 17931731304193244959, 0, 0, 11156145431451224746, 9448001553779471302, 11663814486624427477, 8105139713546092506, 996052311483623897, 18356245393792640289, 11128269591471854109, 3650549423833220560, 10102060878284432657, 6999065210900455588, 9632395034475899386, 10920626017129534091, 0, 0, 0, 0, 17063798001278894185, 2357038714604006367, 10530018908095235062, 8857952782846291740, 17150424826448967994, 8501298665346388356, 15857100073185553560, 2606143849991065668, 1709380969765926542, 7242804148613591485, 10415598312293556776, 3315485625242432418, 0, 0, 0, 0, 6980956723582544769, 17736580895885199098, 10473837116748539797, 5495612785159148096, 8023377746099375924, 15245498074053387423, 15841461147440760970, 14724882291190243897, 13636145514567347966, 11793730383025693858, 9279036588745121360, 3956126734745245173, 0, 0, 0, 0, 14149948942544104911, 13474931984659215558, 7610362789910399421, 10137886774563078569, 110488320743199774, 6631727638469492070, 9820426758070632911, 11785623090416681374, 2883529595690350478, 8282658300559339579, 1247473541961741200, 12265308465311135280, 0, 1, 0, 0, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 18295472245208082500, 5861891236755868697, 15427470125368014171, 5623455816162216176, 11335643519415282023, 11551270937114235273, 11863835819310119404, 14266241634618616211, 0, 2, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 2, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 104, 0, 0, 2, 0, 0, 0, 8045445736281483033, 11250386210932698181, 8447328201766628152, 527413860513422548, 2685530738566346168, 6831208533457089257, 18437518609042158966, 9278656209339918204, 4985219875437159245, 11102677601257469434, 16507477945842790035, 1824439754798293960, 2, 0, 0, 0, 13956548861570575417, 9763011176116608502, 4674794667694672124, 15480945315513057131, 1720127490715987209, 8831144276914012491, 250532683106813113, 18120264276823504303, 7075953940225467814, 5209117550659913714, 16837262421580091230, 11776861544437613654, 2, 0, 0, 0, 11512288827914447463, 17480311708360681553, 1580648391454313983, 3096307188042936924, 1465975368055000312, 1362735000009130378, 9465263839861379226, 14989718516974665241, 6566304943303044120, 2566111340353544025, 11325114382049196546, 15312957863351292707, 2, 14277010279095994320, 16421135900115366688, 8672081456162485113, 3315051758368515759, 16767795201975506841, 15745773069630130456, 10428682341827527559, 1609230777320982945, 8538451532688083939, 3309529438878958210, 2752224770668803053, 4030118788308868253, 9432517950422109187, 16655292287441213846, 3022134227219891882, 2, 12527609013750224641, 4064424364292504784, 12759359572746242099, 17498386834554682438, 9899399543530128857, 13823203783008011183, 4789373231313821943, 2275698290172824909, 14631083886626574849, 6083693282888760833, 17878128073269252636, 9098606451540172932, 4868784239831205121, 2796426330015583824, 10989039359288278884, 2, 11227322858093773958, 1256671723465513282, 4658091495748016755, 14665531030768273966, 5299487590341247604, 3822486110676485203, 2504794437525571246, 16499336243305873535, 10440692312118465582, 8016916182618053860, 11635644660770389253, 4003332628141212645, 8214607993079575395, 7207010966340578848, 10940185796204185824, 2, 12668058855470446370, 5255019430616758101, 14462744774902056824, 4113277495358115867, 1662113282866907292, 6585130578479449998, 17149676088405916342, 10457761600032190139, 3327323833077679847, 8197592365883421679, 7425424839480263678, 13938948244809494455, 16228892676090661713, 1504971017217144480, 8182776272628891435, 2, 6914860967029724068, 10806403396787496173, 3848579298848325229, 13805102062857951563, 16229844626955596217, 13935582109846251306, 8572389593169145834, 17576620671980411587, 10572618363726686694, 4850773447466262928, 15638373093776703034, 7910188832488865399, 15531097057290072206, 4889338479662679107, 10949924992689136363, 2, 4330865582496855032, 8473297999555512458, 7242240654409420037, 10299128364456298062, 14941042471610818695, 7565852759213474271, 3702504147651721524, 207598518842942194, 6753564273898291164, 11919043583188527726, 2096230895461827816, 9814026405907874850, 17772509140662880385, 15771358593260243554, 6654163437055992392, 2, 14424762448455122149, 9431772018868236879, 584341294112809445, 4918781353216964245, 2337856752823889422, 16060522829040602978, 1539091624536270714, 3206058370812795090, 10870942617842401040, 8606083879706978586, 4344150548445731150, 380060561426657383, 2730766720879432427, 14498706802584030890, 7769509436274319865, 2, 4147902545389306045, 0, 0, 16093847529947137599, 5589254378675598674, 14560311910293184412, 2592280228933147027, 10554718058272358421, 1080024418599256897, 646685994271806030, 5548578222066968465, 13466005348915411989, 1280314003050779809, 11336903746061502338, 9170512654829817344, 2, 0, 0, 0, 4018352536943676596, 1718970205214835807, 16103902027304323769, 7153843611717905198, 7564037379049998274, 6261812460083581507, 17412746410051240602, 11497751499239916990, 9826997558611816650, 2818155236871917143, 1303564367886020260, 8520201627654591972, 2, 0, 0, 0, 7399548230295413142, 15817399793431362137, 11111223990289672490, 14277270972042777124, 9762507146447503800, 5775448381623517643, 9705617515238056177, 10499143968321217911, 13713380413483444727, 2803285551461817904, 3117235683594903662, 8848529162601814389, 2, 0, 0, 0, 41605777382338142, 13705243190620087435, 8813156438606599548, 3668196738148877897, 8870883218370515482, 1311045307375281156, 891925000095841393, 18305520102948210690, 3095238878624340898, 8925726914230878692, 11158112996086314015, 16463229027226752316, 2, 1, 0, 0, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 3302920651539558582, 2392789792202575031, 11898680931385242334, 3118702462093730513, 6675709269000188192, 6602703777719207165, 6265915402349571564, 2890093557727619615, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(12) }, program_info: ProgramInfo { program_hash: Word([8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090]), kernel: KernelDescriptor([Word([13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008])]) }, stack_outputs: StackOutputs { elements: [1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 13, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 1 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_14.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_14.snap index 3f28a63ed3..24c3d194e3 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_14.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_14.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 8, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 18295472245208082500, 5861891236755868697, 15427470125368014171, 5623455816162216176, 11335643519415282023, 11551270937114235273, 11863835819310119404, 14266241634618616211, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 3302920651539558582, 2392789792202575031, 11898680931385242334, 3118702462093730513, 6675709269000188192, 6602703777719207165, 6265915402349571564, 2890093557727619615, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 7, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 8, 1, 1, 1, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 87, 0, 0, 0, 0, 0, 0, 3856634821061399044, 17111039960895529319, 4566799539362193550, 16844085186824886612, 3355565787613486613, 17176810829821093448, 1352137470786356802, 17998789203926124900, 16786513982140394745, 18361321143200586840, 13282415620666686464, 8228901733828007087, 0, 0, 0, 0, 7778838127124972351, 10159506934852280087, 12722539778584946047, 2132149890053205639, 18102156639692354752, 8649394742436479221, 4276590013765363445, 12997989410109585404, 9529430557140348691, 7606828505864121076, 17598459768503654580, 7777709650181082785, 0, 0, 0, 0, 8194007358744550661, 306611979519524457, 10528705374691960700, 319508112022086105, 10482736583082303606, 10309893049243492470, 12917037695721108312, 6248886070590142047, 6486447845183860200, 17251231915071761348, 16404214944354933870, 13204576128129345952, 0, 8699431654038775343, 37936723307283666, 8146588049311051327, 4530941775236136548, 16738435301601374688, 11359785745622903572, 15791382447019722900, 13379247305879358010, 13936169968399350974, 3508629571016445401, 5950565638198879243, 3988632325321614173, 14773776822077474877, 3784342517219646416, 16429780078047820450, 0, 3424975013671552621, 14815277144979047633, 8209627855274846837, 8295342049297215958, 15269992241592835077, 6438591265885629379, 13730717627697535913, 7787232003492715877, 9621206971434531853, 11223875126467095457, 6436756480486800604, 5377264485189635000, 5482319143373695788, 12350937431324290559, 6389531569788570962, 0, 4990332689225356878, 13089030850077380376, 2471524608045276896, 17139358263655017093, 18165060065290469256, 9446121688110358951, 977359788342611310, 16707128933418187061, 16621781274459601592, 7539458736435553900, 13565999334907596759, 1167963651906558177, 801268771425181312, 6228026786881094671, 1048304545096961231, 0, 9535941747246118180, 6758632961600419030, 13740260214376027515, 1405920164415583051, 14920069431652436384, 17439962485710135044, 417887867370226026, 16088228384974311599, 3710261815002798848, 137273432282796342, 5851059442771612226, 15136621875351529272, 15702932139541150313, 8779333934582463234, 9538098266673672038, 0, 8185802697182936648, 17682692702261395783, 2219736463483295590, 10757593865239447517, 1468754948270208383, 13746393160610271679, 6189648269704333551, 6527095477330083457, 289679669419955019, 9046656083049426920, 3573808134852581123, 16538711805104705524, 17122129810962376462, 2926585958971102942, 10107422984112301769, 0, 12705492336505225259, 715424026399539381, 2549298692279483128, 1219968445867773701, 12911638424059178129, 5048199682718381540, 1535097268869899419, 17260972721034176516, 15413356179839910737, 13476986835056197648, 7470895530577539713, 8398414302064166980, 16518486341402545799, 70008875869363926, 10307933594111103714, 0, 450024681039430413, 17110346123676092707, 503623504778112596, 1520822994009218024, 3997469258016952350, 18365130032920199069, 7964473389350786015, 9071675461601628413, 4719657860691726363, 2082610983791917873, 13643709933077212296, 16696777778525571691, 5937099920759461106, 17798517164851075633, 7519473231185213307, 0, 17931731304193244959, 0, 0, 11156145431451224746, 9448001553779471302, 11663814486624427477, 8105139713546092506, 996052311483623897, 18356245393792640289, 11128269591471854109, 3650549423833220560, 10102060878284432657, 6999065210900455588, 9632395034475899386, 10920626017129534091, 0, 0, 0, 0, 17063798001278894185, 2357038714604006367, 10530018908095235062, 8857952782846291740, 17150424826448967994, 8501298665346388356, 15857100073185553560, 2606143849991065668, 1709380969765926542, 7242804148613591485, 10415598312293556776, 3315485625242432418, 0, 0, 0, 0, 6980956723582544769, 17736580895885199098, 10473837116748539797, 5495612785159148096, 8023377746099375924, 15245498074053387423, 15841461147440760970, 14724882291190243897, 13636145514567347966, 11793730383025693858, 9279036588745121360, 3956126734745245173, 0, 0, 0, 0, 14149948942544104911, 13474931984659215558, 7610362789910399421, 10137886774563078569, 110488320743199774, 6631727638469492070, 9820426758070632911, 11785623090416681374, 2883529595690350478, 8282658300559339579, 1247473541961741200, 12265308465311135280, 0, 1, 0, 0, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 18295472245208082500, 5861891236755868697, 15427470125368014171, 5623455816162216176, 11335643519415282023, 11551270937114235273, 11863835819310119404, 14266241634618616211, 0, 2, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 2, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 104, 0, 0, 2, 0, 0, 0, 8045445736281483033, 11250386210932698181, 8447328201766628152, 527413860513422548, 2685530738566346168, 6831208533457089257, 18437518609042158966, 9278656209339918204, 4985219875437159245, 11102677601257469434, 16507477945842790035, 1824439754798293960, 2, 0, 0, 0, 13956548861570575417, 9763011176116608502, 4674794667694672124, 15480945315513057131, 1720127490715987209, 8831144276914012491, 250532683106813113, 18120264276823504303, 7075953940225467814, 5209117550659913714, 16837262421580091230, 11776861544437613654, 2, 0, 0, 0, 11512288827914447463, 17480311708360681553, 1580648391454313983, 3096307188042936924, 1465975368055000312, 1362735000009130378, 9465263839861379226, 14989718516974665241, 6566304943303044120, 2566111340353544025, 11325114382049196546, 15312957863351292707, 2, 14277010279095994320, 16421135900115366688, 8672081456162485113, 3315051758368515759, 16767795201975506841, 15745773069630130456, 10428682341827527559, 1609230777320982945, 8538451532688083939, 3309529438878958210, 2752224770668803053, 4030118788308868253, 9432517950422109187, 16655292287441213846, 3022134227219891882, 2, 12527609013750224641, 4064424364292504784, 12759359572746242099, 17498386834554682438, 9899399543530128857, 13823203783008011183, 4789373231313821943, 2275698290172824909, 14631083886626574849, 6083693282888760833, 17878128073269252636, 9098606451540172932, 4868784239831205121, 2796426330015583824, 10989039359288278884, 2, 11227322858093773958, 1256671723465513282, 4658091495748016755, 14665531030768273966, 5299487590341247604, 3822486110676485203, 2504794437525571246, 16499336243305873535, 10440692312118465582, 8016916182618053860, 11635644660770389253, 4003332628141212645, 8214607993079575395, 7207010966340578848, 10940185796204185824, 2, 12668058855470446370, 5255019430616758101, 14462744774902056824, 4113277495358115867, 1662113282866907292, 6585130578479449998, 17149676088405916342, 10457761600032190139, 3327323833077679847, 8197592365883421679, 7425424839480263678, 13938948244809494455, 16228892676090661713, 1504971017217144480, 8182776272628891435, 2, 6914860967029724068, 10806403396787496173, 3848579298848325229, 13805102062857951563, 16229844626955596217, 13935582109846251306, 8572389593169145834, 17576620671980411587, 10572618363726686694, 4850773447466262928, 15638373093776703034, 7910188832488865399, 15531097057290072206, 4889338479662679107, 10949924992689136363, 2, 4330865582496855032, 8473297999555512458, 7242240654409420037, 10299128364456298062, 14941042471610818695, 7565852759213474271, 3702504147651721524, 207598518842942194, 6753564273898291164, 11919043583188527726, 2096230895461827816, 9814026405907874850, 17772509140662880385, 15771358593260243554, 6654163437055992392, 2, 14424762448455122149, 9431772018868236879, 584341294112809445, 4918781353216964245, 2337856752823889422, 16060522829040602978, 1539091624536270714, 3206058370812795090, 10870942617842401040, 8606083879706978586, 4344150548445731150, 380060561426657383, 2730766720879432427, 14498706802584030890, 7769509436274319865, 2, 4147902545389306045, 0, 0, 16093847529947137599, 5589254378675598674, 14560311910293184412, 2592280228933147027, 10554718058272358421, 1080024418599256897, 646685994271806030, 5548578222066968465, 13466005348915411989, 1280314003050779809, 11336903746061502338, 9170512654829817344, 2, 0, 0, 0, 4018352536943676596, 1718970205214835807, 16103902027304323769, 7153843611717905198, 7564037379049998274, 6261812460083581507, 17412746410051240602, 11497751499239916990, 9826997558611816650, 2818155236871917143, 1303564367886020260, 8520201627654591972, 2, 0, 0, 0, 7399548230295413142, 15817399793431362137, 11111223990289672490, 14277270972042777124, 9762507146447503800, 5775448381623517643, 9705617515238056177, 10499143968321217911, 13713380413483444727, 2803285551461817904, 3117235683594903662, 8848529162601814389, 2, 0, 0, 0, 41605777382338142, 13705243190620087435, 8813156438606599548, 3668196738148877897, 8870883218370515482, 1311045307375281156, 891925000095841393, 18305520102948210690, 3095238878624340898, 8925726914230878692, 11158112996086314015, 16463229027226752316, 2, 1, 0, 0, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 3302920651539558582, 2392789792202575031, 11898680931385242334, 3118702462093730513, 6675709269000188192, 6602703777719207165, 6265915402349571564, 2890093557727619615, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(12) }, program_info: ProgramInfo { program_hash: Word([8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090]), kernel: KernelDescriptor([Word([13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008])]) }, stack_outputs: StackOutputs { elements: [1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 13, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 1 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 8, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 18295472245208082500, 5861891236755868697, 15427470125368014171, 5623455816162216176, 11335643519415282023, 11551270937114235273, 11863835819310119404, 14266241634618616211, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 3302920651539558582, 2392789792202575031, 11898680931385242334, 3118702462093730513, 6675709269000188192, 6602703777719207165, 6265915402349571564, 2890093557727619615, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 7, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 1, 8, 1, 1, 1, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 0, 87, 0, 0, 0, 0, 0, 0, 3856634821061399044, 17111039960895529319, 4566799539362193550, 16844085186824886612, 3355565787613486613, 17176810829821093448, 1352137470786356802, 17998789203926124900, 16786513982140394745, 18361321143200586840, 13282415620666686464, 8228901733828007087, 0, 0, 0, 0, 7778838127124972351, 10159506934852280087, 12722539778584946047, 2132149890053205639, 18102156639692354752, 8649394742436479221, 4276590013765363445, 12997989410109585404, 9529430557140348691, 7606828505864121076, 17598459768503654580, 7777709650181082785, 0, 0, 0, 0, 8194007358744550661, 306611979519524457, 10528705374691960700, 319508112022086105, 10482736583082303606, 10309893049243492470, 12917037695721108312, 6248886070590142047, 6486447845183860200, 17251231915071761348, 16404214944354933870, 13204576128129345952, 0, 8699431654038775343, 37936723307283666, 8146588049311051327, 4530941775236136548, 16738435301601374688, 11359785745622903572, 15791382447019722900, 13379247305879358010, 13936169968399350974, 3508629571016445401, 5950565638198879243, 3988632325321614173, 14773776822077474877, 3784342517219646416, 16429780078047820450, 0, 3424975013671552621, 14815277144979047633, 8209627855274846837, 8295342049297215958, 15269992241592835077, 6438591265885629379, 13730717627697535913, 7787232003492715877, 9621206971434531853, 11223875126467095457, 6436756480486800604, 5377264485189635000, 5482319143373695788, 12350937431324290559, 6389531569788570962, 0, 4990332689225356878, 13089030850077380376, 2471524608045276896, 17139358263655017093, 18165060065290469256, 9446121688110358951, 977359788342611310, 16707128933418187061, 16621781274459601592, 7539458736435553900, 13565999334907596759, 1167963651906558177, 801268771425181312, 6228026786881094671, 1048304545096961231, 0, 9535941747246118180, 6758632961600419030, 13740260214376027515, 1405920164415583051, 14920069431652436384, 17439962485710135044, 417887867370226026, 16088228384974311599, 3710261815002798848, 137273432282796342, 5851059442771612226, 15136621875351529272, 15702932139541150313, 8779333934582463234, 9538098266673672038, 0, 8185802697182936648, 17682692702261395783, 2219736463483295590, 10757593865239447517, 1468754948270208383, 13746393160610271679, 6189648269704333551, 6527095477330083457, 289679669419955019, 9046656083049426920, 3573808134852581123, 16538711805104705524, 17122129810962376462, 2926585958971102942, 10107422984112301769, 0, 12705492336505225259, 715424026399539381, 2549298692279483128, 1219968445867773701, 12911638424059178129, 5048199682718381540, 1535097268869899419, 17260972721034176516, 15413356179839910737, 13476986835056197648, 7470895530577539713, 8398414302064166980, 16518486341402545799, 70008875869363926, 10307933594111103714, 0, 450024681039430413, 17110346123676092707, 503623504778112596, 1520822994009218024, 3997469258016952350, 18365130032920199069, 7964473389350786015, 9071675461601628413, 4719657860691726363, 2082610983791917873, 13643709933077212296, 16696777778525571691, 5937099920759461106, 17798517164851075633, 7519473231185213307, 0, 17931731304193244959, 0, 0, 11156145431451224746, 9448001553779471302, 11663814486624427477, 8105139713546092506, 996052311483623897, 18356245393792640289, 11128269591471854109, 3650549423833220560, 10102060878284432657, 6999065210900455588, 9632395034475899386, 10920626017129534091, 0, 0, 0, 0, 17063798001278894185, 2357038714604006367, 10530018908095235062, 8857952782846291740, 17150424826448967994, 8501298665346388356, 15857100073185553560, 2606143849991065668, 1709380969765926542, 7242804148613591485, 10415598312293556776, 3315485625242432418, 0, 0, 0, 0, 6980956723582544769, 17736580895885199098, 10473837116748539797, 5495612785159148096, 8023377746099375924, 15245498074053387423, 15841461147440760970, 14724882291190243897, 13636145514567347966, 11793730383025693858, 9279036588745121360, 3956126734745245173, 0, 0, 0, 0, 14149948942544104911, 13474931984659215558, 7610362789910399421, 10137886774563078569, 110488320743199774, 6631727638469492070, 9820426758070632911, 11785623090416681374, 2883529595690350478, 8282658300559339579, 1247473541961741200, 12265308465311135280, 0, 1, 0, 0, 8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090, 18295472245208082500, 5861891236755868697, 15427470125368014171, 5623455816162216176, 11335643519415282023, 11551270937114235273, 11863835819310119404, 14266241634618616211, 0, 2, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 1, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 1, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 1, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 1, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 1, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 1, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 1, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 1, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 1, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 1, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 1, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 1, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 1, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 1, 2, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 1, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 104, 0, 0, 2, 0, 0, 0, 8045445736281483033, 11250386210932698181, 8447328201766628152, 527413860513422548, 2685530738566346168, 6831208533457089257, 18437518609042158966, 9278656209339918204, 4985219875437159245, 11102677601257469434, 16507477945842790035, 1824439754798293960, 2, 0, 0, 0, 13956548861570575417, 9763011176116608502, 4674794667694672124, 15480945315513057131, 1720127490715987209, 8831144276914012491, 250532683106813113, 18120264276823504303, 7075953940225467814, 5209117550659913714, 16837262421580091230, 11776861544437613654, 2, 0, 0, 0, 11512288827914447463, 17480311708360681553, 1580648391454313983, 3096307188042936924, 1465975368055000312, 1362735000009130378, 9465263839861379226, 14989718516974665241, 6566304943303044120, 2566111340353544025, 11325114382049196546, 15312957863351292707, 2, 14277010279095994320, 16421135900115366688, 8672081456162485113, 3315051758368515759, 16767795201975506841, 15745773069630130456, 10428682341827527559, 1609230777320982945, 8538451532688083939, 3309529438878958210, 2752224770668803053, 4030118788308868253, 9432517950422109187, 16655292287441213846, 3022134227219891882, 2, 12527609013750224641, 4064424364292504784, 12759359572746242099, 17498386834554682438, 9899399543530128857, 13823203783008011183, 4789373231313821943, 2275698290172824909, 14631083886626574849, 6083693282888760833, 17878128073269252636, 9098606451540172932, 4868784239831205121, 2796426330015583824, 10989039359288278884, 2, 11227322858093773958, 1256671723465513282, 4658091495748016755, 14665531030768273966, 5299487590341247604, 3822486110676485203, 2504794437525571246, 16499336243305873535, 10440692312118465582, 8016916182618053860, 11635644660770389253, 4003332628141212645, 8214607993079575395, 7207010966340578848, 10940185796204185824, 2, 12668058855470446370, 5255019430616758101, 14462744774902056824, 4113277495358115867, 1662113282866907292, 6585130578479449998, 17149676088405916342, 10457761600032190139, 3327323833077679847, 8197592365883421679, 7425424839480263678, 13938948244809494455, 16228892676090661713, 1504971017217144480, 8182776272628891435, 2, 6914860967029724068, 10806403396787496173, 3848579298848325229, 13805102062857951563, 16229844626955596217, 13935582109846251306, 8572389593169145834, 17576620671980411587, 10572618363726686694, 4850773447466262928, 15638373093776703034, 7910188832488865399, 15531097057290072206, 4889338479662679107, 10949924992689136363, 2, 4330865582496855032, 8473297999555512458, 7242240654409420037, 10299128364456298062, 14941042471610818695, 7565852759213474271, 3702504147651721524, 207598518842942194, 6753564273898291164, 11919043583188527726, 2096230895461827816, 9814026405907874850, 17772509140662880385, 15771358593260243554, 6654163437055992392, 2, 14424762448455122149, 9431772018868236879, 584341294112809445, 4918781353216964245, 2337856752823889422, 16060522829040602978, 1539091624536270714, 3206058370812795090, 10870942617842401040, 8606083879706978586, 4344150548445731150, 380060561426657383, 2730766720879432427, 14498706802584030890, 7769509436274319865, 2, 4147902545389306045, 0, 0, 16093847529947137599, 5589254378675598674, 14560311910293184412, 2592280228933147027, 10554718058272358421, 1080024418599256897, 646685994271806030, 5548578222066968465, 13466005348915411989, 1280314003050779809, 11336903746061502338, 9170512654829817344, 2, 0, 0, 0, 4018352536943676596, 1718970205214835807, 16103902027304323769, 7153843611717905198, 7564037379049998274, 6261812460083581507, 17412746410051240602, 11497751499239916990, 9826997558611816650, 2818155236871917143, 1303564367886020260, 8520201627654591972, 2, 0, 0, 0, 7399548230295413142, 15817399793431362137, 11111223990289672490, 14277270972042777124, 9762507146447503800, 5775448381623517643, 9705617515238056177, 10499143968321217911, 13713380413483444727, 2803285551461817904, 3117235683594903662, 8848529162601814389, 2, 0, 0, 0, 41605777382338142, 13705243190620087435, 8813156438606599548, 3668196738148877897, 8870883218370515482, 1311045307375281156, 891925000095841393, 18305520102948210690, 3095238878624340898, 8925726914230878692, 11158112996086314015, 16463229027226752316, 2, 1, 0, 0, 2899453830169817055, 16816598283634567027, 3068995836555945716, 12171400876639430472, 3302920651539558582, 2392789792202575031, 11898680931385242334, 3118702462093730513, 6675709269000188192, 6602703777719207165, 6265915402349571564, 2890093557727619615, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(12) }, program_info: ProgramInfo { program_hash: Word([8390006645619712562, 1693808462939001829, 16098741705486284700, 15555841994343850090]), kernel: KernelDescriptor([Word([13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008])]) }, stack_outputs: StackOutputs { elements: [1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 13, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 1 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_15.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_15.snap index e204960c57..db519f6c49 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_15.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_15.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 7, 0, 0, 0, 0, 0, 5, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 0, 0, 1, 0, 2, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 0, 0, 10686862901019340628, 15711583786595019806, 9378042936835126164, 11939142602264935891, 13605517752371930016, 2544863311362262665, 6880055194706872138, 2404926559643725443, 11298729247352625131, 13639273524510051487, 3031605320954281704, 2952677760580202523, 0, 0, 0, 0, 6949406075980976859, 9142069989509656801, 14676622013796942288, 5295633173573979080, 14862684288436559050, 7708888152496129562, 8667911075542880817, 14424367369474907891, 14303094264982903091, 9838552210955819611, 15088013178433258027, 5833102420062152227, 0, 0, 0, 0, 1932675776657481842, 14290498569500988181, 11741991701671402436, 3934903733189518965, 10047440752038846171, 14938209139342513571, 7659889883493126262, 2134579895120260539, 7819147353957995986, 17861588317805920712, 11020859927535923500, 15623868602690334525, 0, 6264451320029412065, 5315770291001895612, 3923979823614336294, 15496957568148800678, 4856878698798286165, 18427152961697133322, 13172977369565732662, 8634756726478972696, 17549357918509499997, 7356106617646839123, 16192566970100663376, 4904526601366015673, 11478334329288517717, 607398074844683832, 9609971183005491570, 0, 18264070764381924889, 7558994944201947568, 16698567473332535936, 4066201321205995431, 14552036519561423602, 5620710451624899086, 14969463994437329823, 11938508228196027882, 9200118839118887577, 6855444937813269923, 13901427726318773655, 3507966654472722962, 13139165600809348467, 3547085602937656739, 11244050388029555026, 0, 8312328144036608043, 17972686765781519170, 10784039031850599726, 14134435301654782468, 13131877571979284929, 8266221982529104091, 159405248778538274, 5778967389144576888, 6057984302796584762, 11714059928473413141, 11763232719990709154, 7978933720497313146, 16635094485101159936, 18327609188632861057, 11071183167122824035, 0, 10287810620841180003, 4548089904338037398, 6876519236022884332, 192351967064940869, 13616941784242570400, 7032108910940453446, 13625250436816808378, 17491100122417306359, 2292049730346364666, 2733535393252649149, 17750397792987890641, 6346476747248545150, 3575465615474366120, 18213303372206038112, 2518621101786158931, 0, 842637389045220237, 14003171518185218367, 14997648696661468292, 13477259760240789253, 7438659305055821970, 7828458451594639328, 1805142843426507273, 3804729079035423760, 5684604326361654696, 17218885460122549497, 974371611540683935, 16762750120460661174, 739710162320190732, 3363948547922989023, 4267260670759647913, 0, 10264158766070300923, 6050974414693797250, 847386589526447339, 3548106904874618124, 9289172558104066787, 8226909131216769737, 16380713199877477068, 4410762367217395758, 12555768451623030884, 10357980275595284555, 10303991993655092221, 4060030248038493229, 11216725884924445657, 10194932652661424405, 17494422570060569743, 0, 522514578171525652, 3717501858890221638, 16025700499781393088, 15033579247524264929, 1744414008664189122, 6807378681147180078, 16955668219975052585, 18323017022834713256, 6662618285165080179, 12762215046608848013, 17134633855452090590, 6353725621416552612, 4449259194945598867, 8877290555352616803, 13666098560811114332, 0, 3232143389630708424, 0, 0, 9014593992030055460, 10869121640834977224, 1905700011211118876, 955944440419378960, 265206078841667899, 13713964984862746492, 9702435518807270681, 12343078651970579400, 18227529633908655074, 9709048888339027683, 15154974039676851951, 16388400023664675593, 0, 0, 0, 0, 12342730708987043912, 13274159397630057441, 12697978258400128397, 368152630932848211, 6555819701154221199, 97417680512067538, 2018507387878521400, 1529782995014995301, 13636792419679998309, 6197980968820055410, 737644335551408580, 9956102600220791675, 0, 0, 0, 0, 14179025343931559433, 1175312715506728066, 11255361077722267605, 9822732455439796133, 13335036252549184126, 17127037879360292568, 16600677125340288437, 11659800847392950623, 12605660248276552114, 14805446144065764307, 14804045017754446897, 13192632014186378484, 0, 0, 0, 0, 12383461936126681247, 745215043874424896, 4540981537676651137, 16486351305638014506, 10972364256824969372, 5647748125744546841, 5620391031839475969, 17973620544670757805, 1344519641939806437, 11395404185290209616, 4498705163534372313, 3336623779264323323, 0, 1, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8259689913693129242, 3400892600405308205, 17378179173256779268, 5060920854688287001, 9687195410980644248, 6313248141024338188, 2582093590609427596, 3953695074988874383, 11971751964106597008, 9907486161844974200, 17989903003960359463, 13336380866068769777, 1, 0, 0, 0, 12279731404675001026, 6278812133505380138, 6233201299601221057, 2388727383803081265, 12084036741190483661, 2317300697897833956, 9759443477696867671, 10883057071610381859, 3944615791382572320, 4072273145811045884, 17852897021998211163, 9684438072608016253, 1, 0, 0, 0, 3651584995004100725, 6423803920838032987, 14027200390009907647, 6592032860050067711, 2594447921553931384, 18306574626058358562, 4512185877168969647, 11342492757671323084, 15957751677575885720, 5761823199659062393, 6846407586191335849, 9817376758188911585, 1, 18183126545069935350, 12563248011457733820, 8356966014032630063, 12041609793392315665, 5281186701877768352, 5541580267076219602, 11576047020972388374, 6661568194349527666, 15437143780340457719, 10754987180927492954, 4211835751645452119, 10566966891469040816, 690793516206281144, 3247962926818069970, 9036036859539968974, 1, 15893445344909186288, 5778049594265975833, 1423581989082731508, 5458007776595562807, 2498425571573111469, 16059466580364398666, 8902716392494711213, 14882573357788460188, 3225597659422237250, 3128065202613218656, 16995684508107895104, 12196793732604029414, 17723663615896720413, 9829416315291197871, 580745865383399340, 1, 13902067347991440733, 5984630683069450754, 12729386174124645267, 13785662250538369696, 272255205933159866, 735616656951483055, 12424664074133983590, 5026981889191825136, 5767485772665833989, 15651669603605283176, 7414308024158917695, 15811954123421478742, 13258769136679205830, 3664463833800174816, 15497592431183820173, 1, 11156605567826983932, 3639316624646464570, 5042698793479444923, 8630374421727305636, 17027951314675117661, 2801906069577385610, 18065291493111457552, 18067767546753643362, 5248148594352695009, 7578134041089558055, 18445498855455618598, 7189106720666328053, 6562930842885656592, 6844922721754111014, 780716667496251522, 1, 11860885490747304346, 12272615266561732125, 10423884872730116228, 13929733142214397431, 2117615618497875527, 5203222542820499724, 4538429948347629507, 6877693664463852318, 18109062185597913481, 10147653053574341319, 10079670109614966266, 12064951107563936135, 1152998120279634164, 12844815835032732057, 12896711460106342356, 1, 3078919787028426439, 15265543379215102231, 570695753264939069, 459110976220447167, 2176716793919417092, 14863591412045443847, 14252826520731507004, 15860274927896899753, 10390267100193539166, 17043032359848981742, 818991875743271755, 16275785202399117535, 8465017515346473513, 2777064625189300576, 13072175816967000886, 1, 3442153457185747577, 2606206929260007126, 2317686975478948049, 15948992202505097484, 5942181083636438599, 15457210791918859006, 887605399554676434, 12986387963278623196, 10075175986843357851, 4859683927561004597, 6555547085880890919, 8280537903442447606, 16640962983997717683, 2248822201261309400, 13163090516020988950, 1, 7196986181046756683, 0, 0, 16549653703171386973, 11518702294444124172, 1109770523953150302, 11415315369035533823, 5890935665450471727, 2253657843173273901, 13858462521885404044, 9125187176834287629, 14925311787915179675, 9356310136195018005, 14965392043314054082, 18423301843359275387, 1, 0, 0, 0, 7040940919216905671, 6187741949018394442, 10532732827118411505, 13505135286384426969, 917467356231706545, 9047752258933341547, 2335143583534705649, 18052717581435745313, 9355624911805935499, 7190586108559742607, 2304843099991312546, 16303126242918615541, 1, 0, 0, 0, 15603840856162477962, 3504063088563989096, 6361775464868278813, 17698044987168049155, 8418309402148081318, 15988177746184666422, 4270534912200806378, 12370149697383197906, 8363034440938926080, 17941258791536373709, 11011611614519090457, 10702921331067290122, 1, 0, 0, 0, 8416267285503610972, 15089551497492948945, 5363802036407642792, 10347532956075658842, 17181858623993805271, 15855824450153307212, 7743632312226714799, 1845073853648620670, 2000026205350826313, 18037231946791138113, 14309912549728703012, 13253445327127715869, 1, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 11621565010787354140, 1949391780818670486, 7327781180606137861, 2419787217529136215, 13249250205018233525, 10029758640146777270, 5716716695107147273, 10829954014693503473, 7405851154679558693, 2030135877513774489, 10401768244118899621, 7992444660002654486, 2, 0, 0, 0, 9190577937819620371, 12978309842325015235, 10477013461463931935, 4855391316239312738, 10519745218266697287, 18375374895419140100, 876067972673449756, 17915370314859305010, 17877705855294641231, 120652674332571204, 3378556434908723888, 17649391022523856338, 2, 0, 0, 0, 15052947986857015373, 3007680259418135415, 3197694984858038551, 6563270153864719814, 6889631464391242687, 12614331779225506253, 8884325160266334095, 15067359903282619456, 6045216153329131722, 7293213550537411486, 18377064823051127268, 14733223614830533518, 2, 1248924765333967865, 15568788993061722932, 4037714036443683170, 2584579945446987950, 3496704858534018972, 10965787981110521559, 9000006360952503550, 8377181923806419223, 18078834148678517323, 13751832434934340803, 15306332964801742551, 828627458527105190, 2519953652271814816, 5563221586835004955, 16428502736240336605, 2, 161503374172189975, 7180975586994120588, 13070121377098205312, 9655464535561865455, 4169214041423852321, 5771090309048429384, 6993654059550252564, 14478380452460405826, 12150434000885474539, 18399347099839405992, 88779829066683150, 4428174353386180423, 7547120791432137516, 11951584238447172023, 8804182506418522715, 2, 1859011259345361207, 13205265558511858864, 16229683663108620000, 17688418164436772208, 12658415008146819428, 6291208835901171779, 3297271436089179933, 12943628284217684119, 11639259038601904106, 10502234848011596680, 13946225273525543944, 11318468498957948083, 13851055481982014034, 5765565570506082255, 10777382518726251007, 2, 1023422172081481959, 14540338366569412926, 10271517463444484758, 8863158288377959817, 9066561794313536160, 10161961919995709177, 2094278659773331823, 4371761587112760854, 10972685992181286814, 5641963675353630718, 15569415989710829261, 4258403342016907208, 4740804749082440837, 1594229550076307598, 5045104152796606559, 2, 12053626300860885956, 13987509258486900924, 17286360383804666298, 8301538772707939488, 7700154594411825373, 14332053735409157564, 6894934729579673545, 5430665485920789830, 10553406992561403551, 11528229548578861261, 3294597468571627674, 2903493961726666462, 10560076388764518443, 3749651622493296975, 18114127684252877364, 2, 12240592655856206466, 6264740020775290721, 859763567572081467, 8842953438422484122, 14329981889510246939, 3582542183068105786, 6023391989510151456, 2953193964713672141, 12396149302348639250, 13882467375549577428, 3586988377712407519, 7213506509798642482, 13435456572406932891, 9645941250097564536, 2781650568775738364, 2, 15637532899188291351, 12683652363890573925, 2704597975013858668, 17832955104866332736, 6815586591600943723, 13755349213265671492, 8924117914024270326, 3329964149511691453, 11039495891702065838, 15670789219464690273, 11281671746346947225, 10492374165392519994, 11439270560757451470, 7337394676363778206, 2272256910055258613, 2, 3130343892077994054, 0, 0, 1136320813223337744, 11438337112810950654, 16692992611178972868, 9482499518540692367, 5451078715157933845, 18403012202839423090, 13340398881404871439, 16853681425214524760, 5540259513623809808, 7754241405876268140, 15538673406175044580, 15705643278636475771, 2, 0, 0, 0, 6593967995490198369, 546795078589070868, 8093299549277945163, 1445098694824947603, 16968796337604054074, 7105604958885889972, 12829574433066656016, 10962264142076089650, 6970346774265824779, 5668604568559492205, 15930738860655806958, 14403244990983785091, 2, 0, 0, 0, 7770193319703938593, 6228225228483877842, 5315425894230577486, 8012448033829391087, 5395398520381640698, 8770911350053719042, 14827874098479004474, 11024999006644848903, 13791657658989935762, 17830220104295996918, 2090812709146185278, 8577173283657139529, 2, 0, 0, 0, 17471481800618265475, 1930822204634793148, 12769804899579893379, 13068810900387198296, 10732524945348487200, 1519317270498249877, 12604995971822921101, 14107509487727911757, 8257552923782319555, 12034059115493819529, 4343039820825149431, 395799121324568963, 2, 1, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(10) }, program_info: ProgramInfo { program_hash: Word([11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 11, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 7, 0, 0, 0, 0, 0, 5, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 0, 0, 1, 0, 2, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 0, 0, 10686862901019340628, 15711583786595019806, 9378042936835126164, 11939142602264935891, 13605517752371930016, 2544863311362262665, 6880055194706872138, 2404926559643725443, 11298729247352625131, 13639273524510051487, 3031605320954281704, 2952677760580202523, 0, 0, 0, 0, 6949406075980976859, 9142069989509656801, 14676622013796942288, 5295633173573979080, 14862684288436559050, 7708888152496129562, 8667911075542880817, 14424367369474907891, 14303094264982903091, 9838552210955819611, 15088013178433258027, 5833102420062152227, 0, 0, 0, 0, 1932675776657481842, 14290498569500988181, 11741991701671402436, 3934903733189518965, 10047440752038846171, 14938209139342513571, 7659889883493126262, 2134579895120260539, 7819147353957995986, 17861588317805920712, 11020859927535923500, 15623868602690334525, 0, 6264451320029412065, 5315770291001895612, 3923979823614336294, 15496957568148800678, 4856878698798286165, 18427152961697133322, 13172977369565732662, 8634756726478972696, 17549357918509499997, 7356106617646839123, 16192566970100663376, 4904526601366015673, 11478334329288517717, 607398074844683832, 9609971183005491570, 0, 18264070764381924889, 7558994944201947568, 16698567473332535936, 4066201321205995431, 14552036519561423602, 5620710451624899086, 14969463994437329823, 11938508228196027882, 9200118839118887577, 6855444937813269923, 13901427726318773655, 3507966654472722962, 13139165600809348467, 3547085602937656739, 11244050388029555026, 0, 8312328144036608043, 17972686765781519170, 10784039031850599726, 14134435301654782468, 13131877571979284929, 8266221982529104091, 159405248778538274, 5778967389144576888, 6057984302796584762, 11714059928473413141, 11763232719990709154, 7978933720497313146, 16635094485101159936, 18327609188632861057, 11071183167122824035, 0, 10287810620841180003, 4548089904338037398, 6876519236022884332, 192351967064940869, 13616941784242570400, 7032108910940453446, 13625250436816808378, 17491100122417306359, 2292049730346364666, 2733535393252649149, 17750397792987890641, 6346476747248545150, 3575465615474366120, 18213303372206038112, 2518621101786158931, 0, 842637389045220237, 14003171518185218367, 14997648696661468292, 13477259760240789253, 7438659305055821970, 7828458451594639328, 1805142843426507273, 3804729079035423760, 5684604326361654696, 17218885460122549497, 974371611540683935, 16762750120460661174, 739710162320190732, 3363948547922989023, 4267260670759647913, 0, 10264158766070300923, 6050974414693797250, 847386589526447339, 3548106904874618124, 9289172558104066787, 8226909131216769737, 16380713199877477068, 4410762367217395758, 12555768451623030884, 10357980275595284555, 10303991993655092221, 4060030248038493229, 11216725884924445657, 10194932652661424405, 17494422570060569743, 0, 522514578171525652, 3717501858890221638, 16025700499781393088, 15033579247524264929, 1744414008664189122, 6807378681147180078, 16955668219975052585, 18323017022834713256, 6662618285165080179, 12762215046608848013, 17134633855452090590, 6353725621416552612, 4449259194945598867, 8877290555352616803, 13666098560811114332, 0, 3232143389630708424, 0, 0, 9014593992030055460, 10869121640834977224, 1905700011211118876, 955944440419378960, 265206078841667899, 13713964984862746492, 9702435518807270681, 12343078651970579400, 18227529633908655074, 9709048888339027683, 15154974039676851951, 16388400023664675593, 0, 0, 0, 0, 12342730708987043912, 13274159397630057441, 12697978258400128397, 368152630932848211, 6555819701154221199, 97417680512067538, 2018507387878521400, 1529782995014995301, 13636792419679998309, 6197980968820055410, 737644335551408580, 9956102600220791675, 0, 0, 0, 0, 14179025343931559433, 1175312715506728066, 11255361077722267605, 9822732455439796133, 13335036252549184126, 17127037879360292568, 16600677125340288437, 11659800847392950623, 12605660248276552114, 14805446144065764307, 14804045017754446897, 13192632014186378484, 0, 0, 0, 0, 12383461936126681247, 745215043874424896, 4540981537676651137, 16486351305638014506, 10972364256824969372, 5647748125744546841, 5620391031839475969, 17973620544670757805, 1344519641939806437, 11395404185290209616, 4498705163534372313, 3336623779264323323, 0, 1, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8259689913693129242, 3400892600405308205, 17378179173256779268, 5060920854688287001, 9687195410980644248, 6313248141024338188, 2582093590609427596, 3953695074988874383, 11971751964106597008, 9907486161844974200, 17989903003960359463, 13336380866068769777, 1, 0, 0, 0, 12279731404675001026, 6278812133505380138, 6233201299601221057, 2388727383803081265, 12084036741190483661, 2317300697897833956, 9759443477696867671, 10883057071610381859, 3944615791382572320, 4072273145811045884, 17852897021998211163, 9684438072608016253, 1, 0, 0, 0, 3651584995004100725, 6423803920838032987, 14027200390009907647, 6592032860050067711, 2594447921553931384, 18306574626058358562, 4512185877168969647, 11342492757671323084, 15957751677575885720, 5761823199659062393, 6846407586191335849, 9817376758188911585, 1, 18183126545069935350, 12563248011457733820, 8356966014032630063, 12041609793392315665, 5281186701877768352, 5541580267076219602, 11576047020972388374, 6661568194349527666, 15437143780340457719, 10754987180927492954, 4211835751645452119, 10566966891469040816, 690793516206281144, 3247962926818069970, 9036036859539968974, 1, 15893445344909186288, 5778049594265975833, 1423581989082731508, 5458007776595562807, 2498425571573111469, 16059466580364398666, 8902716392494711213, 14882573357788460188, 3225597659422237250, 3128065202613218656, 16995684508107895104, 12196793732604029414, 17723663615896720413, 9829416315291197871, 580745865383399340, 1, 13902067347991440733, 5984630683069450754, 12729386174124645267, 13785662250538369696, 272255205933159866, 735616656951483055, 12424664074133983590, 5026981889191825136, 5767485772665833989, 15651669603605283176, 7414308024158917695, 15811954123421478742, 13258769136679205830, 3664463833800174816, 15497592431183820173, 1, 11156605567826983932, 3639316624646464570, 5042698793479444923, 8630374421727305636, 17027951314675117661, 2801906069577385610, 18065291493111457552, 18067767546753643362, 5248148594352695009, 7578134041089558055, 18445498855455618598, 7189106720666328053, 6562930842885656592, 6844922721754111014, 780716667496251522, 1, 11860885490747304346, 12272615266561732125, 10423884872730116228, 13929733142214397431, 2117615618497875527, 5203222542820499724, 4538429948347629507, 6877693664463852318, 18109062185597913481, 10147653053574341319, 10079670109614966266, 12064951107563936135, 1152998120279634164, 12844815835032732057, 12896711460106342356, 1, 3078919787028426439, 15265543379215102231, 570695753264939069, 459110976220447167, 2176716793919417092, 14863591412045443847, 14252826520731507004, 15860274927896899753, 10390267100193539166, 17043032359848981742, 818991875743271755, 16275785202399117535, 8465017515346473513, 2777064625189300576, 13072175816967000886, 1, 3442153457185747577, 2606206929260007126, 2317686975478948049, 15948992202505097484, 5942181083636438599, 15457210791918859006, 887605399554676434, 12986387963278623196, 10075175986843357851, 4859683927561004597, 6555547085880890919, 8280537903442447606, 16640962983997717683, 2248822201261309400, 13163090516020988950, 1, 7196986181046756683, 0, 0, 16549653703171386973, 11518702294444124172, 1109770523953150302, 11415315369035533823, 5890935665450471727, 2253657843173273901, 13858462521885404044, 9125187176834287629, 14925311787915179675, 9356310136195018005, 14965392043314054082, 18423301843359275387, 1, 0, 0, 0, 7040940919216905671, 6187741949018394442, 10532732827118411505, 13505135286384426969, 917467356231706545, 9047752258933341547, 2335143583534705649, 18052717581435745313, 9355624911805935499, 7190586108559742607, 2304843099991312546, 16303126242918615541, 1, 0, 0, 0, 15603840856162477962, 3504063088563989096, 6361775464868278813, 17698044987168049155, 8418309402148081318, 15988177746184666422, 4270534912200806378, 12370149697383197906, 8363034440938926080, 17941258791536373709, 11011611614519090457, 10702921331067290122, 1, 0, 0, 0, 8416267285503610972, 15089551497492948945, 5363802036407642792, 10347532956075658842, 17181858623993805271, 15855824450153307212, 7743632312226714799, 1845073853648620670, 2000026205350826313, 18037231946791138113, 14309912549728703012, 13253445327127715869, 1, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 11621565010787354140, 1949391780818670486, 7327781180606137861, 2419787217529136215, 13249250205018233525, 10029758640146777270, 5716716695107147273, 10829954014693503473, 7405851154679558693, 2030135877513774489, 10401768244118899621, 7992444660002654486, 2, 0, 0, 0, 9190577937819620371, 12978309842325015235, 10477013461463931935, 4855391316239312738, 10519745218266697287, 18375374895419140100, 876067972673449756, 17915370314859305010, 17877705855294641231, 120652674332571204, 3378556434908723888, 17649391022523856338, 2, 0, 0, 0, 15052947986857015373, 3007680259418135415, 3197694984858038551, 6563270153864719814, 6889631464391242687, 12614331779225506253, 8884325160266334095, 15067359903282619456, 6045216153329131722, 7293213550537411486, 18377064823051127268, 14733223614830533518, 2, 1248924765333967865, 15568788993061722932, 4037714036443683170, 2584579945446987950, 3496704858534018972, 10965787981110521559, 9000006360952503550, 8377181923806419223, 18078834148678517323, 13751832434934340803, 15306332964801742551, 828627458527105190, 2519953652271814816, 5563221586835004955, 16428502736240336605, 2, 161503374172189975, 7180975586994120588, 13070121377098205312, 9655464535561865455, 4169214041423852321, 5771090309048429384, 6993654059550252564, 14478380452460405826, 12150434000885474539, 18399347099839405992, 88779829066683150, 4428174353386180423, 7547120791432137516, 11951584238447172023, 8804182506418522715, 2, 1859011259345361207, 13205265558511858864, 16229683663108620000, 17688418164436772208, 12658415008146819428, 6291208835901171779, 3297271436089179933, 12943628284217684119, 11639259038601904106, 10502234848011596680, 13946225273525543944, 11318468498957948083, 13851055481982014034, 5765565570506082255, 10777382518726251007, 2, 1023422172081481959, 14540338366569412926, 10271517463444484758, 8863158288377959817, 9066561794313536160, 10161961919995709177, 2094278659773331823, 4371761587112760854, 10972685992181286814, 5641963675353630718, 15569415989710829261, 4258403342016907208, 4740804749082440837, 1594229550076307598, 5045104152796606559, 2, 12053626300860885956, 13987509258486900924, 17286360383804666298, 8301538772707939488, 7700154594411825373, 14332053735409157564, 6894934729579673545, 5430665485920789830, 10553406992561403551, 11528229548578861261, 3294597468571627674, 2903493961726666462, 10560076388764518443, 3749651622493296975, 18114127684252877364, 2, 12240592655856206466, 6264740020775290721, 859763567572081467, 8842953438422484122, 14329981889510246939, 3582542183068105786, 6023391989510151456, 2953193964713672141, 12396149302348639250, 13882467375549577428, 3586988377712407519, 7213506509798642482, 13435456572406932891, 9645941250097564536, 2781650568775738364, 2, 15637532899188291351, 12683652363890573925, 2704597975013858668, 17832955104866332736, 6815586591600943723, 13755349213265671492, 8924117914024270326, 3329964149511691453, 11039495891702065838, 15670789219464690273, 11281671746346947225, 10492374165392519994, 11439270560757451470, 7337394676363778206, 2272256910055258613, 2, 3130343892077994054, 0, 0, 1136320813223337744, 11438337112810950654, 16692992611178972868, 9482499518540692367, 5451078715157933845, 18403012202839423090, 13340398881404871439, 16853681425214524760, 5540259513623809808, 7754241405876268140, 15538673406175044580, 15705643278636475771, 2, 0, 0, 0, 6593967995490198369, 546795078589070868, 8093299549277945163, 1445098694824947603, 16968796337604054074, 7105604958885889972, 12829574433066656016, 10962264142076089650, 6970346774265824779, 5668604568559492205, 15930738860655806958, 14403244990983785091, 2, 0, 0, 0, 7770193319703938593, 6228225228483877842, 5315425894230577486, 8012448033829391087, 5395398520381640698, 8770911350053719042, 14827874098479004474, 11024999006644848903, 13791657658989935762, 17830220104295996918, 2090812709146185278, 8577173283657139529, 2, 0, 0, 0, 17471481800618265475, 1930822204634793148, 12769804899579893379, 13068810900387198296, 10732524945348487200, 1519317270498249877, 12604995971822921101, 14107509487727911757, 8257552923782319555, 12034059115493819529, 4343039820825149431, 395799121324568963, 2, 1, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(10) }, program_info: ProgramInfo { program_hash: Word([11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 11, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_16.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_16.snap index e204960c57..db519f6c49 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_16.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_16.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 7, 0, 0, 0, 0, 0, 5, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 0, 0, 1, 0, 2, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 0, 0, 10686862901019340628, 15711583786595019806, 9378042936835126164, 11939142602264935891, 13605517752371930016, 2544863311362262665, 6880055194706872138, 2404926559643725443, 11298729247352625131, 13639273524510051487, 3031605320954281704, 2952677760580202523, 0, 0, 0, 0, 6949406075980976859, 9142069989509656801, 14676622013796942288, 5295633173573979080, 14862684288436559050, 7708888152496129562, 8667911075542880817, 14424367369474907891, 14303094264982903091, 9838552210955819611, 15088013178433258027, 5833102420062152227, 0, 0, 0, 0, 1932675776657481842, 14290498569500988181, 11741991701671402436, 3934903733189518965, 10047440752038846171, 14938209139342513571, 7659889883493126262, 2134579895120260539, 7819147353957995986, 17861588317805920712, 11020859927535923500, 15623868602690334525, 0, 6264451320029412065, 5315770291001895612, 3923979823614336294, 15496957568148800678, 4856878698798286165, 18427152961697133322, 13172977369565732662, 8634756726478972696, 17549357918509499997, 7356106617646839123, 16192566970100663376, 4904526601366015673, 11478334329288517717, 607398074844683832, 9609971183005491570, 0, 18264070764381924889, 7558994944201947568, 16698567473332535936, 4066201321205995431, 14552036519561423602, 5620710451624899086, 14969463994437329823, 11938508228196027882, 9200118839118887577, 6855444937813269923, 13901427726318773655, 3507966654472722962, 13139165600809348467, 3547085602937656739, 11244050388029555026, 0, 8312328144036608043, 17972686765781519170, 10784039031850599726, 14134435301654782468, 13131877571979284929, 8266221982529104091, 159405248778538274, 5778967389144576888, 6057984302796584762, 11714059928473413141, 11763232719990709154, 7978933720497313146, 16635094485101159936, 18327609188632861057, 11071183167122824035, 0, 10287810620841180003, 4548089904338037398, 6876519236022884332, 192351967064940869, 13616941784242570400, 7032108910940453446, 13625250436816808378, 17491100122417306359, 2292049730346364666, 2733535393252649149, 17750397792987890641, 6346476747248545150, 3575465615474366120, 18213303372206038112, 2518621101786158931, 0, 842637389045220237, 14003171518185218367, 14997648696661468292, 13477259760240789253, 7438659305055821970, 7828458451594639328, 1805142843426507273, 3804729079035423760, 5684604326361654696, 17218885460122549497, 974371611540683935, 16762750120460661174, 739710162320190732, 3363948547922989023, 4267260670759647913, 0, 10264158766070300923, 6050974414693797250, 847386589526447339, 3548106904874618124, 9289172558104066787, 8226909131216769737, 16380713199877477068, 4410762367217395758, 12555768451623030884, 10357980275595284555, 10303991993655092221, 4060030248038493229, 11216725884924445657, 10194932652661424405, 17494422570060569743, 0, 522514578171525652, 3717501858890221638, 16025700499781393088, 15033579247524264929, 1744414008664189122, 6807378681147180078, 16955668219975052585, 18323017022834713256, 6662618285165080179, 12762215046608848013, 17134633855452090590, 6353725621416552612, 4449259194945598867, 8877290555352616803, 13666098560811114332, 0, 3232143389630708424, 0, 0, 9014593992030055460, 10869121640834977224, 1905700011211118876, 955944440419378960, 265206078841667899, 13713964984862746492, 9702435518807270681, 12343078651970579400, 18227529633908655074, 9709048888339027683, 15154974039676851951, 16388400023664675593, 0, 0, 0, 0, 12342730708987043912, 13274159397630057441, 12697978258400128397, 368152630932848211, 6555819701154221199, 97417680512067538, 2018507387878521400, 1529782995014995301, 13636792419679998309, 6197980968820055410, 737644335551408580, 9956102600220791675, 0, 0, 0, 0, 14179025343931559433, 1175312715506728066, 11255361077722267605, 9822732455439796133, 13335036252549184126, 17127037879360292568, 16600677125340288437, 11659800847392950623, 12605660248276552114, 14805446144065764307, 14804045017754446897, 13192632014186378484, 0, 0, 0, 0, 12383461936126681247, 745215043874424896, 4540981537676651137, 16486351305638014506, 10972364256824969372, 5647748125744546841, 5620391031839475969, 17973620544670757805, 1344519641939806437, 11395404185290209616, 4498705163534372313, 3336623779264323323, 0, 1, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8259689913693129242, 3400892600405308205, 17378179173256779268, 5060920854688287001, 9687195410980644248, 6313248141024338188, 2582093590609427596, 3953695074988874383, 11971751964106597008, 9907486161844974200, 17989903003960359463, 13336380866068769777, 1, 0, 0, 0, 12279731404675001026, 6278812133505380138, 6233201299601221057, 2388727383803081265, 12084036741190483661, 2317300697897833956, 9759443477696867671, 10883057071610381859, 3944615791382572320, 4072273145811045884, 17852897021998211163, 9684438072608016253, 1, 0, 0, 0, 3651584995004100725, 6423803920838032987, 14027200390009907647, 6592032860050067711, 2594447921553931384, 18306574626058358562, 4512185877168969647, 11342492757671323084, 15957751677575885720, 5761823199659062393, 6846407586191335849, 9817376758188911585, 1, 18183126545069935350, 12563248011457733820, 8356966014032630063, 12041609793392315665, 5281186701877768352, 5541580267076219602, 11576047020972388374, 6661568194349527666, 15437143780340457719, 10754987180927492954, 4211835751645452119, 10566966891469040816, 690793516206281144, 3247962926818069970, 9036036859539968974, 1, 15893445344909186288, 5778049594265975833, 1423581989082731508, 5458007776595562807, 2498425571573111469, 16059466580364398666, 8902716392494711213, 14882573357788460188, 3225597659422237250, 3128065202613218656, 16995684508107895104, 12196793732604029414, 17723663615896720413, 9829416315291197871, 580745865383399340, 1, 13902067347991440733, 5984630683069450754, 12729386174124645267, 13785662250538369696, 272255205933159866, 735616656951483055, 12424664074133983590, 5026981889191825136, 5767485772665833989, 15651669603605283176, 7414308024158917695, 15811954123421478742, 13258769136679205830, 3664463833800174816, 15497592431183820173, 1, 11156605567826983932, 3639316624646464570, 5042698793479444923, 8630374421727305636, 17027951314675117661, 2801906069577385610, 18065291493111457552, 18067767546753643362, 5248148594352695009, 7578134041089558055, 18445498855455618598, 7189106720666328053, 6562930842885656592, 6844922721754111014, 780716667496251522, 1, 11860885490747304346, 12272615266561732125, 10423884872730116228, 13929733142214397431, 2117615618497875527, 5203222542820499724, 4538429948347629507, 6877693664463852318, 18109062185597913481, 10147653053574341319, 10079670109614966266, 12064951107563936135, 1152998120279634164, 12844815835032732057, 12896711460106342356, 1, 3078919787028426439, 15265543379215102231, 570695753264939069, 459110976220447167, 2176716793919417092, 14863591412045443847, 14252826520731507004, 15860274927896899753, 10390267100193539166, 17043032359848981742, 818991875743271755, 16275785202399117535, 8465017515346473513, 2777064625189300576, 13072175816967000886, 1, 3442153457185747577, 2606206929260007126, 2317686975478948049, 15948992202505097484, 5942181083636438599, 15457210791918859006, 887605399554676434, 12986387963278623196, 10075175986843357851, 4859683927561004597, 6555547085880890919, 8280537903442447606, 16640962983997717683, 2248822201261309400, 13163090516020988950, 1, 7196986181046756683, 0, 0, 16549653703171386973, 11518702294444124172, 1109770523953150302, 11415315369035533823, 5890935665450471727, 2253657843173273901, 13858462521885404044, 9125187176834287629, 14925311787915179675, 9356310136195018005, 14965392043314054082, 18423301843359275387, 1, 0, 0, 0, 7040940919216905671, 6187741949018394442, 10532732827118411505, 13505135286384426969, 917467356231706545, 9047752258933341547, 2335143583534705649, 18052717581435745313, 9355624911805935499, 7190586108559742607, 2304843099991312546, 16303126242918615541, 1, 0, 0, 0, 15603840856162477962, 3504063088563989096, 6361775464868278813, 17698044987168049155, 8418309402148081318, 15988177746184666422, 4270534912200806378, 12370149697383197906, 8363034440938926080, 17941258791536373709, 11011611614519090457, 10702921331067290122, 1, 0, 0, 0, 8416267285503610972, 15089551497492948945, 5363802036407642792, 10347532956075658842, 17181858623993805271, 15855824450153307212, 7743632312226714799, 1845073853648620670, 2000026205350826313, 18037231946791138113, 14309912549728703012, 13253445327127715869, 1, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 11621565010787354140, 1949391780818670486, 7327781180606137861, 2419787217529136215, 13249250205018233525, 10029758640146777270, 5716716695107147273, 10829954014693503473, 7405851154679558693, 2030135877513774489, 10401768244118899621, 7992444660002654486, 2, 0, 0, 0, 9190577937819620371, 12978309842325015235, 10477013461463931935, 4855391316239312738, 10519745218266697287, 18375374895419140100, 876067972673449756, 17915370314859305010, 17877705855294641231, 120652674332571204, 3378556434908723888, 17649391022523856338, 2, 0, 0, 0, 15052947986857015373, 3007680259418135415, 3197694984858038551, 6563270153864719814, 6889631464391242687, 12614331779225506253, 8884325160266334095, 15067359903282619456, 6045216153329131722, 7293213550537411486, 18377064823051127268, 14733223614830533518, 2, 1248924765333967865, 15568788993061722932, 4037714036443683170, 2584579945446987950, 3496704858534018972, 10965787981110521559, 9000006360952503550, 8377181923806419223, 18078834148678517323, 13751832434934340803, 15306332964801742551, 828627458527105190, 2519953652271814816, 5563221586835004955, 16428502736240336605, 2, 161503374172189975, 7180975586994120588, 13070121377098205312, 9655464535561865455, 4169214041423852321, 5771090309048429384, 6993654059550252564, 14478380452460405826, 12150434000885474539, 18399347099839405992, 88779829066683150, 4428174353386180423, 7547120791432137516, 11951584238447172023, 8804182506418522715, 2, 1859011259345361207, 13205265558511858864, 16229683663108620000, 17688418164436772208, 12658415008146819428, 6291208835901171779, 3297271436089179933, 12943628284217684119, 11639259038601904106, 10502234848011596680, 13946225273525543944, 11318468498957948083, 13851055481982014034, 5765565570506082255, 10777382518726251007, 2, 1023422172081481959, 14540338366569412926, 10271517463444484758, 8863158288377959817, 9066561794313536160, 10161961919995709177, 2094278659773331823, 4371761587112760854, 10972685992181286814, 5641963675353630718, 15569415989710829261, 4258403342016907208, 4740804749082440837, 1594229550076307598, 5045104152796606559, 2, 12053626300860885956, 13987509258486900924, 17286360383804666298, 8301538772707939488, 7700154594411825373, 14332053735409157564, 6894934729579673545, 5430665485920789830, 10553406992561403551, 11528229548578861261, 3294597468571627674, 2903493961726666462, 10560076388764518443, 3749651622493296975, 18114127684252877364, 2, 12240592655856206466, 6264740020775290721, 859763567572081467, 8842953438422484122, 14329981889510246939, 3582542183068105786, 6023391989510151456, 2953193964713672141, 12396149302348639250, 13882467375549577428, 3586988377712407519, 7213506509798642482, 13435456572406932891, 9645941250097564536, 2781650568775738364, 2, 15637532899188291351, 12683652363890573925, 2704597975013858668, 17832955104866332736, 6815586591600943723, 13755349213265671492, 8924117914024270326, 3329964149511691453, 11039495891702065838, 15670789219464690273, 11281671746346947225, 10492374165392519994, 11439270560757451470, 7337394676363778206, 2272256910055258613, 2, 3130343892077994054, 0, 0, 1136320813223337744, 11438337112810950654, 16692992611178972868, 9482499518540692367, 5451078715157933845, 18403012202839423090, 13340398881404871439, 16853681425214524760, 5540259513623809808, 7754241405876268140, 15538673406175044580, 15705643278636475771, 2, 0, 0, 0, 6593967995490198369, 546795078589070868, 8093299549277945163, 1445098694824947603, 16968796337604054074, 7105604958885889972, 12829574433066656016, 10962264142076089650, 6970346774265824779, 5668604568559492205, 15930738860655806958, 14403244990983785091, 2, 0, 0, 0, 7770193319703938593, 6228225228483877842, 5315425894230577486, 8012448033829391087, 5395398520381640698, 8770911350053719042, 14827874098479004474, 11024999006644848903, 13791657658989935762, 17830220104295996918, 2090812709146185278, 8577173283657139529, 2, 0, 0, 0, 17471481800618265475, 1930822204634793148, 12769804899579893379, 13068810900387198296, 10732524945348487200, 1519317270498249877, 12604995971822921101, 14107509487727911757, 8257552923782319555, 12034059115493819529, 4343039820825149431, 395799121324568963, 2, 1, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(10) }, program_info: ProgramInfo { program_hash: Word([11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 11, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 7, 0, 0, 0, 0, 0, 5, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 0, 0, 1, 0, 2, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 0, 0, 10686862901019340628, 15711583786595019806, 9378042936835126164, 11939142602264935891, 13605517752371930016, 2544863311362262665, 6880055194706872138, 2404926559643725443, 11298729247352625131, 13639273524510051487, 3031605320954281704, 2952677760580202523, 0, 0, 0, 0, 6949406075980976859, 9142069989509656801, 14676622013796942288, 5295633173573979080, 14862684288436559050, 7708888152496129562, 8667911075542880817, 14424367369474907891, 14303094264982903091, 9838552210955819611, 15088013178433258027, 5833102420062152227, 0, 0, 0, 0, 1932675776657481842, 14290498569500988181, 11741991701671402436, 3934903733189518965, 10047440752038846171, 14938209139342513571, 7659889883493126262, 2134579895120260539, 7819147353957995986, 17861588317805920712, 11020859927535923500, 15623868602690334525, 0, 6264451320029412065, 5315770291001895612, 3923979823614336294, 15496957568148800678, 4856878698798286165, 18427152961697133322, 13172977369565732662, 8634756726478972696, 17549357918509499997, 7356106617646839123, 16192566970100663376, 4904526601366015673, 11478334329288517717, 607398074844683832, 9609971183005491570, 0, 18264070764381924889, 7558994944201947568, 16698567473332535936, 4066201321205995431, 14552036519561423602, 5620710451624899086, 14969463994437329823, 11938508228196027882, 9200118839118887577, 6855444937813269923, 13901427726318773655, 3507966654472722962, 13139165600809348467, 3547085602937656739, 11244050388029555026, 0, 8312328144036608043, 17972686765781519170, 10784039031850599726, 14134435301654782468, 13131877571979284929, 8266221982529104091, 159405248778538274, 5778967389144576888, 6057984302796584762, 11714059928473413141, 11763232719990709154, 7978933720497313146, 16635094485101159936, 18327609188632861057, 11071183167122824035, 0, 10287810620841180003, 4548089904338037398, 6876519236022884332, 192351967064940869, 13616941784242570400, 7032108910940453446, 13625250436816808378, 17491100122417306359, 2292049730346364666, 2733535393252649149, 17750397792987890641, 6346476747248545150, 3575465615474366120, 18213303372206038112, 2518621101786158931, 0, 842637389045220237, 14003171518185218367, 14997648696661468292, 13477259760240789253, 7438659305055821970, 7828458451594639328, 1805142843426507273, 3804729079035423760, 5684604326361654696, 17218885460122549497, 974371611540683935, 16762750120460661174, 739710162320190732, 3363948547922989023, 4267260670759647913, 0, 10264158766070300923, 6050974414693797250, 847386589526447339, 3548106904874618124, 9289172558104066787, 8226909131216769737, 16380713199877477068, 4410762367217395758, 12555768451623030884, 10357980275595284555, 10303991993655092221, 4060030248038493229, 11216725884924445657, 10194932652661424405, 17494422570060569743, 0, 522514578171525652, 3717501858890221638, 16025700499781393088, 15033579247524264929, 1744414008664189122, 6807378681147180078, 16955668219975052585, 18323017022834713256, 6662618285165080179, 12762215046608848013, 17134633855452090590, 6353725621416552612, 4449259194945598867, 8877290555352616803, 13666098560811114332, 0, 3232143389630708424, 0, 0, 9014593992030055460, 10869121640834977224, 1905700011211118876, 955944440419378960, 265206078841667899, 13713964984862746492, 9702435518807270681, 12343078651970579400, 18227529633908655074, 9709048888339027683, 15154974039676851951, 16388400023664675593, 0, 0, 0, 0, 12342730708987043912, 13274159397630057441, 12697978258400128397, 368152630932848211, 6555819701154221199, 97417680512067538, 2018507387878521400, 1529782995014995301, 13636792419679998309, 6197980968820055410, 737644335551408580, 9956102600220791675, 0, 0, 0, 0, 14179025343931559433, 1175312715506728066, 11255361077722267605, 9822732455439796133, 13335036252549184126, 17127037879360292568, 16600677125340288437, 11659800847392950623, 12605660248276552114, 14805446144065764307, 14804045017754446897, 13192632014186378484, 0, 0, 0, 0, 12383461936126681247, 745215043874424896, 4540981537676651137, 16486351305638014506, 10972364256824969372, 5647748125744546841, 5620391031839475969, 17973620544670757805, 1344519641939806437, 11395404185290209616, 4498705163534372313, 3336623779264323323, 0, 1, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8259689913693129242, 3400892600405308205, 17378179173256779268, 5060920854688287001, 9687195410980644248, 6313248141024338188, 2582093590609427596, 3953695074988874383, 11971751964106597008, 9907486161844974200, 17989903003960359463, 13336380866068769777, 1, 0, 0, 0, 12279731404675001026, 6278812133505380138, 6233201299601221057, 2388727383803081265, 12084036741190483661, 2317300697897833956, 9759443477696867671, 10883057071610381859, 3944615791382572320, 4072273145811045884, 17852897021998211163, 9684438072608016253, 1, 0, 0, 0, 3651584995004100725, 6423803920838032987, 14027200390009907647, 6592032860050067711, 2594447921553931384, 18306574626058358562, 4512185877168969647, 11342492757671323084, 15957751677575885720, 5761823199659062393, 6846407586191335849, 9817376758188911585, 1, 18183126545069935350, 12563248011457733820, 8356966014032630063, 12041609793392315665, 5281186701877768352, 5541580267076219602, 11576047020972388374, 6661568194349527666, 15437143780340457719, 10754987180927492954, 4211835751645452119, 10566966891469040816, 690793516206281144, 3247962926818069970, 9036036859539968974, 1, 15893445344909186288, 5778049594265975833, 1423581989082731508, 5458007776595562807, 2498425571573111469, 16059466580364398666, 8902716392494711213, 14882573357788460188, 3225597659422237250, 3128065202613218656, 16995684508107895104, 12196793732604029414, 17723663615896720413, 9829416315291197871, 580745865383399340, 1, 13902067347991440733, 5984630683069450754, 12729386174124645267, 13785662250538369696, 272255205933159866, 735616656951483055, 12424664074133983590, 5026981889191825136, 5767485772665833989, 15651669603605283176, 7414308024158917695, 15811954123421478742, 13258769136679205830, 3664463833800174816, 15497592431183820173, 1, 11156605567826983932, 3639316624646464570, 5042698793479444923, 8630374421727305636, 17027951314675117661, 2801906069577385610, 18065291493111457552, 18067767546753643362, 5248148594352695009, 7578134041089558055, 18445498855455618598, 7189106720666328053, 6562930842885656592, 6844922721754111014, 780716667496251522, 1, 11860885490747304346, 12272615266561732125, 10423884872730116228, 13929733142214397431, 2117615618497875527, 5203222542820499724, 4538429948347629507, 6877693664463852318, 18109062185597913481, 10147653053574341319, 10079670109614966266, 12064951107563936135, 1152998120279634164, 12844815835032732057, 12896711460106342356, 1, 3078919787028426439, 15265543379215102231, 570695753264939069, 459110976220447167, 2176716793919417092, 14863591412045443847, 14252826520731507004, 15860274927896899753, 10390267100193539166, 17043032359848981742, 818991875743271755, 16275785202399117535, 8465017515346473513, 2777064625189300576, 13072175816967000886, 1, 3442153457185747577, 2606206929260007126, 2317686975478948049, 15948992202505097484, 5942181083636438599, 15457210791918859006, 887605399554676434, 12986387963278623196, 10075175986843357851, 4859683927561004597, 6555547085880890919, 8280537903442447606, 16640962983997717683, 2248822201261309400, 13163090516020988950, 1, 7196986181046756683, 0, 0, 16549653703171386973, 11518702294444124172, 1109770523953150302, 11415315369035533823, 5890935665450471727, 2253657843173273901, 13858462521885404044, 9125187176834287629, 14925311787915179675, 9356310136195018005, 14965392043314054082, 18423301843359275387, 1, 0, 0, 0, 7040940919216905671, 6187741949018394442, 10532732827118411505, 13505135286384426969, 917467356231706545, 9047752258933341547, 2335143583534705649, 18052717581435745313, 9355624911805935499, 7190586108559742607, 2304843099991312546, 16303126242918615541, 1, 0, 0, 0, 15603840856162477962, 3504063088563989096, 6361775464868278813, 17698044987168049155, 8418309402148081318, 15988177746184666422, 4270534912200806378, 12370149697383197906, 8363034440938926080, 17941258791536373709, 11011611614519090457, 10702921331067290122, 1, 0, 0, 0, 8416267285503610972, 15089551497492948945, 5363802036407642792, 10347532956075658842, 17181858623993805271, 15855824450153307212, 7743632312226714799, 1845073853648620670, 2000026205350826313, 18037231946791138113, 14309912549728703012, 13253445327127715869, 1, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 11621565010787354140, 1949391780818670486, 7327781180606137861, 2419787217529136215, 13249250205018233525, 10029758640146777270, 5716716695107147273, 10829954014693503473, 7405851154679558693, 2030135877513774489, 10401768244118899621, 7992444660002654486, 2, 0, 0, 0, 9190577937819620371, 12978309842325015235, 10477013461463931935, 4855391316239312738, 10519745218266697287, 18375374895419140100, 876067972673449756, 17915370314859305010, 17877705855294641231, 120652674332571204, 3378556434908723888, 17649391022523856338, 2, 0, 0, 0, 15052947986857015373, 3007680259418135415, 3197694984858038551, 6563270153864719814, 6889631464391242687, 12614331779225506253, 8884325160266334095, 15067359903282619456, 6045216153329131722, 7293213550537411486, 18377064823051127268, 14733223614830533518, 2, 1248924765333967865, 15568788993061722932, 4037714036443683170, 2584579945446987950, 3496704858534018972, 10965787981110521559, 9000006360952503550, 8377181923806419223, 18078834148678517323, 13751832434934340803, 15306332964801742551, 828627458527105190, 2519953652271814816, 5563221586835004955, 16428502736240336605, 2, 161503374172189975, 7180975586994120588, 13070121377098205312, 9655464535561865455, 4169214041423852321, 5771090309048429384, 6993654059550252564, 14478380452460405826, 12150434000885474539, 18399347099839405992, 88779829066683150, 4428174353386180423, 7547120791432137516, 11951584238447172023, 8804182506418522715, 2, 1859011259345361207, 13205265558511858864, 16229683663108620000, 17688418164436772208, 12658415008146819428, 6291208835901171779, 3297271436089179933, 12943628284217684119, 11639259038601904106, 10502234848011596680, 13946225273525543944, 11318468498957948083, 13851055481982014034, 5765565570506082255, 10777382518726251007, 2, 1023422172081481959, 14540338366569412926, 10271517463444484758, 8863158288377959817, 9066561794313536160, 10161961919995709177, 2094278659773331823, 4371761587112760854, 10972685992181286814, 5641963675353630718, 15569415989710829261, 4258403342016907208, 4740804749082440837, 1594229550076307598, 5045104152796606559, 2, 12053626300860885956, 13987509258486900924, 17286360383804666298, 8301538772707939488, 7700154594411825373, 14332053735409157564, 6894934729579673545, 5430665485920789830, 10553406992561403551, 11528229548578861261, 3294597468571627674, 2903493961726666462, 10560076388764518443, 3749651622493296975, 18114127684252877364, 2, 12240592655856206466, 6264740020775290721, 859763567572081467, 8842953438422484122, 14329981889510246939, 3582542183068105786, 6023391989510151456, 2953193964713672141, 12396149302348639250, 13882467375549577428, 3586988377712407519, 7213506509798642482, 13435456572406932891, 9645941250097564536, 2781650568775738364, 2, 15637532899188291351, 12683652363890573925, 2704597975013858668, 17832955104866332736, 6815586591600943723, 13755349213265671492, 8924117914024270326, 3329964149511691453, 11039495891702065838, 15670789219464690273, 11281671746346947225, 10492374165392519994, 11439270560757451470, 7337394676363778206, 2272256910055258613, 2, 3130343892077994054, 0, 0, 1136320813223337744, 11438337112810950654, 16692992611178972868, 9482499518540692367, 5451078715157933845, 18403012202839423090, 13340398881404871439, 16853681425214524760, 5540259513623809808, 7754241405876268140, 15538673406175044580, 15705643278636475771, 2, 0, 0, 0, 6593967995490198369, 546795078589070868, 8093299549277945163, 1445098694824947603, 16968796337604054074, 7105604958885889972, 12829574433066656016, 10962264142076089650, 6970346774265824779, 5668604568559492205, 15930738860655806958, 14403244990983785091, 2, 0, 0, 0, 7770193319703938593, 6228225228483877842, 5315425894230577486, 8012448033829391087, 5395398520381640698, 8770911350053719042, 14827874098479004474, 11024999006644848903, 13791657658989935762, 17830220104295996918, 2090812709146185278, 8577173283657139529, 2, 0, 0, 0, 17471481800618265475, 1930822204634793148, 12769804899579893379, 13068810900387198296, 10732524945348487200, 1519317270498249877, 12604995971822921101, 14107509487727911757, 8257552923782319555, 12034059115493819529, 4343039820825149431, 395799121324568963, 2, 1, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(10) }, program_info: ProgramInfo { program_hash: Word([11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 11, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_17.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_17.snap index e204960c57..db519f6c49 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_17.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_17.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 7, 0, 0, 0, 0, 0, 5, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 0, 0, 1, 0, 2, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 0, 0, 10686862901019340628, 15711583786595019806, 9378042936835126164, 11939142602264935891, 13605517752371930016, 2544863311362262665, 6880055194706872138, 2404926559643725443, 11298729247352625131, 13639273524510051487, 3031605320954281704, 2952677760580202523, 0, 0, 0, 0, 6949406075980976859, 9142069989509656801, 14676622013796942288, 5295633173573979080, 14862684288436559050, 7708888152496129562, 8667911075542880817, 14424367369474907891, 14303094264982903091, 9838552210955819611, 15088013178433258027, 5833102420062152227, 0, 0, 0, 0, 1932675776657481842, 14290498569500988181, 11741991701671402436, 3934903733189518965, 10047440752038846171, 14938209139342513571, 7659889883493126262, 2134579895120260539, 7819147353957995986, 17861588317805920712, 11020859927535923500, 15623868602690334525, 0, 6264451320029412065, 5315770291001895612, 3923979823614336294, 15496957568148800678, 4856878698798286165, 18427152961697133322, 13172977369565732662, 8634756726478972696, 17549357918509499997, 7356106617646839123, 16192566970100663376, 4904526601366015673, 11478334329288517717, 607398074844683832, 9609971183005491570, 0, 18264070764381924889, 7558994944201947568, 16698567473332535936, 4066201321205995431, 14552036519561423602, 5620710451624899086, 14969463994437329823, 11938508228196027882, 9200118839118887577, 6855444937813269923, 13901427726318773655, 3507966654472722962, 13139165600809348467, 3547085602937656739, 11244050388029555026, 0, 8312328144036608043, 17972686765781519170, 10784039031850599726, 14134435301654782468, 13131877571979284929, 8266221982529104091, 159405248778538274, 5778967389144576888, 6057984302796584762, 11714059928473413141, 11763232719990709154, 7978933720497313146, 16635094485101159936, 18327609188632861057, 11071183167122824035, 0, 10287810620841180003, 4548089904338037398, 6876519236022884332, 192351967064940869, 13616941784242570400, 7032108910940453446, 13625250436816808378, 17491100122417306359, 2292049730346364666, 2733535393252649149, 17750397792987890641, 6346476747248545150, 3575465615474366120, 18213303372206038112, 2518621101786158931, 0, 842637389045220237, 14003171518185218367, 14997648696661468292, 13477259760240789253, 7438659305055821970, 7828458451594639328, 1805142843426507273, 3804729079035423760, 5684604326361654696, 17218885460122549497, 974371611540683935, 16762750120460661174, 739710162320190732, 3363948547922989023, 4267260670759647913, 0, 10264158766070300923, 6050974414693797250, 847386589526447339, 3548106904874618124, 9289172558104066787, 8226909131216769737, 16380713199877477068, 4410762367217395758, 12555768451623030884, 10357980275595284555, 10303991993655092221, 4060030248038493229, 11216725884924445657, 10194932652661424405, 17494422570060569743, 0, 522514578171525652, 3717501858890221638, 16025700499781393088, 15033579247524264929, 1744414008664189122, 6807378681147180078, 16955668219975052585, 18323017022834713256, 6662618285165080179, 12762215046608848013, 17134633855452090590, 6353725621416552612, 4449259194945598867, 8877290555352616803, 13666098560811114332, 0, 3232143389630708424, 0, 0, 9014593992030055460, 10869121640834977224, 1905700011211118876, 955944440419378960, 265206078841667899, 13713964984862746492, 9702435518807270681, 12343078651970579400, 18227529633908655074, 9709048888339027683, 15154974039676851951, 16388400023664675593, 0, 0, 0, 0, 12342730708987043912, 13274159397630057441, 12697978258400128397, 368152630932848211, 6555819701154221199, 97417680512067538, 2018507387878521400, 1529782995014995301, 13636792419679998309, 6197980968820055410, 737644335551408580, 9956102600220791675, 0, 0, 0, 0, 14179025343931559433, 1175312715506728066, 11255361077722267605, 9822732455439796133, 13335036252549184126, 17127037879360292568, 16600677125340288437, 11659800847392950623, 12605660248276552114, 14805446144065764307, 14804045017754446897, 13192632014186378484, 0, 0, 0, 0, 12383461936126681247, 745215043874424896, 4540981537676651137, 16486351305638014506, 10972364256824969372, 5647748125744546841, 5620391031839475969, 17973620544670757805, 1344519641939806437, 11395404185290209616, 4498705163534372313, 3336623779264323323, 0, 1, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8259689913693129242, 3400892600405308205, 17378179173256779268, 5060920854688287001, 9687195410980644248, 6313248141024338188, 2582093590609427596, 3953695074988874383, 11971751964106597008, 9907486161844974200, 17989903003960359463, 13336380866068769777, 1, 0, 0, 0, 12279731404675001026, 6278812133505380138, 6233201299601221057, 2388727383803081265, 12084036741190483661, 2317300697897833956, 9759443477696867671, 10883057071610381859, 3944615791382572320, 4072273145811045884, 17852897021998211163, 9684438072608016253, 1, 0, 0, 0, 3651584995004100725, 6423803920838032987, 14027200390009907647, 6592032860050067711, 2594447921553931384, 18306574626058358562, 4512185877168969647, 11342492757671323084, 15957751677575885720, 5761823199659062393, 6846407586191335849, 9817376758188911585, 1, 18183126545069935350, 12563248011457733820, 8356966014032630063, 12041609793392315665, 5281186701877768352, 5541580267076219602, 11576047020972388374, 6661568194349527666, 15437143780340457719, 10754987180927492954, 4211835751645452119, 10566966891469040816, 690793516206281144, 3247962926818069970, 9036036859539968974, 1, 15893445344909186288, 5778049594265975833, 1423581989082731508, 5458007776595562807, 2498425571573111469, 16059466580364398666, 8902716392494711213, 14882573357788460188, 3225597659422237250, 3128065202613218656, 16995684508107895104, 12196793732604029414, 17723663615896720413, 9829416315291197871, 580745865383399340, 1, 13902067347991440733, 5984630683069450754, 12729386174124645267, 13785662250538369696, 272255205933159866, 735616656951483055, 12424664074133983590, 5026981889191825136, 5767485772665833989, 15651669603605283176, 7414308024158917695, 15811954123421478742, 13258769136679205830, 3664463833800174816, 15497592431183820173, 1, 11156605567826983932, 3639316624646464570, 5042698793479444923, 8630374421727305636, 17027951314675117661, 2801906069577385610, 18065291493111457552, 18067767546753643362, 5248148594352695009, 7578134041089558055, 18445498855455618598, 7189106720666328053, 6562930842885656592, 6844922721754111014, 780716667496251522, 1, 11860885490747304346, 12272615266561732125, 10423884872730116228, 13929733142214397431, 2117615618497875527, 5203222542820499724, 4538429948347629507, 6877693664463852318, 18109062185597913481, 10147653053574341319, 10079670109614966266, 12064951107563936135, 1152998120279634164, 12844815835032732057, 12896711460106342356, 1, 3078919787028426439, 15265543379215102231, 570695753264939069, 459110976220447167, 2176716793919417092, 14863591412045443847, 14252826520731507004, 15860274927896899753, 10390267100193539166, 17043032359848981742, 818991875743271755, 16275785202399117535, 8465017515346473513, 2777064625189300576, 13072175816967000886, 1, 3442153457185747577, 2606206929260007126, 2317686975478948049, 15948992202505097484, 5942181083636438599, 15457210791918859006, 887605399554676434, 12986387963278623196, 10075175986843357851, 4859683927561004597, 6555547085880890919, 8280537903442447606, 16640962983997717683, 2248822201261309400, 13163090516020988950, 1, 7196986181046756683, 0, 0, 16549653703171386973, 11518702294444124172, 1109770523953150302, 11415315369035533823, 5890935665450471727, 2253657843173273901, 13858462521885404044, 9125187176834287629, 14925311787915179675, 9356310136195018005, 14965392043314054082, 18423301843359275387, 1, 0, 0, 0, 7040940919216905671, 6187741949018394442, 10532732827118411505, 13505135286384426969, 917467356231706545, 9047752258933341547, 2335143583534705649, 18052717581435745313, 9355624911805935499, 7190586108559742607, 2304843099991312546, 16303126242918615541, 1, 0, 0, 0, 15603840856162477962, 3504063088563989096, 6361775464868278813, 17698044987168049155, 8418309402148081318, 15988177746184666422, 4270534912200806378, 12370149697383197906, 8363034440938926080, 17941258791536373709, 11011611614519090457, 10702921331067290122, 1, 0, 0, 0, 8416267285503610972, 15089551497492948945, 5363802036407642792, 10347532956075658842, 17181858623993805271, 15855824450153307212, 7743632312226714799, 1845073853648620670, 2000026205350826313, 18037231946791138113, 14309912549728703012, 13253445327127715869, 1, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 11621565010787354140, 1949391780818670486, 7327781180606137861, 2419787217529136215, 13249250205018233525, 10029758640146777270, 5716716695107147273, 10829954014693503473, 7405851154679558693, 2030135877513774489, 10401768244118899621, 7992444660002654486, 2, 0, 0, 0, 9190577937819620371, 12978309842325015235, 10477013461463931935, 4855391316239312738, 10519745218266697287, 18375374895419140100, 876067972673449756, 17915370314859305010, 17877705855294641231, 120652674332571204, 3378556434908723888, 17649391022523856338, 2, 0, 0, 0, 15052947986857015373, 3007680259418135415, 3197694984858038551, 6563270153864719814, 6889631464391242687, 12614331779225506253, 8884325160266334095, 15067359903282619456, 6045216153329131722, 7293213550537411486, 18377064823051127268, 14733223614830533518, 2, 1248924765333967865, 15568788993061722932, 4037714036443683170, 2584579945446987950, 3496704858534018972, 10965787981110521559, 9000006360952503550, 8377181923806419223, 18078834148678517323, 13751832434934340803, 15306332964801742551, 828627458527105190, 2519953652271814816, 5563221586835004955, 16428502736240336605, 2, 161503374172189975, 7180975586994120588, 13070121377098205312, 9655464535561865455, 4169214041423852321, 5771090309048429384, 6993654059550252564, 14478380452460405826, 12150434000885474539, 18399347099839405992, 88779829066683150, 4428174353386180423, 7547120791432137516, 11951584238447172023, 8804182506418522715, 2, 1859011259345361207, 13205265558511858864, 16229683663108620000, 17688418164436772208, 12658415008146819428, 6291208835901171779, 3297271436089179933, 12943628284217684119, 11639259038601904106, 10502234848011596680, 13946225273525543944, 11318468498957948083, 13851055481982014034, 5765565570506082255, 10777382518726251007, 2, 1023422172081481959, 14540338366569412926, 10271517463444484758, 8863158288377959817, 9066561794313536160, 10161961919995709177, 2094278659773331823, 4371761587112760854, 10972685992181286814, 5641963675353630718, 15569415989710829261, 4258403342016907208, 4740804749082440837, 1594229550076307598, 5045104152796606559, 2, 12053626300860885956, 13987509258486900924, 17286360383804666298, 8301538772707939488, 7700154594411825373, 14332053735409157564, 6894934729579673545, 5430665485920789830, 10553406992561403551, 11528229548578861261, 3294597468571627674, 2903493961726666462, 10560076388764518443, 3749651622493296975, 18114127684252877364, 2, 12240592655856206466, 6264740020775290721, 859763567572081467, 8842953438422484122, 14329981889510246939, 3582542183068105786, 6023391989510151456, 2953193964713672141, 12396149302348639250, 13882467375549577428, 3586988377712407519, 7213506509798642482, 13435456572406932891, 9645941250097564536, 2781650568775738364, 2, 15637532899188291351, 12683652363890573925, 2704597975013858668, 17832955104866332736, 6815586591600943723, 13755349213265671492, 8924117914024270326, 3329964149511691453, 11039495891702065838, 15670789219464690273, 11281671746346947225, 10492374165392519994, 11439270560757451470, 7337394676363778206, 2272256910055258613, 2, 3130343892077994054, 0, 0, 1136320813223337744, 11438337112810950654, 16692992611178972868, 9482499518540692367, 5451078715157933845, 18403012202839423090, 13340398881404871439, 16853681425214524760, 5540259513623809808, 7754241405876268140, 15538673406175044580, 15705643278636475771, 2, 0, 0, 0, 6593967995490198369, 546795078589070868, 8093299549277945163, 1445098694824947603, 16968796337604054074, 7105604958885889972, 12829574433066656016, 10962264142076089650, 6970346774265824779, 5668604568559492205, 15930738860655806958, 14403244990983785091, 2, 0, 0, 0, 7770193319703938593, 6228225228483877842, 5315425894230577486, 8012448033829391087, 5395398520381640698, 8770911350053719042, 14827874098479004474, 11024999006644848903, 13791657658989935762, 17830220104295996918, 2090812709146185278, 8577173283657139529, 2, 0, 0, 0, 17471481800618265475, 1930822204634793148, 12769804899579893379, 13068810900387198296, 10732524945348487200, 1519317270498249877, 12604995971822921101, 14107509487727911757, 8257552923782319555, 12034059115493819529, 4343039820825149431, 395799121324568963, 2, 1, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(10) }, program_info: ProgramInfo { program_hash: Word([11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 11, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 7, 0, 0, 0, 0, 0, 5, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 0, 0, 1, 0, 2, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 0, 0, 10686862901019340628, 15711583786595019806, 9378042936835126164, 11939142602264935891, 13605517752371930016, 2544863311362262665, 6880055194706872138, 2404926559643725443, 11298729247352625131, 13639273524510051487, 3031605320954281704, 2952677760580202523, 0, 0, 0, 0, 6949406075980976859, 9142069989509656801, 14676622013796942288, 5295633173573979080, 14862684288436559050, 7708888152496129562, 8667911075542880817, 14424367369474907891, 14303094264982903091, 9838552210955819611, 15088013178433258027, 5833102420062152227, 0, 0, 0, 0, 1932675776657481842, 14290498569500988181, 11741991701671402436, 3934903733189518965, 10047440752038846171, 14938209139342513571, 7659889883493126262, 2134579895120260539, 7819147353957995986, 17861588317805920712, 11020859927535923500, 15623868602690334525, 0, 6264451320029412065, 5315770291001895612, 3923979823614336294, 15496957568148800678, 4856878698798286165, 18427152961697133322, 13172977369565732662, 8634756726478972696, 17549357918509499997, 7356106617646839123, 16192566970100663376, 4904526601366015673, 11478334329288517717, 607398074844683832, 9609971183005491570, 0, 18264070764381924889, 7558994944201947568, 16698567473332535936, 4066201321205995431, 14552036519561423602, 5620710451624899086, 14969463994437329823, 11938508228196027882, 9200118839118887577, 6855444937813269923, 13901427726318773655, 3507966654472722962, 13139165600809348467, 3547085602937656739, 11244050388029555026, 0, 8312328144036608043, 17972686765781519170, 10784039031850599726, 14134435301654782468, 13131877571979284929, 8266221982529104091, 159405248778538274, 5778967389144576888, 6057984302796584762, 11714059928473413141, 11763232719990709154, 7978933720497313146, 16635094485101159936, 18327609188632861057, 11071183167122824035, 0, 10287810620841180003, 4548089904338037398, 6876519236022884332, 192351967064940869, 13616941784242570400, 7032108910940453446, 13625250436816808378, 17491100122417306359, 2292049730346364666, 2733535393252649149, 17750397792987890641, 6346476747248545150, 3575465615474366120, 18213303372206038112, 2518621101786158931, 0, 842637389045220237, 14003171518185218367, 14997648696661468292, 13477259760240789253, 7438659305055821970, 7828458451594639328, 1805142843426507273, 3804729079035423760, 5684604326361654696, 17218885460122549497, 974371611540683935, 16762750120460661174, 739710162320190732, 3363948547922989023, 4267260670759647913, 0, 10264158766070300923, 6050974414693797250, 847386589526447339, 3548106904874618124, 9289172558104066787, 8226909131216769737, 16380713199877477068, 4410762367217395758, 12555768451623030884, 10357980275595284555, 10303991993655092221, 4060030248038493229, 11216725884924445657, 10194932652661424405, 17494422570060569743, 0, 522514578171525652, 3717501858890221638, 16025700499781393088, 15033579247524264929, 1744414008664189122, 6807378681147180078, 16955668219975052585, 18323017022834713256, 6662618285165080179, 12762215046608848013, 17134633855452090590, 6353725621416552612, 4449259194945598867, 8877290555352616803, 13666098560811114332, 0, 3232143389630708424, 0, 0, 9014593992030055460, 10869121640834977224, 1905700011211118876, 955944440419378960, 265206078841667899, 13713964984862746492, 9702435518807270681, 12343078651970579400, 18227529633908655074, 9709048888339027683, 15154974039676851951, 16388400023664675593, 0, 0, 0, 0, 12342730708987043912, 13274159397630057441, 12697978258400128397, 368152630932848211, 6555819701154221199, 97417680512067538, 2018507387878521400, 1529782995014995301, 13636792419679998309, 6197980968820055410, 737644335551408580, 9956102600220791675, 0, 0, 0, 0, 14179025343931559433, 1175312715506728066, 11255361077722267605, 9822732455439796133, 13335036252549184126, 17127037879360292568, 16600677125340288437, 11659800847392950623, 12605660248276552114, 14805446144065764307, 14804045017754446897, 13192632014186378484, 0, 0, 0, 0, 12383461936126681247, 745215043874424896, 4540981537676651137, 16486351305638014506, 10972364256824969372, 5647748125744546841, 5620391031839475969, 17973620544670757805, 1344519641939806437, 11395404185290209616, 4498705163534372313, 3336623779264323323, 0, 1, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8259689913693129242, 3400892600405308205, 17378179173256779268, 5060920854688287001, 9687195410980644248, 6313248141024338188, 2582093590609427596, 3953695074988874383, 11971751964106597008, 9907486161844974200, 17989903003960359463, 13336380866068769777, 1, 0, 0, 0, 12279731404675001026, 6278812133505380138, 6233201299601221057, 2388727383803081265, 12084036741190483661, 2317300697897833956, 9759443477696867671, 10883057071610381859, 3944615791382572320, 4072273145811045884, 17852897021998211163, 9684438072608016253, 1, 0, 0, 0, 3651584995004100725, 6423803920838032987, 14027200390009907647, 6592032860050067711, 2594447921553931384, 18306574626058358562, 4512185877168969647, 11342492757671323084, 15957751677575885720, 5761823199659062393, 6846407586191335849, 9817376758188911585, 1, 18183126545069935350, 12563248011457733820, 8356966014032630063, 12041609793392315665, 5281186701877768352, 5541580267076219602, 11576047020972388374, 6661568194349527666, 15437143780340457719, 10754987180927492954, 4211835751645452119, 10566966891469040816, 690793516206281144, 3247962926818069970, 9036036859539968974, 1, 15893445344909186288, 5778049594265975833, 1423581989082731508, 5458007776595562807, 2498425571573111469, 16059466580364398666, 8902716392494711213, 14882573357788460188, 3225597659422237250, 3128065202613218656, 16995684508107895104, 12196793732604029414, 17723663615896720413, 9829416315291197871, 580745865383399340, 1, 13902067347991440733, 5984630683069450754, 12729386174124645267, 13785662250538369696, 272255205933159866, 735616656951483055, 12424664074133983590, 5026981889191825136, 5767485772665833989, 15651669603605283176, 7414308024158917695, 15811954123421478742, 13258769136679205830, 3664463833800174816, 15497592431183820173, 1, 11156605567826983932, 3639316624646464570, 5042698793479444923, 8630374421727305636, 17027951314675117661, 2801906069577385610, 18065291493111457552, 18067767546753643362, 5248148594352695009, 7578134041089558055, 18445498855455618598, 7189106720666328053, 6562930842885656592, 6844922721754111014, 780716667496251522, 1, 11860885490747304346, 12272615266561732125, 10423884872730116228, 13929733142214397431, 2117615618497875527, 5203222542820499724, 4538429948347629507, 6877693664463852318, 18109062185597913481, 10147653053574341319, 10079670109614966266, 12064951107563936135, 1152998120279634164, 12844815835032732057, 12896711460106342356, 1, 3078919787028426439, 15265543379215102231, 570695753264939069, 459110976220447167, 2176716793919417092, 14863591412045443847, 14252826520731507004, 15860274927896899753, 10390267100193539166, 17043032359848981742, 818991875743271755, 16275785202399117535, 8465017515346473513, 2777064625189300576, 13072175816967000886, 1, 3442153457185747577, 2606206929260007126, 2317686975478948049, 15948992202505097484, 5942181083636438599, 15457210791918859006, 887605399554676434, 12986387963278623196, 10075175986843357851, 4859683927561004597, 6555547085880890919, 8280537903442447606, 16640962983997717683, 2248822201261309400, 13163090516020988950, 1, 7196986181046756683, 0, 0, 16549653703171386973, 11518702294444124172, 1109770523953150302, 11415315369035533823, 5890935665450471727, 2253657843173273901, 13858462521885404044, 9125187176834287629, 14925311787915179675, 9356310136195018005, 14965392043314054082, 18423301843359275387, 1, 0, 0, 0, 7040940919216905671, 6187741949018394442, 10532732827118411505, 13505135286384426969, 917467356231706545, 9047752258933341547, 2335143583534705649, 18052717581435745313, 9355624911805935499, 7190586108559742607, 2304843099991312546, 16303126242918615541, 1, 0, 0, 0, 15603840856162477962, 3504063088563989096, 6361775464868278813, 17698044987168049155, 8418309402148081318, 15988177746184666422, 4270534912200806378, 12370149697383197906, 8363034440938926080, 17941258791536373709, 11011611614519090457, 10702921331067290122, 1, 0, 0, 0, 8416267285503610972, 15089551497492948945, 5363802036407642792, 10347532956075658842, 17181858623993805271, 15855824450153307212, 7743632312226714799, 1845073853648620670, 2000026205350826313, 18037231946791138113, 14309912549728703012, 13253445327127715869, 1, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 11621565010787354140, 1949391780818670486, 7327781180606137861, 2419787217529136215, 13249250205018233525, 10029758640146777270, 5716716695107147273, 10829954014693503473, 7405851154679558693, 2030135877513774489, 10401768244118899621, 7992444660002654486, 2, 0, 0, 0, 9190577937819620371, 12978309842325015235, 10477013461463931935, 4855391316239312738, 10519745218266697287, 18375374895419140100, 876067972673449756, 17915370314859305010, 17877705855294641231, 120652674332571204, 3378556434908723888, 17649391022523856338, 2, 0, 0, 0, 15052947986857015373, 3007680259418135415, 3197694984858038551, 6563270153864719814, 6889631464391242687, 12614331779225506253, 8884325160266334095, 15067359903282619456, 6045216153329131722, 7293213550537411486, 18377064823051127268, 14733223614830533518, 2, 1248924765333967865, 15568788993061722932, 4037714036443683170, 2584579945446987950, 3496704858534018972, 10965787981110521559, 9000006360952503550, 8377181923806419223, 18078834148678517323, 13751832434934340803, 15306332964801742551, 828627458527105190, 2519953652271814816, 5563221586835004955, 16428502736240336605, 2, 161503374172189975, 7180975586994120588, 13070121377098205312, 9655464535561865455, 4169214041423852321, 5771090309048429384, 6993654059550252564, 14478380452460405826, 12150434000885474539, 18399347099839405992, 88779829066683150, 4428174353386180423, 7547120791432137516, 11951584238447172023, 8804182506418522715, 2, 1859011259345361207, 13205265558511858864, 16229683663108620000, 17688418164436772208, 12658415008146819428, 6291208835901171779, 3297271436089179933, 12943628284217684119, 11639259038601904106, 10502234848011596680, 13946225273525543944, 11318468498957948083, 13851055481982014034, 5765565570506082255, 10777382518726251007, 2, 1023422172081481959, 14540338366569412926, 10271517463444484758, 8863158288377959817, 9066561794313536160, 10161961919995709177, 2094278659773331823, 4371761587112760854, 10972685992181286814, 5641963675353630718, 15569415989710829261, 4258403342016907208, 4740804749082440837, 1594229550076307598, 5045104152796606559, 2, 12053626300860885956, 13987509258486900924, 17286360383804666298, 8301538772707939488, 7700154594411825373, 14332053735409157564, 6894934729579673545, 5430665485920789830, 10553406992561403551, 11528229548578861261, 3294597468571627674, 2903493961726666462, 10560076388764518443, 3749651622493296975, 18114127684252877364, 2, 12240592655856206466, 6264740020775290721, 859763567572081467, 8842953438422484122, 14329981889510246939, 3582542183068105786, 6023391989510151456, 2953193964713672141, 12396149302348639250, 13882467375549577428, 3586988377712407519, 7213506509798642482, 13435456572406932891, 9645941250097564536, 2781650568775738364, 2, 15637532899188291351, 12683652363890573925, 2704597975013858668, 17832955104866332736, 6815586591600943723, 13755349213265671492, 8924117914024270326, 3329964149511691453, 11039495891702065838, 15670789219464690273, 11281671746346947225, 10492374165392519994, 11439270560757451470, 7337394676363778206, 2272256910055258613, 2, 3130343892077994054, 0, 0, 1136320813223337744, 11438337112810950654, 16692992611178972868, 9482499518540692367, 5451078715157933845, 18403012202839423090, 13340398881404871439, 16853681425214524760, 5540259513623809808, 7754241405876268140, 15538673406175044580, 15705643278636475771, 2, 0, 0, 0, 6593967995490198369, 546795078589070868, 8093299549277945163, 1445098694824947603, 16968796337604054074, 7105604958885889972, 12829574433066656016, 10962264142076089650, 6970346774265824779, 5668604568559492205, 15930738860655806958, 14403244990983785091, 2, 0, 0, 0, 7770193319703938593, 6228225228483877842, 5315425894230577486, 8012448033829391087, 5395398520381640698, 8770911350053719042, 14827874098479004474, 11024999006644848903, 13791657658989935762, 17830220104295996918, 2090812709146185278, 8577173283657139529, 2, 0, 0, 0, 17471481800618265475, 1930822204634793148, 12769804899579893379, 13068810900387198296, 10732524945348487200, 1519317270498249877, 12604995971822921101, 14107509487727911757, 8257552923782319555, 12034059115493819529, 4343039820825149431, 395799121324568963, 2, 1, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(10) }, program_info: ProgramInfo { program_hash: Word([11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 11, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_18.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_18.snap index e204960c57..db519f6c49 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_18.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_18.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 7, 0, 0, 0, 0, 0, 5, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 0, 0, 1, 0, 2, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 0, 0, 10686862901019340628, 15711583786595019806, 9378042936835126164, 11939142602264935891, 13605517752371930016, 2544863311362262665, 6880055194706872138, 2404926559643725443, 11298729247352625131, 13639273524510051487, 3031605320954281704, 2952677760580202523, 0, 0, 0, 0, 6949406075980976859, 9142069989509656801, 14676622013796942288, 5295633173573979080, 14862684288436559050, 7708888152496129562, 8667911075542880817, 14424367369474907891, 14303094264982903091, 9838552210955819611, 15088013178433258027, 5833102420062152227, 0, 0, 0, 0, 1932675776657481842, 14290498569500988181, 11741991701671402436, 3934903733189518965, 10047440752038846171, 14938209139342513571, 7659889883493126262, 2134579895120260539, 7819147353957995986, 17861588317805920712, 11020859927535923500, 15623868602690334525, 0, 6264451320029412065, 5315770291001895612, 3923979823614336294, 15496957568148800678, 4856878698798286165, 18427152961697133322, 13172977369565732662, 8634756726478972696, 17549357918509499997, 7356106617646839123, 16192566970100663376, 4904526601366015673, 11478334329288517717, 607398074844683832, 9609971183005491570, 0, 18264070764381924889, 7558994944201947568, 16698567473332535936, 4066201321205995431, 14552036519561423602, 5620710451624899086, 14969463994437329823, 11938508228196027882, 9200118839118887577, 6855444937813269923, 13901427726318773655, 3507966654472722962, 13139165600809348467, 3547085602937656739, 11244050388029555026, 0, 8312328144036608043, 17972686765781519170, 10784039031850599726, 14134435301654782468, 13131877571979284929, 8266221982529104091, 159405248778538274, 5778967389144576888, 6057984302796584762, 11714059928473413141, 11763232719990709154, 7978933720497313146, 16635094485101159936, 18327609188632861057, 11071183167122824035, 0, 10287810620841180003, 4548089904338037398, 6876519236022884332, 192351967064940869, 13616941784242570400, 7032108910940453446, 13625250436816808378, 17491100122417306359, 2292049730346364666, 2733535393252649149, 17750397792987890641, 6346476747248545150, 3575465615474366120, 18213303372206038112, 2518621101786158931, 0, 842637389045220237, 14003171518185218367, 14997648696661468292, 13477259760240789253, 7438659305055821970, 7828458451594639328, 1805142843426507273, 3804729079035423760, 5684604326361654696, 17218885460122549497, 974371611540683935, 16762750120460661174, 739710162320190732, 3363948547922989023, 4267260670759647913, 0, 10264158766070300923, 6050974414693797250, 847386589526447339, 3548106904874618124, 9289172558104066787, 8226909131216769737, 16380713199877477068, 4410762367217395758, 12555768451623030884, 10357980275595284555, 10303991993655092221, 4060030248038493229, 11216725884924445657, 10194932652661424405, 17494422570060569743, 0, 522514578171525652, 3717501858890221638, 16025700499781393088, 15033579247524264929, 1744414008664189122, 6807378681147180078, 16955668219975052585, 18323017022834713256, 6662618285165080179, 12762215046608848013, 17134633855452090590, 6353725621416552612, 4449259194945598867, 8877290555352616803, 13666098560811114332, 0, 3232143389630708424, 0, 0, 9014593992030055460, 10869121640834977224, 1905700011211118876, 955944440419378960, 265206078841667899, 13713964984862746492, 9702435518807270681, 12343078651970579400, 18227529633908655074, 9709048888339027683, 15154974039676851951, 16388400023664675593, 0, 0, 0, 0, 12342730708987043912, 13274159397630057441, 12697978258400128397, 368152630932848211, 6555819701154221199, 97417680512067538, 2018507387878521400, 1529782995014995301, 13636792419679998309, 6197980968820055410, 737644335551408580, 9956102600220791675, 0, 0, 0, 0, 14179025343931559433, 1175312715506728066, 11255361077722267605, 9822732455439796133, 13335036252549184126, 17127037879360292568, 16600677125340288437, 11659800847392950623, 12605660248276552114, 14805446144065764307, 14804045017754446897, 13192632014186378484, 0, 0, 0, 0, 12383461936126681247, 745215043874424896, 4540981537676651137, 16486351305638014506, 10972364256824969372, 5647748125744546841, 5620391031839475969, 17973620544670757805, 1344519641939806437, 11395404185290209616, 4498705163534372313, 3336623779264323323, 0, 1, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8259689913693129242, 3400892600405308205, 17378179173256779268, 5060920854688287001, 9687195410980644248, 6313248141024338188, 2582093590609427596, 3953695074988874383, 11971751964106597008, 9907486161844974200, 17989903003960359463, 13336380866068769777, 1, 0, 0, 0, 12279731404675001026, 6278812133505380138, 6233201299601221057, 2388727383803081265, 12084036741190483661, 2317300697897833956, 9759443477696867671, 10883057071610381859, 3944615791382572320, 4072273145811045884, 17852897021998211163, 9684438072608016253, 1, 0, 0, 0, 3651584995004100725, 6423803920838032987, 14027200390009907647, 6592032860050067711, 2594447921553931384, 18306574626058358562, 4512185877168969647, 11342492757671323084, 15957751677575885720, 5761823199659062393, 6846407586191335849, 9817376758188911585, 1, 18183126545069935350, 12563248011457733820, 8356966014032630063, 12041609793392315665, 5281186701877768352, 5541580267076219602, 11576047020972388374, 6661568194349527666, 15437143780340457719, 10754987180927492954, 4211835751645452119, 10566966891469040816, 690793516206281144, 3247962926818069970, 9036036859539968974, 1, 15893445344909186288, 5778049594265975833, 1423581989082731508, 5458007776595562807, 2498425571573111469, 16059466580364398666, 8902716392494711213, 14882573357788460188, 3225597659422237250, 3128065202613218656, 16995684508107895104, 12196793732604029414, 17723663615896720413, 9829416315291197871, 580745865383399340, 1, 13902067347991440733, 5984630683069450754, 12729386174124645267, 13785662250538369696, 272255205933159866, 735616656951483055, 12424664074133983590, 5026981889191825136, 5767485772665833989, 15651669603605283176, 7414308024158917695, 15811954123421478742, 13258769136679205830, 3664463833800174816, 15497592431183820173, 1, 11156605567826983932, 3639316624646464570, 5042698793479444923, 8630374421727305636, 17027951314675117661, 2801906069577385610, 18065291493111457552, 18067767546753643362, 5248148594352695009, 7578134041089558055, 18445498855455618598, 7189106720666328053, 6562930842885656592, 6844922721754111014, 780716667496251522, 1, 11860885490747304346, 12272615266561732125, 10423884872730116228, 13929733142214397431, 2117615618497875527, 5203222542820499724, 4538429948347629507, 6877693664463852318, 18109062185597913481, 10147653053574341319, 10079670109614966266, 12064951107563936135, 1152998120279634164, 12844815835032732057, 12896711460106342356, 1, 3078919787028426439, 15265543379215102231, 570695753264939069, 459110976220447167, 2176716793919417092, 14863591412045443847, 14252826520731507004, 15860274927896899753, 10390267100193539166, 17043032359848981742, 818991875743271755, 16275785202399117535, 8465017515346473513, 2777064625189300576, 13072175816967000886, 1, 3442153457185747577, 2606206929260007126, 2317686975478948049, 15948992202505097484, 5942181083636438599, 15457210791918859006, 887605399554676434, 12986387963278623196, 10075175986843357851, 4859683927561004597, 6555547085880890919, 8280537903442447606, 16640962983997717683, 2248822201261309400, 13163090516020988950, 1, 7196986181046756683, 0, 0, 16549653703171386973, 11518702294444124172, 1109770523953150302, 11415315369035533823, 5890935665450471727, 2253657843173273901, 13858462521885404044, 9125187176834287629, 14925311787915179675, 9356310136195018005, 14965392043314054082, 18423301843359275387, 1, 0, 0, 0, 7040940919216905671, 6187741949018394442, 10532732827118411505, 13505135286384426969, 917467356231706545, 9047752258933341547, 2335143583534705649, 18052717581435745313, 9355624911805935499, 7190586108559742607, 2304843099991312546, 16303126242918615541, 1, 0, 0, 0, 15603840856162477962, 3504063088563989096, 6361775464868278813, 17698044987168049155, 8418309402148081318, 15988177746184666422, 4270534912200806378, 12370149697383197906, 8363034440938926080, 17941258791536373709, 11011611614519090457, 10702921331067290122, 1, 0, 0, 0, 8416267285503610972, 15089551497492948945, 5363802036407642792, 10347532956075658842, 17181858623993805271, 15855824450153307212, 7743632312226714799, 1845073853648620670, 2000026205350826313, 18037231946791138113, 14309912549728703012, 13253445327127715869, 1, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 11621565010787354140, 1949391780818670486, 7327781180606137861, 2419787217529136215, 13249250205018233525, 10029758640146777270, 5716716695107147273, 10829954014693503473, 7405851154679558693, 2030135877513774489, 10401768244118899621, 7992444660002654486, 2, 0, 0, 0, 9190577937819620371, 12978309842325015235, 10477013461463931935, 4855391316239312738, 10519745218266697287, 18375374895419140100, 876067972673449756, 17915370314859305010, 17877705855294641231, 120652674332571204, 3378556434908723888, 17649391022523856338, 2, 0, 0, 0, 15052947986857015373, 3007680259418135415, 3197694984858038551, 6563270153864719814, 6889631464391242687, 12614331779225506253, 8884325160266334095, 15067359903282619456, 6045216153329131722, 7293213550537411486, 18377064823051127268, 14733223614830533518, 2, 1248924765333967865, 15568788993061722932, 4037714036443683170, 2584579945446987950, 3496704858534018972, 10965787981110521559, 9000006360952503550, 8377181923806419223, 18078834148678517323, 13751832434934340803, 15306332964801742551, 828627458527105190, 2519953652271814816, 5563221586835004955, 16428502736240336605, 2, 161503374172189975, 7180975586994120588, 13070121377098205312, 9655464535561865455, 4169214041423852321, 5771090309048429384, 6993654059550252564, 14478380452460405826, 12150434000885474539, 18399347099839405992, 88779829066683150, 4428174353386180423, 7547120791432137516, 11951584238447172023, 8804182506418522715, 2, 1859011259345361207, 13205265558511858864, 16229683663108620000, 17688418164436772208, 12658415008146819428, 6291208835901171779, 3297271436089179933, 12943628284217684119, 11639259038601904106, 10502234848011596680, 13946225273525543944, 11318468498957948083, 13851055481982014034, 5765565570506082255, 10777382518726251007, 2, 1023422172081481959, 14540338366569412926, 10271517463444484758, 8863158288377959817, 9066561794313536160, 10161961919995709177, 2094278659773331823, 4371761587112760854, 10972685992181286814, 5641963675353630718, 15569415989710829261, 4258403342016907208, 4740804749082440837, 1594229550076307598, 5045104152796606559, 2, 12053626300860885956, 13987509258486900924, 17286360383804666298, 8301538772707939488, 7700154594411825373, 14332053735409157564, 6894934729579673545, 5430665485920789830, 10553406992561403551, 11528229548578861261, 3294597468571627674, 2903493961726666462, 10560076388764518443, 3749651622493296975, 18114127684252877364, 2, 12240592655856206466, 6264740020775290721, 859763567572081467, 8842953438422484122, 14329981889510246939, 3582542183068105786, 6023391989510151456, 2953193964713672141, 12396149302348639250, 13882467375549577428, 3586988377712407519, 7213506509798642482, 13435456572406932891, 9645941250097564536, 2781650568775738364, 2, 15637532899188291351, 12683652363890573925, 2704597975013858668, 17832955104866332736, 6815586591600943723, 13755349213265671492, 8924117914024270326, 3329964149511691453, 11039495891702065838, 15670789219464690273, 11281671746346947225, 10492374165392519994, 11439270560757451470, 7337394676363778206, 2272256910055258613, 2, 3130343892077994054, 0, 0, 1136320813223337744, 11438337112810950654, 16692992611178972868, 9482499518540692367, 5451078715157933845, 18403012202839423090, 13340398881404871439, 16853681425214524760, 5540259513623809808, 7754241405876268140, 15538673406175044580, 15705643278636475771, 2, 0, 0, 0, 6593967995490198369, 546795078589070868, 8093299549277945163, 1445098694824947603, 16968796337604054074, 7105604958885889972, 12829574433066656016, 10962264142076089650, 6970346774265824779, 5668604568559492205, 15930738860655806958, 14403244990983785091, 2, 0, 0, 0, 7770193319703938593, 6228225228483877842, 5315425894230577486, 8012448033829391087, 5395398520381640698, 8770911350053719042, 14827874098479004474, 11024999006644848903, 13791657658989935762, 17830220104295996918, 2090812709146185278, 8577173283657139529, 2, 0, 0, 0, 17471481800618265475, 1930822204634793148, 12769804899579893379, 13068810900387198296, 10732524945348487200, 1519317270498249877, 12604995971822921101, 14107509487727911757, 8257552923782319555, 12034059115493819529, 4343039820825149431, 395799121324568963, 2, 1, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(10) }, program_info: ProgramInfo { program_hash: Word([11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 11, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 7, 0, 0, 0, 0, 0, 5, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 0, 0, 1, 0, 2, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 0, 0, 10686862901019340628, 15711583786595019806, 9378042936835126164, 11939142602264935891, 13605517752371930016, 2544863311362262665, 6880055194706872138, 2404926559643725443, 11298729247352625131, 13639273524510051487, 3031605320954281704, 2952677760580202523, 0, 0, 0, 0, 6949406075980976859, 9142069989509656801, 14676622013796942288, 5295633173573979080, 14862684288436559050, 7708888152496129562, 8667911075542880817, 14424367369474907891, 14303094264982903091, 9838552210955819611, 15088013178433258027, 5833102420062152227, 0, 0, 0, 0, 1932675776657481842, 14290498569500988181, 11741991701671402436, 3934903733189518965, 10047440752038846171, 14938209139342513571, 7659889883493126262, 2134579895120260539, 7819147353957995986, 17861588317805920712, 11020859927535923500, 15623868602690334525, 0, 6264451320029412065, 5315770291001895612, 3923979823614336294, 15496957568148800678, 4856878698798286165, 18427152961697133322, 13172977369565732662, 8634756726478972696, 17549357918509499997, 7356106617646839123, 16192566970100663376, 4904526601366015673, 11478334329288517717, 607398074844683832, 9609971183005491570, 0, 18264070764381924889, 7558994944201947568, 16698567473332535936, 4066201321205995431, 14552036519561423602, 5620710451624899086, 14969463994437329823, 11938508228196027882, 9200118839118887577, 6855444937813269923, 13901427726318773655, 3507966654472722962, 13139165600809348467, 3547085602937656739, 11244050388029555026, 0, 8312328144036608043, 17972686765781519170, 10784039031850599726, 14134435301654782468, 13131877571979284929, 8266221982529104091, 159405248778538274, 5778967389144576888, 6057984302796584762, 11714059928473413141, 11763232719990709154, 7978933720497313146, 16635094485101159936, 18327609188632861057, 11071183167122824035, 0, 10287810620841180003, 4548089904338037398, 6876519236022884332, 192351967064940869, 13616941784242570400, 7032108910940453446, 13625250436816808378, 17491100122417306359, 2292049730346364666, 2733535393252649149, 17750397792987890641, 6346476747248545150, 3575465615474366120, 18213303372206038112, 2518621101786158931, 0, 842637389045220237, 14003171518185218367, 14997648696661468292, 13477259760240789253, 7438659305055821970, 7828458451594639328, 1805142843426507273, 3804729079035423760, 5684604326361654696, 17218885460122549497, 974371611540683935, 16762750120460661174, 739710162320190732, 3363948547922989023, 4267260670759647913, 0, 10264158766070300923, 6050974414693797250, 847386589526447339, 3548106904874618124, 9289172558104066787, 8226909131216769737, 16380713199877477068, 4410762367217395758, 12555768451623030884, 10357980275595284555, 10303991993655092221, 4060030248038493229, 11216725884924445657, 10194932652661424405, 17494422570060569743, 0, 522514578171525652, 3717501858890221638, 16025700499781393088, 15033579247524264929, 1744414008664189122, 6807378681147180078, 16955668219975052585, 18323017022834713256, 6662618285165080179, 12762215046608848013, 17134633855452090590, 6353725621416552612, 4449259194945598867, 8877290555352616803, 13666098560811114332, 0, 3232143389630708424, 0, 0, 9014593992030055460, 10869121640834977224, 1905700011211118876, 955944440419378960, 265206078841667899, 13713964984862746492, 9702435518807270681, 12343078651970579400, 18227529633908655074, 9709048888339027683, 15154974039676851951, 16388400023664675593, 0, 0, 0, 0, 12342730708987043912, 13274159397630057441, 12697978258400128397, 368152630932848211, 6555819701154221199, 97417680512067538, 2018507387878521400, 1529782995014995301, 13636792419679998309, 6197980968820055410, 737644335551408580, 9956102600220791675, 0, 0, 0, 0, 14179025343931559433, 1175312715506728066, 11255361077722267605, 9822732455439796133, 13335036252549184126, 17127037879360292568, 16600677125340288437, 11659800847392950623, 12605660248276552114, 14805446144065764307, 14804045017754446897, 13192632014186378484, 0, 0, 0, 0, 12383461936126681247, 745215043874424896, 4540981537676651137, 16486351305638014506, 10972364256824969372, 5647748125744546841, 5620391031839475969, 17973620544670757805, 1344519641939806437, 11395404185290209616, 4498705163534372313, 3336623779264323323, 0, 1, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8259689913693129242, 3400892600405308205, 17378179173256779268, 5060920854688287001, 9687195410980644248, 6313248141024338188, 2582093590609427596, 3953695074988874383, 11971751964106597008, 9907486161844974200, 17989903003960359463, 13336380866068769777, 1, 0, 0, 0, 12279731404675001026, 6278812133505380138, 6233201299601221057, 2388727383803081265, 12084036741190483661, 2317300697897833956, 9759443477696867671, 10883057071610381859, 3944615791382572320, 4072273145811045884, 17852897021998211163, 9684438072608016253, 1, 0, 0, 0, 3651584995004100725, 6423803920838032987, 14027200390009907647, 6592032860050067711, 2594447921553931384, 18306574626058358562, 4512185877168969647, 11342492757671323084, 15957751677575885720, 5761823199659062393, 6846407586191335849, 9817376758188911585, 1, 18183126545069935350, 12563248011457733820, 8356966014032630063, 12041609793392315665, 5281186701877768352, 5541580267076219602, 11576047020972388374, 6661568194349527666, 15437143780340457719, 10754987180927492954, 4211835751645452119, 10566966891469040816, 690793516206281144, 3247962926818069970, 9036036859539968974, 1, 15893445344909186288, 5778049594265975833, 1423581989082731508, 5458007776595562807, 2498425571573111469, 16059466580364398666, 8902716392494711213, 14882573357788460188, 3225597659422237250, 3128065202613218656, 16995684508107895104, 12196793732604029414, 17723663615896720413, 9829416315291197871, 580745865383399340, 1, 13902067347991440733, 5984630683069450754, 12729386174124645267, 13785662250538369696, 272255205933159866, 735616656951483055, 12424664074133983590, 5026981889191825136, 5767485772665833989, 15651669603605283176, 7414308024158917695, 15811954123421478742, 13258769136679205830, 3664463833800174816, 15497592431183820173, 1, 11156605567826983932, 3639316624646464570, 5042698793479444923, 8630374421727305636, 17027951314675117661, 2801906069577385610, 18065291493111457552, 18067767546753643362, 5248148594352695009, 7578134041089558055, 18445498855455618598, 7189106720666328053, 6562930842885656592, 6844922721754111014, 780716667496251522, 1, 11860885490747304346, 12272615266561732125, 10423884872730116228, 13929733142214397431, 2117615618497875527, 5203222542820499724, 4538429948347629507, 6877693664463852318, 18109062185597913481, 10147653053574341319, 10079670109614966266, 12064951107563936135, 1152998120279634164, 12844815835032732057, 12896711460106342356, 1, 3078919787028426439, 15265543379215102231, 570695753264939069, 459110976220447167, 2176716793919417092, 14863591412045443847, 14252826520731507004, 15860274927896899753, 10390267100193539166, 17043032359848981742, 818991875743271755, 16275785202399117535, 8465017515346473513, 2777064625189300576, 13072175816967000886, 1, 3442153457185747577, 2606206929260007126, 2317686975478948049, 15948992202505097484, 5942181083636438599, 15457210791918859006, 887605399554676434, 12986387963278623196, 10075175986843357851, 4859683927561004597, 6555547085880890919, 8280537903442447606, 16640962983997717683, 2248822201261309400, 13163090516020988950, 1, 7196986181046756683, 0, 0, 16549653703171386973, 11518702294444124172, 1109770523953150302, 11415315369035533823, 5890935665450471727, 2253657843173273901, 13858462521885404044, 9125187176834287629, 14925311787915179675, 9356310136195018005, 14965392043314054082, 18423301843359275387, 1, 0, 0, 0, 7040940919216905671, 6187741949018394442, 10532732827118411505, 13505135286384426969, 917467356231706545, 9047752258933341547, 2335143583534705649, 18052717581435745313, 9355624911805935499, 7190586108559742607, 2304843099991312546, 16303126242918615541, 1, 0, 0, 0, 15603840856162477962, 3504063088563989096, 6361775464868278813, 17698044987168049155, 8418309402148081318, 15988177746184666422, 4270534912200806378, 12370149697383197906, 8363034440938926080, 17941258791536373709, 11011611614519090457, 10702921331067290122, 1, 0, 0, 0, 8416267285503610972, 15089551497492948945, 5363802036407642792, 10347532956075658842, 17181858623993805271, 15855824450153307212, 7743632312226714799, 1845073853648620670, 2000026205350826313, 18037231946791138113, 14309912549728703012, 13253445327127715869, 1, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 11621565010787354140, 1949391780818670486, 7327781180606137861, 2419787217529136215, 13249250205018233525, 10029758640146777270, 5716716695107147273, 10829954014693503473, 7405851154679558693, 2030135877513774489, 10401768244118899621, 7992444660002654486, 2, 0, 0, 0, 9190577937819620371, 12978309842325015235, 10477013461463931935, 4855391316239312738, 10519745218266697287, 18375374895419140100, 876067972673449756, 17915370314859305010, 17877705855294641231, 120652674332571204, 3378556434908723888, 17649391022523856338, 2, 0, 0, 0, 15052947986857015373, 3007680259418135415, 3197694984858038551, 6563270153864719814, 6889631464391242687, 12614331779225506253, 8884325160266334095, 15067359903282619456, 6045216153329131722, 7293213550537411486, 18377064823051127268, 14733223614830533518, 2, 1248924765333967865, 15568788993061722932, 4037714036443683170, 2584579945446987950, 3496704858534018972, 10965787981110521559, 9000006360952503550, 8377181923806419223, 18078834148678517323, 13751832434934340803, 15306332964801742551, 828627458527105190, 2519953652271814816, 5563221586835004955, 16428502736240336605, 2, 161503374172189975, 7180975586994120588, 13070121377098205312, 9655464535561865455, 4169214041423852321, 5771090309048429384, 6993654059550252564, 14478380452460405826, 12150434000885474539, 18399347099839405992, 88779829066683150, 4428174353386180423, 7547120791432137516, 11951584238447172023, 8804182506418522715, 2, 1859011259345361207, 13205265558511858864, 16229683663108620000, 17688418164436772208, 12658415008146819428, 6291208835901171779, 3297271436089179933, 12943628284217684119, 11639259038601904106, 10502234848011596680, 13946225273525543944, 11318468498957948083, 13851055481982014034, 5765565570506082255, 10777382518726251007, 2, 1023422172081481959, 14540338366569412926, 10271517463444484758, 8863158288377959817, 9066561794313536160, 10161961919995709177, 2094278659773331823, 4371761587112760854, 10972685992181286814, 5641963675353630718, 15569415989710829261, 4258403342016907208, 4740804749082440837, 1594229550076307598, 5045104152796606559, 2, 12053626300860885956, 13987509258486900924, 17286360383804666298, 8301538772707939488, 7700154594411825373, 14332053735409157564, 6894934729579673545, 5430665485920789830, 10553406992561403551, 11528229548578861261, 3294597468571627674, 2903493961726666462, 10560076388764518443, 3749651622493296975, 18114127684252877364, 2, 12240592655856206466, 6264740020775290721, 859763567572081467, 8842953438422484122, 14329981889510246939, 3582542183068105786, 6023391989510151456, 2953193964713672141, 12396149302348639250, 13882467375549577428, 3586988377712407519, 7213506509798642482, 13435456572406932891, 9645941250097564536, 2781650568775738364, 2, 15637532899188291351, 12683652363890573925, 2704597975013858668, 17832955104866332736, 6815586591600943723, 13755349213265671492, 8924117914024270326, 3329964149511691453, 11039495891702065838, 15670789219464690273, 11281671746346947225, 10492374165392519994, 11439270560757451470, 7337394676363778206, 2272256910055258613, 2, 3130343892077994054, 0, 0, 1136320813223337744, 11438337112810950654, 16692992611178972868, 9482499518540692367, 5451078715157933845, 18403012202839423090, 13340398881404871439, 16853681425214524760, 5540259513623809808, 7754241405876268140, 15538673406175044580, 15705643278636475771, 2, 0, 0, 0, 6593967995490198369, 546795078589070868, 8093299549277945163, 1445098694824947603, 16968796337604054074, 7105604958885889972, 12829574433066656016, 10962264142076089650, 6970346774265824779, 5668604568559492205, 15930738860655806958, 14403244990983785091, 2, 0, 0, 0, 7770193319703938593, 6228225228483877842, 5315425894230577486, 8012448033829391087, 5395398520381640698, 8770911350053719042, 14827874098479004474, 11024999006644848903, 13791657658989935762, 17830220104295996918, 2090812709146185278, 8577173283657139529, 2, 0, 0, 0, 17471481800618265475, 1930822204634793148, 12769804899579893379, 13068810900387198296, 10732524945348487200, 1519317270498249877, 12604995971822921101, 14107509487727911757, 8257552923782319555, 12034059115493819529, 4343039820825149431, 395799121324568963, 2, 1, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(10) }, program_info: ProgramInfo { program_hash: Word([11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 11, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_19.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_19.snap index e204960c57..db519f6c49 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_19.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_19.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 7, 0, 0, 0, 0, 0, 5, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 0, 0, 1, 0, 2, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 0, 0, 10686862901019340628, 15711583786595019806, 9378042936835126164, 11939142602264935891, 13605517752371930016, 2544863311362262665, 6880055194706872138, 2404926559643725443, 11298729247352625131, 13639273524510051487, 3031605320954281704, 2952677760580202523, 0, 0, 0, 0, 6949406075980976859, 9142069989509656801, 14676622013796942288, 5295633173573979080, 14862684288436559050, 7708888152496129562, 8667911075542880817, 14424367369474907891, 14303094264982903091, 9838552210955819611, 15088013178433258027, 5833102420062152227, 0, 0, 0, 0, 1932675776657481842, 14290498569500988181, 11741991701671402436, 3934903733189518965, 10047440752038846171, 14938209139342513571, 7659889883493126262, 2134579895120260539, 7819147353957995986, 17861588317805920712, 11020859927535923500, 15623868602690334525, 0, 6264451320029412065, 5315770291001895612, 3923979823614336294, 15496957568148800678, 4856878698798286165, 18427152961697133322, 13172977369565732662, 8634756726478972696, 17549357918509499997, 7356106617646839123, 16192566970100663376, 4904526601366015673, 11478334329288517717, 607398074844683832, 9609971183005491570, 0, 18264070764381924889, 7558994944201947568, 16698567473332535936, 4066201321205995431, 14552036519561423602, 5620710451624899086, 14969463994437329823, 11938508228196027882, 9200118839118887577, 6855444937813269923, 13901427726318773655, 3507966654472722962, 13139165600809348467, 3547085602937656739, 11244050388029555026, 0, 8312328144036608043, 17972686765781519170, 10784039031850599726, 14134435301654782468, 13131877571979284929, 8266221982529104091, 159405248778538274, 5778967389144576888, 6057984302796584762, 11714059928473413141, 11763232719990709154, 7978933720497313146, 16635094485101159936, 18327609188632861057, 11071183167122824035, 0, 10287810620841180003, 4548089904338037398, 6876519236022884332, 192351967064940869, 13616941784242570400, 7032108910940453446, 13625250436816808378, 17491100122417306359, 2292049730346364666, 2733535393252649149, 17750397792987890641, 6346476747248545150, 3575465615474366120, 18213303372206038112, 2518621101786158931, 0, 842637389045220237, 14003171518185218367, 14997648696661468292, 13477259760240789253, 7438659305055821970, 7828458451594639328, 1805142843426507273, 3804729079035423760, 5684604326361654696, 17218885460122549497, 974371611540683935, 16762750120460661174, 739710162320190732, 3363948547922989023, 4267260670759647913, 0, 10264158766070300923, 6050974414693797250, 847386589526447339, 3548106904874618124, 9289172558104066787, 8226909131216769737, 16380713199877477068, 4410762367217395758, 12555768451623030884, 10357980275595284555, 10303991993655092221, 4060030248038493229, 11216725884924445657, 10194932652661424405, 17494422570060569743, 0, 522514578171525652, 3717501858890221638, 16025700499781393088, 15033579247524264929, 1744414008664189122, 6807378681147180078, 16955668219975052585, 18323017022834713256, 6662618285165080179, 12762215046608848013, 17134633855452090590, 6353725621416552612, 4449259194945598867, 8877290555352616803, 13666098560811114332, 0, 3232143389630708424, 0, 0, 9014593992030055460, 10869121640834977224, 1905700011211118876, 955944440419378960, 265206078841667899, 13713964984862746492, 9702435518807270681, 12343078651970579400, 18227529633908655074, 9709048888339027683, 15154974039676851951, 16388400023664675593, 0, 0, 0, 0, 12342730708987043912, 13274159397630057441, 12697978258400128397, 368152630932848211, 6555819701154221199, 97417680512067538, 2018507387878521400, 1529782995014995301, 13636792419679998309, 6197980968820055410, 737644335551408580, 9956102600220791675, 0, 0, 0, 0, 14179025343931559433, 1175312715506728066, 11255361077722267605, 9822732455439796133, 13335036252549184126, 17127037879360292568, 16600677125340288437, 11659800847392950623, 12605660248276552114, 14805446144065764307, 14804045017754446897, 13192632014186378484, 0, 0, 0, 0, 12383461936126681247, 745215043874424896, 4540981537676651137, 16486351305638014506, 10972364256824969372, 5647748125744546841, 5620391031839475969, 17973620544670757805, 1344519641939806437, 11395404185290209616, 4498705163534372313, 3336623779264323323, 0, 1, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8259689913693129242, 3400892600405308205, 17378179173256779268, 5060920854688287001, 9687195410980644248, 6313248141024338188, 2582093590609427596, 3953695074988874383, 11971751964106597008, 9907486161844974200, 17989903003960359463, 13336380866068769777, 1, 0, 0, 0, 12279731404675001026, 6278812133505380138, 6233201299601221057, 2388727383803081265, 12084036741190483661, 2317300697897833956, 9759443477696867671, 10883057071610381859, 3944615791382572320, 4072273145811045884, 17852897021998211163, 9684438072608016253, 1, 0, 0, 0, 3651584995004100725, 6423803920838032987, 14027200390009907647, 6592032860050067711, 2594447921553931384, 18306574626058358562, 4512185877168969647, 11342492757671323084, 15957751677575885720, 5761823199659062393, 6846407586191335849, 9817376758188911585, 1, 18183126545069935350, 12563248011457733820, 8356966014032630063, 12041609793392315665, 5281186701877768352, 5541580267076219602, 11576047020972388374, 6661568194349527666, 15437143780340457719, 10754987180927492954, 4211835751645452119, 10566966891469040816, 690793516206281144, 3247962926818069970, 9036036859539968974, 1, 15893445344909186288, 5778049594265975833, 1423581989082731508, 5458007776595562807, 2498425571573111469, 16059466580364398666, 8902716392494711213, 14882573357788460188, 3225597659422237250, 3128065202613218656, 16995684508107895104, 12196793732604029414, 17723663615896720413, 9829416315291197871, 580745865383399340, 1, 13902067347991440733, 5984630683069450754, 12729386174124645267, 13785662250538369696, 272255205933159866, 735616656951483055, 12424664074133983590, 5026981889191825136, 5767485772665833989, 15651669603605283176, 7414308024158917695, 15811954123421478742, 13258769136679205830, 3664463833800174816, 15497592431183820173, 1, 11156605567826983932, 3639316624646464570, 5042698793479444923, 8630374421727305636, 17027951314675117661, 2801906069577385610, 18065291493111457552, 18067767546753643362, 5248148594352695009, 7578134041089558055, 18445498855455618598, 7189106720666328053, 6562930842885656592, 6844922721754111014, 780716667496251522, 1, 11860885490747304346, 12272615266561732125, 10423884872730116228, 13929733142214397431, 2117615618497875527, 5203222542820499724, 4538429948347629507, 6877693664463852318, 18109062185597913481, 10147653053574341319, 10079670109614966266, 12064951107563936135, 1152998120279634164, 12844815835032732057, 12896711460106342356, 1, 3078919787028426439, 15265543379215102231, 570695753264939069, 459110976220447167, 2176716793919417092, 14863591412045443847, 14252826520731507004, 15860274927896899753, 10390267100193539166, 17043032359848981742, 818991875743271755, 16275785202399117535, 8465017515346473513, 2777064625189300576, 13072175816967000886, 1, 3442153457185747577, 2606206929260007126, 2317686975478948049, 15948992202505097484, 5942181083636438599, 15457210791918859006, 887605399554676434, 12986387963278623196, 10075175986843357851, 4859683927561004597, 6555547085880890919, 8280537903442447606, 16640962983997717683, 2248822201261309400, 13163090516020988950, 1, 7196986181046756683, 0, 0, 16549653703171386973, 11518702294444124172, 1109770523953150302, 11415315369035533823, 5890935665450471727, 2253657843173273901, 13858462521885404044, 9125187176834287629, 14925311787915179675, 9356310136195018005, 14965392043314054082, 18423301843359275387, 1, 0, 0, 0, 7040940919216905671, 6187741949018394442, 10532732827118411505, 13505135286384426969, 917467356231706545, 9047752258933341547, 2335143583534705649, 18052717581435745313, 9355624911805935499, 7190586108559742607, 2304843099991312546, 16303126242918615541, 1, 0, 0, 0, 15603840856162477962, 3504063088563989096, 6361775464868278813, 17698044987168049155, 8418309402148081318, 15988177746184666422, 4270534912200806378, 12370149697383197906, 8363034440938926080, 17941258791536373709, 11011611614519090457, 10702921331067290122, 1, 0, 0, 0, 8416267285503610972, 15089551497492948945, 5363802036407642792, 10347532956075658842, 17181858623993805271, 15855824450153307212, 7743632312226714799, 1845073853648620670, 2000026205350826313, 18037231946791138113, 14309912549728703012, 13253445327127715869, 1, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 11621565010787354140, 1949391780818670486, 7327781180606137861, 2419787217529136215, 13249250205018233525, 10029758640146777270, 5716716695107147273, 10829954014693503473, 7405851154679558693, 2030135877513774489, 10401768244118899621, 7992444660002654486, 2, 0, 0, 0, 9190577937819620371, 12978309842325015235, 10477013461463931935, 4855391316239312738, 10519745218266697287, 18375374895419140100, 876067972673449756, 17915370314859305010, 17877705855294641231, 120652674332571204, 3378556434908723888, 17649391022523856338, 2, 0, 0, 0, 15052947986857015373, 3007680259418135415, 3197694984858038551, 6563270153864719814, 6889631464391242687, 12614331779225506253, 8884325160266334095, 15067359903282619456, 6045216153329131722, 7293213550537411486, 18377064823051127268, 14733223614830533518, 2, 1248924765333967865, 15568788993061722932, 4037714036443683170, 2584579945446987950, 3496704858534018972, 10965787981110521559, 9000006360952503550, 8377181923806419223, 18078834148678517323, 13751832434934340803, 15306332964801742551, 828627458527105190, 2519953652271814816, 5563221586835004955, 16428502736240336605, 2, 161503374172189975, 7180975586994120588, 13070121377098205312, 9655464535561865455, 4169214041423852321, 5771090309048429384, 6993654059550252564, 14478380452460405826, 12150434000885474539, 18399347099839405992, 88779829066683150, 4428174353386180423, 7547120791432137516, 11951584238447172023, 8804182506418522715, 2, 1859011259345361207, 13205265558511858864, 16229683663108620000, 17688418164436772208, 12658415008146819428, 6291208835901171779, 3297271436089179933, 12943628284217684119, 11639259038601904106, 10502234848011596680, 13946225273525543944, 11318468498957948083, 13851055481982014034, 5765565570506082255, 10777382518726251007, 2, 1023422172081481959, 14540338366569412926, 10271517463444484758, 8863158288377959817, 9066561794313536160, 10161961919995709177, 2094278659773331823, 4371761587112760854, 10972685992181286814, 5641963675353630718, 15569415989710829261, 4258403342016907208, 4740804749082440837, 1594229550076307598, 5045104152796606559, 2, 12053626300860885956, 13987509258486900924, 17286360383804666298, 8301538772707939488, 7700154594411825373, 14332053735409157564, 6894934729579673545, 5430665485920789830, 10553406992561403551, 11528229548578861261, 3294597468571627674, 2903493961726666462, 10560076388764518443, 3749651622493296975, 18114127684252877364, 2, 12240592655856206466, 6264740020775290721, 859763567572081467, 8842953438422484122, 14329981889510246939, 3582542183068105786, 6023391989510151456, 2953193964713672141, 12396149302348639250, 13882467375549577428, 3586988377712407519, 7213506509798642482, 13435456572406932891, 9645941250097564536, 2781650568775738364, 2, 15637532899188291351, 12683652363890573925, 2704597975013858668, 17832955104866332736, 6815586591600943723, 13755349213265671492, 8924117914024270326, 3329964149511691453, 11039495891702065838, 15670789219464690273, 11281671746346947225, 10492374165392519994, 11439270560757451470, 7337394676363778206, 2272256910055258613, 2, 3130343892077994054, 0, 0, 1136320813223337744, 11438337112810950654, 16692992611178972868, 9482499518540692367, 5451078715157933845, 18403012202839423090, 13340398881404871439, 16853681425214524760, 5540259513623809808, 7754241405876268140, 15538673406175044580, 15705643278636475771, 2, 0, 0, 0, 6593967995490198369, 546795078589070868, 8093299549277945163, 1445098694824947603, 16968796337604054074, 7105604958885889972, 12829574433066656016, 10962264142076089650, 6970346774265824779, 5668604568559492205, 15930738860655806958, 14403244990983785091, 2, 0, 0, 0, 7770193319703938593, 6228225228483877842, 5315425894230577486, 8012448033829391087, 5395398520381640698, 8770911350053719042, 14827874098479004474, 11024999006644848903, 13791657658989935762, 17830220104295996918, 2090812709146185278, 8577173283657139529, 2, 0, 0, 0, 17471481800618265475, 1930822204634793148, 12769804899579893379, 13068810900387198296, 10732524945348487200, 1519317270498249877, 12604995971822921101, 14107509487727911757, 8257552923782319555, 12034059115493819529, 4343039820825149431, 395799121324568963, 2, 1, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(10) }, program_info: ProgramInfo { program_hash: Word([11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 11, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 6, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 7, 0, 0, 0, 0, 0, 5, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 42, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 3, 1, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 0, 0, 1, 0, 2, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 0, 0, 10686862901019340628, 15711583786595019806, 9378042936835126164, 11939142602264935891, 13605517752371930016, 2544863311362262665, 6880055194706872138, 2404926559643725443, 11298729247352625131, 13639273524510051487, 3031605320954281704, 2952677760580202523, 0, 0, 0, 0, 6949406075980976859, 9142069989509656801, 14676622013796942288, 5295633173573979080, 14862684288436559050, 7708888152496129562, 8667911075542880817, 14424367369474907891, 14303094264982903091, 9838552210955819611, 15088013178433258027, 5833102420062152227, 0, 0, 0, 0, 1932675776657481842, 14290498569500988181, 11741991701671402436, 3934903733189518965, 10047440752038846171, 14938209139342513571, 7659889883493126262, 2134579895120260539, 7819147353957995986, 17861588317805920712, 11020859927535923500, 15623868602690334525, 0, 6264451320029412065, 5315770291001895612, 3923979823614336294, 15496957568148800678, 4856878698798286165, 18427152961697133322, 13172977369565732662, 8634756726478972696, 17549357918509499997, 7356106617646839123, 16192566970100663376, 4904526601366015673, 11478334329288517717, 607398074844683832, 9609971183005491570, 0, 18264070764381924889, 7558994944201947568, 16698567473332535936, 4066201321205995431, 14552036519561423602, 5620710451624899086, 14969463994437329823, 11938508228196027882, 9200118839118887577, 6855444937813269923, 13901427726318773655, 3507966654472722962, 13139165600809348467, 3547085602937656739, 11244050388029555026, 0, 8312328144036608043, 17972686765781519170, 10784039031850599726, 14134435301654782468, 13131877571979284929, 8266221982529104091, 159405248778538274, 5778967389144576888, 6057984302796584762, 11714059928473413141, 11763232719990709154, 7978933720497313146, 16635094485101159936, 18327609188632861057, 11071183167122824035, 0, 10287810620841180003, 4548089904338037398, 6876519236022884332, 192351967064940869, 13616941784242570400, 7032108910940453446, 13625250436816808378, 17491100122417306359, 2292049730346364666, 2733535393252649149, 17750397792987890641, 6346476747248545150, 3575465615474366120, 18213303372206038112, 2518621101786158931, 0, 842637389045220237, 14003171518185218367, 14997648696661468292, 13477259760240789253, 7438659305055821970, 7828458451594639328, 1805142843426507273, 3804729079035423760, 5684604326361654696, 17218885460122549497, 974371611540683935, 16762750120460661174, 739710162320190732, 3363948547922989023, 4267260670759647913, 0, 10264158766070300923, 6050974414693797250, 847386589526447339, 3548106904874618124, 9289172558104066787, 8226909131216769737, 16380713199877477068, 4410762367217395758, 12555768451623030884, 10357980275595284555, 10303991993655092221, 4060030248038493229, 11216725884924445657, 10194932652661424405, 17494422570060569743, 0, 522514578171525652, 3717501858890221638, 16025700499781393088, 15033579247524264929, 1744414008664189122, 6807378681147180078, 16955668219975052585, 18323017022834713256, 6662618285165080179, 12762215046608848013, 17134633855452090590, 6353725621416552612, 4449259194945598867, 8877290555352616803, 13666098560811114332, 0, 3232143389630708424, 0, 0, 9014593992030055460, 10869121640834977224, 1905700011211118876, 955944440419378960, 265206078841667899, 13713964984862746492, 9702435518807270681, 12343078651970579400, 18227529633908655074, 9709048888339027683, 15154974039676851951, 16388400023664675593, 0, 0, 0, 0, 12342730708987043912, 13274159397630057441, 12697978258400128397, 368152630932848211, 6555819701154221199, 97417680512067538, 2018507387878521400, 1529782995014995301, 13636792419679998309, 6197980968820055410, 737644335551408580, 9956102600220791675, 0, 0, 0, 0, 14179025343931559433, 1175312715506728066, 11255361077722267605, 9822732455439796133, 13335036252549184126, 17127037879360292568, 16600677125340288437, 11659800847392950623, 12605660248276552114, 14805446144065764307, 14804045017754446897, 13192632014186378484, 0, 0, 0, 0, 12383461936126681247, 745215043874424896, 4540981537676651137, 16486351305638014506, 10972364256824969372, 5647748125744546841, 5620391031839475969, 17973620544670757805, 1344519641939806437, 11395404185290209616, 4498705163534372313, 3336623779264323323, 0, 1, 0, 0, 11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518, 8400310461204590462, 9108169057237353573, 17636133504178290964, 17406877359165992528, 1012686194999500095, 3119571665051516884, 6045109140346221273, 8023007352945590267, 0, 1, 0, 0, 11656, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8259689913693129242, 3400892600405308205, 17378179173256779268, 5060920854688287001, 9687195410980644248, 6313248141024338188, 2582093590609427596, 3953695074988874383, 11971751964106597008, 9907486161844974200, 17989903003960359463, 13336380866068769777, 1, 0, 0, 0, 12279731404675001026, 6278812133505380138, 6233201299601221057, 2388727383803081265, 12084036741190483661, 2317300697897833956, 9759443477696867671, 10883057071610381859, 3944615791382572320, 4072273145811045884, 17852897021998211163, 9684438072608016253, 1, 0, 0, 0, 3651584995004100725, 6423803920838032987, 14027200390009907647, 6592032860050067711, 2594447921553931384, 18306574626058358562, 4512185877168969647, 11342492757671323084, 15957751677575885720, 5761823199659062393, 6846407586191335849, 9817376758188911585, 1, 18183126545069935350, 12563248011457733820, 8356966014032630063, 12041609793392315665, 5281186701877768352, 5541580267076219602, 11576047020972388374, 6661568194349527666, 15437143780340457719, 10754987180927492954, 4211835751645452119, 10566966891469040816, 690793516206281144, 3247962926818069970, 9036036859539968974, 1, 15893445344909186288, 5778049594265975833, 1423581989082731508, 5458007776595562807, 2498425571573111469, 16059466580364398666, 8902716392494711213, 14882573357788460188, 3225597659422237250, 3128065202613218656, 16995684508107895104, 12196793732604029414, 17723663615896720413, 9829416315291197871, 580745865383399340, 1, 13902067347991440733, 5984630683069450754, 12729386174124645267, 13785662250538369696, 272255205933159866, 735616656951483055, 12424664074133983590, 5026981889191825136, 5767485772665833989, 15651669603605283176, 7414308024158917695, 15811954123421478742, 13258769136679205830, 3664463833800174816, 15497592431183820173, 1, 11156605567826983932, 3639316624646464570, 5042698793479444923, 8630374421727305636, 17027951314675117661, 2801906069577385610, 18065291493111457552, 18067767546753643362, 5248148594352695009, 7578134041089558055, 18445498855455618598, 7189106720666328053, 6562930842885656592, 6844922721754111014, 780716667496251522, 1, 11860885490747304346, 12272615266561732125, 10423884872730116228, 13929733142214397431, 2117615618497875527, 5203222542820499724, 4538429948347629507, 6877693664463852318, 18109062185597913481, 10147653053574341319, 10079670109614966266, 12064951107563936135, 1152998120279634164, 12844815835032732057, 12896711460106342356, 1, 3078919787028426439, 15265543379215102231, 570695753264939069, 459110976220447167, 2176716793919417092, 14863591412045443847, 14252826520731507004, 15860274927896899753, 10390267100193539166, 17043032359848981742, 818991875743271755, 16275785202399117535, 8465017515346473513, 2777064625189300576, 13072175816967000886, 1, 3442153457185747577, 2606206929260007126, 2317686975478948049, 15948992202505097484, 5942181083636438599, 15457210791918859006, 887605399554676434, 12986387963278623196, 10075175986843357851, 4859683927561004597, 6555547085880890919, 8280537903442447606, 16640962983997717683, 2248822201261309400, 13163090516020988950, 1, 7196986181046756683, 0, 0, 16549653703171386973, 11518702294444124172, 1109770523953150302, 11415315369035533823, 5890935665450471727, 2253657843173273901, 13858462521885404044, 9125187176834287629, 14925311787915179675, 9356310136195018005, 14965392043314054082, 18423301843359275387, 1, 0, 0, 0, 7040940919216905671, 6187741949018394442, 10532732827118411505, 13505135286384426969, 917467356231706545, 9047752258933341547, 2335143583534705649, 18052717581435745313, 9355624911805935499, 7190586108559742607, 2304843099991312546, 16303126242918615541, 1, 0, 0, 0, 15603840856162477962, 3504063088563989096, 6361775464868278813, 17698044987168049155, 8418309402148081318, 15988177746184666422, 4270534912200806378, 12370149697383197906, 8363034440938926080, 17941258791536373709, 11011611614519090457, 10702921331067290122, 1, 0, 0, 0, 8416267285503610972, 15089551497492948945, 5363802036407642792, 10347532956075658842, 17181858623993805271, 15855824450153307212, 7743632312226714799, 1845073853648620670, 2000026205350826313, 18037231946791138113, 14309912549728703012, 13253445327127715869, 1, 1, 0, 0, 8296916230783913551, 16462332824047406715, 6884552431231699198, 12264801256605292690, 18213254076385477335, 9294418641045383238, 8055320100535498720, 11030019888906999906, 1874843776400824061, 12942276814728926620, 15585255994602274508, 16203157087401046215, 1, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 11621565010787354140, 1949391780818670486, 7327781180606137861, 2419787217529136215, 13249250205018233525, 10029758640146777270, 5716716695107147273, 10829954014693503473, 7405851154679558693, 2030135877513774489, 10401768244118899621, 7992444660002654486, 2, 0, 0, 0, 9190577937819620371, 12978309842325015235, 10477013461463931935, 4855391316239312738, 10519745218266697287, 18375374895419140100, 876067972673449756, 17915370314859305010, 17877705855294641231, 120652674332571204, 3378556434908723888, 17649391022523856338, 2, 0, 0, 0, 15052947986857015373, 3007680259418135415, 3197694984858038551, 6563270153864719814, 6889631464391242687, 12614331779225506253, 8884325160266334095, 15067359903282619456, 6045216153329131722, 7293213550537411486, 18377064823051127268, 14733223614830533518, 2, 1248924765333967865, 15568788993061722932, 4037714036443683170, 2584579945446987950, 3496704858534018972, 10965787981110521559, 9000006360952503550, 8377181923806419223, 18078834148678517323, 13751832434934340803, 15306332964801742551, 828627458527105190, 2519953652271814816, 5563221586835004955, 16428502736240336605, 2, 161503374172189975, 7180975586994120588, 13070121377098205312, 9655464535561865455, 4169214041423852321, 5771090309048429384, 6993654059550252564, 14478380452460405826, 12150434000885474539, 18399347099839405992, 88779829066683150, 4428174353386180423, 7547120791432137516, 11951584238447172023, 8804182506418522715, 2, 1859011259345361207, 13205265558511858864, 16229683663108620000, 17688418164436772208, 12658415008146819428, 6291208835901171779, 3297271436089179933, 12943628284217684119, 11639259038601904106, 10502234848011596680, 13946225273525543944, 11318468498957948083, 13851055481982014034, 5765565570506082255, 10777382518726251007, 2, 1023422172081481959, 14540338366569412926, 10271517463444484758, 8863158288377959817, 9066561794313536160, 10161961919995709177, 2094278659773331823, 4371761587112760854, 10972685992181286814, 5641963675353630718, 15569415989710829261, 4258403342016907208, 4740804749082440837, 1594229550076307598, 5045104152796606559, 2, 12053626300860885956, 13987509258486900924, 17286360383804666298, 8301538772707939488, 7700154594411825373, 14332053735409157564, 6894934729579673545, 5430665485920789830, 10553406992561403551, 11528229548578861261, 3294597468571627674, 2903493961726666462, 10560076388764518443, 3749651622493296975, 18114127684252877364, 2, 12240592655856206466, 6264740020775290721, 859763567572081467, 8842953438422484122, 14329981889510246939, 3582542183068105786, 6023391989510151456, 2953193964713672141, 12396149302348639250, 13882467375549577428, 3586988377712407519, 7213506509798642482, 13435456572406932891, 9645941250097564536, 2781650568775738364, 2, 15637532899188291351, 12683652363890573925, 2704597975013858668, 17832955104866332736, 6815586591600943723, 13755349213265671492, 8924117914024270326, 3329964149511691453, 11039495891702065838, 15670789219464690273, 11281671746346947225, 10492374165392519994, 11439270560757451470, 7337394676363778206, 2272256910055258613, 2, 3130343892077994054, 0, 0, 1136320813223337744, 11438337112810950654, 16692992611178972868, 9482499518540692367, 5451078715157933845, 18403012202839423090, 13340398881404871439, 16853681425214524760, 5540259513623809808, 7754241405876268140, 15538673406175044580, 15705643278636475771, 2, 0, 0, 0, 6593967995490198369, 546795078589070868, 8093299549277945163, 1445098694824947603, 16968796337604054074, 7105604958885889972, 12829574433066656016, 10962264142076089650, 6970346774265824779, 5668604568559492205, 15930738860655806958, 14403244990983785091, 2, 0, 0, 0, 7770193319703938593, 6228225228483877842, 5315425894230577486, 8012448033829391087, 5395398520381640698, 8770911350053719042, 14827874098479004474, 11024999006644848903, 13791657658989935762, 17830220104295996918, 2090812709146185278, 8577173283657139529, 2, 0, 0, 0, 17471481800618265475, 1930822204634793148, 12769804899579893379, 13068810900387198296, 10732524945348487200, 1519317270498249877, 12604995971822921101, 14107509487727911757, 8257552923782319555, 12034059115493819529, 4343039820825149431, 395799121324568963, 2, 1, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(10) }, program_info: ProgramInfo { program_hash: Word([11076886436648289475, 1436737619885125274, 13911724531697299597, 14872058964661698518]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 11, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_20.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_20.snap index 113011af3f..51d3211676 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_20.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_20.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 0, 9, 0, 1, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 8, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 8, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 8, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 8, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 8, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 8, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 8, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 8, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 8, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 7, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 7, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 7, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 7, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 7, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 7, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 7, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 7, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 6, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 6, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 6, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 6, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 6, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 6, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 6, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 6, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 5, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 5, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 5, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 5, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 5, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 5, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 5, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 5, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 4, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 4, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 4, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 4, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 4, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 4, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 4, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 4, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 3, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 3, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 3, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 3, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 3, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 3, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 2, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 2, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 2, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 1, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 1, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 1, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 1, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 4539061041759240, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 0, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, 7, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 92, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 93, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 94, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 95, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 96, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 97, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 98, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 99, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 100, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 101, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 102, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 103, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 104, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 105, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 106, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 107, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 108, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 109, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 110, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 111, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 112, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 113, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 114, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 115, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 116, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 117, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 118, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 119, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 120, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 121, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 122, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 123, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 124, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 125, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 126, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 127, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 17501946937763933948, 7675566390936895331, 4994195757323687992, 11767874304575963253, 1780538466631614833, 4063459066104458636, 4522236916001186996, 2303690644539739387, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 1, 17435140114479298129, 1435885832764997654, 215283041871207160, 7082661356804799086, 5416435572438850612, 2882953289127770017, 16218313204809782547, 8575194234315674944, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 0, 0, 0, 0, 1, 4, 0, 1, 0, 0, 4539061041759240, 0, 0, 0, 0, 0, 0, 0, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 0, 0, 0, 0, 2, 5, 0, 0, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7634873969298005933, 8950987357718038443, 13680774040296089728, 16762235143106196223, 16430047160501569010, 14861946194768960443, 10513948170299859642, 11975838346548297297, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 0, 0, 14335534823153189982, 2564274019290773358, 1240147410646593301, 4309759344612372747, 15680264455718574947, 7749928968172043074, 10379737442849991001, 12214799133441547975, 3010911421139668616, 1139563322249956440, 10665555756390945477, 11416383848154538939, 0, 0, 0, 0, 2820210263285766173, 10720048331316524888, 16336081156703325682, 12593780523887353343, 14860169004739645851, 4935077138385472484, 3877939940902222438, 15459208758406011750, 3416780490017188932, 10124179113180116382, 6241701633229064883, 4550300662347412321, 0, 0, 0, 0, 17236626943327285546, 6651694379495204788, 8336772613389807368, 4706110611062451689, 16613817815676391042, 14575939158311467485, 16532748839852396556, 15511587739895040434, 16203954224127058938, 7875674405969275087, 1782833494123441622, 5398391387950663852, 0, 3216814705581329798, 8051488944047311617, 10360317537605597112, 10000406277741968662, 12388875369708291484, 5436159307074426676, 4141714552502191024, 5296179612907339628, 12465452801273636461, 11579821559146688098, 17723772565616660471, 269753408705321891, 5483693307349928485, 4148849849976411384, 14094161360764912752, 0, 14178823458963512244, 3602272614600789469, 13905084130457283808, 3515474081943841043, 10660299906599270345, 5372326410876184636, 6156913135348580725, 2727608749578829361, 9988179754024184550, 1886131673715221226, 3768033638170488110, 6593749857609147597, 7566856789186803155, 3093019441584322610, 8761844938205749171, 0, 14932870104720801196, 6785058050362917876, 15400461162492325976, 6053827097512010536, 18058988363310447424, 952127655583997344, 8130038137052345894, 14574147540888753393, 5211967294049811177, 1357444766332736487, 2891025200344158148, 4635414157698539724, 18277403464256252089, 8597937863411269927, 3185668978082087344, 0, 1201637799925499218, 17612205884537743144, 12773097028646980525, 8960712552465026661, 9623705551395999386, 5020935239539129789, 701544453173650648, 8059351235840793745, 6694468041861665026, 12472822793413282781, 6236280916588703543, 15075342768292292116, 16879266252447328622, 7949966339384557545, 15511932232010057342, 0, 6517296063227531697, 13317289165024626296, 11586609619777615563, 11979786878033472693, 843700314249069534, 11468557060291821177, 1938925551829656577, 10904264752260159799, 14795276649641559516, 15980631930421053887, 366057401724727850, 1413999795298148165, 10480838138111592719, 355079579910825811, 1574006689819641482, 0, 7633630111197404945, 13444551449194423842, 3201988963668978031, 18123254724334785239, 5226109711488235461, 9579884402934033802, 10839677918877320285, 2271701567336889031, 7760841801390371710, 11471967310545114203, 10354312982073068000, 7915945758644279589, 6620992389563449781, 17687631000570413775, 16989897277811855421, 0, 12268347784756099869, 10293513373138690724, 4130570496550447446, 134987944822694065, 10187646862534872963, 13580463007636418163, 8493022306153899371, 11388412644925859267, 6033082055004604682, 10953623189535037762, 15578008213258609099, 3945822118816847854, 2965464347717975564, 6363341880115016817, 9251952223235505862, 0, 13712872653154503104, 0, 0, 7590275663852506792, 17142561411497204401, 15125840589396167585, 853397793542178445, 3473479938564490101, 1392444963431030092, 730262405744903776, 13260993287089333654, 8393438592264674483, 11306148085986296698, 5684934488312461188, 9028920192463013348, 0, 0, 0, 0, 8641507014103477635, 3846511598062821009, 11894650477774570670, 14544980701902675312, 11986220662741086769, 12997958323187254385, 810115173760427441, 7273544940783271884, 10804780975337509125, 2086088846957217289, 10435649056729292941, 14937599399566357015, 0, 0, 0, 0, 12810611099391073458, 10193722466575479921, 2671742567446566567, 5454248439622432085, 11254344690855207499, 5844726498509817937, 2972078815201344240, 16224554024045094426, 11285479015367787523, 1329278757683796924, 17595360511324176896, 12194499054171516103, 0, 0, 0, 0, 18425592401989202654, 4468095142881580960, 4730631766664398723, 10135320711870011464, 10078686613521300141, 112670771943665928, 604160431047680026, 15076340203450547457, 5649049948736742168, 1372653659349995519, 10291410187286507610, 15319982794428564777, 0, 1, 0, 0, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 17501946937763933948, 7675566390936895331, 4994195757323687992, 11767874304575963253, 1780538466631614833, 4063459066104458636, 4522236916001186996, 2303690644539739387, 0, 1, 0, 0, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 0, 0, 0, 0, 1, 0, 0, 0, 17247772468616032613, 7600025394925764221, 7955777840235657962, 14778507181110587334, 6625781598431722644, 11269587024342180880, 1095078499718437680, 17629529705726254471, 12173823341773609445, 12027777926473976977, 10548232447298848920, 11191668470571035623, 1, 0, 0, 0, 7212854399021382347, 8260158641355935804, 2036343373575726272, 20645146758280648, 2412515286962891034, 12558060813250728464, 18115796003320518003, 9956385073995476810, 8355451719607804905, 11898465697935779867, 11481620581339396075, 5053988127852505047, 1, 0, 0, 0, 4083599105365810292, 8723345258690657607, 11473264062281662940, 6256926579240276105, 5468644964009567782, 758108007400586868, 9520951491853586676, 17787553860746980342, 9963059105071042759, 5935249146141459086, 1727497401312731108, 7027114296019665026, 1, 17225384659479695880, 7547107831863943900, 7586494724370585223, 18439830271691383815, 510380585799936904, 2097735149637624737, 5010192402325660771, 17721827191138606667, 14151172043623379279, 2621138995929369414, 4866521825536676258, 4936774475173485037, 6084983335248988076, 1316337623165354879, 9646582244215554347, 1, 4516215479177926657, 9925616832160314316, 9773586622763691078, 948219269412661958, 14611700435569786419, 16773932546889685810, 1107809727464434614, 9560879713002703906, 11076903123274807987, 16881679433359356735, 2715948938378293043, 11628515061150373855, 4162557158410810904, 5205045181658915242, 11540698754684563718, 1, 10202041226865208435, 141985322414560908, 3299848892110581995, 3159604077290060804, 8622054486534314214, 5474513080224483433, 4110000601336855383, 4902345883390777501, 15764127542136630764, 4294885769175896152, 6235735371157527541, 2485227587384103094, 8848665971323760288, 13954308106415618481, 10953923591850316072, 1, 5257746147149307910, 17174783517453828871, 4597653677804532205, 18237887045237368733, 11918935917804454770, 14333756346908171038, 11371612979173978084, 3583002294292261341, 13270804703147200974, 14723227373679438701, 1357634590270471295, 5781266174666314114, 17760102468114475087, 16434384456628942893, 3900814811719656723, 1, 13884820746927058788, 9270374989065318967, 5246121405124210671, 7663324268782961837, 2191709360144157218, 4148893382614159356, 2733948193995819857, 14132085828870775797, 1003614799924134348, 483130048856287960, 2093261773321017838, 7244482392958895511, 4476308567349096957, 11365067184664022772, 1496399840045018815, 1, 14034150103549409361, 18096513872460075506, 11127518800743472703, 16169827357990058769, 768889104582256256, 5063672134989793000, 8177152994054270953, 14519774356616750515, 5282014258228939534, 11185753418772485201, 7339855872361189863, 2751765428506627026, 16410858644837695285, 3168955570935107271, 4235839041903922738, 1, 18296364930804407816, 4876679931892485987, 8700931409395017179, 14306671231110976602, 2710499980265003166, 9240811163216966608, 8568348789446621778, 15370436904049879550, 4782083616386060395, 9191241905548455193, 6045653345021378740, 13028324881145000696, 5837184942005509449, 3594114040721413816, 5576112453622336198, 1, 18227500723287175099, 0, 0, 16730341839826576408, 3692638321978467303, 6433242332622521009, 2291292895494898983, 3900172221093734467, 14080120921585297673, 13252907867885073269, 16652266278011828989, 12684155440930581084, 16853736578527067231, 10903248264916314668, 17159383822002743974, 1, 0, 0, 0, 9663317297640029186, 3179815813611408161, 15382868405397841289, 17774841093291303690, 15561756925779456415, 11787075848521667463, 17026707310279468613, 12513410256584319322, 17661065248686859389, 10796110328971392976, 4822670343402163355, 11372642333714183005, 1, 0, 0, 0, 12923780624719410118, 15228217436729383467, 16407456617835496488, 191254740555322213, 10417005955196427443, 15631224324097912792, 9481620082656198805, 14005095752388629920, 15242482978284769044, 14954808412257515074, 12996263148551024094, 15208300493676788879, 1, 0, 0, 0, 8481699980895920040, 11355566957836326067, 10008478932238631638, 1125833604663061758, 16919269590511518832, 2391375154551093567, 14821552413345970431, 16787721412847018840, 7352920238514741096, 10037843785082573009, 10187073057528044009, 4767066643997340533, 1, 1, 0, 0, 17435140114479298129, 1435885832764997654, 215283041871207160, 7082661356804799086, 5416435572438850612, 2882953289127770017, 16218313204809782547, 8575194234315674944, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 1, 1, 0, 0, 4539061041759240, 0, 0, 0, 0, 0, 0, 0, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 2, 0, 0, 0, 13071177483731847596, 9686292801190181773, 17651358204212384773, 623102158970833400, 18161683613551356205, 1905311249198158721, 11609382548502599221, 13817075853679351908, 9025310235253336765, 7882119478620692609, 18179794579967457372, 7964168423813383674, 2, 0, 0, 0, 3167601002832997672, 14415171155867193311, 16137210400120039159, 66363658294528744, 18026300366666585427, 16119825485646609021, 1791495851310687818, 10854206662041334332, 13581647106013633474, 11888984354923028713, 1057821317113010102, 5796297350077934241, 2, 0, 0, 0, 7784671065083678705, 3558884115261448151, 11418253632452412773, 1403627403973388394, 819084279764884206, 1407109872228328204, 5246174561222584074, 3872887851860878865, 6987805815025651594, 16813603419480913328, 2035491262798693541, 63867729655895697, 2, 15907894811979069988, 4816131323033975155, 7888904563512413895, 5092349396408408417, 1042143422396538716, 3762822649239783949, 8196544070748041586, 10315355419527218517, 7339407603689058379, 10639948648547682671, 6123607466480072181, 14853363043128504640, 17058485441092820903, 17161076486544329100, 14143325759900421814, 2, 7591190062109417050, 9132932650297078912, 18059219497059994491, 12482898336916528446, 13174698819228496505, 2493773128969151007, 12643635820180007001, 3083772711687177863, 15089756422354654327, 7693091574011130832, 9436166604667119301, 12830611190312913054, 7973972404932364743, 10464756062953622156, 109716314765170116, 2, 4126769846122054656, 707829251663853104, 7629957164358255416, 9341908378498020691, 3690464399435141132, 13117698496574260979, 5451440718276137237, 7550245756112946615, 11753021061535422888, 15170963155944982481, 5947667375361174600, 1596111063080183500, 11749390155806323479, 12692175311028724710, 7916688742951942744, 2, 4645035303164012400, 13915916204012920340, 12291486388396280500, 525851188163440848, 4707286392244844218, 16013577564573367551, 13868023936870720304, 5148135937681993147, 18040333195915377325, 11529652625051471948, 1852565776215464254, 14161537793254580129, 4048643506759177080, 14450982547699381817, 2934196537578419476, 2, 11488303914325795411, 11765426007596825119, 1523836086483283753, 16127371626322030471, 13747186051093078910, 14683368485138504162, 12593690295898988948, 15228744413198821157, 7332814344843067213, 14138816066324498937, 2102762737278850021, 13313601398896337631, 13121420191740374129, 6257139546349661876, 9729033453413867848, 2, 9708911278112697027, 15643607479776624214, 10807857923693087240, 8404702627227890823, 10047145562846981342, 15600116582547970218, 4297960339811615000, 17447637109133227112, 14290298932221000300, 13800955719543521787, 110863501940494442, 13161269314340397651, 2105063197779559491, 13124468932815073025, 714461081021505970, 2, 9223191767830668365, 13626886630453446877, 10808778593074643576, 16763094170387080928, 10091458508962207795, 1734402459021112515, 4981576688453120205, 11005274036034670139, 14260715897147313611, 14806437275519594979, 10665791613726598397, 14265115120417368616, 747062796356804415, 4246870895382373678, 13220614616296969944, 2, 13513127228332885632, 0, 0, 1736827337212275711, 17257174989540467501, 1988362627286450135, 99834712623465846, 5084645948111347049, 5551869680521103369, 12383048268571476338, 6568255087418472584, 13499605423494581814, 14111004362252364285, 15934954653433784852, 9984027318635910457, 2, 0, 0, 0, 8495902383234192130, 13668678621722857045, 1558838040737371863, 15847552217836362268, 13055057243174343494, 8303291408352268536, 9870497363393333103, 18078068399423404657, 7583410213159199266, 1978193982764743020, 10535947734617692172, 10075032150190943363, 2, 0, 0, 0, 12695633069775171902, 12809525764874681027, 9040743543114295790, 13518431885683893560, 13563025936958449940, 1763639376881521592, 970981096276376670, 9777469034389610638, 6320282846588280835, 14270738802862611769, 8722537202086045490, 8243744667044787741, 2, 0, 0, 0, 13642526033304235324, 4183147132623728298, 15386162382022344959, 16003283145777258468, 8391278540569750664, 4213029299554789023, 3437746951445512084, 8911792534982071466, 16183870450597134620, 7787473152259124966, 7310128289290306511, 17060872974098059643, 2, 1, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7634873969298005933, 8950987357718038443, 13680774040296089728, 16762235143106196223, 16430047160501569010, 14861946194768960443, 10513948170299859642, 11975838346548297297, 2, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 11621565010787354140, 1949391780818670486, 7327781180606137861, 2419787217529136215, 13249250205018233525, 10029758640146777270, 5716716695107147273, 10829954014693503473, 7405851154679558693, 2030135877513774489, 10401768244118899621, 7992444660002654486, 3, 0, 0, 0, 9190577937819620371, 12978309842325015235, 10477013461463931935, 4855391316239312738, 10519745218266697287, 18375374895419140100, 876067972673449756, 17915370314859305010, 17877705855294641231, 120652674332571204, 3378556434908723888, 17649391022523856338, 3, 0, 0, 0, 15052947986857015373, 3007680259418135415, 3197694984858038551, 6563270153864719814, 6889631464391242687, 12614331779225506253, 8884325160266334095, 15067359903282619456, 6045216153329131722, 7293213550537411486, 18377064823051127268, 14733223614830533518, 3, 1248924765333967865, 15568788993061722932, 4037714036443683170, 2584579945446987950, 3496704858534018972, 10965787981110521559, 9000006360952503550, 8377181923806419223, 18078834148678517323, 13751832434934340803, 15306332964801742551, 828627458527105190, 2519953652271814816, 5563221586835004955, 16428502736240336605, 3, 161503374172189975, 7180975586994120588, 13070121377098205312, 9655464535561865455, 4169214041423852321, 5771090309048429384, 6993654059550252564, 14478380452460405826, 12150434000885474539, 18399347099839405992, 88779829066683150, 4428174353386180423, 7547120791432137516, 11951584238447172023, 8804182506418522715, 3, 1859011259345361207, 13205265558511858864, 16229683663108620000, 17688418164436772208, 12658415008146819428, 6291208835901171779, 3297271436089179933, 12943628284217684119, 11639259038601904106, 10502234848011596680, 13946225273525543944, 11318468498957948083, 13851055481982014034, 5765565570506082255, 10777382518726251007, 3, 1023422172081481959, 14540338366569412926, 10271517463444484758, 8863158288377959817, 9066561794313536160, 10161961919995709177, 2094278659773331823, 4371761587112760854, 10972685992181286814, 5641963675353630718, 15569415989710829261, 4258403342016907208, 4740804749082440837, 1594229550076307598, 5045104152796606559, 3, 12053626300860885956, 13987509258486900924, 17286360383804666298, 8301538772707939488, 7700154594411825373, 14332053735409157564, 6894934729579673545, 5430665485920789830, 10553406992561403551, 11528229548578861261, 3294597468571627674, 2903493961726666462, 10560076388764518443, 3749651622493296975, 18114127684252877364, 3, 12240592655856206466, 6264740020775290721, 859763567572081467, 8842953438422484122, 14329981889510246939, 3582542183068105786, 6023391989510151456, 2953193964713672141, 12396149302348639250, 13882467375549577428, 3586988377712407519, 7213506509798642482, 13435456572406932891, 9645941250097564536, 2781650568775738364, 3, 15637532899188291351, 12683652363890573925, 2704597975013858668, 17832955104866332736, 6815586591600943723, 13755349213265671492, 8924117914024270326, 3329964149511691453, 11039495891702065838, 15670789219464690273, 11281671746346947225, 10492374165392519994, 11439270560757451470, 7337394676363778206, 2272256910055258613, 3, 3130343892077994054, 0, 0, 1136320813223337744, 11438337112810950654, 16692992611178972868, 9482499518540692367, 5451078715157933845, 18403012202839423090, 13340398881404871439, 16853681425214524760, 5540259513623809808, 7754241405876268140, 15538673406175044580, 15705643278636475771, 3, 0, 0, 0, 6593967995490198369, 546795078589070868, 8093299549277945163, 1445098694824947603, 16968796337604054074, 7105604958885889972, 12829574433066656016, 10962264142076089650, 6970346774265824779, 5668604568559492205, 15930738860655806958, 14403244990983785091, 3, 0, 0, 0, 7770193319703938593, 6228225228483877842, 5315425894230577486, 8012448033829391087, 5395398520381640698, 8770911350053719042, 14827874098479004474, 11024999006644848903, 13791657658989935762, 17830220104295996918, 2090812709146185278, 8577173283657139529, 3, 0, 0, 0, 17471481800618265475, 1930822204634793148, 12769804899579893379, 13068810900387198296, 10732524945348487200, 1519317270498249877, 12604995971822921101, 14107509487727911757, 8257552923782319555, 12034059115493819529, 4343039820825149431, 395799121324568963, 3, 1, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(88) }, program_info: ProgramInfo { program_hash: Word([11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 89, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 0, 9, 0, 1, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 8, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 8, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 8, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 8, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 8, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 8, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 8, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 8, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 8, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 7, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 7, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 7, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 7, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 7, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 7, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 7, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 7, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 6, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 6, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 6, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 6, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 6, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 6, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 6, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 6, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 5, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 5, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 5, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 5, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 5, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 5, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 5, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 5, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 4, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 4, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 4, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 4, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 4, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 4, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 4, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 4, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 3, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 3, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 3, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 3, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 3, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 3, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 2, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 2, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 2, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 1, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 1, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 1, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 1, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 4539061041759240, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 0, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, 7, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 92, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 93, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 94, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 95, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 96, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 97, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 98, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 99, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 100, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 101, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 102, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 103, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 104, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 105, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 106, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 107, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 108, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 109, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 110, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 111, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 112, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 113, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 114, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 115, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 116, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 117, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 118, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 119, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 120, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 121, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 122, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 123, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 124, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 125, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 126, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 127, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 17501946937763933948, 7675566390936895331, 4994195757323687992, 11767874304575963253, 1780538466631614833, 4063459066104458636, 4522236916001186996, 2303690644539739387, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 1, 17435140114479298129, 1435885832764997654, 215283041871207160, 7082661356804799086, 5416435572438850612, 2882953289127770017, 16218313204809782547, 8575194234315674944, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 0, 0, 0, 0, 1, 4, 0, 1, 0, 0, 4539061041759240, 0, 0, 0, 0, 0, 0, 0, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 0, 0, 0, 0, 2, 5, 0, 0, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7634873969298005933, 8950987357718038443, 13680774040296089728, 16762235143106196223, 16430047160501569010, 14861946194768960443, 10513948170299859642, 11975838346548297297, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 0, 0, 14335534823153189982, 2564274019290773358, 1240147410646593301, 4309759344612372747, 15680264455718574947, 7749928968172043074, 10379737442849991001, 12214799133441547975, 3010911421139668616, 1139563322249956440, 10665555756390945477, 11416383848154538939, 0, 0, 0, 0, 2820210263285766173, 10720048331316524888, 16336081156703325682, 12593780523887353343, 14860169004739645851, 4935077138385472484, 3877939940902222438, 15459208758406011750, 3416780490017188932, 10124179113180116382, 6241701633229064883, 4550300662347412321, 0, 0, 0, 0, 17236626943327285546, 6651694379495204788, 8336772613389807368, 4706110611062451689, 16613817815676391042, 14575939158311467485, 16532748839852396556, 15511587739895040434, 16203954224127058938, 7875674405969275087, 1782833494123441622, 5398391387950663852, 0, 3216814705581329798, 8051488944047311617, 10360317537605597112, 10000406277741968662, 12388875369708291484, 5436159307074426676, 4141714552502191024, 5296179612907339628, 12465452801273636461, 11579821559146688098, 17723772565616660471, 269753408705321891, 5483693307349928485, 4148849849976411384, 14094161360764912752, 0, 14178823458963512244, 3602272614600789469, 13905084130457283808, 3515474081943841043, 10660299906599270345, 5372326410876184636, 6156913135348580725, 2727608749578829361, 9988179754024184550, 1886131673715221226, 3768033638170488110, 6593749857609147597, 7566856789186803155, 3093019441584322610, 8761844938205749171, 0, 14932870104720801196, 6785058050362917876, 15400461162492325976, 6053827097512010536, 18058988363310447424, 952127655583997344, 8130038137052345894, 14574147540888753393, 5211967294049811177, 1357444766332736487, 2891025200344158148, 4635414157698539724, 18277403464256252089, 8597937863411269927, 3185668978082087344, 0, 1201637799925499218, 17612205884537743144, 12773097028646980525, 8960712552465026661, 9623705551395999386, 5020935239539129789, 701544453173650648, 8059351235840793745, 6694468041861665026, 12472822793413282781, 6236280916588703543, 15075342768292292116, 16879266252447328622, 7949966339384557545, 15511932232010057342, 0, 6517296063227531697, 13317289165024626296, 11586609619777615563, 11979786878033472693, 843700314249069534, 11468557060291821177, 1938925551829656577, 10904264752260159799, 14795276649641559516, 15980631930421053887, 366057401724727850, 1413999795298148165, 10480838138111592719, 355079579910825811, 1574006689819641482, 0, 7633630111197404945, 13444551449194423842, 3201988963668978031, 18123254724334785239, 5226109711488235461, 9579884402934033802, 10839677918877320285, 2271701567336889031, 7760841801390371710, 11471967310545114203, 10354312982073068000, 7915945758644279589, 6620992389563449781, 17687631000570413775, 16989897277811855421, 0, 12268347784756099869, 10293513373138690724, 4130570496550447446, 134987944822694065, 10187646862534872963, 13580463007636418163, 8493022306153899371, 11388412644925859267, 6033082055004604682, 10953623189535037762, 15578008213258609099, 3945822118816847854, 2965464347717975564, 6363341880115016817, 9251952223235505862, 0, 13712872653154503104, 0, 0, 7590275663852506792, 17142561411497204401, 15125840589396167585, 853397793542178445, 3473479938564490101, 1392444963431030092, 730262405744903776, 13260993287089333654, 8393438592264674483, 11306148085986296698, 5684934488312461188, 9028920192463013348, 0, 0, 0, 0, 8641507014103477635, 3846511598062821009, 11894650477774570670, 14544980701902675312, 11986220662741086769, 12997958323187254385, 810115173760427441, 7273544940783271884, 10804780975337509125, 2086088846957217289, 10435649056729292941, 14937599399566357015, 0, 0, 0, 0, 12810611099391073458, 10193722466575479921, 2671742567446566567, 5454248439622432085, 11254344690855207499, 5844726498509817937, 2972078815201344240, 16224554024045094426, 11285479015367787523, 1329278757683796924, 17595360511324176896, 12194499054171516103, 0, 0, 0, 0, 18425592401989202654, 4468095142881580960, 4730631766664398723, 10135320711870011464, 10078686613521300141, 112670771943665928, 604160431047680026, 15076340203450547457, 5649049948736742168, 1372653659349995519, 10291410187286507610, 15319982794428564777, 0, 1, 0, 0, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 17501946937763933948, 7675566390936895331, 4994195757323687992, 11767874304575963253, 1780538466631614833, 4063459066104458636, 4522236916001186996, 2303690644539739387, 0, 1, 0, 0, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 0, 0, 0, 0, 1, 0, 0, 0, 17247772468616032613, 7600025394925764221, 7955777840235657962, 14778507181110587334, 6625781598431722644, 11269587024342180880, 1095078499718437680, 17629529705726254471, 12173823341773609445, 12027777926473976977, 10548232447298848920, 11191668470571035623, 1, 0, 0, 0, 7212854399021382347, 8260158641355935804, 2036343373575726272, 20645146758280648, 2412515286962891034, 12558060813250728464, 18115796003320518003, 9956385073995476810, 8355451719607804905, 11898465697935779867, 11481620581339396075, 5053988127852505047, 1, 0, 0, 0, 4083599105365810292, 8723345258690657607, 11473264062281662940, 6256926579240276105, 5468644964009567782, 758108007400586868, 9520951491853586676, 17787553860746980342, 9963059105071042759, 5935249146141459086, 1727497401312731108, 7027114296019665026, 1, 17225384659479695880, 7547107831863943900, 7586494724370585223, 18439830271691383815, 510380585799936904, 2097735149637624737, 5010192402325660771, 17721827191138606667, 14151172043623379279, 2621138995929369414, 4866521825536676258, 4936774475173485037, 6084983335248988076, 1316337623165354879, 9646582244215554347, 1, 4516215479177926657, 9925616832160314316, 9773586622763691078, 948219269412661958, 14611700435569786419, 16773932546889685810, 1107809727464434614, 9560879713002703906, 11076903123274807987, 16881679433359356735, 2715948938378293043, 11628515061150373855, 4162557158410810904, 5205045181658915242, 11540698754684563718, 1, 10202041226865208435, 141985322414560908, 3299848892110581995, 3159604077290060804, 8622054486534314214, 5474513080224483433, 4110000601336855383, 4902345883390777501, 15764127542136630764, 4294885769175896152, 6235735371157527541, 2485227587384103094, 8848665971323760288, 13954308106415618481, 10953923591850316072, 1, 5257746147149307910, 17174783517453828871, 4597653677804532205, 18237887045237368733, 11918935917804454770, 14333756346908171038, 11371612979173978084, 3583002294292261341, 13270804703147200974, 14723227373679438701, 1357634590270471295, 5781266174666314114, 17760102468114475087, 16434384456628942893, 3900814811719656723, 1, 13884820746927058788, 9270374989065318967, 5246121405124210671, 7663324268782961837, 2191709360144157218, 4148893382614159356, 2733948193995819857, 14132085828870775797, 1003614799924134348, 483130048856287960, 2093261773321017838, 7244482392958895511, 4476308567349096957, 11365067184664022772, 1496399840045018815, 1, 14034150103549409361, 18096513872460075506, 11127518800743472703, 16169827357990058769, 768889104582256256, 5063672134989793000, 8177152994054270953, 14519774356616750515, 5282014258228939534, 11185753418772485201, 7339855872361189863, 2751765428506627026, 16410858644837695285, 3168955570935107271, 4235839041903922738, 1, 18296364930804407816, 4876679931892485987, 8700931409395017179, 14306671231110976602, 2710499980265003166, 9240811163216966608, 8568348789446621778, 15370436904049879550, 4782083616386060395, 9191241905548455193, 6045653345021378740, 13028324881145000696, 5837184942005509449, 3594114040721413816, 5576112453622336198, 1, 18227500723287175099, 0, 0, 16730341839826576408, 3692638321978467303, 6433242332622521009, 2291292895494898983, 3900172221093734467, 14080120921585297673, 13252907867885073269, 16652266278011828989, 12684155440930581084, 16853736578527067231, 10903248264916314668, 17159383822002743974, 1, 0, 0, 0, 9663317297640029186, 3179815813611408161, 15382868405397841289, 17774841093291303690, 15561756925779456415, 11787075848521667463, 17026707310279468613, 12513410256584319322, 17661065248686859389, 10796110328971392976, 4822670343402163355, 11372642333714183005, 1, 0, 0, 0, 12923780624719410118, 15228217436729383467, 16407456617835496488, 191254740555322213, 10417005955196427443, 15631224324097912792, 9481620082656198805, 14005095752388629920, 15242482978284769044, 14954808412257515074, 12996263148551024094, 15208300493676788879, 1, 0, 0, 0, 8481699980895920040, 11355566957836326067, 10008478932238631638, 1125833604663061758, 16919269590511518832, 2391375154551093567, 14821552413345970431, 16787721412847018840, 7352920238514741096, 10037843785082573009, 10187073057528044009, 4767066643997340533, 1, 1, 0, 0, 17435140114479298129, 1435885832764997654, 215283041871207160, 7082661356804799086, 5416435572438850612, 2882953289127770017, 16218313204809782547, 8575194234315674944, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 1, 1, 0, 0, 4539061041759240, 0, 0, 0, 0, 0, 0, 0, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 2, 0, 0, 0, 13071177483731847596, 9686292801190181773, 17651358204212384773, 623102158970833400, 18161683613551356205, 1905311249198158721, 11609382548502599221, 13817075853679351908, 9025310235253336765, 7882119478620692609, 18179794579967457372, 7964168423813383674, 2, 0, 0, 0, 3167601002832997672, 14415171155867193311, 16137210400120039159, 66363658294528744, 18026300366666585427, 16119825485646609021, 1791495851310687818, 10854206662041334332, 13581647106013633474, 11888984354923028713, 1057821317113010102, 5796297350077934241, 2, 0, 0, 0, 7784671065083678705, 3558884115261448151, 11418253632452412773, 1403627403973388394, 819084279764884206, 1407109872228328204, 5246174561222584074, 3872887851860878865, 6987805815025651594, 16813603419480913328, 2035491262798693541, 63867729655895697, 2, 15907894811979069988, 4816131323033975155, 7888904563512413895, 5092349396408408417, 1042143422396538716, 3762822649239783949, 8196544070748041586, 10315355419527218517, 7339407603689058379, 10639948648547682671, 6123607466480072181, 14853363043128504640, 17058485441092820903, 17161076486544329100, 14143325759900421814, 2, 7591190062109417050, 9132932650297078912, 18059219497059994491, 12482898336916528446, 13174698819228496505, 2493773128969151007, 12643635820180007001, 3083772711687177863, 15089756422354654327, 7693091574011130832, 9436166604667119301, 12830611190312913054, 7973972404932364743, 10464756062953622156, 109716314765170116, 2, 4126769846122054656, 707829251663853104, 7629957164358255416, 9341908378498020691, 3690464399435141132, 13117698496574260979, 5451440718276137237, 7550245756112946615, 11753021061535422888, 15170963155944982481, 5947667375361174600, 1596111063080183500, 11749390155806323479, 12692175311028724710, 7916688742951942744, 2, 4645035303164012400, 13915916204012920340, 12291486388396280500, 525851188163440848, 4707286392244844218, 16013577564573367551, 13868023936870720304, 5148135937681993147, 18040333195915377325, 11529652625051471948, 1852565776215464254, 14161537793254580129, 4048643506759177080, 14450982547699381817, 2934196537578419476, 2, 11488303914325795411, 11765426007596825119, 1523836086483283753, 16127371626322030471, 13747186051093078910, 14683368485138504162, 12593690295898988948, 15228744413198821157, 7332814344843067213, 14138816066324498937, 2102762737278850021, 13313601398896337631, 13121420191740374129, 6257139546349661876, 9729033453413867848, 2, 9708911278112697027, 15643607479776624214, 10807857923693087240, 8404702627227890823, 10047145562846981342, 15600116582547970218, 4297960339811615000, 17447637109133227112, 14290298932221000300, 13800955719543521787, 110863501940494442, 13161269314340397651, 2105063197779559491, 13124468932815073025, 714461081021505970, 2, 9223191767830668365, 13626886630453446877, 10808778593074643576, 16763094170387080928, 10091458508962207795, 1734402459021112515, 4981576688453120205, 11005274036034670139, 14260715897147313611, 14806437275519594979, 10665791613726598397, 14265115120417368616, 747062796356804415, 4246870895382373678, 13220614616296969944, 2, 13513127228332885632, 0, 0, 1736827337212275711, 17257174989540467501, 1988362627286450135, 99834712623465846, 5084645948111347049, 5551869680521103369, 12383048268571476338, 6568255087418472584, 13499605423494581814, 14111004362252364285, 15934954653433784852, 9984027318635910457, 2, 0, 0, 0, 8495902383234192130, 13668678621722857045, 1558838040737371863, 15847552217836362268, 13055057243174343494, 8303291408352268536, 9870497363393333103, 18078068399423404657, 7583410213159199266, 1978193982764743020, 10535947734617692172, 10075032150190943363, 2, 0, 0, 0, 12695633069775171902, 12809525764874681027, 9040743543114295790, 13518431885683893560, 13563025936958449940, 1763639376881521592, 970981096276376670, 9777469034389610638, 6320282846588280835, 14270738802862611769, 8722537202086045490, 8243744667044787741, 2, 0, 0, 0, 13642526033304235324, 4183147132623728298, 15386162382022344959, 16003283145777258468, 8391278540569750664, 4213029299554789023, 3437746951445512084, 8911792534982071466, 16183870450597134620, 7787473152259124966, 7310128289290306511, 17060872974098059643, 2, 1, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7634873969298005933, 8950987357718038443, 13680774040296089728, 16762235143106196223, 16430047160501569010, 14861946194768960443, 10513948170299859642, 11975838346548297297, 2, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 11621565010787354140, 1949391780818670486, 7327781180606137861, 2419787217529136215, 13249250205018233525, 10029758640146777270, 5716716695107147273, 10829954014693503473, 7405851154679558693, 2030135877513774489, 10401768244118899621, 7992444660002654486, 3, 0, 0, 0, 9190577937819620371, 12978309842325015235, 10477013461463931935, 4855391316239312738, 10519745218266697287, 18375374895419140100, 876067972673449756, 17915370314859305010, 17877705855294641231, 120652674332571204, 3378556434908723888, 17649391022523856338, 3, 0, 0, 0, 15052947986857015373, 3007680259418135415, 3197694984858038551, 6563270153864719814, 6889631464391242687, 12614331779225506253, 8884325160266334095, 15067359903282619456, 6045216153329131722, 7293213550537411486, 18377064823051127268, 14733223614830533518, 3, 1248924765333967865, 15568788993061722932, 4037714036443683170, 2584579945446987950, 3496704858534018972, 10965787981110521559, 9000006360952503550, 8377181923806419223, 18078834148678517323, 13751832434934340803, 15306332964801742551, 828627458527105190, 2519953652271814816, 5563221586835004955, 16428502736240336605, 3, 161503374172189975, 7180975586994120588, 13070121377098205312, 9655464535561865455, 4169214041423852321, 5771090309048429384, 6993654059550252564, 14478380452460405826, 12150434000885474539, 18399347099839405992, 88779829066683150, 4428174353386180423, 7547120791432137516, 11951584238447172023, 8804182506418522715, 3, 1859011259345361207, 13205265558511858864, 16229683663108620000, 17688418164436772208, 12658415008146819428, 6291208835901171779, 3297271436089179933, 12943628284217684119, 11639259038601904106, 10502234848011596680, 13946225273525543944, 11318468498957948083, 13851055481982014034, 5765565570506082255, 10777382518726251007, 3, 1023422172081481959, 14540338366569412926, 10271517463444484758, 8863158288377959817, 9066561794313536160, 10161961919995709177, 2094278659773331823, 4371761587112760854, 10972685992181286814, 5641963675353630718, 15569415989710829261, 4258403342016907208, 4740804749082440837, 1594229550076307598, 5045104152796606559, 3, 12053626300860885956, 13987509258486900924, 17286360383804666298, 8301538772707939488, 7700154594411825373, 14332053735409157564, 6894934729579673545, 5430665485920789830, 10553406992561403551, 11528229548578861261, 3294597468571627674, 2903493961726666462, 10560076388764518443, 3749651622493296975, 18114127684252877364, 3, 12240592655856206466, 6264740020775290721, 859763567572081467, 8842953438422484122, 14329981889510246939, 3582542183068105786, 6023391989510151456, 2953193964713672141, 12396149302348639250, 13882467375549577428, 3586988377712407519, 7213506509798642482, 13435456572406932891, 9645941250097564536, 2781650568775738364, 3, 15637532899188291351, 12683652363890573925, 2704597975013858668, 17832955104866332736, 6815586591600943723, 13755349213265671492, 8924117914024270326, 3329964149511691453, 11039495891702065838, 15670789219464690273, 11281671746346947225, 10492374165392519994, 11439270560757451470, 7337394676363778206, 2272256910055258613, 3, 3130343892077994054, 0, 0, 1136320813223337744, 11438337112810950654, 16692992611178972868, 9482499518540692367, 5451078715157933845, 18403012202839423090, 13340398881404871439, 16853681425214524760, 5540259513623809808, 7754241405876268140, 15538673406175044580, 15705643278636475771, 3, 0, 0, 0, 6593967995490198369, 546795078589070868, 8093299549277945163, 1445098694824947603, 16968796337604054074, 7105604958885889972, 12829574433066656016, 10962264142076089650, 6970346774265824779, 5668604568559492205, 15930738860655806958, 14403244990983785091, 3, 0, 0, 0, 7770193319703938593, 6228225228483877842, 5315425894230577486, 8012448033829391087, 5395398520381640698, 8770911350053719042, 14827874098479004474, 11024999006644848903, 13791657658989935762, 17830220104295996918, 2090812709146185278, 8577173283657139529, 3, 0, 0, 0, 17471481800618265475, 1930822204634793148, 12769804899579893379, 13068810900387198296, 10732524945348487200, 1519317270498249877, 12604995971822921101, 14107509487727911757, 8257552923782319555, 12034059115493819529, 4343039820825149431, 395799121324568963, 3, 1, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(88) }, program_info: ProgramInfo { program_hash: Word([11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 89, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_21.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_21.snap index 113011af3f..51d3211676 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_21.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_21.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 0, 9, 0, 1, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 8, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 8, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 8, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 8, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 8, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 8, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 8, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 8, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 8, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 7, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 7, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 7, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 7, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 7, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 7, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 7, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 7, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 6, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 6, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 6, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 6, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 6, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 6, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 6, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 6, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 5, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 5, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 5, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 5, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 5, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 5, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 5, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 5, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 4, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 4, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 4, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 4, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 4, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 4, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 4, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 4, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 3, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 3, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 3, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 3, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 3, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 3, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 2, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 2, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 2, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 1, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 1, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 1, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 1, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 4539061041759240, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 0, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, 7, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 92, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 93, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 94, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 95, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 96, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 97, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 98, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 99, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 100, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 101, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 102, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 103, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 104, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 105, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 106, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 107, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 108, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 109, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 110, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 111, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 112, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 113, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 114, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 115, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 116, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 117, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 118, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 119, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 120, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 121, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 122, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 123, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 124, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 125, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 126, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 127, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 17501946937763933948, 7675566390936895331, 4994195757323687992, 11767874304575963253, 1780538466631614833, 4063459066104458636, 4522236916001186996, 2303690644539739387, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 1, 17435140114479298129, 1435885832764997654, 215283041871207160, 7082661356804799086, 5416435572438850612, 2882953289127770017, 16218313204809782547, 8575194234315674944, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 0, 0, 0, 0, 1, 4, 0, 1, 0, 0, 4539061041759240, 0, 0, 0, 0, 0, 0, 0, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 0, 0, 0, 0, 2, 5, 0, 0, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7634873969298005933, 8950987357718038443, 13680774040296089728, 16762235143106196223, 16430047160501569010, 14861946194768960443, 10513948170299859642, 11975838346548297297, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 0, 0, 14335534823153189982, 2564274019290773358, 1240147410646593301, 4309759344612372747, 15680264455718574947, 7749928968172043074, 10379737442849991001, 12214799133441547975, 3010911421139668616, 1139563322249956440, 10665555756390945477, 11416383848154538939, 0, 0, 0, 0, 2820210263285766173, 10720048331316524888, 16336081156703325682, 12593780523887353343, 14860169004739645851, 4935077138385472484, 3877939940902222438, 15459208758406011750, 3416780490017188932, 10124179113180116382, 6241701633229064883, 4550300662347412321, 0, 0, 0, 0, 17236626943327285546, 6651694379495204788, 8336772613389807368, 4706110611062451689, 16613817815676391042, 14575939158311467485, 16532748839852396556, 15511587739895040434, 16203954224127058938, 7875674405969275087, 1782833494123441622, 5398391387950663852, 0, 3216814705581329798, 8051488944047311617, 10360317537605597112, 10000406277741968662, 12388875369708291484, 5436159307074426676, 4141714552502191024, 5296179612907339628, 12465452801273636461, 11579821559146688098, 17723772565616660471, 269753408705321891, 5483693307349928485, 4148849849976411384, 14094161360764912752, 0, 14178823458963512244, 3602272614600789469, 13905084130457283808, 3515474081943841043, 10660299906599270345, 5372326410876184636, 6156913135348580725, 2727608749578829361, 9988179754024184550, 1886131673715221226, 3768033638170488110, 6593749857609147597, 7566856789186803155, 3093019441584322610, 8761844938205749171, 0, 14932870104720801196, 6785058050362917876, 15400461162492325976, 6053827097512010536, 18058988363310447424, 952127655583997344, 8130038137052345894, 14574147540888753393, 5211967294049811177, 1357444766332736487, 2891025200344158148, 4635414157698539724, 18277403464256252089, 8597937863411269927, 3185668978082087344, 0, 1201637799925499218, 17612205884537743144, 12773097028646980525, 8960712552465026661, 9623705551395999386, 5020935239539129789, 701544453173650648, 8059351235840793745, 6694468041861665026, 12472822793413282781, 6236280916588703543, 15075342768292292116, 16879266252447328622, 7949966339384557545, 15511932232010057342, 0, 6517296063227531697, 13317289165024626296, 11586609619777615563, 11979786878033472693, 843700314249069534, 11468557060291821177, 1938925551829656577, 10904264752260159799, 14795276649641559516, 15980631930421053887, 366057401724727850, 1413999795298148165, 10480838138111592719, 355079579910825811, 1574006689819641482, 0, 7633630111197404945, 13444551449194423842, 3201988963668978031, 18123254724334785239, 5226109711488235461, 9579884402934033802, 10839677918877320285, 2271701567336889031, 7760841801390371710, 11471967310545114203, 10354312982073068000, 7915945758644279589, 6620992389563449781, 17687631000570413775, 16989897277811855421, 0, 12268347784756099869, 10293513373138690724, 4130570496550447446, 134987944822694065, 10187646862534872963, 13580463007636418163, 8493022306153899371, 11388412644925859267, 6033082055004604682, 10953623189535037762, 15578008213258609099, 3945822118816847854, 2965464347717975564, 6363341880115016817, 9251952223235505862, 0, 13712872653154503104, 0, 0, 7590275663852506792, 17142561411497204401, 15125840589396167585, 853397793542178445, 3473479938564490101, 1392444963431030092, 730262405744903776, 13260993287089333654, 8393438592264674483, 11306148085986296698, 5684934488312461188, 9028920192463013348, 0, 0, 0, 0, 8641507014103477635, 3846511598062821009, 11894650477774570670, 14544980701902675312, 11986220662741086769, 12997958323187254385, 810115173760427441, 7273544940783271884, 10804780975337509125, 2086088846957217289, 10435649056729292941, 14937599399566357015, 0, 0, 0, 0, 12810611099391073458, 10193722466575479921, 2671742567446566567, 5454248439622432085, 11254344690855207499, 5844726498509817937, 2972078815201344240, 16224554024045094426, 11285479015367787523, 1329278757683796924, 17595360511324176896, 12194499054171516103, 0, 0, 0, 0, 18425592401989202654, 4468095142881580960, 4730631766664398723, 10135320711870011464, 10078686613521300141, 112670771943665928, 604160431047680026, 15076340203450547457, 5649049948736742168, 1372653659349995519, 10291410187286507610, 15319982794428564777, 0, 1, 0, 0, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 17501946937763933948, 7675566390936895331, 4994195757323687992, 11767874304575963253, 1780538466631614833, 4063459066104458636, 4522236916001186996, 2303690644539739387, 0, 1, 0, 0, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 0, 0, 0, 0, 1, 0, 0, 0, 17247772468616032613, 7600025394925764221, 7955777840235657962, 14778507181110587334, 6625781598431722644, 11269587024342180880, 1095078499718437680, 17629529705726254471, 12173823341773609445, 12027777926473976977, 10548232447298848920, 11191668470571035623, 1, 0, 0, 0, 7212854399021382347, 8260158641355935804, 2036343373575726272, 20645146758280648, 2412515286962891034, 12558060813250728464, 18115796003320518003, 9956385073995476810, 8355451719607804905, 11898465697935779867, 11481620581339396075, 5053988127852505047, 1, 0, 0, 0, 4083599105365810292, 8723345258690657607, 11473264062281662940, 6256926579240276105, 5468644964009567782, 758108007400586868, 9520951491853586676, 17787553860746980342, 9963059105071042759, 5935249146141459086, 1727497401312731108, 7027114296019665026, 1, 17225384659479695880, 7547107831863943900, 7586494724370585223, 18439830271691383815, 510380585799936904, 2097735149637624737, 5010192402325660771, 17721827191138606667, 14151172043623379279, 2621138995929369414, 4866521825536676258, 4936774475173485037, 6084983335248988076, 1316337623165354879, 9646582244215554347, 1, 4516215479177926657, 9925616832160314316, 9773586622763691078, 948219269412661958, 14611700435569786419, 16773932546889685810, 1107809727464434614, 9560879713002703906, 11076903123274807987, 16881679433359356735, 2715948938378293043, 11628515061150373855, 4162557158410810904, 5205045181658915242, 11540698754684563718, 1, 10202041226865208435, 141985322414560908, 3299848892110581995, 3159604077290060804, 8622054486534314214, 5474513080224483433, 4110000601336855383, 4902345883390777501, 15764127542136630764, 4294885769175896152, 6235735371157527541, 2485227587384103094, 8848665971323760288, 13954308106415618481, 10953923591850316072, 1, 5257746147149307910, 17174783517453828871, 4597653677804532205, 18237887045237368733, 11918935917804454770, 14333756346908171038, 11371612979173978084, 3583002294292261341, 13270804703147200974, 14723227373679438701, 1357634590270471295, 5781266174666314114, 17760102468114475087, 16434384456628942893, 3900814811719656723, 1, 13884820746927058788, 9270374989065318967, 5246121405124210671, 7663324268782961837, 2191709360144157218, 4148893382614159356, 2733948193995819857, 14132085828870775797, 1003614799924134348, 483130048856287960, 2093261773321017838, 7244482392958895511, 4476308567349096957, 11365067184664022772, 1496399840045018815, 1, 14034150103549409361, 18096513872460075506, 11127518800743472703, 16169827357990058769, 768889104582256256, 5063672134989793000, 8177152994054270953, 14519774356616750515, 5282014258228939534, 11185753418772485201, 7339855872361189863, 2751765428506627026, 16410858644837695285, 3168955570935107271, 4235839041903922738, 1, 18296364930804407816, 4876679931892485987, 8700931409395017179, 14306671231110976602, 2710499980265003166, 9240811163216966608, 8568348789446621778, 15370436904049879550, 4782083616386060395, 9191241905548455193, 6045653345021378740, 13028324881145000696, 5837184942005509449, 3594114040721413816, 5576112453622336198, 1, 18227500723287175099, 0, 0, 16730341839826576408, 3692638321978467303, 6433242332622521009, 2291292895494898983, 3900172221093734467, 14080120921585297673, 13252907867885073269, 16652266278011828989, 12684155440930581084, 16853736578527067231, 10903248264916314668, 17159383822002743974, 1, 0, 0, 0, 9663317297640029186, 3179815813611408161, 15382868405397841289, 17774841093291303690, 15561756925779456415, 11787075848521667463, 17026707310279468613, 12513410256584319322, 17661065248686859389, 10796110328971392976, 4822670343402163355, 11372642333714183005, 1, 0, 0, 0, 12923780624719410118, 15228217436729383467, 16407456617835496488, 191254740555322213, 10417005955196427443, 15631224324097912792, 9481620082656198805, 14005095752388629920, 15242482978284769044, 14954808412257515074, 12996263148551024094, 15208300493676788879, 1, 0, 0, 0, 8481699980895920040, 11355566957836326067, 10008478932238631638, 1125833604663061758, 16919269590511518832, 2391375154551093567, 14821552413345970431, 16787721412847018840, 7352920238514741096, 10037843785082573009, 10187073057528044009, 4767066643997340533, 1, 1, 0, 0, 17435140114479298129, 1435885832764997654, 215283041871207160, 7082661356804799086, 5416435572438850612, 2882953289127770017, 16218313204809782547, 8575194234315674944, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 1, 1, 0, 0, 4539061041759240, 0, 0, 0, 0, 0, 0, 0, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 2, 0, 0, 0, 13071177483731847596, 9686292801190181773, 17651358204212384773, 623102158970833400, 18161683613551356205, 1905311249198158721, 11609382548502599221, 13817075853679351908, 9025310235253336765, 7882119478620692609, 18179794579967457372, 7964168423813383674, 2, 0, 0, 0, 3167601002832997672, 14415171155867193311, 16137210400120039159, 66363658294528744, 18026300366666585427, 16119825485646609021, 1791495851310687818, 10854206662041334332, 13581647106013633474, 11888984354923028713, 1057821317113010102, 5796297350077934241, 2, 0, 0, 0, 7784671065083678705, 3558884115261448151, 11418253632452412773, 1403627403973388394, 819084279764884206, 1407109872228328204, 5246174561222584074, 3872887851860878865, 6987805815025651594, 16813603419480913328, 2035491262798693541, 63867729655895697, 2, 15907894811979069988, 4816131323033975155, 7888904563512413895, 5092349396408408417, 1042143422396538716, 3762822649239783949, 8196544070748041586, 10315355419527218517, 7339407603689058379, 10639948648547682671, 6123607466480072181, 14853363043128504640, 17058485441092820903, 17161076486544329100, 14143325759900421814, 2, 7591190062109417050, 9132932650297078912, 18059219497059994491, 12482898336916528446, 13174698819228496505, 2493773128969151007, 12643635820180007001, 3083772711687177863, 15089756422354654327, 7693091574011130832, 9436166604667119301, 12830611190312913054, 7973972404932364743, 10464756062953622156, 109716314765170116, 2, 4126769846122054656, 707829251663853104, 7629957164358255416, 9341908378498020691, 3690464399435141132, 13117698496574260979, 5451440718276137237, 7550245756112946615, 11753021061535422888, 15170963155944982481, 5947667375361174600, 1596111063080183500, 11749390155806323479, 12692175311028724710, 7916688742951942744, 2, 4645035303164012400, 13915916204012920340, 12291486388396280500, 525851188163440848, 4707286392244844218, 16013577564573367551, 13868023936870720304, 5148135937681993147, 18040333195915377325, 11529652625051471948, 1852565776215464254, 14161537793254580129, 4048643506759177080, 14450982547699381817, 2934196537578419476, 2, 11488303914325795411, 11765426007596825119, 1523836086483283753, 16127371626322030471, 13747186051093078910, 14683368485138504162, 12593690295898988948, 15228744413198821157, 7332814344843067213, 14138816066324498937, 2102762737278850021, 13313601398896337631, 13121420191740374129, 6257139546349661876, 9729033453413867848, 2, 9708911278112697027, 15643607479776624214, 10807857923693087240, 8404702627227890823, 10047145562846981342, 15600116582547970218, 4297960339811615000, 17447637109133227112, 14290298932221000300, 13800955719543521787, 110863501940494442, 13161269314340397651, 2105063197779559491, 13124468932815073025, 714461081021505970, 2, 9223191767830668365, 13626886630453446877, 10808778593074643576, 16763094170387080928, 10091458508962207795, 1734402459021112515, 4981576688453120205, 11005274036034670139, 14260715897147313611, 14806437275519594979, 10665791613726598397, 14265115120417368616, 747062796356804415, 4246870895382373678, 13220614616296969944, 2, 13513127228332885632, 0, 0, 1736827337212275711, 17257174989540467501, 1988362627286450135, 99834712623465846, 5084645948111347049, 5551869680521103369, 12383048268571476338, 6568255087418472584, 13499605423494581814, 14111004362252364285, 15934954653433784852, 9984027318635910457, 2, 0, 0, 0, 8495902383234192130, 13668678621722857045, 1558838040737371863, 15847552217836362268, 13055057243174343494, 8303291408352268536, 9870497363393333103, 18078068399423404657, 7583410213159199266, 1978193982764743020, 10535947734617692172, 10075032150190943363, 2, 0, 0, 0, 12695633069775171902, 12809525764874681027, 9040743543114295790, 13518431885683893560, 13563025936958449940, 1763639376881521592, 970981096276376670, 9777469034389610638, 6320282846588280835, 14270738802862611769, 8722537202086045490, 8243744667044787741, 2, 0, 0, 0, 13642526033304235324, 4183147132623728298, 15386162382022344959, 16003283145777258468, 8391278540569750664, 4213029299554789023, 3437746951445512084, 8911792534982071466, 16183870450597134620, 7787473152259124966, 7310128289290306511, 17060872974098059643, 2, 1, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7634873969298005933, 8950987357718038443, 13680774040296089728, 16762235143106196223, 16430047160501569010, 14861946194768960443, 10513948170299859642, 11975838346548297297, 2, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 11621565010787354140, 1949391780818670486, 7327781180606137861, 2419787217529136215, 13249250205018233525, 10029758640146777270, 5716716695107147273, 10829954014693503473, 7405851154679558693, 2030135877513774489, 10401768244118899621, 7992444660002654486, 3, 0, 0, 0, 9190577937819620371, 12978309842325015235, 10477013461463931935, 4855391316239312738, 10519745218266697287, 18375374895419140100, 876067972673449756, 17915370314859305010, 17877705855294641231, 120652674332571204, 3378556434908723888, 17649391022523856338, 3, 0, 0, 0, 15052947986857015373, 3007680259418135415, 3197694984858038551, 6563270153864719814, 6889631464391242687, 12614331779225506253, 8884325160266334095, 15067359903282619456, 6045216153329131722, 7293213550537411486, 18377064823051127268, 14733223614830533518, 3, 1248924765333967865, 15568788993061722932, 4037714036443683170, 2584579945446987950, 3496704858534018972, 10965787981110521559, 9000006360952503550, 8377181923806419223, 18078834148678517323, 13751832434934340803, 15306332964801742551, 828627458527105190, 2519953652271814816, 5563221586835004955, 16428502736240336605, 3, 161503374172189975, 7180975586994120588, 13070121377098205312, 9655464535561865455, 4169214041423852321, 5771090309048429384, 6993654059550252564, 14478380452460405826, 12150434000885474539, 18399347099839405992, 88779829066683150, 4428174353386180423, 7547120791432137516, 11951584238447172023, 8804182506418522715, 3, 1859011259345361207, 13205265558511858864, 16229683663108620000, 17688418164436772208, 12658415008146819428, 6291208835901171779, 3297271436089179933, 12943628284217684119, 11639259038601904106, 10502234848011596680, 13946225273525543944, 11318468498957948083, 13851055481982014034, 5765565570506082255, 10777382518726251007, 3, 1023422172081481959, 14540338366569412926, 10271517463444484758, 8863158288377959817, 9066561794313536160, 10161961919995709177, 2094278659773331823, 4371761587112760854, 10972685992181286814, 5641963675353630718, 15569415989710829261, 4258403342016907208, 4740804749082440837, 1594229550076307598, 5045104152796606559, 3, 12053626300860885956, 13987509258486900924, 17286360383804666298, 8301538772707939488, 7700154594411825373, 14332053735409157564, 6894934729579673545, 5430665485920789830, 10553406992561403551, 11528229548578861261, 3294597468571627674, 2903493961726666462, 10560076388764518443, 3749651622493296975, 18114127684252877364, 3, 12240592655856206466, 6264740020775290721, 859763567572081467, 8842953438422484122, 14329981889510246939, 3582542183068105786, 6023391989510151456, 2953193964713672141, 12396149302348639250, 13882467375549577428, 3586988377712407519, 7213506509798642482, 13435456572406932891, 9645941250097564536, 2781650568775738364, 3, 15637532899188291351, 12683652363890573925, 2704597975013858668, 17832955104866332736, 6815586591600943723, 13755349213265671492, 8924117914024270326, 3329964149511691453, 11039495891702065838, 15670789219464690273, 11281671746346947225, 10492374165392519994, 11439270560757451470, 7337394676363778206, 2272256910055258613, 3, 3130343892077994054, 0, 0, 1136320813223337744, 11438337112810950654, 16692992611178972868, 9482499518540692367, 5451078715157933845, 18403012202839423090, 13340398881404871439, 16853681425214524760, 5540259513623809808, 7754241405876268140, 15538673406175044580, 15705643278636475771, 3, 0, 0, 0, 6593967995490198369, 546795078589070868, 8093299549277945163, 1445098694824947603, 16968796337604054074, 7105604958885889972, 12829574433066656016, 10962264142076089650, 6970346774265824779, 5668604568559492205, 15930738860655806958, 14403244990983785091, 3, 0, 0, 0, 7770193319703938593, 6228225228483877842, 5315425894230577486, 8012448033829391087, 5395398520381640698, 8770911350053719042, 14827874098479004474, 11024999006644848903, 13791657658989935762, 17830220104295996918, 2090812709146185278, 8577173283657139529, 3, 0, 0, 0, 17471481800618265475, 1930822204634793148, 12769804899579893379, 13068810900387198296, 10732524945348487200, 1519317270498249877, 12604995971822921101, 14107509487727911757, 8257552923782319555, 12034059115493819529, 4343039820825149431, 395799121324568963, 3, 1, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(88) }, program_info: ProgramInfo { program_hash: Word([11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 89, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 0, 9, 0, 1, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 8, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 8, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 8, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 8, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 8, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 8, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 8, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 8, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 8, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 7, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 7, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 7, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 7, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 7, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 7, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 7, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 7, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 7, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 6, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 6, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 6, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 6, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 6, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 6, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 6, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 6, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 6, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 5, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 31, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 5, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 5, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 5, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 5, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 35, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 5, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 5, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 5, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 4, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 4, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 4, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 4, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 4, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 4, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 4, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 4, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 47, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 3, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 3, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 51, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 3, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 3, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 53, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 3, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 3, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 3, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 2, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 61, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 62, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 2, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 63, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 2, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 8, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4539061041759240, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 67, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 1, 3, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 1, 4, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 1, 5, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 1, 6, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 1, 7, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 8, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 4539061041759240, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 35461414388744, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 76, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 277042299912, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 2164392968, 1, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 78, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 16909320, 1, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 79, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 132104, 1, 0, 0, 0, 0, 0, 0, 1, 0, 4, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 80, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 1032, 1, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 81, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 6, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 82, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, 7, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 86, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 89, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 92, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 93, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 94, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 95, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 96, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 97, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 98, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 99, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 100, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 101, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 102, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 103, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 104, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 105, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 106, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 107, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 108, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 109, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 110, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 111, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 112, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 113, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 114, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 115, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 116, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 117, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 118, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 119, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 120, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 121, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 122, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 123, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 124, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 125, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 126, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 127, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 17501946937763933948, 7675566390936895331, 4994195757323687992, 11767874304575963253, 1780538466631614833, 4063459066104458636, 4522236916001186996, 2303690644539739387, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 1, 17435140114479298129, 1435885832764997654, 215283041871207160, 7082661356804799086, 5416435572438850612, 2882953289127770017, 16218313204809782547, 8575194234315674944, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 0, 0, 0, 0, 1, 4, 0, 1, 0, 0, 4539061041759240, 0, 0, 0, 0, 0, 0, 0, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 0, 0, 0, 0, 2, 5, 0, 0, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7634873969298005933, 8950987357718038443, 13680774040296089728, 16762235143106196223, 16430047160501569010, 14861946194768960443, 10513948170299859642, 11975838346548297297, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 0, 0, 1, 0, 3, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 0, 87, 0, 0, 0, 0, 0, 0, 14335534823153189982, 2564274019290773358, 1240147410646593301, 4309759344612372747, 15680264455718574947, 7749928968172043074, 10379737442849991001, 12214799133441547975, 3010911421139668616, 1139563322249956440, 10665555756390945477, 11416383848154538939, 0, 0, 0, 0, 2820210263285766173, 10720048331316524888, 16336081156703325682, 12593780523887353343, 14860169004739645851, 4935077138385472484, 3877939940902222438, 15459208758406011750, 3416780490017188932, 10124179113180116382, 6241701633229064883, 4550300662347412321, 0, 0, 0, 0, 17236626943327285546, 6651694379495204788, 8336772613389807368, 4706110611062451689, 16613817815676391042, 14575939158311467485, 16532748839852396556, 15511587739895040434, 16203954224127058938, 7875674405969275087, 1782833494123441622, 5398391387950663852, 0, 3216814705581329798, 8051488944047311617, 10360317537605597112, 10000406277741968662, 12388875369708291484, 5436159307074426676, 4141714552502191024, 5296179612907339628, 12465452801273636461, 11579821559146688098, 17723772565616660471, 269753408705321891, 5483693307349928485, 4148849849976411384, 14094161360764912752, 0, 14178823458963512244, 3602272614600789469, 13905084130457283808, 3515474081943841043, 10660299906599270345, 5372326410876184636, 6156913135348580725, 2727608749578829361, 9988179754024184550, 1886131673715221226, 3768033638170488110, 6593749857609147597, 7566856789186803155, 3093019441584322610, 8761844938205749171, 0, 14932870104720801196, 6785058050362917876, 15400461162492325976, 6053827097512010536, 18058988363310447424, 952127655583997344, 8130038137052345894, 14574147540888753393, 5211967294049811177, 1357444766332736487, 2891025200344158148, 4635414157698539724, 18277403464256252089, 8597937863411269927, 3185668978082087344, 0, 1201637799925499218, 17612205884537743144, 12773097028646980525, 8960712552465026661, 9623705551395999386, 5020935239539129789, 701544453173650648, 8059351235840793745, 6694468041861665026, 12472822793413282781, 6236280916588703543, 15075342768292292116, 16879266252447328622, 7949966339384557545, 15511932232010057342, 0, 6517296063227531697, 13317289165024626296, 11586609619777615563, 11979786878033472693, 843700314249069534, 11468557060291821177, 1938925551829656577, 10904264752260159799, 14795276649641559516, 15980631930421053887, 366057401724727850, 1413999795298148165, 10480838138111592719, 355079579910825811, 1574006689819641482, 0, 7633630111197404945, 13444551449194423842, 3201988963668978031, 18123254724334785239, 5226109711488235461, 9579884402934033802, 10839677918877320285, 2271701567336889031, 7760841801390371710, 11471967310545114203, 10354312982073068000, 7915945758644279589, 6620992389563449781, 17687631000570413775, 16989897277811855421, 0, 12268347784756099869, 10293513373138690724, 4130570496550447446, 134987944822694065, 10187646862534872963, 13580463007636418163, 8493022306153899371, 11388412644925859267, 6033082055004604682, 10953623189535037762, 15578008213258609099, 3945822118816847854, 2965464347717975564, 6363341880115016817, 9251952223235505862, 0, 13712872653154503104, 0, 0, 7590275663852506792, 17142561411497204401, 15125840589396167585, 853397793542178445, 3473479938564490101, 1392444963431030092, 730262405744903776, 13260993287089333654, 8393438592264674483, 11306148085986296698, 5684934488312461188, 9028920192463013348, 0, 0, 0, 0, 8641507014103477635, 3846511598062821009, 11894650477774570670, 14544980701902675312, 11986220662741086769, 12997958323187254385, 810115173760427441, 7273544940783271884, 10804780975337509125, 2086088846957217289, 10435649056729292941, 14937599399566357015, 0, 0, 0, 0, 12810611099391073458, 10193722466575479921, 2671742567446566567, 5454248439622432085, 11254344690855207499, 5844726498509817937, 2972078815201344240, 16224554024045094426, 11285479015367787523, 1329278757683796924, 17595360511324176896, 12194499054171516103, 0, 0, 0, 0, 18425592401989202654, 4468095142881580960, 4730631766664398723, 10135320711870011464, 10078686613521300141, 112670771943665928, 604160431047680026, 15076340203450547457, 5649049948736742168, 1372653659349995519, 10291410187286507610, 15319982794428564777, 0, 1, 0, 0, 11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656, 17501946937763933948, 7675566390936895331, 4994195757323687992, 11767874304575963253, 1780538466631614833, 4063459066104458636, 4522236916001186996, 2303690644539739387, 0, 1, 0, 0, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 580999813345182728, 0, 0, 0, 0, 1, 0, 0, 0, 17247772468616032613, 7600025394925764221, 7955777840235657962, 14778507181110587334, 6625781598431722644, 11269587024342180880, 1095078499718437680, 17629529705726254471, 12173823341773609445, 12027777926473976977, 10548232447298848920, 11191668470571035623, 1, 0, 0, 0, 7212854399021382347, 8260158641355935804, 2036343373575726272, 20645146758280648, 2412515286962891034, 12558060813250728464, 18115796003320518003, 9956385073995476810, 8355451719607804905, 11898465697935779867, 11481620581339396075, 5053988127852505047, 1, 0, 0, 0, 4083599105365810292, 8723345258690657607, 11473264062281662940, 6256926579240276105, 5468644964009567782, 758108007400586868, 9520951491853586676, 17787553860746980342, 9963059105071042759, 5935249146141459086, 1727497401312731108, 7027114296019665026, 1, 17225384659479695880, 7547107831863943900, 7586494724370585223, 18439830271691383815, 510380585799936904, 2097735149637624737, 5010192402325660771, 17721827191138606667, 14151172043623379279, 2621138995929369414, 4866521825536676258, 4936774475173485037, 6084983335248988076, 1316337623165354879, 9646582244215554347, 1, 4516215479177926657, 9925616832160314316, 9773586622763691078, 948219269412661958, 14611700435569786419, 16773932546889685810, 1107809727464434614, 9560879713002703906, 11076903123274807987, 16881679433359356735, 2715948938378293043, 11628515061150373855, 4162557158410810904, 5205045181658915242, 11540698754684563718, 1, 10202041226865208435, 141985322414560908, 3299848892110581995, 3159604077290060804, 8622054486534314214, 5474513080224483433, 4110000601336855383, 4902345883390777501, 15764127542136630764, 4294885769175896152, 6235735371157527541, 2485227587384103094, 8848665971323760288, 13954308106415618481, 10953923591850316072, 1, 5257746147149307910, 17174783517453828871, 4597653677804532205, 18237887045237368733, 11918935917804454770, 14333756346908171038, 11371612979173978084, 3583002294292261341, 13270804703147200974, 14723227373679438701, 1357634590270471295, 5781266174666314114, 17760102468114475087, 16434384456628942893, 3900814811719656723, 1, 13884820746927058788, 9270374989065318967, 5246121405124210671, 7663324268782961837, 2191709360144157218, 4148893382614159356, 2733948193995819857, 14132085828870775797, 1003614799924134348, 483130048856287960, 2093261773321017838, 7244482392958895511, 4476308567349096957, 11365067184664022772, 1496399840045018815, 1, 14034150103549409361, 18096513872460075506, 11127518800743472703, 16169827357990058769, 768889104582256256, 5063672134989793000, 8177152994054270953, 14519774356616750515, 5282014258228939534, 11185753418772485201, 7339855872361189863, 2751765428506627026, 16410858644837695285, 3168955570935107271, 4235839041903922738, 1, 18296364930804407816, 4876679931892485987, 8700931409395017179, 14306671231110976602, 2710499980265003166, 9240811163216966608, 8568348789446621778, 15370436904049879550, 4782083616386060395, 9191241905548455193, 6045653345021378740, 13028324881145000696, 5837184942005509449, 3594114040721413816, 5576112453622336198, 1, 18227500723287175099, 0, 0, 16730341839826576408, 3692638321978467303, 6433242332622521009, 2291292895494898983, 3900172221093734467, 14080120921585297673, 13252907867885073269, 16652266278011828989, 12684155440930581084, 16853736578527067231, 10903248264916314668, 17159383822002743974, 1, 0, 0, 0, 9663317297640029186, 3179815813611408161, 15382868405397841289, 17774841093291303690, 15561756925779456415, 11787075848521667463, 17026707310279468613, 12513410256584319322, 17661065248686859389, 10796110328971392976, 4822670343402163355, 11372642333714183005, 1, 0, 0, 0, 12923780624719410118, 15228217436729383467, 16407456617835496488, 191254740555322213, 10417005955196427443, 15631224324097912792, 9481620082656198805, 14005095752388629920, 15242482978284769044, 14954808412257515074, 12996263148551024094, 15208300493676788879, 1, 0, 0, 0, 8481699980895920040, 11355566957836326067, 10008478932238631638, 1125833604663061758, 16919269590511518832, 2391375154551093567, 14821552413345970431, 16787721412847018840, 7352920238514741096, 10037843785082573009, 10187073057528044009, 4767066643997340533, 1, 1, 0, 0, 17435140114479298129, 1435885832764997654, 215283041871207160, 7082661356804799086, 5416435572438850612, 2882953289127770017, 16218313204809782547, 8575194234315674944, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 1, 1, 0, 0, 4539061041759240, 0, 0, 0, 0, 0, 0, 0, 213625975700372028, 6103762562402135118, 8461833255366069567, 1720047680925886481, 2, 0, 0, 0, 13071177483731847596, 9686292801190181773, 17651358204212384773, 623102158970833400, 18161683613551356205, 1905311249198158721, 11609382548502599221, 13817075853679351908, 9025310235253336765, 7882119478620692609, 18179794579967457372, 7964168423813383674, 2, 0, 0, 0, 3167601002832997672, 14415171155867193311, 16137210400120039159, 66363658294528744, 18026300366666585427, 16119825485646609021, 1791495851310687818, 10854206662041334332, 13581647106013633474, 11888984354923028713, 1057821317113010102, 5796297350077934241, 2, 0, 0, 0, 7784671065083678705, 3558884115261448151, 11418253632452412773, 1403627403973388394, 819084279764884206, 1407109872228328204, 5246174561222584074, 3872887851860878865, 6987805815025651594, 16813603419480913328, 2035491262798693541, 63867729655895697, 2, 15907894811979069988, 4816131323033975155, 7888904563512413895, 5092349396408408417, 1042143422396538716, 3762822649239783949, 8196544070748041586, 10315355419527218517, 7339407603689058379, 10639948648547682671, 6123607466480072181, 14853363043128504640, 17058485441092820903, 17161076486544329100, 14143325759900421814, 2, 7591190062109417050, 9132932650297078912, 18059219497059994491, 12482898336916528446, 13174698819228496505, 2493773128969151007, 12643635820180007001, 3083772711687177863, 15089756422354654327, 7693091574011130832, 9436166604667119301, 12830611190312913054, 7973972404932364743, 10464756062953622156, 109716314765170116, 2, 4126769846122054656, 707829251663853104, 7629957164358255416, 9341908378498020691, 3690464399435141132, 13117698496574260979, 5451440718276137237, 7550245756112946615, 11753021061535422888, 15170963155944982481, 5947667375361174600, 1596111063080183500, 11749390155806323479, 12692175311028724710, 7916688742951942744, 2, 4645035303164012400, 13915916204012920340, 12291486388396280500, 525851188163440848, 4707286392244844218, 16013577564573367551, 13868023936870720304, 5148135937681993147, 18040333195915377325, 11529652625051471948, 1852565776215464254, 14161537793254580129, 4048643506759177080, 14450982547699381817, 2934196537578419476, 2, 11488303914325795411, 11765426007596825119, 1523836086483283753, 16127371626322030471, 13747186051093078910, 14683368485138504162, 12593690295898988948, 15228744413198821157, 7332814344843067213, 14138816066324498937, 2102762737278850021, 13313601398896337631, 13121420191740374129, 6257139546349661876, 9729033453413867848, 2, 9708911278112697027, 15643607479776624214, 10807857923693087240, 8404702627227890823, 10047145562846981342, 15600116582547970218, 4297960339811615000, 17447637109133227112, 14290298932221000300, 13800955719543521787, 110863501940494442, 13161269314340397651, 2105063197779559491, 13124468932815073025, 714461081021505970, 2, 9223191767830668365, 13626886630453446877, 10808778593074643576, 16763094170387080928, 10091458508962207795, 1734402459021112515, 4981576688453120205, 11005274036034670139, 14260715897147313611, 14806437275519594979, 10665791613726598397, 14265115120417368616, 747062796356804415, 4246870895382373678, 13220614616296969944, 2, 13513127228332885632, 0, 0, 1736827337212275711, 17257174989540467501, 1988362627286450135, 99834712623465846, 5084645948111347049, 5551869680521103369, 12383048268571476338, 6568255087418472584, 13499605423494581814, 14111004362252364285, 15934954653433784852, 9984027318635910457, 2, 0, 0, 0, 8495902383234192130, 13668678621722857045, 1558838040737371863, 15847552217836362268, 13055057243174343494, 8303291408352268536, 9870497363393333103, 18078068399423404657, 7583410213159199266, 1978193982764743020, 10535947734617692172, 10075032150190943363, 2, 0, 0, 0, 12695633069775171902, 12809525764874681027, 9040743543114295790, 13518431885683893560, 13563025936958449940, 1763639376881521592, 970981096276376670, 9777469034389610638, 6320282846588280835, 14270738802862611769, 8722537202086045490, 8243744667044787741, 2, 0, 0, 0, 13642526033304235324, 4183147132623728298, 15386162382022344959, 16003283145777258468, 8391278540569750664, 4213029299554789023, 3437746951445512084, 8911792534982071466, 16183870450597134620, 7787473152259124966, 7310128289290306511, 17060872974098059643, 2, 1, 0, 0, 3522571414841252998, 8184450079211665661, 6529578262649975717, 6261706375900221050, 7634873969298005933, 8950987357718038443, 13680774040296089728, 16762235143106196223, 16430047160501569010, 14861946194768960443, 10513948170299859642, 11975838346548297297, 2, 1, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 11621565010787354140, 1949391780818670486, 7327781180606137861, 2419787217529136215, 13249250205018233525, 10029758640146777270, 5716716695107147273, 10829954014693503473, 7405851154679558693, 2030135877513774489, 10401768244118899621, 7992444660002654486, 3, 0, 0, 0, 9190577937819620371, 12978309842325015235, 10477013461463931935, 4855391316239312738, 10519745218266697287, 18375374895419140100, 876067972673449756, 17915370314859305010, 17877705855294641231, 120652674332571204, 3378556434908723888, 17649391022523856338, 3, 0, 0, 0, 15052947986857015373, 3007680259418135415, 3197694984858038551, 6563270153864719814, 6889631464391242687, 12614331779225506253, 8884325160266334095, 15067359903282619456, 6045216153329131722, 7293213550537411486, 18377064823051127268, 14733223614830533518, 3, 1248924765333967865, 15568788993061722932, 4037714036443683170, 2584579945446987950, 3496704858534018972, 10965787981110521559, 9000006360952503550, 8377181923806419223, 18078834148678517323, 13751832434934340803, 15306332964801742551, 828627458527105190, 2519953652271814816, 5563221586835004955, 16428502736240336605, 3, 161503374172189975, 7180975586994120588, 13070121377098205312, 9655464535561865455, 4169214041423852321, 5771090309048429384, 6993654059550252564, 14478380452460405826, 12150434000885474539, 18399347099839405992, 88779829066683150, 4428174353386180423, 7547120791432137516, 11951584238447172023, 8804182506418522715, 3, 1859011259345361207, 13205265558511858864, 16229683663108620000, 17688418164436772208, 12658415008146819428, 6291208835901171779, 3297271436089179933, 12943628284217684119, 11639259038601904106, 10502234848011596680, 13946225273525543944, 11318468498957948083, 13851055481982014034, 5765565570506082255, 10777382518726251007, 3, 1023422172081481959, 14540338366569412926, 10271517463444484758, 8863158288377959817, 9066561794313536160, 10161961919995709177, 2094278659773331823, 4371761587112760854, 10972685992181286814, 5641963675353630718, 15569415989710829261, 4258403342016907208, 4740804749082440837, 1594229550076307598, 5045104152796606559, 3, 12053626300860885956, 13987509258486900924, 17286360383804666298, 8301538772707939488, 7700154594411825373, 14332053735409157564, 6894934729579673545, 5430665485920789830, 10553406992561403551, 11528229548578861261, 3294597468571627674, 2903493961726666462, 10560076388764518443, 3749651622493296975, 18114127684252877364, 3, 12240592655856206466, 6264740020775290721, 859763567572081467, 8842953438422484122, 14329981889510246939, 3582542183068105786, 6023391989510151456, 2953193964713672141, 12396149302348639250, 13882467375549577428, 3586988377712407519, 7213506509798642482, 13435456572406932891, 9645941250097564536, 2781650568775738364, 3, 15637532899188291351, 12683652363890573925, 2704597975013858668, 17832955104866332736, 6815586591600943723, 13755349213265671492, 8924117914024270326, 3329964149511691453, 11039495891702065838, 15670789219464690273, 11281671746346947225, 10492374165392519994, 11439270560757451470, 7337394676363778206, 2272256910055258613, 3, 3130343892077994054, 0, 0, 1136320813223337744, 11438337112810950654, 16692992611178972868, 9482499518540692367, 5451078715157933845, 18403012202839423090, 13340398881404871439, 16853681425214524760, 5540259513623809808, 7754241405876268140, 15538673406175044580, 15705643278636475771, 3, 0, 0, 0, 6593967995490198369, 546795078589070868, 8093299549277945163, 1445098694824947603, 16968796337604054074, 7105604958885889972, 12829574433066656016, 10962264142076089650, 6970346774265824779, 5668604568559492205, 15930738860655806958, 14403244990983785091, 3, 0, 0, 0, 7770193319703938593, 6228225228483877842, 5315425894230577486, 8012448033829391087, 5395398520381640698, 8770911350053719042, 14827874098479004474, 11024999006644848903, 13791657658989935762, 17830220104295996918, 2090812709146185278, 8577173283657139529, 3, 0, 0, 0, 17471481800618265475, 1930822204634793148, 12769804899579893379, 13068810900387198296, 10732524945348487200, 1519317270498249877, 12604995971822921101, 14107509487727911757, 8257552923782319555, 12034059115493819529, 4343039820825149431, 395799121324568963, 3, 1, 0, 0, 7532528701100807439, 10480547126759850066, 6097728641437901141, 17248496754222975198, 12342802819241620905, 7554371666290801318, 8718773026382250605, 15984482998549000918, 15460443374009848343, 1087146607978023558, 7531163901062156801, 4426949494427873777, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(88) }, program_info: ProgramInfo { program_hash: Word([11335578881191217942, 8731100815641553480, 3932297499273598802, 11617552580386582656]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 89, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_22.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_22.snap index 62614f4531..61b2dcd205 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_22.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_22.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 0, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 3137828705454, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 0, 1, 0, 24514286761, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 40, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 191517865, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 1496233, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 11689, 1, 0, 0, 0, 0, 0, 0, 1, 2, 4, 0, 0, 0, 0, 0, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 7, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 12, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 13, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 1, 17, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 9, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 2, 10, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2197, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4384, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6571, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8758, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10945, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13132, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15319, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17506, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19693, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21880, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24067, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26254, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28441, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30628, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32815, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35002, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37189, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39376, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41563, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43750, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45937, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48124, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50311, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52498, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54685, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56872, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59059, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61246, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63433, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64162, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64891, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65134, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65377, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65458, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65485, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65512, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65521, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65530, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65533, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65534, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 8242146665224381578, 15911532375448333238, 1386357366995233596, 8611444126933110985, 4676083100930238397, 6139688846062542757, 9002714910392091903, 5823797362462191159, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 5915784406748100112, 6722847756588924736, 14012694245464324059, 2066991057620171669, 7739875740167294943, 7018932903636824263, 3536373181423802149, 16715512295218120604, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 3, 8, 1, 1, 0, 0, 1, 0, 40, 0, 0, 3, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1, 0, 1, 1, 10, 0, 0, 9, 1, 1, 0, 1, 1, 0, 40, 0, 0, 12, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 9, 0, 4099276459869907627, 1, 10, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 87, 0, 0, 0, 0, 0, 0, 15982823105988775806, 8055676711367425373, 17941169771108522281, 17144527358953736194, 14947610898944891577, 971614072768782170, 6527463406041159829, 3832659229659994697, 4267689650839244805, 7476341399175005462, 13956706726156239325, 1362637335972540923, 0, 0, 0, 0, 5870626296958083933, 15831852620745746684, 3185498590211330291, 4142206734944835575, 1703654304778633946, 16779850255772273060, 17529309452142070777, 3820424470916782417, 13044986967311981583, 16932680220731892573, 15512851049245904995, 4407692356467248372, 0, 0, 0, 0, 1222210540818995679, 9596558254971998891, 17836151103719299929, 972583351096828487, 16036135922289885914, 9046461447407029762, 13420377050848926972, 8268741668021650938, 15162095256779392528, 6250951389520005938, 4880080490180073887, 5079644903468213758, 0, 4277112440869277830, 16975894093684028062, 17916235475615809558, 14524910789332636826, 11691364468631390887, 7787341040263241822, 9379002423052238093, 9978142397546997785, 13711991341735230802, 2995007776024477424, 4712167935694753945, 1064069264700679460, 16784239691558161828, 13171136420515290288, 7377465172358292401, 0, 7863758113629837220, 34545184916281199, 3993169000277716254, 7364322756301525079, 10650631026443210837, 1517619643121483559, 17270732420407911054, 4258304245011181242, 5161000027742486976, 8399067086847534736, 11003984578732833046, 15464732564240072836, 6182941569324809186, 11275803822943060218, 158655113981893701, 0, 2476402089664475908, 9916425135419809036, 3028465534706354547, 15472564680003668093, 6373098182685681762, 12520752577019080054, 5394462987259780313, 4831149567958541538, 12904631563004530976, 13837253351754641870, 3923208428450719385, 3554976680697606440, 17043251418254499417, 5302393607875037297, 8096532195498204177, 0, 5401472078486138644, 17911378919292638386, 1604440114467418180, 4779855905656105676, 6025526479746347251, 4449154494231990099, 11830346459740212406, 2743894608322163398, 10184996808268436049, 3882545820330029085, 5202687146936953923, 777280530525071979, 9570037184747372126, 10484193697881848161, 11860662735451501625, 0, 15748781809771449617, 12223876502815956005, 8462728310504683652, 13057156105981161589, 11957472249295015469, 11549246553227545561, 15033014935301073849, 423385249083279348, 10856312299574527186, 2052856619870651334, 10305616267836960765, 14352183358244000568, 1261949652056609866, 916956049912161855, 3353438403242689585, 0, 11740120563940364368, 1391869256781506493, 11057309605482706459, 17704317629486807708, 6564342187673520486, 2792692044523533343, 12797232677587390356, 14797653849693720774, 9082763018815888798, 17062564998145646419, 17163741437026102402, 14920816938307553514, 18409839409942969565, 16099949995219613642, 9387728217249208068, 0, 3254516890705807916, 7365800426850749937, 15974018227958845798, 8444961928162939943, 8050679843713964343, 1245616094758475931, 2976182234519674621, 11861324009571007650, 18000519861091284933, 10809856712858383834, 6898855362441294480, 13146633521971264482, 11152948692891359460, 10343969929561703022, 10591999464601502689, 0, 13540695320312597078, 0, 0, 933984176226341473, 4938354828005165424, 3057022637731780053, 18149554045659845084, 9709632327217036413, 16645387828565996715, 10873951879782645518, 214597493824524577, 7950640568527571392, 15274457345887794634, 9280090582838465603, 1242243096703449887, 0, 0, 0, 0, 5626861946644684679, 9519120652743404725, 3153363644848796249, 16387713581663902851, 10655954775576173219, 16168525333832765040, 7013656376478213608, 7333415223195735541, 9069684467099779645, 10706178255503280152, 17753787514920247819, 16088561184006536263, 0, 0, 0, 0, 10636061157542345097, 15008846988127407811, 16614085001509596773, 12600455057253767871, 13458552295186750925, 10343839881402182751, 1108696518251840495, 9621971582260379329, 11613485699478956673, 16861381831518076617, 17933004011918959112, 18255208815154765383, 0, 0, 0, 0, 10509741793670097910, 12960656197959013774, 9112727654277900213, 14176014235755683408, 9647930301481695061, 10818726819316593067, 11744599510375600263, 2780827620762362248, 60352997716668050, 2064777537623220055, 12394773470270210064, 15490398721638241462, 0, 1, 0, 0, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 8242146665224381578, 15911532375448333238, 1386357366995233596, 8611444126933110985, 4676083100930238397, 6139688846062542757, 9002714910392091903, 5823797362462191159, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5792301967904643716, 14513996957604530562, 6300577652167374432, 1030532363437082530, 9868636994953646365, 13312054463817713847, 1163060834237983926, 17159751124589539180, 15748271025379903662, 15673345155938926996, 15542740004802895548, 4070736982096634948, 1, 0, 0, 0, 1453121677659348577, 17403066345171442603, 9526966027631081464, 4562917345183859100, 16736668858502190206, 12710250320191836356, 9043028743666878997, 9570842800862454404, 10889819954451461225, 1374882310944969176, 11041329929342678296, 6376909268692149801, 1, 0, 0, 0, 6798464049283172704, 10094602609597426273, 5441108908322692152, 13319823174770042865, 3687504758717747002, 11828007000931365406, 15642196062511550808, 4387538442135057894, 12016453509822632603, 16688879161845796765, 15353663875595798268, 9433687029957117661, 1, 11436455846193695609, 17419948132223780613, 10707930966158261719, 7805136509413905123, 10748223278202845625, 5102455166015213038, 16060345288112427467, 9937020917196030767, 13713675713530315700, 11873887283723171030, 6245447289360608210, 2758175399376775060, 6794131889413756751, 6954584401067417189, 5092580402017360453, 1, 138168370802146349, 561179642041056504, 13282391328952434407, 3586306435690112870, 17278658194357811156, 2504635638454636683, 7235500145280211409, 11191458759516692993, 6465450803792948194, 2111071922636782066, 11802465958807233213, 9116942394473193925, 11145482942031811955, 14726020691764699927, 16903672043479974450, 1, 263960295682680947, 15697220842527476860, 17868088579823291326, 2175933588395873247, 8749749468735109989, 11010166446741390499, 17943104442301856895, 15821423767384514021, 16018668147064525478, 5560768172433028490, 5619212355349254932, 17391285462458271036, 2603291588626814071, 5238953246197227863, 5602891381109897586, 1, 12301036190174877474, 12651281118484863330, 11983275442902746825, 9125195986387370903, 2181062690427536463, 13921861517061570826, 350891571660248295, 11013048057925712708, 11055047889476803308, 15398332646604634982, 5808711407549689243, 8949777591082911961, 14824627964979845981, 8130365156760288485, 3947069696768920416, 1, 753507401801380169, 11557202300537182401, 12635550211207024884, 13277984171307670821, 2631795936834054713, 14094327291919754106, 12673624581190519723, 4509450209340246689, 10606486226190872261, 889124163739951988, 12547380261461657128, 16829937485708676196, 15832095999334895743, 5377353767201125639, 11053610747785598805, 1, 17726880391953768878, 13956049620380258223, 11273932727072475337, 6855896085734577371, 1129400045567810133, 16519057148475618054, 10699416941054230316, 17256608828803451668, 6887723245936746466, 552364255868028623, 17909079490987407142, 9570595819850351164, 8654686163127378448, 16203109760043627710, 8480295614280342552, 1, 5047048529377126902, 2720906371958061367, 10084181298533567509, 10367672116357405411, 11036446985399396097, 13294567520571596163, 17521531050433436007, 1868701710513242496, 5411603901210245247, 11609599138736895146, 16874855234706410918, 4393409689646403917, 9543195090298605247, 7478523150127634789, 2693101708644875762, 1, 3528724572660247995, 0, 0, 12432722351030045, 1367308201666984940, 3681473655802754494, 15340518851882934883, 12978887161137913348, 15761699408266065961, 3053535844413236872, 13043307337058007179, 1605626291192886407, 3512088686484392896, 17370072541480613908, 15945489250832697271, 1, 0, 0, 0, 18236855931369748683, 5145738009993425605, 9599849581440088949, 7181962801200058100, 7842895042061868932, 12656177266019986902, 8530248384503061153, 7088178758240165913, 8843525768370306419, 9760798177389960884, 15297557810674980998, 17513790474795511142, 1, 0, 0, 0, 11582029127760482436, 12210748157899031357, 9473509448225646970, 17514007687115301207, 15252116786733410669, 10068681917011840638, 5010610666981558682, 14100290159714849481, 10038370148733513877, 4164887708143705047, 12759194225663538416, 5155504400103783318, 1, 0, 0, 0, 2256431941220947766, 13487119117857302457, 10370113277604876234, 1506538453550143326, 9611088164777633619, 9944172425891749050, 2585766031776029836, 7469792865149057403, 3748706915022560085, 480217827283441208, 7902514309755880799, 16608422580379539141, 1, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 2, 0, 0, 0, 1744857570235497404, 7224541920618385714, 6671488038711247732, 9418477143622752895, 9703867417214980336, 12489503772578086800, 7630918900393673526, 922936908940985560, 13119444482451573268, 8102518886279384149, 1794056580842530013, 6019859370758513415, 2, 0, 0, 0, 11225476840467288604, 1258325688295597329, 127125292503096007, 14464605090260677523, 1356149198325814678, 16210500530871871700, 7703315482792482057, 9670557752572652209, 14715521009568351134, 5622479790818646070, 1994313401293831292, 12198921534065454764, 2, 0, 0, 0, 6475944301769848126, 2915217068128247285, 10539364050497833639, 1329434144584264601, 4724829826743698824, 11656831663640211358, 18159325948688903721, 2263120035450455133, 3044551438691886778, 1378219755367734085, 27066760951347720, 7594002804590750508, 2, 7094992666845579929, 10682949197627750021, 15511495322322885910, 15870512746805692064, 4742278351791462207, 7505045441162082383, 9115585980456141894, 11819132067426344142, 5933534952755427427, 5289666558408553872, 13337066958757631081, 6199794689781794653, 5527421833010022906, 4651988931660818160, 2987054724042595780, 2, 3458358424286082329, 7093523218540709637, 10672998680593063500, 9582569954668317010, 13201115384751580570, 1845418544539288297, 9232442292023153805, 12186827811356238706, 10935576324406113028, 8489922013276339729, 12624430369688872770, 17630820426326624548, 2455558777867773614, 8013720398498280010, 12827655532307024322, 2, 5785580083697586953, 5496776863607614961, 13562358148399326759, 9619728790481291702, 7348374190345066861, 13428391720342760502, 1625987251039265071, 4628549345299080849, 1482769832760029881, 15392110855022396191, 11685531496513883979, 16631929378585709364, 1206841992098443123, 9033969076040507441, 132716663048694064, 2, 4935270318350649204, 11208979634658466526, 15063992759093620930, 69377025486693860, 2005546075822572073, 6505215078608999447, 5174094099800739640, 13001606491845435526, 1072287532585676149, 8674354724303146421, 2891558581869634704, 12003109342828923560, 2795184266895760838, 8907697550851381515, 7407535969740942827, 2, 12928689569348120744, 18117769253874083942, 6430757471563325625, 11001198331791943845, 5782583463951144663, 3192834997426419970, 13479879407860298287, 12933861238108488467, 16278293297035470863, 6876436357683812502, 1917626248124261877, 7470768955678552355, 11361229958543541222, 7877487828305683469, 12846364871258595728, 2, 3208246304442396143, 602388884213530987, 15428433977489879680, 13971985988839335428, 2737452825195583328, 15596845393022603175, 10706929119701705862, 4857505199118487438, 17086155371834155818, 14942339901122070806, 18093611989159833406, 8678554698795861566, 2399201986323959674, 14423713805583819215, 13940821782800746629, 2, 5752176924989565290, 4446226812085120357, 4892387022627626332, 12766647202711608745, 16601117776639897488, 11733197324703429636, 12249169652316186841, 15421392054100411011, 10950661145505749420, 8676915018037525034, 2287206221212892475, 840670749677123625, 14199538947967054445, 11736020252788430378, 8602113489330523197, 2, 16339610044914982284, 0, 0, 17640015747325898849, 16347444792678324740, 8885896841027368623, 10718432816977168969, 5156908241230918449, 17013559050399408119, 14174891037708262638, 1568239283519947871, 11922342832652198664, 17716568425187950727, 14294596817162139623, 8762912941700788919, 2, 0, 0, 0, 10691440065277113539, 11571864114015088873, 14769641188290399688, 15214258832131517513, 16096616261062028405, 17526009277172454447, 7932842201848681903, 7306503137329194055, 13369935276997096320, 15066831218638174923, 9520626635373991696, 13296433431293103463, 2, 0, 0, 0, 15457748872647003252, 12161715639235802937, 14007251173141324536, 1685517899923633866, 5112172969895687532, 5291999820044553537, 8437113893887445899, 3726439603382583733, 8404976155487828619, 7450257481186581855, 18356039864791793168, 15198056038162548435, 2, 0, 0, 0, 12039411220003022329, 844322165626728828, 6152440980082407113, 11008191087326916441, 15301657567101812620, 7647514108863503629, 11736853678981601451, 13408456878721317654, 137431712022909617, 9004259806363632349, 994790402583656889, 3215329497276289397, 2, 1, 0, 0, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 5915784406748100112, 6722847756588924736, 14012694245464324059, 2066991057620171669, 7739875740167294943, 7018932903636824263, 3536373181423802149, 16715512295218120604, 2, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 3, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 3, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 3, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 3, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 3, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 3, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 3, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 3, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 3, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 3, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 3, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 3, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 3, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 3, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(18) }, program_info: ProgramInfo { program_hash: Word([14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 19, range_trace_len: 49, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 2, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 0, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 3137828705454, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 0, 1, 0, 24514286761, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 40, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 191517865, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 1496233, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 11689, 1, 0, 0, 0, 0, 0, 0, 1, 2, 4, 0, 0, 0, 0, 0, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 7, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 12, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 13, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 1, 17, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 9, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 2, 10, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2197, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4384, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6571, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8758, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10945, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13132, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15319, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17506, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19693, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21880, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24067, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26254, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28441, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30628, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32815, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35002, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37189, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39376, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41563, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43750, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45937, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48124, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50311, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52498, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54685, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56872, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59059, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61246, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63433, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64162, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64891, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65134, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65377, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65458, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65485, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65512, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65521, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65530, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65533, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65534, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 8242146665224381578, 15911532375448333238, 1386357366995233596, 8611444126933110985, 4676083100930238397, 6139688846062542757, 9002714910392091903, 5823797362462191159, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 5915784406748100112, 6722847756588924736, 14012694245464324059, 2066991057620171669, 7739875740167294943, 7018932903636824263, 3536373181423802149, 16715512295218120604, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 3, 8, 1, 1, 0, 0, 1, 0, 40, 0, 0, 3, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1, 0, 1, 1, 10, 0, 0, 9, 1, 1, 0, 1, 1, 0, 40, 0, 0, 12, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 9, 0, 4099276459869907627, 1, 10, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 87, 0, 0, 0, 0, 0, 0, 15982823105988775806, 8055676711367425373, 17941169771108522281, 17144527358953736194, 14947610898944891577, 971614072768782170, 6527463406041159829, 3832659229659994697, 4267689650839244805, 7476341399175005462, 13956706726156239325, 1362637335972540923, 0, 0, 0, 0, 5870626296958083933, 15831852620745746684, 3185498590211330291, 4142206734944835575, 1703654304778633946, 16779850255772273060, 17529309452142070777, 3820424470916782417, 13044986967311981583, 16932680220731892573, 15512851049245904995, 4407692356467248372, 0, 0, 0, 0, 1222210540818995679, 9596558254971998891, 17836151103719299929, 972583351096828487, 16036135922289885914, 9046461447407029762, 13420377050848926972, 8268741668021650938, 15162095256779392528, 6250951389520005938, 4880080490180073887, 5079644903468213758, 0, 4277112440869277830, 16975894093684028062, 17916235475615809558, 14524910789332636826, 11691364468631390887, 7787341040263241822, 9379002423052238093, 9978142397546997785, 13711991341735230802, 2995007776024477424, 4712167935694753945, 1064069264700679460, 16784239691558161828, 13171136420515290288, 7377465172358292401, 0, 7863758113629837220, 34545184916281199, 3993169000277716254, 7364322756301525079, 10650631026443210837, 1517619643121483559, 17270732420407911054, 4258304245011181242, 5161000027742486976, 8399067086847534736, 11003984578732833046, 15464732564240072836, 6182941569324809186, 11275803822943060218, 158655113981893701, 0, 2476402089664475908, 9916425135419809036, 3028465534706354547, 15472564680003668093, 6373098182685681762, 12520752577019080054, 5394462987259780313, 4831149567958541538, 12904631563004530976, 13837253351754641870, 3923208428450719385, 3554976680697606440, 17043251418254499417, 5302393607875037297, 8096532195498204177, 0, 5401472078486138644, 17911378919292638386, 1604440114467418180, 4779855905656105676, 6025526479746347251, 4449154494231990099, 11830346459740212406, 2743894608322163398, 10184996808268436049, 3882545820330029085, 5202687146936953923, 777280530525071979, 9570037184747372126, 10484193697881848161, 11860662735451501625, 0, 15748781809771449617, 12223876502815956005, 8462728310504683652, 13057156105981161589, 11957472249295015469, 11549246553227545561, 15033014935301073849, 423385249083279348, 10856312299574527186, 2052856619870651334, 10305616267836960765, 14352183358244000568, 1261949652056609866, 916956049912161855, 3353438403242689585, 0, 11740120563940364368, 1391869256781506493, 11057309605482706459, 17704317629486807708, 6564342187673520486, 2792692044523533343, 12797232677587390356, 14797653849693720774, 9082763018815888798, 17062564998145646419, 17163741437026102402, 14920816938307553514, 18409839409942969565, 16099949995219613642, 9387728217249208068, 0, 3254516890705807916, 7365800426850749937, 15974018227958845798, 8444961928162939943, 8050679843713964343, 1245616094758475931, 2976182234519674621, 11861324009571007650, 18000519861091284933, 10809856712858383834, 6898855362441294480, 13146633521971264482, 11152948692891359460, 10343969929561703022, 10591999464601502689, 0, 13540695320312597078, 0, 0, 933984176226341473, 4938354828005165424, 3057022637731780053, 18149554045659845084, 9709632327217036413, 16645387828565996715, 10873951879782645518, 214597493824524577, 7950640568527571392, 15274457345887794634, 9280090582838465603, 1242243096703449887, 0, 0, 0, 0, 5626861946644684679, 9519120652743404725, 3153363644848796249, 16387713581663902851, 10655954775576173219, 16168525333832765040, 7013656376478213608, 7333415223195735541, 9069684467099779645, 10706178255503280152, 17753787514920247819, 16088561184006536263, 0, 0, 0, 0, 10636061157542345097, 15008846988127407811, 16614085001509596773, 12600455057253767871, 13458552295186750925, 10343839881402182751, 1108696518251840495, 9621971582260379329, 11613485699478956673, 16861381831518076617, 17933004011918959112, 18255208815154765383, 0, 0, 0, 0, 10509741793670097910, 12960656197959013774, 9112727654277900213, 14176014235755683408, 9647930301481695061, 10818726819316593067, 11744599510375600263, 2780827620762362248, 60352997716668050, 2064777537623220055, 12394773470270210064, 15490398721638241462, 0, 1, 0, 0, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 8242146665224381578, 15911532375448333238, 1386357366995233596, 8611444126933110985, 4676083100930238397, 6139688846062542757, 9002714910392091903, 5823797362462191159, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5792301967904643716, 14513996957604530562, 6300577652167374432, 1030532363437082530, 9868636994953646365, 13312054463817713847, 1163060834237983926, 17159751124589539180, 15748271025379903662, 15673345155938926996, 15542740004802895548, 4070736982096634948, 1, 0, 0, 0, 1453121677659348577, 17403066345171442603, 9526966027631081464, 4562917345183859100, 16736668858502190206, 12710250320191836356, 9043028743666878997, 9570842800862454404, 10889819954451461225, 1374882310944969176, 11041329929342678296, 6376909268692149801, 1, 0, 0, 0, 6798464049283172704, 10094602609597426273, 5441108908322692152, 13319823174770042865, 3687504758717747002, 11828007000931365406, 15642196062511550808, 4387538442135057894, 12016453509822632603, 16688879161845796765, 15353663875595798268, 9433687029957117661, 1, 11436455846193695609, 17419948132223780613, 10707930966158261719, 7805136509413905123, 10748223278202845625, 5102455166015213038, 16060345288112427467, 9937020917196030767, 13713675713530315700, 11873887283723171030, 6245447289360608210, 2758175399376775060, 6794131889413756751, 6954584401067417189, 5092580402017360453, 1, 138168370802146349, 561179642041056504, 13282391328952434407, 3586306435690112870, 17278658194357811156, 2504635638454636683, 7235500145280211409, 11191458759516692993, 6465450803792948194, 2111071922636782066, 11802465958807233213, 9116942394473193925, 11145482942031811955, 14726020691764699927, 16903672043479974450, 1, 263960295682680947, 15697220842527476860, 17868088579823291326, 2175933588395873247, 8749749468735109989, 11010166446741390499, 17943104442301856895, 15821423767384514021, 16018668147064525478, 5560768172433028490, 5619212355349254932, 17391285462458271036, 2603291588626814071, 5238953246197227863, 5602891381109897586, 1, 12301036190174877474, 12651281118484863330, 11983275442902746825, 9125195986387370903, 2181062690427536463, 13921861517061570826, 350891571660248295, 11013048057925712708, 11055047889476803308, 15398332646604634982, 5808711407549689243, 8949777591082911961, 14824627964979845981, 8130365156760288485, 3947069696768920416, 1, 753507401801380169, 11557202300537182401, 12635550211207024884, 13277984171307670821, 2631795936834054713, 14094327291919754106, 12673624581190519723, 4509450209340246689, 10606486226190872261, 889124163739951988, 12547380261461657128, 16829937485708676196, 15832095999334895743, 5377353767201125639, 11053610747785598805, 1, 17726880391953768878, 13956049620380258223, 11273932727072475337, 6855896085734577371, 1129400045567810133, 16519057148475618054, 10699416941054230316, 17256608828803451668, 6887723245936746466, 552364255868028623, 17909079490987407142, 9570595819850351164, 8654686163127378448, 16203109760043627710, 8480295614280342552, 1, 5047048529377126902, 2720906371958061367, 10084181298533567509, 10367672116357405411, 11036446985399396097, 13294567520571596163, 17521531050433436007, 1868701710513242496, 5411603901210245247, 11609599138736895146, 16874855234706410918, 4393409689646403917, 9543195090298605247, 7478523150127634789, 2693101708644875762, 1, 3528724572660247995, 0, 0, 12432722351030045, 1367308201666984940, 3681473655802754494, 15340518851882934883, 12978887161137913348, 15761699408266065961, 3053535844413236872, 13043307337058007179, 1605626291192886407, 3512088686484392896, 17370072541480613908, 15945489250832697271, 1, 0, 0, 0, 18236855931369748683, 5145738009993425605, 9599849581440088949, 7181962801200058100, 7842895042061868932, 12656177266019986902, 8530248384503061153, 7088178758240165913, 8843525768370306419, 9760798177389960884, 15297557810674980998, 17513790474795511142, 1, 0, 0, 0, 11582029127760482436, 12210748157899031357, 9473509448225646970, 17514007687115301207, 15252116786733410669, 10068681917011840638, 5010610666981558682, 14100290159714849481, 10038370148733513877, 4164887708143705047, 12759194225663538416, 5155504400103783318, 1, 0, 0, 0, 2256431941220947766, 13487119117857302457, 10370113277604876234, 1506538453550143326, 9611088164777633619, 9944172425891749050, 2585766031776029836, 7469792865149057403, 3748706915022560085, 480217827283441208, 7902514309755880799, 16608422580379539141, 1, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 2, 0, 0, 0, 1744857570235497404, 7224541920618385714, 6671488038711247732, 9418477143622752895, 9703867417214980336, 12489503772578086800, 7630918900393673526, 922936908940985560, 13119444482451573268, 8102518886279384149, 1794056580842530013, 6019859370758513415, 2, 0, 0, 0, 11225476840467288604, 1258325688295597329, 127125292503096007, 14464605090260677523, 1356149198325814678, 16210500530871871700, 7703315482792482057, 9670557752572652209, 14715521009568351134, 5622479790818646070, 1994313401293831292, 12198921534065454764, 2, 0, 0, 0, 6475944301769848126, 2915217068128247285, 10539364050497833639, 1329434144584264601, 4724829826743698824, 11656831663640211358, 18159325948688903721, 2263120035450455133, 3044551438691886778, 1378219755367734085, 27066760951347720, 7594002804590750508, 2, 7094992666845579929, 10682949197627750021, 15511495322322885910, 15870512746805692064, 4742278351791462207, 7505045441162082383, 9115585980456141894, 11819132067426344142, 5933534952755427427, 5289666558408553872, 13337066958757631081, 6199794689781794653, 5527421833010022906, 4651988931660818160, 2987054724042595780, 2, 3458358424286082329, 7093523218540709637, 10672998680593063500, 9582569954668317010, 13201115384751580570, 1845418544539288297, 9232442292023153805, 12186827811356238706, 10935576324406113028, 8489922013276339729, 12624430369688872770, 17630820426326624548, 2455558777867773614, 8013720398498280010, 12827655532307024322, 2, 5785580083697586953, 5496776863607614961, 13562358148399326759, 9619728790481291702, 7348374190345066861, 13428391720342760502, 1625987251039265071, 4628549345299080849, 1482769832760029881, 15392110855022396191, 11685531496513883979, 16631929378585709364, 1206841992098443123, 9033969076040507441, 132716663048694064, 2, 4935270318350649204, 11208979634658466526, 15063992759093620930, 69377025486693860, 2005546075822572073, 6505215078608999447, 5174094099800739640, 13001606491845435526, 1072287532585676149, 8674354724303146421, 2891558581869634704, 12003109342828923560, 2795184266895760838, 8907697550851381515, 7407535969740942827, 2, 12928689569348120744, 18117769253874083942, 6430757471563325625, 11001198331791943845, 5782583463951144663, 3192834997426419970, 13479879407860298287, 12933861238108488467, 16278293297035470863, 6876436357683812502, 1917626248124261877, 7470768955678552355, 11361229958543541222, 7877487828305683469, 12846364871258595728, 2, 3208246304442396143, 602388884213530987, 15428433977489879680, 13971985988839335428, 2737452825195583328, 15596845393022603175, 10706929119701705862, 4857505199118487438, 17086155371834155818, 14942339901122070806, 18093611989159833406, 8678554698795861566, 2399201986323959674, 14423713805583819215, 13940821782800746629, 2, 5752176924989565290, 4446226812085120357, 4892387022627626332, 12766647202711608745, 16601117776639897488, 11733197324703429636, 12249169652316186841, 15421392054100411011, 10950661145505749420, 8676915018037525034, 2287206221212892475, 840670749677123625, 14199538947967054445, 11736020252788430378, 8602113489330523197, 2, 16339610044914982284, 0, 0, 17640015747325898849, 16347444792678324740, 8885896841027368623, 10718432816977168969, 5156908241230918449, 17013559050399408119, 14174891037708262638, 1568239283519947871, 11922342832652198664, 17716568425187950727, 14294596817162139623, 8762912941700788919, 2, 0, 0, 0, 10691440065277113539, 11571864114015088873, 14769641188290399688, 15214258832131517513, 16096616261062028405, 17526009277172454447, 7932842201848681903, 7306503137329194055, 13369935276997096320, 15066831218638174923, 9520626635373991696, 13296433431293103463, 2, 0, 0, 0, 15457748872647003252, 12161715639235802937, 14007251173141324536, 1685517899923633866, 5112172969895687532, 5291999820044553537, 8437113893887445899, 3726439603382583733, 8404976155487828619, 7450257481186581855, 18356039864791793168, 15198056038162548435, 2, 0, 0, 0, 12039411220003022329, 844322165626728828, 6152440980082407113, 11008191087326916441, 15301657567101812620, 7647514108863503629, 11736853678981601451, 13408456878721317654, 137431712022909617, 9004259806363632349, 994790402583656889, 3215329497276289397, 2, 1, 0, 0, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 5915784406748100112, 6722847756588924736, 14012694245464324059, 2066991057620171669, 7739875740167294943, 7018932903636824263, 3536373181423802149, 16715512295218120604, 2, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 3, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 3, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 3, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 3, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 3, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 3, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 3, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 3, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 3, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 3, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 3, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 3, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 3, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 3, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(18) }, program_info: ProgramInfo { program_hash: Word([14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 19, range_trace_len: 49, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 2, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_23.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_23.snap index 62614f4531..61b2dcd205 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_23.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_23.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 0, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 3137828705454, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 0, 1, 0, 24514286761, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 40, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 191517865, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 1496233, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 11689, 1, 0, 0, 0, 0, 0, 0, 1, 2, 4, 0, 0, 0, 0, 0, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 7, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 12, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 13, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 1, 17, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 9, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 2, 10, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2197, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4384, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6571, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8758, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10945, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13132, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15319, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17506, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19693, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21880, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24067, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26254, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28441, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30628, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32815, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35002, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37189, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39376, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41563, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43750, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45937, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48124, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50311, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52498, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54685, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56872, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59059, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61246, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63433, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64162, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64891, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65134, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65377, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65458, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65485, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65512, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65521, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65530, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65533, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65534, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 8242146665224381578, 15911532375448333238, 1386357366995233596, 8611444126933110985, 4676083100930238397, 6139688846062542757, 9002714910392091903, 5823797362462191159, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 5915784406748100112, 6722847756588924736, 14012694245464324059, 2066991057620171669, 7739875740167294943, 7018932903636824263, 3536373181423802149, 16715512295218120604, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 3, 8, 1, 1, 0, 0, 1, 0, 40, 0, 0, 3, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1, 0, 1, 1, 10, 0, 0, 9, 1, 1, 0, 1, 1, 0, 40, 0, 0, 12, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 9, 0, 4099276459869907627, 1, 10, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 87, 0, 0, 0, 0, 0, 0, 15982823105988775806, 8055676711367425373, 17941169771108522281, 17144527358953736194, 14947610898944891577, 971614072768782170, 6527463406041159829, 3832659229659994697, 4267689650839244805, 7476341399175005462, 13956706726156239325, 1362637335972540923, 0, 0, 0, 0, 5870626296958083933, 15831852620745746684, 3185498590211330291, 4142206734944835575, 1703654304778633946, 16779850255772273060, 17529309452142070777, 3820424470916782417, 13044986967311981583, 16932680220731892573, 15512851049245904995, 4407692356467248372, 0, 0, 0, 0, 1222210540818995679, 9596558254971998891, 17836151103719299929, 972583351096828487, 16036135922289885914, 9046461447407029762, 13420377050848926972, 8268741668021650938, 15162095256779392528, 6250951389520005938, 4880080490180073887, 5079644903468213758, 0, 4277112440869277830, 16975894093684028062, 17916235475615809558, 14524910789332636826, 11691364468631390887, 7787341040263241822, 9379002423052238093, 9978142397546997785, 13711991341735230802, 2995007776024477424, 4712167935694753945, 1064069264700679460, 16784239691558161828, 13171136420515290288, 7377465172358292401, 0, 7863758113629837220, 34545184916281199, 3993169000277716254, 7364322756301525079, 10650631026443210837, 1517619643121483559, 17270732420407911054, 4258304245011181242, 5161000027742486976, 8399067086847534736, 11003984578732833046, 15464732564240072836, 6182941569324809186, 11275803822943060218, 158655113981893701, 0, 2476402089664475908, 9916425135419809036, 3028465534706354547, 15472564680003668093, 6373098182685681762, 12520752577019080054, 5394462987259780313, 4831149567958541538, 12904631563004530976, 13837253351754641870, 3923208428450719385, 3554976680697606440, 17043251418254499417, 5302393607875037297, 8096532195498204177, 0, 5401472078486138644, 17911378919292638386, 1604440114467418180, 4779855905656105676, 6025526479746347251, 4449154494231990099, 11830346459740212406, 2743894608322163398, 10184996808268436049, 3882545820330029085, 5202687146936953923, 777280530525071979, 9570037184747372126, 10484193697881848161, 11860662735451501625, 0, 15748781809771449617, 12223876502815956005, 8462728310504683652, 13057156105981161589, 11957472249295015469, 11549246553227545561, 15033014935301073849, 423385249083279348, 10856312299574527186, 2052856619870651334, 10305616267836960765, 14352183358244000568, 1261949652056609866, 916956049912161855, 3353438403242689585, 0, 11740120563940364368, 1391869256781506493, 11057309605482706459, 17704317629486807708, 6564342187673520486, 2792692044523533343, 12797232677587390356, 14797653849693720774, 9082763018815888798, 17062564998145646419, 17163741437026102402, 14920816938307553514, 18409839409942969565, 16099949995219613642, 9387728217249208068, 0, 3254516890705807916, 7365800426850749937, 15974018227958845798, 8444961928162939943, 8050679843713964343, 1245616094758475931, 2976182234519674621, 11861324009571007650, 18000519861091284933, 10809856712858383834, 6898855362441294480, 13146633521971264482, 11152948692891359460, 10343969929561703022, 10591999464601502689, 0, 13540695320312597078, 0, 0, 933984176226341473, 4938354828005165424, 3057022637731780053, 18149554045659845084, 9709632327217036413, 16645387828565996715, 10873951879782645518, 214597493824524577, 7950640568527571392, 15274457345887794634, 9280090582838465603, 1242243096703449887, 0, 0, 0, 0, 5626861946644684679, 9519120652743404725, 3153363644848796249, 16387713581663902851, 10655954775576173219, 16168525333832765040, 7013656376478213608, 7333415223195735541, 9069684467099779645, 10706178255503280152, 17753787514920247819, 16088561184006536263, 0, 0, 0, 0, 10636061157542345097, 15008846988127407811, 16614085001509596773, 12600455057253767871, 13458552295186750925, 10343839881402182751, 1108696518251840495, 9621971582260379329, 11613485699478956673, 16861381831518076617, 17933004011918959112, 18255208815154765383, 0, 0, 0, 0, 10509741793670097910, 12960656197959013774, 9112727654277900213, 14176014235755683408, 9647930301481695061, 10818726819316593067, 11744599510375600263, 2780827620762362248, 60352997716668050, 2064777537623220055, 12394773470270210064, 15490398721638241462, 0, 1, 0, 0, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 8242146665224381578, 15911532375448333238, 1386357366995233596, 8611444126933110985, 4676083100930238397, 6139688846062542757, 9002714910392091903, 5823797362462191159, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5792301967904643716, 14513996957604530562, 6300577652167374432, 1030532363437082530, 9868636994953646365, 13312054463817713847, 1163060834237983926, 17159751124589539180, 15748271025379903662, 15673345155938926996, 15542740004802895548, 4070736982096634948, 1, 0, 0, 0, 1453121677659348577, 17403066345171442603, 9526966027631081464, 4562917345183859100, 16736668858502190206, 12710250320191836356, 9043028743666878997, 9570842800862454404, 10889819954451461225, 1374882310944969176, 11041329929342678296, 6376909268692149801, 1, 0, 0, 0, 6798464049283172704, 10094602609597426273, 5441108908322692152, 13319823174770042865, 3687504758717747002, 11828007000931365406, 15642196062511550808, 4387538442135057894, 12016453509822632603, 16688879161845796765, 15353663875595798268, 9433687029957117661, 1, 11436455846193695609, 17419948132223780613, 10707930966158261719, 7805136509413905123, 10748223278202845625, 5102455166015213038, 16060345288112427467, 9937020917196030767, 13713675713530315700, 11873887283723171030, 6245447289360608210, 2758175399376775060, 6794131889413756751, 6954584401067417189, 5092580402017360453, 1, 138168370802146349, 561179642041056504, 13282391328952434407, 3586306435690112870, 17278658194357811156, 2504635638454636683, 7235500145280211409, 11191458759516692993, 6465450803792948194, 2111071922636782066, 11802465958807233213, 9116942394473193925, 11145482942031811955, 14726020691764699927, 16903672043479974450, 1, 263960295682680947, 15697220842527476860, 17868088579823291326, 2175933588395873247, 8749749468735109989, 11010166446741390499, 17943104442301856895, 15821423767384514021, 16018668147064525478, 5560768172433028490, 5619212355349254932, 17391285462458271036, 2603291588626814071, 5238953246197227863, 5602891381109897586, 1, 12301036190174877474, 12651281118484863330, 11983275442902746825, 9125195986387370903, 2181062690427536463, 13921861517061570826, 350891571660248295, 11013048057925712708, 11055047889476803308, 15398332646604634982, 5808711407549689243, 8949777591082911961, 14824627964979845981, 8130365156760288485, 3947069696768920416, 1, 753507401801380169, 11557202300537182401, 12635550211207024884, 13277984171307670821, 2631795936834054713, 14094327291919754106, 12673624581190519723, 4509450209340246689, 10606486226190872261, 889124163739951988, 12547380261461657128, 16829937485708676196, 15832095999334895743, 5377353767201125639, 11053610747785598805, 1, 17726880391953768878, 13956049620380258223, 11273932727072475337, 6855896085734577371, 1129400045567810133, 16519057148475618054, 10699416941054230316, 17256608828803451668, 6887723245936746466, 552364255868028623, 17909079490987407142, 9570595819850351164, 8654686163127378448, 16203109760043627710, 8480295614280342552, 1, 5047048529377126902, 2720906371958061367, 10084181298533567509, 10367672116357405411, 11036446985399396097, 13294567520571596163, 17521531050433436007, 1868701710513242496, 5411603901210245247, 11609599138736895146, 16874855234706410918, 4393409689646403917, 9543195090298605247, 7478523150127634789, 2693101708644875762, 1, 3528724572660247995, 0, 0, 12432722351030045, 1367308201666984940, 3681473655802754494, 15340518851882934883, 12978887161137913348, 15761699408266065961, 3053535844413236872, 13043307337058007179, 1605626291192886407, 3512088686484392896, 17370072541480613908, 15945489250832697271, 1, 0, 0, 0, 18236855931369748683, 5145738009993425605, 9599849581440088949, 7181962801200058100, 7842895042061868932, 12656177266019986902, 8530248384503061153, 7088178758240165913, 8843525768370306419, 9760798177389960884, 15297557810674980998, 17513790474795511142, 1, 0, 0, 0, 11582029127760482436, 12210748157899031357, 9473509448225646970, 17514007687115301207, 15252116786733410669, 10068681917011840638, 5010610666981558682, 14100290159714849481, 10038370148733513877, 4164887708143705047, 12759194225663538416, 5155504400103783318, 1, 0, 0, 0, 2256431941220947766, 13487119117857302457, 10370113277604876234, 1506538453550143326, 9611088164777633619, 9944172425891749050, 2585766031776029836, 7469792865149057403, 3748706915022560085, 480217827283441208, 7902514309755880799, 16608422580379539141, 1, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 2, 0, 0, 0, 1744857570235497404, 7224541920618385714, 6671488038711247732, 9418477143622752895, 9703867417214980336, 12489503772578086800, 7630918900393673526, 922936908940985560, 13119444482451573268, 8102518886279384149, 1794056580842530013, 6019859370758513415, 2, 0, 0, 0, 11225476840467288604, 1258325688295597329, 127125292503096007, 14464605090260677523, 1356149198325814678, 16210500530871871700, 7703315482792482057, 9670557752572652209, 14715521009568351134, 5622479790818646070, 1994313401293831292, 12198921534065454764, 2, 0, 0, 0, 6475944301769848126, 2915217068128247285, 10539364050497833639, 1329434144584264601, 4724829826743698824, 11656831663640211358, 18159325948688903721, 2263120035450455133, 3044551438691886778, 1378219755367734085, 27066760951347720, 7594002804590750508, 2, 7094992666845579929, 10682949197627750021, 15511495322322885910, 15870512746805692064, 4742278351791462207, 7505045441162082383, 9115585980456141894, 11819132067426344142, 5933534952755427427, 5289666558408553872, 13337066958757631081, 6199794689781794653, 5527421833010022906, 4651988931660818160, 2987054724042595780, 2, 3458358424286082329, 7093523218540709637, 10672998680593063500, 9582569954668317010, 13201115384751580570, 1845418544539288297, 9232442292023153805, 12186827811356238706, 10935576324406113028, 8489922013276339729, 12624430369688872770, 17630820426326624548, 2455558777867773614, 8013720398498280010, 12827655532307024322, 2, 5785580083697586953, 5496776863607614961, 13562358148399326759, 9619728790481291702, 7348374190345066861, 13428391720342760502, 1625987251039265071, 4628549345299080849, 1482769832760029881, 15392110855022396191, 11685531496513883979, 16631929378585709364, 1206841992098443123, 9033969076040507441, 132716663048694064, 2, 4935270318350649204, 11208979634658466526, 15063992759093620930, 69377025486693860, 2005546075822572073, 6505215078608999447, 5174094099800739640, 13001606491845435526, 1072287532585676149, 8674354724303146421, 2891558581869634704, 12003109342828923560, 2795184266895760838, 8907697550851381515, 7407535969740942827, 2, 12928689569348120744, 18117769253874083942, 6430757471563325625, 11001198331791943845, 5782583463951144663, 3192834997426419970, 13479879407860298287, 12933861238108488467, 16278293297035470863, 6876436357683812502, 1917626248124261877, 7470768955678552355, 11361229958543541222, 7877487828305683469, 12846364871258595728, 2, 3208246304442396143, 602388884213530987, 15428433977489879680, 13971985988839335428, 2737452825195583328, 15596845393022603175, 10706929119701705862, 4857505199118487438, 17086155371834155818, 14942339901122070806, 18093611989159833406, 8678554698795861566, 2399201986323959674, 14423713805583819215, 13940821782800746629, 2, 5752176924989565290, 4446226812085120357, 4892387022627626332, 12766647202711608745, 16601117776639897488, 11733197324703429636, 12249169652316186841, 15421392054100411011, 10950661145505749420, 8676915018037525034, 2287206221212892475, 840670749677123625, 14199538947967054445, 11736020252788430378, 8602113489330523197, 2, 16339610044914982284, 0, 0, 17640015747325898849, 16347444792678324740, 8885896841027368623, 10718432816977168969, 5156908241230918449, 17013559050399408119, 14174891037708262638, 1568239283519947871, 11922342832652198664, 17716568425187950727, 14294596817162139623, 8762912941700788919, 2, 0, 0, 0, 10691440065277113539, 11571864114015088873, 14769641188290399688, 15214258832131517513, 16096616261062028405, 17526009277172454447, 7932842201848681903, 7306503137329194055, 13369935276997096320, 15066831218638174923, 9520626635373991696, 13296433431293103463, 2, 0, 0, 0, 15457748872647003252, 12161715639235802937, 14007251173141324536, 1685517899923633866, 5112172969895687532, 5291999820044553537, 8437113893887445899, 3726439603382583733, 8404976155487828619, 7450257481186581855, 18356039864791793168, 15198056038162548435, 2, 0, 0, 0, 12039411220003022329, 844322165626728828, 6152440980082407113, 11008191087326916441, 15301657567101812620, 7647514108863503629, 11736853678981601451, 13408456878721317654, 137431712022909617, 9004259806363632349, 994790402583656889, 3215329497276289397, 2, 1, 0, 0, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 5915784406748100112, 6722847756588924736, 14012694245464324059, 2066991057620171669, 7739875740167294943, 7018932903636824263, 3536373181423802149, 16715512295218120604, 2, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 3, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 3, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 3, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 3, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 3, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 3, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 3, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 3, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 3, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 3, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 3, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 3, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 3, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 3, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(18) }, program_info: ProgramInfo { program_hash: Word([14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 19, range_trace_len: 49, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 2, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 0, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 3137828705454, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 0, 1, 0, 24514286761, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 40, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 191517865, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 1496233, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 11689, 1, 0, 0, 0, 0, 0, 0, 1, 2, 4, 0, 0, 0, 0, 0, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 7, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 12, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 13, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 1, 17, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 9, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 2, 10, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2197, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4384, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6571, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8758, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10945, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13132, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15319, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17506, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19693, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21880, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24067, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26254, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28441, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30628, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32815, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35002, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37189, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39376, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41563, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43750, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45937, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48124, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50311, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52498, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54685, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56872, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59059, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61246, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63433, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64162, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64891, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65134, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65377, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65458, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65485, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65512, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65521, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65530, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65533, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65534, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 8242146665224381578, 15911532375448333238, 1386357366995233596, 8611444126933110985, 4676083100930238397, 6139688846062542757, 9002714910392091903, 5823797362462191159, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 5915784406748100112, 6722847756588924736, 14012694245464324059, 2066991057620171669, 7739875740167294943, 7018932903636824263, 3536373181423802149, 16715512295218120604, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 3, 8, 1, 1, 0, 0, 1, 0, 40, 0, 0, 3, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1, 0, 1, 1, 10, 0, 0, 9, 1, 1, 0, 1, 1, 0, 40, 0, 0, 12, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 9, 0, 4099276459869907627, 1, 10, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 87, 0, 0, 0, 0, 0, 0, 15982823105988775806, 8055676711367425373, 17941169771108522281, 17144527358953736194, 14947610898944891577, 971614072768782170, 6527463406041159829, 3832659229659994697, 4267689650839244805, 7476341399175005462, 13956706726156239325, 1362637335972540923, 0, 0, 0, 0, 5870626296958083933, 15831852620745746684, 3185498590211330291, 4142206734944835575, 1703654304778633946, 16779850255772273060, 17529309452142070777, 3820424470916782417, 13044986967311981583, 16932680220731892573, 15512851049245904995, 4407692356467248372, 0, 0, 0, 0, 1222210540818995679, 9596558254971998891, 17836151103719299929, 972583351096828487, 16036135922289885914, 9046461447407029762, 13420377050848926972, 8268741668021650938, 15162095256779392528, 6250951389520005938, 4880080490180073887, 5079644903468213758, 0, 4277112440869277830, 16975894093684028062, 17916235475615809558, 14524910789332636826, 11691364468631390887, 7787341040263241822, 9379002423052238093, 9978142397546997785, 13711991341735230802, 2995007776024477424, 4712167935694753945, 1064069264700679460, 16784239691558161828, 13171136420515290288, 7377465172358292401, 0, 7863758113629837220, 34545184916281199, 3993169000277716254, 7364322756301525079, 10650631026443210837, 1517619643121483559, 17270732420407911054, 4258304245011181242, 5161000027742486976, 8399067086847534736, 11003984578732833046, 15464732564240072836, 6182941569324809186, 11275803822943060218, 158655113981893701, 0, 2476402089664475908, 9916425135419809036, 3028465534706354547, 15472564680003668093, 6373098182685681762, 12520752577019080054, 5394462987259780313, 4831149567958541538, 12904631563004530976, 13837253351754641870, 3923208428450719385, 3554976680697606440, 17043251418254499417, 5302393607875037297, 8096532195498204177, 0, 5401472078486138644, 17911378919292638386, 1604440114467418180, 4779855905656105676, 6025526479746347251, 4449154494231990099, 11830346459740212406, 2743894608322163398, 10184996808268436049, 3882545820330029085, 5202687146936953923, 777280530525071979, 9570037184747372126, 10484193697881848161, 11860662735451501625, 0, 15748781809771449617, 12223876502815956005, 8462728310504683652, 13057156105981161589, 11957472249295015469, 11549246553227545561, 15033014935301073849, 423385249083279348, 10856312299574527186, 2052856619870651334, 10305616267836960765, 14352183358244000568, 1261949652056609866, 916956049912161855, 3353438403242689585, 0, 11740120563940364368, 1391869256781506493, 11057309605482706459, 17704317629486807708, 6564342187673520486, 2792692044523533343, 12797232677587390356, 14797653849693720774, 9082763018815888798, 17062564998145646419, 17163741437026102402, 14920816938307553514, 18409839409942969565, 16099949995219613642, 9387728217249208068, 0, 3254516890705807916, 7365800426850749937, 15974018227958845798, 8444961928162939943, 8050679843713964343, 1245616094758475931, 2976182234519674621, 11861324009571007650, 18000519861091284933, 10809856712858383834, 6898855362441294480, 13146633521971264482, 11152948692891359460, 10343969929561703022, 10591999464601502689, 0, 13540695320312597078, 0, 0, 933984176226341473, 4938354828005165424, 3057022637731780053, 18149554045659845084, 9709632327217036413, 16645387828565996715, 10873951879782645518, 214597493824524577, 7950640568527571392, 15274457345887794634, 9280090582838465603, 1242243096703449887, 0, 0, 0, 0, 5626861946644684679, 9519120652743404725, 3153363644848796249, 16387713581663902851, 10655954775576173219, 16168525333832765040, 7013656376478213608, 7333415223195735541, 9069684467099779645, 10706178255503280152, 17753787514920247819, 16088561184006536263, 0, 0, 0, 0, 10636061157542345097, 15008846988127407811, 16614085001509596773, 12600455057253767871, 13458552295186750925, 10343839881402182751, 1108696518251840495, 9621971582260379329, 11613485699478956673, 16861381831518076617, 17933004011918959112, 18255208815154765383, 0, 0, 0, 0, 10509741793670097910, 12960656197959013774, 9112727654277900213, 14176014235755683408, 9647930301481695061, 10818726819316593067, 11744599510375600263, 2780827620762362248, 60352997716668050, 2064777537623220055, 12394773470270210064, 15490398721638241462, 0, 1, 0, 0, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 8242146665224381578, 15911532375448333238, 1386357366995233596, 8611444126933110985, 4676083100930238397, 6139688846062542757, 9002714910392091903, 5823797362462191159, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5792301967904643716, 14513996957604530562, 6300577652167374432, 1030532363437082530, 9868636994953646365, 13312054463817713847, 1163060834237983926, 17159751124589539180, 15748271025379903662, 15673345155938926996, 15542740004802895548, 4070736982096634948, 1, 0, 0, 0, 1453121677659348577, 17403066345171442603, 9526966027631081464, 4562917345183859100, 16736668858502190206, 12710250320191836356, 9043028743666878997, 9570842800862454404, 10889819954451461225, 1374882310944969176, 11041329929342678296, 6376909268692149801, 1, 0, 0, 0, 6798464049283172704, 10094602609597426273, 5441108908322692152, 13319823174770042865, 3687504758717747002, 11828007000931365406, 15642196062511550808, 4387538442135057894, 12016453509822632603, 16688879161845796765, 15353663875595798268, 9433687029957117661, 1, 11436455846193695609, 17419948132223780613, 10707930966158261719, 7805136509413905123, 10748223278202845625, 5102455166015213038, 16060345288112427467, 9937020917196030767, 13713675713530315700, 11873887283723171030, 6245447289360608210, 2758175399376775060, 6794131889413756751, 6954584401067417189, 5092580402017360453, 1, 138168370802146349, 561179642041056504, 13282391328952434407, 3586306435690112870, 17278658194357811156, 2504635638454636683, 7235500145280211409, 11191458759516692993, 6465450803792948194, 2111071922636782066, 11802465958807233213, 9116942394473193925, 11145482942031811955, 14726020691764699927, 16903672043479974450, 1, 263960295682680947, 15697220842527476860, 17868088579823291326, 2175933588395873247, 8749749468735109989, 11010166446741390499, 17943104442301856895, 15821423767384514021, 16018668147064525478, 5560768172433028490, 5619212355349254932, 17391285462458271036, 2603291588626814071, 5238953246197227863, 5602891381109897586, 1, 12301036190174877474, 12651281118484863330, 11983275442902746825, 9125195986387370903, 2181062690427536463, 13921861517061570826, 350891571660248295, 11013048057925712708, 11055047889476803308, 15398332646604634982, 5808711407549689243, 8949777591082911961, 14824627964979845981, 8130365156760288485, 3947069696768920416, 1, 753507401801380169, 11557202300537182401, 12635550211207024884, 13277984171307670821, 2631795936834054713, 14094327291919754106, 12673624581190519723, 4509450209340246689, 10606486226190872261, 889124163739951988, 12547380261461657128, 16829937485708676196, 15832095999334895743, 5377353767201125639, 11053610747785598805, 1, 17726880391953768878, 13956049620380258223, 11273932727072475337, 6855896085734577371, 1129400045567810133, 16519057148475618054, 10699416941054230316, 17256608828803451668, 6887723245936746466, 552364255868028623, 17909079490987407142, 9570595819850351164, 8654686163127378448, 16203109760043627710, 8480295614280342552, 1, 5047048529377126902, 2720906371958061367, 10084181298533567509, 10367672116357405411, 11036446985399396097, 13294567520571596163, 17521531050433436007, 1868701710513242496, 5411603901210245247, 11609599138736895146, 16874855234706410918, 4393409689646403917, 9543195090298605247, 7478523150127634789, 2693101708644875762, 1, 3528724572660247995, 0, 0, 12432722351030045, 1367308201666984940, 3681473655802754494, 15340518851882934883, 12978887161137913348, 15761699408266065961, 3053535844413236872, 13043307337058007179, 1605626291192886407, 3512088686484392896, 17370072541480613908, 15945489250832697271, 1, 0, 0, 0, 18236855931369748683, 5145738009993425605, 9599849581440088949, 7181962801200058100, 7842895042061868932, 12656177266019986902, 8530248384503061153, 7088178758240165913, 8843525768370306419, 9760798177389960884, 15297557810674980998, 17513790474795511142, 1, 0, 0, 0, 11582029127760482436, 12210748157899031357, 9473509448225646970, 17514007687115301207, 15252116786733410669, 10068681917011840638, 5010610666981558682, 14100290159714849481, 10038370148733513877, 4164887708143705047, 12759194225663538416, 5155504400103783318, 1, 0, 0, 0, 2256431941220947766, 13487119117857302457, 10370113277604876234, 1506538453550143326, 9611088164777633619, 9944172425891749050, 2585766031776029836, 7469792865149057403, 3748706915022560085, 480217827283441208, 7902514309755880799, 16608422580379539141, 1, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 2, 0, 0, 0, 1744857570235497404, 7224541920618385714, 6671488038711247732, 9418477143622752895, 9703867417214980336, 12489503772578086800, 7630918900393673526, 922936908940985560, 13119444482451573268, 8102518886279384149, 1794056580842530013, 6019859370758513415, 2, 0, 0, 0, 11225476840467288604, 1258325688295597329, 127125292503096007, 14464605090260677523, 1356149198325814678, 16210500530871871700, 7703315482792482057, 9670557752572652209, 14715521009568351134, 5622479790818646070, 1994313401293831292, 12198921534065454764, 2, 0, 0, 0, 6475944301769848126, 2915217068128247285, 10539364050497833639, 1329434144584264601, 4724829826743698824, 11656831663640211358, 18159325948688903721, 2263120035450455133, 3044551438691886778, 1378219755367734085, 27066760951347720, 7594002804590750508, 2, 7094992666845579929, 10682949197627750021, 15511495322322885910, 15870512746805692064, 4742278351791462207, 7505045441162082383, 9115585980456141894, 11819132067426344142, 5933534952755427427, 5289666558408553872, 13337066958757631081, 6199794689781794653, 5527421833010022906, 4651988931660818160, 2987054724042595780, 2, 3458358424286082329, 7093523218540709637, 10672998680593063500, 9582569954668317010, 13201115384751580570, 1845418544539288297, 9232442292023153805, 12186827811356238706, 10935576324406113028, 8489922013276339729, 12624430369688872770, 17630820426326624548, 2455558777867773614, 8013720398498280010, 12827655532307024322, 2, 5785580083697586953, 5496776863607614961, 13562358148399326759, 9619728790481291702, 7348374190345066861, 13428391720342760502, 1625987251039265071, 4628549345299080849, 1482769832760029881, 15392110855022396191, 11685531496513883979, 16631929378585709364, 1206841992098443123, 9033969076040507441, 132716663048694064, 2, 4935270318350649204, 11208979634658466526, 15063992759093620930, 69377025486693860, 2005546075822572073, 6505215078608999447, 5174094099800739640, 13001606491845435526, 1072287532585676149, 8674354724303146421, 2891558581869634704, 12003109342828923560, 2795184266895760838, 8907697550851381515, 7407535969740942827, 2, 12928689569348120744, 18117769253874083942, 6430757471563325625, 11001198331791943845, 5782583463951144663, 3192834997426419970, 13479879407860298287, 12933861238108488467, 16278293297035470863, 6876436357683812502, 1917626248124261877, 7470768955678552355, 11361229958543541222, 7877487828305683469, 12846364871258595728, 2, 3208246304442396143, 602388884213530987, 15428433977489879680, 13971985988839335428, 2737452825195583328, 15596845393022603175, 10706929119701705862, 4857505199118487438, 17086155371834155818, 14942339901122070806, 18093611989159833406, 8678554698795861566, 2399201986323959674, 14423713805583819215, 13940821782800746629, 2, 5752176924989565290, 4446226812085120357, 4892387022627626332, 12766647202711608745, 16601117776639897488, 11733197324703429636, 12249169652316186841, 15421392054100411011, 10950661145505749420, 8676915018037525034, 2287206221212892475, 840670749677123625, 14199538947967054445, 11736020252788430378, 8602113489330523197, 2, 16339610044914982284, 0, 0, 17640015747325898849, 16347444792678324740, 8885896841027368623, 10718432816977168969, 5156908241230918449, 17013559050399408119, 14174891037708262638, 1568239283519947871, 11922342832652198664, 17716568425187950727, 14294596817162139623, 8762912941700788919, 2, 0, 0, 0, 10691440065277113539, 11571864114015088873, 14769641188290399688, 15214258832131517513, 16096616261062028405, 17526009277172454447, 7932842201848681903, 7306503137329194055, 13369935276997096320, 15066831218638174923, 9520626635373991696, 13296433431293103463, 2, 0, 0, 0, 15457748872647003252, 12161715639235802937, 14007251173141324536, 1685517899923633866, 5112172969895687532, 5291999820044553537, 8437113893887445899, 3726439603382583733, 8404976155487828619, 7450257481186581855, 18356039864791793168, 15198056038162548435, 2, 0, 0, 0, 12039411220003022329, 844322165626728828, 6152440980082407113, 11008191087326916441, 15301657567101812620, 7647514108863503629, 11736853678981601451, 13408456878721317654, 137431712022909617, 9004259806363632349, 994790402583656889, 3215329497276289397, 2, 1, 0, 0, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 5915784406748100112, 6722847756588924736, 14012694245464324059, 2066991057620171669, 7739875740167294943, 7018932903636824263, 3536373181423802149, 16715512295218120604, 2, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 3, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 3, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 3, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 3, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 3, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 3, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 3, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 3, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 3, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 3, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 3, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 3, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 3, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 3, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(18) }, program_info: ProgramInfo { program_hash: Word([14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 19, range_trace_len: 49, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 2, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_24.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_24.snap index 889a7f5e3f..116cb36155 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_24.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_24.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 0, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 3137828705454, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 0, 1, 0, 24514286761, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 40, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 191517865, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 1496233, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 11689, 1, 0, 0, 0, 0, 0, 0, 1, 2, 4, 0, 0, 0, 0, 0, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 7, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 12, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 13, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 7, 0, 14, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 1, 15, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 7, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4, 16, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 5, 0, 0, 0, 0, 1, 1, 1, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 17, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 9, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 2, 10, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 13, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2200, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4387, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6574, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8761, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10948, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13135, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15322, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16051, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16294, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16375, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16378, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16381, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16382, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 16383, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 18570, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 20757, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 22944, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 25131, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 27318, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 29505, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 31692, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 33879, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 36066, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 38253, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 40440, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 42627, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 44814, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 47001, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 49188, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 51375, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 53562, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 55749, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 57936, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 60123, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 62310, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64497, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65226, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65469, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65496, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65523, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 17706856450849328104, 14041629472916080872, 17169788735560756890, 10821476187673211944, 4183993524573793794, 16789443777672453768, 2161849376993207123, 5833790386150273010, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 7157681808383834781, 13054530803491118896, 15318932090721652605, 12540678638271855535, 5420606508990450533, 8111458574185220575, 1323824759339937182, 8059544659088724214, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 3, 8, 1, 1, 0, 0, 1, 0, 40, 0, 0, 3, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1, 0, 1, 1, 10, 0, 0, 9, 1, 1, 0, 1, 1, 0, 40, 0, 0, 12, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 9, 0, 4099276459869907627, 1, 10, 0, 0, 10, 1, 1, 0, 0, 0, 13, 4294967292, 0, 1, 12, 0, 0, 2147483648, 0, 13, 0, 11351842504255128813, 0, 65535, 16383, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 87, 0, 0, 0, 0, 0, 0, 8975931939487847577, 826624107367617870, 6313882907599268049, 12374350641898187577, 6034656875513245768, 2025404333603011219, 5567780117684101433, 10039943328136801127, 14519832948855618026, 8345489883032353865, 1527060375424943961, 12170781137980926170, 0, 0, 0, 0, 18439179491774692160, 5894239126603330321, 4540558979809060030, 10279540138716552456, 987473941784029527, 12525995964141116915, 5290090394268808541, 306655326230637762, 16338547772125377607, 11596138255917963766, 8713064878787635294, 14621378300733812762, 0, 0, 0, 0, 8625597143277853412, 13696710862406782461, 7964746106575152337, 2172419373723337128, 8054193852364041914, 13837151904574880265, 12082541315152330288, 459946368827837708, 13160722284184094440, 266800667110584625, 14057659934195137969, 2295454423550348086, 0, 12664681110997539525, 17076348030538024207, 5540238696466037530, 12503523823545562389, 174867091135528982, 16590140589764950480, 8259361233182789197, 11645736243489132578, 14290054611959227376, 9180054963981299553, 7522469136295030791, 7105443855795968859, 891467184376357898, 17670655597278868995, 2342025702421944092, 0, 6508510408052687169, 6204789958331974035, 9346507142457173461, 4301401385637777690, 14660092386018225126, 12495473851795317931, 5022633921442224796, 17917849216228407802, 12792959527605319782, 15230911336735940949, 8204016232934091863, 15412033900392896865, 3505376367314785905, 6238911281890404928, 5298514099659693687, 0, 13799242140675876876, 11967308820225399198, 2683546121072105123, 1729755848300507463, 12870359338704016369, 8941470466611331698, 2180957237381332114, 15146008237095844208, 16160269208928910981, 18327684313482854134, 16833658748571454034, 2228273861931392047, 15731171584455796770, 995005991601822991, 1325734405437759991, 0, 17987851369139942407, 13398331003343876993, 5367943995780444036, 2448619251293596415, 6376925844201940434, 4660951209572130343, 6692287909250102466, 14264867975601246507, 7450682030114986603, 13850479752308263747, 2354486568908427148, 15162745955260128567, 7073739487284518498, 7349823339847667270, 7432121536738542934, 0, 12779330473845195196, 13333298498050625857, 8497017356295886418, 198682296436078421, 6785250810511202548, 8675942375264798154, 1902172958020633282, 13878123715732752934, 2669364003539959841, 2919541857723463762, 15553639772246407252, 4490985143636591731, 14759010930598801048, 3644113642401147053, 11725546181585461527, 0, 4348612304082720967, 7000799207553416727, 409433143803986808, 11098012124426545813, 13705626808705343574, 14914614989311581118, 15856657657850435817, 15647302365239384916, 1922093161120523126, 16304799558618217551, 2058076621629364563, 13235199499072181459, 2014579064718604783, 17528668302117330167, 4502687057104666043, 0, 4374227242554438847, 11512800943126678297, 5364118459222264456, 15735518607595531127, 17687628157036575189, 4316235176215213500, 16328191111758429737, 8296514219182559014, 4219319863447058339, 17792101410240385031, 5877693942919568575, 362532686167476669, 9295444241326410471, 13461509482997484750, 2976690162409908995, 0, 7104659116945783510, 0, 0, 16126650333942571964, 5373159454984485726, 8554791451595603222, 13040170352872131666, 6964722638533720778, 16565181844214358545, 5358624883000304708, 9590418361165280265, 9589196611956250594, 8187047052130427056, 2952681060946246957, 2014692216792503027, 0, 0, 0, 0, 12840173240488470337, 1377635413060797359, 305354737769078594, 2796157645377513585, 17792025031160030650, 4262069196839993466, 15334521966674573711, 10417895735626853679, 15985686557567316940, 9198468442856654979, 18432371762950474462, 3913809235807315417, 0, 0, 0, 0, 14482582745895144215, 1416945927177854081, 14328454743983709378, 2239851991461863112, 14449374510435378, 103561798029274946, 8636099973921767577, 18014864567131597051, 3269781373289032262, 11277949075475123849, 18052298919183707862, 1465413476437382760, 0, 0, 0, 0, 17039932339331186847, 17502136381770894171, 9167041279176111993, 5466495695730086964, 16979151180084274449, 12264098443872388690, 7613839079126372753, 8653310637125687540, 13994165437176517647, 8342109517639396353, 1226521077945764801, 2704640960151854871, 0, 1, 0, 0, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 17706856450849328104, 14041629472916080872, 17169788735560756890, 10821476187673211944, 4183993524573793794, 16789443777672453768, 2161849376993207123, 5833790386150273010, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5792301967904643716, 14513996957604530562, 6300577652167374432, 1030532363437082530, 9868636994953646365, 13312054463817713847, 1163060834237983926, 17159751124589539180, 15748271025379903662, 15673345155938926996, 15542740004802895548, 4070736982096634948, 1, 0, 0, 0, 1453121677659348577, 17403066345171442603, 9526966027631081464, 4562917345183859100, 16736668858502190206, 12710250320191836356, 9043028743666878997, 9570842800862454404, 10889819954451461225, 1374882310944969176, 11041329929342678296, 6376909268692149801, 1, 0, 0, 0, 6798464049283172704, 10094602609597426273, 5441108908322692152, 13319823174770042865, 3687504758717747002, 11828007000931365406, 15642196062511550808, 4387538442135057894, 12016453509822632603, 16688879161845796765, 15353663875595798268, 9433687029957117661, 1, 11436455846193695609, 17419948132223780613, 10707930966158261719, 7805136509413905123, 10748223278202845625, 5102455166015213038, 16060345288112427467, 9937020917196030767, 13713675713530315700, 11873887283723171030, 6245447289360608210, 2758175399376775060, 6794131889413756751, 6954584401067417189, 5092580402017360453, 1, 138168370802146349, 561179642041056504, 13282391328952434407, 3586306435690112870, 17278658194357811156, 2504635638454636683, 7235500145280211409, 11191458759516692993, 6465450803792948194, 2111071922636782066, 11802465958807233213, 9116942394473193925, 11145482942031811955, 14726020691764699927, 16903672043479974450, 1, 263960295682680947, 15697220842527476860, 17868088579823291326, 2175933588395873247, 8749749468735109989, 11010166446741390499, 17943104442301856895, 15821423767384514021, 16018668147064525478, 5560768172433028490, 5619212355349254932, 17391285462458271036, 2603291588626814071, 5238953246197227863, 5602891381109897586, 1, 12301036190174877474, 12651281118484863330, 11983275442902746825, 9125195986387370903, 2181062690427536463, 13921861517061570826, 350891571660248295, 11013048057925712708, 11055047889476803308, 15398332646604634982, 5808711407549689243, 8949777591082911961, 14824627964979845981, 8130365156760288485, 3947069696768920416, 1, 753507401801380169, 11557202300537182401, 12635550211207024884, 13277984171307670821, 2631795936834054713, 14094327291919754106, 12673624581190519723, 4509450209340246689, 10606486226190872261, 889124163739951988, 12547380261461657128, 16829937485708676196, 15832095999334895743, 5377353767201125639, 11053610747785598805, 1, 17726880391953768878, 13956049620380258223, 11273932727072475337, 6855896085734577371, 1129400045567810133, 16519057148475618054, 10699416941054230316, 17256608828803451668, 6887723245936746466, 552364255868028623, 17909079490987407142, 9570595819850351164, 8654686163127378448, 16203109760043627710, 8480295614280342552, 1, 5047048529377126902, 2720906371958061367, 10084181298533567509, 10367672116357405411, 11036446985399396097, 13294567520571596163, 17521531050433436007, 1868701710513242496, 5411603901210245247, 11609599138736895146, 16874855234706410918, 4393409689646403917, 9543195090298605247, 7478523150127634789, 2693101708644875762, 1, 3528724572660247995, 0, 0, 12432722351030045, 1367308201666984940, 3681473655802754494, 15340518851882934883, 12978887161137913348, 15761699408266065961, 3053535844413236872, 13043307337058007179, 1605626291192886407, 3512088686484392896, 17370072541480613908, 15945489250832697271, 1, 0, 0, 0, 18236855931369748683, 5145738009993425605, 9599849581440088949, 7181962801200058100, 7842895042061868932, 12656177266019986902, 8530248384503061153, 7088178758240165913, 8843525768370306419, 9760798177389960884, 15297557810674980998, 17513790474795511142, 1, 0, 0, 0, 11582029127760482436, 12210748157899031357, 9473509448225646970, 17514007687115301207, 15252116786733410669, 10068681917011840638, 5010610666981558682, 14100290159714849481, 10038370148733513877, 4164887708143705047, 12759194225663538416, 5155504400103783318, 1, 0, 0, 0, 2256431941220947766, 13487119117857302457, 10370113277604876234, 1506538453550143326, 9611088164777633619, 9944172425891749050, 2585766031776029836, 7469792865149057403, 3748706915022560085, 480217827283441208, 7902514309755880799, 16608422580379539141, 1, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 2, 0, 0, 0, 5484645610689645032, 17933046996545101157, 16339706652094815250, 13544759331160301838, 8141870999174257740, 14107144578121799305, 396274001381699938, 3634103446560049839, 12745031702117932636, 7036828309739934078, 17841617974172171166, 16843483981996999201, 2, 0, 0, 0, 12255467604292037599, 3221298496122688675, 18213293887213037791, 10454832113088907686, 14197766824477982368, 12632563328014721824, 15223540981653283332, 8415652435043313252, 15072376706785505714, 499064301441796851, 6019679623316230571, 2863989181285908285, 2, 0, 0, 0, 3504307811212845679, 9887651557123705338, 15415704462638107150, 10451874340315180119, 14715205669302787941, 676415209440449451, 13877510800170645203, 5795890553064646410, 8168893483976559005, 11011177719900268394, 3075618990528033611, 13809591299651900358, 2, 11532942913722119887, 15706785780181646320, 8500217623199961915, 16385837637275803212, 12589553581452432263, 9328358778203457601, 4811677924202588651, 15954150986266248336, 13054476292017527619, 13801463134030240262, 1165498946375484511, 12668987530028315258, 9041501660033602067, 11828980449399846157, 712948025072919412, 2, 13546468777259703303, 2130139338200141332, 1677916746575397392, 15603598095391109763, 8982008132746506464, 9534409456230159171, 15953027744665381494, 2210202967686246336, 18201859605319735335, 2613650507633583447, 13470511188219884259, 17792240681335161918, 5597430705303759588, 17058784685043687544, 18076014205743588541, 2, 17150592872874668692, 373328191372179539, 9925944180761826662, 4881622279674020310, 1461351575215552783, 7028330826866827934, 17321922102323360926, 11861279589925081154, 4211482457682169121, 857582657567428474, 6294745292695606830, 3964499899330796305, 8694904038920718173, 12798363385221373595, 11519040844019198794, 2, 17812065447696919081, 10476573304851565336, 4050248765677305785, 3052409033334460214, 17899456176840307949, 14272332536807405334, 5268789410078450933, 1960893658848125895, 10357280402715567165, 1946175234480737485, 3509255218615138356, 13648578922017807026, 1792108781827785515, 7848717464050352065, 2115979595816627252, 2, 14304145735363415364, 3123264749675353443, 15633057486969346389, 5590715938569744686, 16360479359047183989, 17571597847320321793, 7491081885321669942, 2792014203761376516, 7481817557178743487, 14182256043130615816, 2113355324306522062, 7590704234440296353, 6731946370858393481, 2307380299587089154, 1457958177788302268, 2, 9128626640352709923, 17530806268802285328, 5521142562674286822, 7672965447668905839, 18202802305345820600, 10939917215126760263, 5454274694799635961, 15045803504594761609, 6031972736818829176, 6487707463900256145, 6513518689484649191, 12115325694601327017, 2589258613727050076, 9795696285187372082, 9346079458114114095, 2, 3585032113304036127, 878423030197307407, 7753214053553689965, 13826096403235050003, 13292980836066262078, 17878862886173733195, 17335963671141011125, 15552187222984804077, 8300146209691975643, 14310135663256964431, 5324444741120757504, 15200025136962894389, 9211865123544848832, 757820306026356015, 15906091739671321314, 2, 5864686728114583749, 0, 0, 9139354100126637124, 11662388403276284204, 1053421858759551477, 14098346563780750400, 5067426764888134185, 6134229022916026981, 16277189846925996385, 13161575946730874384, 8492889920316449728, 8738608316156486979, 11361904455207330488, 4644160712918564720, 2, 0, 0, 0, 15069412541248179329, 17636221918015671474, 2493488421765413820, 14256642798665897034, 13029707287964752636, 9441335230719905711, 12416439742779279248, 10080344719141565596, 10015871472133787582, 394932958898495590, 2354587967963224922, 18089767607933127470, 2, 0, 0, 0, 1637053654417823543, 820038718609189039, 339980141328036028, 10322493293137382631, 12718954196218876787, 6796168876136445697, 15420463740865030232, 3252331356198972205, 14227267699888656475, 2559427160509359301, 17590552952398131648, 159003707103255077, 2, 0, 0, 0, 3016912966792386460, 4113629697054036494, 8930528385757741316, 3280375997019352338, 13486210659622411055, 15849561705591959734, 12565096618949859493, 317383372660570130, 13178345540153474546, 7712839197105005349, 13963542465081735925, 5137866587539026744, 2, 1, 0, 0, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 7157681808383834781, 13054530803491118896, 15318932090721652605, 12540678638271855535, 5420606508990450533, 8111458574185220575, 1323824759339937182, 8059544659088724214, 2, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 3, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 3, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 3, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 3, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 3, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 3, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 3, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 3, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 3, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 3, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 3, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 3, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 3, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 3, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(18) }, program_info: ProgramInfo { program_hash: Word([10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 19, range_trace_len: 51, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 3, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 0, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 3137828705454, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 0, 1, 0, 24514286761, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 40, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 191517865, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 1496233, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 11689, 1, 0, 0, 0, 0, 0, 0, 1, 2, 4, 0, 0, 0, 0, 0, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 7, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 12, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 13, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 7, 0, 14, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 1, 15, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 7, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4, 16, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 5, 0, 0, 0, 0, 1, 1, 1, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 17, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 9, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 2, 10, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 13, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2200, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4387, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6574, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8761, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10948, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13135, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15322, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16051, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16294, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16375, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16378, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16381, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16382, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 16383, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 18570, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 20757, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 22944, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 25131, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 27318, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 29505, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 31692, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 33879, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 36066, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 38253, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 40440, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 42627, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 44814, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 47001, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 49188, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 51375, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 53562, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 55749, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 57936, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 60123, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 62310, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64497, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65226, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65469, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65496, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65523, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 17706856450849328104, 14041629472916080872, 17169788735560756890, 10821476187673211944, 4183993524573793794, 16789443777672453768, 2161849376993207123, 5833790386150273010, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 7157681808383834781, 13054530803491118896, 15318932090721652605, 12540678638271855535, 5420606508990450533, 8111458574185220575, 1323824759339937182, 8059544659088724214, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 3, 8, 1, 1, 0, 0, 1, 0, 40, 0, 0, 3, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1, 0, 1, 1, 10, 0, 0, 9, 1, 1, 0, 1, 1, 0, 40, 0, 0, 12, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 9, 0, 4099276459869907627, 1, 10, 0, 0, 10, 1, 1, 0, 0, 0, 13, 4294967292, 0, 1, 12, 0, 0, 2147483648, 0, 13, 0, 11351842504255128813, 0, 65535, 16383, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 87, 0, 0, 0, 0, 0, 0, 8975931939487847577, 826624107367617870, 6313882907599268049, 12374350641898187577, 6034656875513245768, 2025404333603011219, 5567780117684101433, 10039943328136801127, 14519832948855618026, 8345489883032353865, 1527060375424943961, 12170781137980926170, 0, 0, 0, 0, 18439179491774692160, 5894239126603330321, 4540558979809060030, 10279540138716552456, 987473941784029527, 12525995964141116915, 5290090394268808541, 306655326230637762, 16338547772125377607, 11596138255917963766, 8713064878787635294, 14621378300733812762, 0, 0, 0, 0, 8625597143277853412, 13696710862406782461, 7964746106575152337, 2172419373723337128, 8054193852364041914, 13837151904574880265, 12082541315152330288, 459946368827837708, 13160722284184094440, 266800667110584625, 14057659934195137969, 2295454423550348086, 0, 12664681110997539525, 17076348030538024207, 5540238696466037530, 12503523823545562389, 174867091135528982, 16590140589764950480, 8259361233182789197, 11645736243489132578, 14290054611959227376, 9180054963981299553, 7522469136295030791, 7105443855795968859, 891467184376357898, 17670655597278868995, 2342025702421944092, 0, 6508510408052687169, 6204789958331974035, 9346507142457173461, 4301401385637777690, 14660092386018225126, 12495473851795317931, 5022633921442224796, 17917849216228407802, 12792959527605319782, 15230911336735940949, 8204016232934091863, 15412033900392896865, 3505376367314785905, 6238911281890404928, 5298514099659693687, 0, 13799242140675876876, 11967308820225399198, 2683546121072105123, 1729755848300507463, 12870359338704016369, 8941470466611331698, 2180957237381332114, 15146008237095844208, 16160269208928910981, 18327684313482854134, 16833658748571454034, 2228273861931392047, 15731171584455796770, 995005991601822991, 1325734405437759991, 0, 17987851369139942407, 13398331003343876993, 5367943995780444036, 2448619251293596415, 6376925844201940434, 4660951209572130343, 6692287909250102466, 14264867975601246507, 7450682030114986603, 13850479752308263747, 2354486568908427148, 15162745955260128567, 7073739487284518498, 7349823339847667270, 7432121536738542934, 0, 12779330473845195196, 13333298498050625857, 8497017356295886418, 198682296436078421, 6785250810511202548, 8675942375264798154, 1902172958020633282, 13878123715732752934, 2669364003539959841, 2919541857723463762, 15553639772246407252, 4490985143636591731, 14759010930598801048, 3644113642401147053, 11725546181585461527, 0, 4348612304082720967, 7000799207553416727, 409433143803986808, 11098012124426545813, 13705626808705343574, 14914614989311581118, 15856657657850435817, 15647302365239384916, 1922093161120523126, 16304799558618217551, 2058076621629364563, 13235199499072181459, 2014579064718604783, 17528668302117330167, 4502687057104666043, 0, 4374227242554438847, 11512800943126678297, 5364118459222264456, 15735518607595531127, 17687628157036575189, 4316235176215213500, 16328191111758429737, 8296514219182559014, 4219319863447058339, 17792101410240385031, 5877693942919568575, 362532686167476669, 9295444241326410471, 13461509482997484750, 2976690162409908995, 0, 7104659116945783510, 0, 0, 16126650333942571964, 5373159454984485726, 8554791451595603222, 13040170352872131666, 6964722638533720778, 16565181844214358545, 5358624883000304708, 9590418361165280265, 9589196611956250594, 8187047052130427056, 2952681060946246957, 2014692216792503027, 0, 0, 0, 0, 12840173240488470337, 1377635413060797359, 305354737769078594, 2796157645377513585, 17792025031160030650, 4262069196839993466, 15334521966674573711, 10417895735626853679, 15985686557567316940, 9198468442856654979, 18432371762950474462, 3913809235807315417, 0, 0, 0, 0, 14482582745895144215, 1416945927177854081, 14328454743983709378, 2239851991461863112, 14449374510435378, 103561798029274946, 8636099973921767577, 18014864567131597051, 3269781373289032262, 11277949075475123849, 18052298919183707862, 1465413476437382760, 0, 0, 0, 0, 17039932339331186847, 17502136381770894171, 9167041279176111993, 5466495695730086964, 16979151180084274449, 12264098443872388690, 7613839079126372753, 8653310637125687540, 13994165437176517647, 8342109517639396353, 1226521077945764801, 2704640960151854871, 0, 1, 0, 0, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 17706856450849328104, 14041629472916080872, 17169788735560756890, 10821476187673211944, 4183993524573793794, 16789443777672453768, 2161849376993207123, 5833790386150273010, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5792301967904643716, 14513996957604530562, 6300577652167374432, 1030532363437082530, 9868636994953646365, 13312054463817713847, 1163060834237983926, 17159751124589539180, 15748271025379903662, 15673345155938926996, 15542740004802895548, 4070736982096634948, 1, 0, 0, 0, 1453121677659348577, 17403066345171442603, 9526966027631081464, 4562917345183859100, 16736668858502190206, 12710250320191836356, 9043028743666878997, 9570842800862454404, 10889819954451461225, 1374882310944969176, 11041329929342678296, 6376909268692149801, 1, 0, 0, 0, 6798464049283172704, 10094602609597426273, 5441108908322692152, 13319823174770042865, 3687504758717747002, 11828007000931365406, 15642196062511550808, 4387538442135057894, 12016453509822632603, 16688879161845796765, 15353663875595798268, 9433687029957117661, 1, 11436455846193695609, 17419948132223780613, 10707930966158261719, 7805136509413905123, 10748223278202845625, 5102455166015213038, 16060345288112427467, 9937020917196030767, 13713675713530315700, 11873887283723171030, 6245447289360608210, 2758175399376775060, 6794131889413756751, 6954584401067417189, 5092580402017360453, 1, 138168370802146349, 561179642041056504, 13282391328952434407, 3586306435690112870, 17278658194357811156, 2504635638454636683, 7235500145280211409, 11191458759516692993, 6465450803792948194, 2111071922636782066, 11802465958807233213, 9116942394473193925, 11145482942031811955, 14726020691764699927, 16903672043479974450, 1, 263960295682680947, 15697220842527476860, 17868088579823291326, 2175933588395873247, 8749749468735109989, 11010166446741390499, 17943104442301856895, 15821423767384514021, 16018668147064525478, 5560768172433028490, 5619212355349254932, 17391285462458271036, 2603291588626814071, 5238953246197227863, 5602891381109897586, 1, 12301036190174877474, 12651281118484863330, 11983275442902746825, 9125195986387370903, 2181062690427536463, 13921861517061570826, 350891571660248295, 11013048057925712708, 11055047889476803308, 15398332646604634982, 5808711407549689243, 8949777591082911961, 14824627964979845981, 8130365156760288485, 3947069696768920416, 1, 753507401801380169, 11557202300537182401, 12635550211207024884, 13277984171307670821, 2631795936834054713, 14094327291919754106, 12673624581190519723, 4509450209340246689, 10606486226190872261, 889124163739951988, 12547380261461657128, 16829937485708676196, 15832095999334895743, 5377353767201125639, 11053610747785598805, 1, 17726880391953768878, 13956049620380258223, 11273932727072475337, 6855896085734577371, 1129400045567810133, 16519057148475618054, 10699416941054230316, 17256608828803451668, 6887723245936746466, 552364255868028623, 17909079490987407142, 9570595819850351164, 8654686163127378448, 16203109760043627710, 8480295614280342552, 1, 5047048529377126902, 2720906371958061367, 10084181298533567509, 10367672116357405411, 11036446985399396097, 13294567520571596163, 17521531050433436007, 1868701710513242496, 5411603901210245247, 11609599138736895146, 16874855234706410918, 4393409689646403917, 9543195090298605247, 7478523150127634789, 2693101708644875762, 1, 3528724572660247995, 0, 0, 12432722351030045, 1367308201666984940, 3681473655802754494, 15340518851882934883, 12978887161137913348, 15761699408266065961, 3053535844413236872, 13043307337058007179, 1605626291192886407, 3512088686484392896, 17370072541480613908, 15945489250832697271, 1, 0, 0, 0, 18236855931369748683, 5145738009993425605, 9599849581440088949, 7181962801200058100, 7842895042061868932, 12656177266019986902, 8530248384503061153, 7088178758240165913, 8843525768370306419, 9760798177389960884, 15297557810674980998, 17513790474795511142, 1, 0, 0, 0, 11582029127760482436, 12210748157899031357, 9473509448225646970, 17514007687115301207, 15252116786733410669, 10068681917011840638, 5010610666981558682, 14100290159714849481, 10038370148733513877, 4164887708143705047, 12759194225663538416, 5155504400103783318, 1, 0, 0, 0, 2256431941220947766, 13487119117857302457, 10370113277604876234, 1506538453550143326, 9611088164777633619, 9944172425891749050, 2585766031776029836, 7469792865149057403, 3748706915022560085, 480217827283441208, 7902514309755880799, 16608422580379539141, 1, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 2, 0, 0, 0, 5484645610689645032, 17933046996545101157, 16339706652094815250, 13544759331160301838, 8141870999174257740, 14107144578121799305, 396274001381699938, 3634103446560049839, 12745031702117932636, 7036828309739934078, 17841617974172171166, 16843483981996999201, 2, 0, 0, 0, 12255467604292037599, 3221298496122688675, 18213293887213037791, 10454832113088907686, 14197766824477982368, 12632563328014721824, 15223540981653283332, 8415652435043313252, 15072376706785505714, 499064301441796851, 6019679623316230571, 2863989181285908285, 2, 0, 0, 0, 3504307811212845679, 9887651557123705338, 15415704462638107150, 10451874340315180119, 14715205669302787941, 676415209440449451, 13877510800170645203, 5795890553064646410, 8168893483976559005, 11011177719900268394, 3075618990528033611, 13809591299651900358, 2, 11532942913722119887, 15706785780181646320, 8500217623199961915, 16385837637275803212, 12589553581452432263, 9328358778203457601, 4811677924202588651, 15954150986266248336, 13054476292017527619, 13801463134030240262, 1165498946375484511, 12668987530028315258, 9041501660033602067, 11828980449399846157, 712948025072919412, 2, 13546468777259703303, 2130139338200141332, 1677916746575397392, 15603598095391109763, 8982008132746506464, 9534409456230159171, 15953027744665381494, 2210202967686246336, 18201859605319735335, 2613650507633583447, 13470511188219884259, 17792240681335161918, 5597430705303759588, 17058784685043687544, 18076014205743588541, 2, 17150592872874668692, 373328191372179539, 9925944180761826662, 4881622279674020310, 1461351575215552783, 7028330826866827934, 17321922102323360926, 11861279589925081154, 4211482457682169121, 857582657567428474, 6294745292695606830, 3964499899330796305, 8694904038920718173, 12798363385221373595, 11519040844019198794, 2, 17812065447696919081, 10476573304851565336, 4050248765677305785, 3052409033334460214, 17899456176840307949, 14272332536807405334, 5268789410078450933, 1960893658848125895, 10357280402715567165, 1946175234480737485, 3509255218615138356, 13648578922017807026, 1792108781827785515, 7848717464050352065, 2115979595816627252, 2, 14304145735363415364, 3123264749675353443, 15633057486969346389, 5590715938569744686, 16360479359047183989, 17571597847320321793, 7491081885321669942, 2792014203761376516, 7481817557178743487, 14182256043130615816, 2113355324306522062, 7590704234440296353, 6731946370858393481, 2307380299587089154, 1457958177788302268, 2, 9128626640352709923, 17530806268802285328, 5521142562674286822, 7672965447668905839, 18202802305345820600, 10939917215126760263, 5454274694799635961, 15045803504594761609, 6031972736818829176, 6487707463900256145, 6513518689484649191, 12115325694601327017, 2589258613727050076, 9795696285187372082, 9346079458114114095, 2, 3585032113304036127, 878423030197307407, 7753214053553689965, 13826096403235050003, 13292980836066262078, 17878862886173733195, 17335963671141011125, 15552187222984804077, 8300146209691975643, 14310135663256964431, 5324444741120757504, 15200025136962894389, 9211865123544848832, 757820306026356015, 15906091739671321314, 2, 5864686728114583749, 0, 0, 9139354100126637124, 11662388403276284204, 1053421858759551477, 14098346563780750400, 5067426764888134185, 6134229022916026981, 16277189846925996385, 13161575946730874384, 8492889920316449728, 8738608316156486979, 11361904455207330488, 4644160712918564720, 2, 0, 0, 0, 15069412541248179329, 17636221918015671474, 2493488421765413820, 14256642798665897034, 13029707287964752636, 9441335230719905711, 12416439742779279248, 10080344719141565596, 10015871472133787582, 394932958898495590, 2354587967963224922, 18089767607933127470, 2, 0, 0, 0, 1637053654417823543, 820038718609189039, 339980141328036028, 10322493293137382631, 12718954196218876787, 6796168876136445697, 15420463740865030232, 3252331356198972205, 14227267699888656475, 2559427160509359301, 17590552952398131648, 159003707103255077, 2, 0, 0, 0, 3016912966792386460, 4113629697054036494, 8930528385757741316, 3280375997019352338, 13486210659622411055, 15849561705591959734, 12565096618949859493, 317383372660570130, 13178345540153474546, 7712839197105005349, 13963542465081735925, 5137866587539026744, 2, 1, 0, 0, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 7157681808383834781, 13054530803491118896, 15318932090721652605, 12540678638271855535, 5420606508990450533, 8111458574185220575, 1323824759339937182, 8059544659088724214, 2, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 3, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 3, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 3, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 3, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 3, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 3, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 3, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 3, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 3, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 3, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 3, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 3, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 3, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 3, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(18) }, program_info: ProgramInfo { program_hash: Word([10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 19, range_trace_len: 51, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 3, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_25.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_25.snap index 889a7f5e3f..116cb36155 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_25.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_25.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 0, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 3137828705454, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 0, 1, 0, 24514286761, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 40, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 191517865, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 1496233, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 11689, 1, 0, 0, 0, 0, 0, 0, 1, 2, 4, 0, 0, 0, 0, 0, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 7, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 12, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 13, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 7, 0, 14, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 1, 15, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 7, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4, 16, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 5, 0, 0, 0, 0, 1, 1, 1, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 17, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 9, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 2, 10, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 13, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2200, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4387, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6574, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8761, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10948, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13135, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15322, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16051, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16294, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16375, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16378, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16381, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16382, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 16383, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 18570, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 20757, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 22944, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 25131, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 27318, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 29505, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 31692, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 33879, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 36066, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 38253, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 40440, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 42627, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 44814, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 47001, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 49188, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 51375, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 53562, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 55749, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 57936, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 60123, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 62310, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64497, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65226, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65469, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65496, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65523, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 17706856450849328104, 14041629472916080872, 17169788735560756890, 10821476187673211944, 4183993524573793794, 16789443777672453768, 2161849376993207123, 5833790386150273010, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 7157681808383834781, 13054530803491118896, 15318932090721652605, 12540678638271855535, 5420606508990450533, 8111458574185220575, 1323824759339937182, 8059544659088724214, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 3, 8, 1, 1, 0, 0, 1, 0, 40, 0, 0, 3, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1, 0, 1, 1, 10, 0, 0, 9, 1, 1, 0, 1, 1, 0, 40, 0, 0, 12, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 9, 0, 4099276459869907627, 1, 10, 0, 0, 10, 1, 1, 0, 0, 0, 13, 4294967292, 0, 1, 12, 0, 0, 2147483648, 0, 13, 0, 11351842504255128813, 0, 65535, 16383, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 87, 0, 0, 0, 0, 0, 0, 8975931939487847577, 826624107367617870, 6313882907599268049, 12374350641898187577, 6034656875513245768, 2025404333603011219, 5567780117684101433, 10039943328136801127, 14519832948855618026, 8345489883032353865, 1527060375424943961, 12170781137980926170, 0, 0, 0, 0, 18439179491774692160, 5894239126603330321, 4540558979809060030, 10279540138716552456, 987473941784029527, 12525995964141116915, 5290090394268808541, 306655326230637762, 16338547772125377607, 11596138255917963766, 8713064878787635294, 14621378300733812762, 0, 0, 0, 0, 8625597143277853412, 13696710862406782461, 7964746106575152337, 2172419373723337128, 8054193852364041914, 13837151904574880265, 12082541315152330288, 459946368827837708, 13160722284184094440, 266800667110584625, 14057659934195137969, 2295454423550348086, 0, 12664681110997539525, 17076348030538024207, 5540238696466037530, 12503523823545562389, 174867091135528982, 16590140589764950480, 8259361233182789197, 11645736243489132578, 14290054611959227376, 9180054963981299553, 7522469136295030791, 7105443855795968859, 891467184376357898, 17670655597278868995, 2342025702421944092, 0, 6508510408052687169, 6204789958331974035, 9346507142457173461, 4301401385637777690, 14660092386018225126, 12495473851795317931, 5022633921442224796, 17917849216228407802, 12792959527605319782, 15230911336735940949, 8204016232934091863, 15412033900392896865, 3505376367314785905, 6238911281890404928, 5298514099659693687, 0, 13799242140675876876, 11967308820225399198, 2683546121072105123, 1729755848300507463, 12870359338704016369, 8941470466611331698, 2180957237381332114, 15146008237095844208, 16160269208928910981, 18327684313482854134, 16833658748571454034, 2228273861931392047, 15731171584455796770, 995005991601822991, 1325734405437759991, 0, 17987851369139942407, 13398331003343876993, 5367943995780444036, 2448619251293596415, 6376925844201940434, 4660951209572130343, 6692287909250102466, 14264867975601246507, 7450682030114986603, 13850479752308263747, 2354486568908427148, 15162745955260128567, 7073739487284518498, 7349823339847667270, 7432121536738542934, 0, 12779330473845195196, 13333298498050625857, 8497017356295886418, 198682296436078421, 6785250810511202548, 8675942375264798154, 1902172958020633282, 13878123715732752934, 2669364003539959841, 2919541857723463762, 15553639772246407252, 4490985143636591731, 14759010930598801048, 3644113642401147053, 11725546181585461527, 0, 4348612304082720967, 7000799207553416727, 409433143803986808, 11098012124426545813, 13705626808705343574, 14914614989311581118, 15856657657850435817, 15647302365239384916, 1922093161120523126, 16304799558618217551, 2058076621629364563, 13235199499072181459, 2014579064718604783, 17528668302117330167, 4502687057104666043, 0, 4374227242554438847, 11512800943126678297, 5364118459222264456, 15735518607595531127, 17687628157036575189, 4316235176215213500, 16328191111758429737, 8296514219182559014, 4219319863447058339, 17792101410240385031, 5877693942919568575, 362532686167476669, 9295444241326410471, 13461509482997484750, 2976690162409908995, 0, 7104659116945783510, 0, 0, 16126650333942571964, 5373159454984485726, 8554791451595603222, 13040170352872131666, 6964722638533720778, 16565181844214358545, 5358624883000304708, 9590418361165280265, 9589196611956250594, 8187047052130427056, 2952681060946246957, 2014692216792503027, 0, 0, 0, 0, 12840173240488470337, 1377635413060797359, 305354737769078594, 2796157645377513585, 17792025031160030650, 4262069196839993466, 15334521966674573711, 10417895735626853679, 15985686557567316940, 9198468442856654979, 18432371762950474462, 3913809235807315417, 0, 0, 0, 0, 14482582745895144215, 1416945927177854081, 14328454743983709378, 2239851991461863112, 14449374510435378, 103561798029274946, 8636099973921767577, 18014864567131597051, 3269781373289032262, 11277949075475123849, 18052298919183707862, 1465413476437382760, 0, 0, 0, 0, 17039932339331186847, 17502136381770894171, 9167041279176111993, 5466495695730086964, 16979151180084274449, 12264098443872388690, 7613839079126372753, 8653310637125687540, 13994165437176517647, 8342109517639396353, 1226521077945764801, 2704640960151854871, 0, 1, 0, 0, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 17706856450849328104, 14041629472916080872, 17169788735560756890, 10821476187673211944, 4183993524573793794, 16789443777672453768, 2161849376993207123, 5833790386150273010, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5792301967904643716, 14513996957604530562, 6300577652167374432, 1030532363437082530, 9868636994953646365, 13312054463817713847, 1163060834237983926, 17159751124589539180, 15748271025379903662, 15673345155938926996, 15542740004802895548, 4070736982096634948, 1, 0, 0, 0, 1453121677659348577, 17403066345171442603, 9526966027631081464, 4562917345183859100, 16736668858502190206, 12710250320191836356, 9043028743666878997, 9570842800862454404, 10889819954451461225, 1374882310944969176, 11041329929342678296, 6376909268692149801, 1, 0, 0, 0, 6798464049283172704, 10094602609597426273, 5441108908322692152, 13319823174770042865, 3687504758717747002, 11828007000931365406, 15642196062511550808, 4387538442135057894, 12016453509822632603, 16688879161845796765, 15353663875595798268, 9433687029957117661, 1, 11436455846193695609, 17419948132223780613, 10707930966158261719, 7805136509413905123, 10748223278202845625, 5102455166015213038, 16060345288112427467, 9937020917196030767, 13713675713530315700, 11873887283723171030, 6245447289360608210, 2758175399376775060, 6794131889413756751, 6954584401067417189, 5092580402017360453, 1, 138168370802146349, 561179642041056504, 13282391328952434407, 3586306435690112870, 17278658194357811156, 2504635638454636683, 7235500145280211409, 11191458759516692993, 6465450803792948194, 2111071922636782066, 11802465958807233213, 9116942394473193925, 11145482942031811955, 14726020691764699927, 16903672043479974450, 1, 263960295682680947, 15697220842527476860, 17868088579823291326, 2175933588395873247, 8749749468735109989, 11010166446741390499, 17943104442301856895, 15821423767384514021, 16018668147064525478, 5560768172433028490, 5619212355349254932, 17391285462458271036, 2603291588626814071, 5238953246197227863, 5602891381109897586, 1, 12301036190174877474, 12651281118484863330, 11983275442902746825, 9125195986387370903, 2181062690427536463, 13921861517061570826, 350891571660248295, 11013048057925712708, 11055047889476803308, 15398332646604634982, 5808711407549689243, 8949777591082911961, 14824627964979845981, 8130365156760288485, 3947069696768920416, 1, 753507401801380169, 11557202300537182401, 12635550211207024884, 13277984171307670821, 2631795936834054713, 14094327291919754106, 12673624581190519723, 4509450209340246689, 10606486226190872261, 889124163739951988, 12547380261461657128, 16829937485708676196, 15832095999334895743, 5377353767201125639, 11053610747785598805, 1, 17726880391953768878, 13956049620380258223, 11273932727072475337, 6855896085734577371, 1129400045567810133, 16519057148475618054, 10699416941054230316, 17256608828803451668, 6887723245936746466, 552364255868028623, 17909079490987407142, 9570595819850351164, 8654686163127378448, 16203109760043627710, 8480295614280342552, 1, 5047048529377126902, 2720906371958061367, 10084181298533567509, 10367672116357405411, 11036446985399396097, 13294567520571596163, 17521531050433436007, 1868701710513242496, 5411603901210245247, 11609599138736895146, 16874855234706410918, 4393409689646403917, 9543195090298605247, 7478523150127634789, 2693101708644875762, 1, 3528724572660247995, 0, 0, 12432722351030045, 1367308201666984940, 3681473655802754494, 15340518851882934883, 12978887161137913348, 15761699408266065961, 3053535844413236872, 13043307337058007179, 1605626291192886407, 3512088686484392896, 17370072541480613908, 15945489250832697271, 1, 0, 0, 0, 18236855931369748683, 5145738009993425605, 9599849581440088949, 7181962801200058100, 7842895042061868932, 12656177266019986902, 8530248384503061153, 7088178758240165913, 8843525768370306419, 9760798177389960884, 15297557810674980998, 17513790474795511142, 1, 0, 0, 0, 11582029127760482436, 12210748157899031357, 9473509448225646970, 17514007687115301207, 15252116786733410669, 10068681917011840638, 5010610666981558682, 14100290159714849481, 10038370148733513877, 4164887708143705047, 12759194225663538416, 5155504400103783318, 1, 0, 0, 0, 2256431941220947766, 13487119117857302457, 10370113277604876234, 1506538453550143326, 9611088164777633619, 9944172425891749050, 2585766031776029836, 7469792865149057403, 3748706915022560085, 480217827283441208, 7902514309755880799, 16608422580379539141, 1, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 2, 0, 0, 0, 5484645610689645032, 17933046996545101157, 16339706652094815250, 13544759331160301838, 8141870999174257740, 14107144578121799305, 396274001381699938, 3634103446560049839, 12745031702117932636, 7036828309739934078, 17841617974172171166, 16843483981996999201, 2, 0, 0, 0, 12255467604292037599, 3221298496122688675, 18213293887213037791, 10454832113088907686, 14197766824477982368, 12632563328014721824, 15223540981653283332, 8415652435043313252, 15072376706785505714, 499064301441796851, 6019679623316230571, 2863989181285908285, 2, 0, 0, 0, 3504307811212845679, 9887651557123705338, 15415704462638107150, 10451874340315180119, 14715205669302787941, 676415209440449451, 13877510800170645203, 5795890553064646410, 8168893483976559005, 11011177719900268394, 3075618990528033611, 13809591299651900358, 2, 11532942913722119887, 15706785780181646320, 8500217623199961915, 16385837637275803212, 12589553581452432263, 9328358778203457601, 4811677924202588651, 15954150986266248336, 13054476292017527619, 13801463134030240262, 1165498946375484511, 12668987530028315258, 9041501660033602067, 11828980449399846157, 712948025072919412, 2, 13546468777259703303, 2130139338200141332, 1677916746575397392, 15603598095391109763, 8982008132746506464, 9534409456230159171, 15953027744665381494, 2210202967686246336, 18201859605319735335, 2613650507633583447, 13470511188219884259, 17792240681335161918, 5597430705303759588, 17058784685043687544, 18076014205743588541, 2, 17150592872874668692, 373328191372179539, 9925944180761826662, 4881622279674020310, 1461351575215552783, 7028330826866827934, 17321922102323360926, 11861279589925081154, 4211482457682169121, 857582657567428474, 6294745292695606830, 3964499899330796305, 8694904038920718173, 12798363385221373595, 11519040844019198794, 2, 17812065447696919081, 10476573304851565336, 4050248765677305785, 3052409033334460214, 17899456176840307949, 14272332536807405334, 5268789410078450933, 1960893658848125895, 10357280402715567165, 1946175234480737485, 3509255218615138356, 13648578922017807026, 1792108781827785515, 7848717464050352065, 2115979595816627252, 2, 14304145735363415364, 3123264749675353443, 15633057486969346389, 5590715938569744686, 16360479359047183989, 17571597847320321793, 7491081885321669942, 2792014203761376516, 7481817557178743487, 14182256043130615816, 2113355324306522062, 7590704234440296353, 6731946370858393481, 2307380299587089154, 1457958177788302268, 2, 9128626640352709923, 17530806268802285328, 5521142562674286822, 7672965447668905839, 18202802305345820600, 10939917215126760263, 5454274694799635961, 15045803504594761609, 6031972736818829176, 6487707463900256145, 6513518689484649191, 12115325694601327017, 2589258613727050076, 9795696285187372082, 9346079458114114095, 2, 3585032113304036127, 878423030197307407, 7753214053553689965, 13826096403235050003, 13292980836066262078, 17878862886173733195, 17335963671141011125, 15552187222984804077, 8300146209691975643, 14310135663256964431, 5324444741120757504, 15200025136962894389, 9211865123544848832, 757820306026356015, 15906091739671321314, 2, 5864686728114583749, 0, 0, 9139354100126637124, 11662388403276284204, 1053421858759551477, 14098346563780750400, 5067426764888134185, 6134229022916026981, 16277189846925996385, 13161575946730874384, 8492889920316449728, 8738608316156486979, 11361904455207330488, 4644160712918564720, 2, 0, 0, 0, 15069412541248179329, 17636221918015671474, 2493488421765413820, 14256642798665897034, 13029707287964752636, 9441335230719905711, 12416439742779279248, 10080344719141565596, 10015871472133787582, 394932958898495590, 2354587967963224922, 18089767607933127470, 2, 0, 0, 0, 1637053654417823543, 820038718609189039, 339980141328036028, 10322493293137382631, 12718954196218876787, 6796168876136445697, 15420463740865030232, 3252331356198972205, 14227267699888656475, 2559427160509359301, 17590552952398131648, 159003707103255077, 2, 0, 0, 0, 3016912966792386460, 4113629697054036494, 8930528385757741316, 3280375997019352338, 13486210659622411055, 15849561705591959734, 12565096618949859493, 317383372660570130, 13178345540153474546, 7712839197105005349, 13963542465081735925, 5137866587539026744, 2, 1, 0, 0, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 7157681808383834781, 13054530803491118896, 15318932090721652605, 12540678638271855535, 5420606508990450533, 8111458574185220575, 1323824759339937182, 8059544659088724214, 2, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 3, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 3, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 3, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 3, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 3, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 3, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 3, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 3, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 3, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 3, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 3, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 3, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 3, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 3, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(18) }, program_info: ProgramInfo { program_hash: Word([10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 19, range_trace_len: 51, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 3, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 0, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 3137828705454, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 1, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 0, 1, 0, 24514286761, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 40, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 191517865, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 1496233, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 11689, 1, 0, 0, 0, 0, 0, 0, 1, 2, 4, 0, 0, 0, 0, 0, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 7, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 12, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 13, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 5, 0, 1, 1, 0, 1, 0, 1, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 7, 0, 14, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 1, 15, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 7, 0, 0, 0, 0, 1, 1, 1, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4, 16, 13, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 5, 0, 0, 0, 0, 1, 1, 1, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 17, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 9, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 2, 10, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 13, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2200, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4387, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6574, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8761, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10948, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13135, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15322, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16051, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16294, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16375, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16378, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16381, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 16382, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 16383, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 18570, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 20757, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 22944, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 25131, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 27318, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 29505, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 31692, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 33879, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 36066, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 38253, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 40440, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 42627, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 44814, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 47001, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 49188, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 51375, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 53562, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 55749, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 57936, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 60123, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 62310, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64497, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65226, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65469, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65496, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65523, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 17706856450849328104, 14041629472916080872, 17169788735560756890, 10821476187673211944, 4183993524573793794, 16789443777672453768, 2161849376993207123, 5833790386150273010, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 7157681808383834781, 13054530803491118896, 15318932090721652605, 12540678638271855535, 5420606508990450533, 8111458574185220575, 1323824759339937182, 8059544659088724214, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 0, 0, 1, 0, 3, 8, 1, 1, 0, 0, 1, 0, 40, 0, 0, 3, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1, 0, 1, 1, 10, 0, 0, 9, 1, 1, 0, 1, 1, 0, 40, 0, 0, 12, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 9, 0, 4099276459869907627, 1, 10, 0, 0, 10, 1, 1, 0, 0, 0, 13, 4294967292, 0, 1, 12, 0, 0, 2147483648, 0, 13, 0, 11351842504255128813, 0, 65535, 16383, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 0, 87, 0, 0, 0, 0, 0, 0, 8975931939487847577, 826624107367617870, 6313882907599268049, 12374350641898187577, 6034656875513245768, 2025404333603011219, 5567780117684101433, 10039943328136801127, 14519832948855618026, 8345489883032353865, 1527060375424943961, 12170781137980926170, 0, 0, 0, 0, 18439179491774692160, 5894239126603330321, 4540558979809060030, 10279540138716552456, 987473941784029527, 12525995964141116915, 5290090394268808541, 306655326230637762, 16338547772125377607, 11596138255917963766, 8713064878787635294, 14621378300733812762, 0, 0, 0, 0, 8625597143277853412, 13696710862406782461, 7964746106575152337, 2172419373723337128, 8054193852364041914, 13837151904574880265, 12082541315152330288, 459946368827837708, 13160722284184094440, 266800667110584625, 14057659934195137969, 2295454423550348086, 0, 12664681110997539525, 17076348030538024207, 5540238696466037530, 12503523823545562389, 174867091135528982, 16590140589764950480, 8259361233182789197, 11645736243489132578, 14290054611959227376, 9180054963981299553, 7522469136295030791, 7105443855795968859, 891467184376357898, 17670655597278868995, 2342025702421944092, 0, 6508510408052687169, 6204789958331974035, 9346507142457173461, 4301401385637777690, 14660092386018225126, 12495473851795317931, 5022633921442224796, 17917849216228407802, 12792959527605319782, 15230911336735940949, 8204016232934091863, 15412033900392896865, 3505376367314785905, 6238911281890404928, 5298514099659693687, 0, 13799242140675876876, 11967308820225399198, 2683546121072105123, 1729755848300507463, 12870359338704016369, 8941470466611331698, 2180957237381332114, 15146008237095844208, 16160269208928910981, 18327684313482854134, 16833658748571454034, 2228273861931392047, 15731171584455796770, 995005991601822991, 1325734405437759991, 0, 17987851369139942407, 13398331003343876993, 5367943995780444036, 2448619251293596415, 6376925844201940434, 4660951209572130343, 6692287909250102466, 14264867975601246507, 7450682030114986603, 13850479752308263747, 2354486568908427148, 15162745955260128567, 7073739487284518498, 7349823339847667270, 7432121536738542934, 0, 12779330473845195196, 13333298498050625857, 8497017356295886418, 198682296436078421, 6785250810511202548, 8675942375264798154, 1902172958020633282, 13878123715732752934, 2669364003539959841, 2919541857723463762, 15553639772246407252, 4490985143636591731, 14759010930598801048, 3644113642401147053, 11725546181585461527, 0, 4348612304082720967, 7000799207553416727, 409433143803986808, 11098012124426545813, 13705626808705343574, 14914614989311581118, 15856657657850435817, 15647302365239384916, 1922093161120523126, 16304799558618217551, 2058076621629364563, 13235199499072181459, 2014579064718604783, 17528668302117330167, 4502687057104666043, 0, 4374227242554438847, 11512800943126678297, 5364118459222264456, 15735518607595531127, 17687628157036575189, 4316235176215213500, 16328191111758429737, 8296514219182559014, 4219319863447058339, 17792101410240385031, 5877693942919568575, 362532686167476669, 9295444241326410471, 13461509482997484750, 2976690162409908995, 0, 7104659116945783510, 0, 0, 16126650333942571964, 5373159454984485726, 8554791451595603222, 13040170352872131666, 6964722638533720778, 16565181844214358545, 5358624883000304708, 9590418361165280265, 9589196611956250594, 8187047052130427056, 2952681060946246957, 2014692216792503027, 0, 0, 0, 0, 12840173240488470337, 1377635413060797359, 305354737769078594, 2796157645377513585, 17792025031160030650, 4262069196839993466, 15334521966674573711, 10417895735626853679, 15985686557567316940, 9198468442856654979, 18432371762950474462, 3913809235807315417, 0, 0, 0, 0, 14482582745895144215, 1416945927177854081, 14328454743983709378, 2239851991461863112, 14449374510435378, 103561798029274946, 8636099973921767577, 18014864567131597051, 3269781373289032262, 11277949075475123849, 18052298919183707862, 1465413476437382760, 0, 0, 0, 0, 17039932339331186847, 17502136381770894171, 9167041279176111993, 5466495695730086964, 16979151180084274449, 12264098443872388690, 7613839079126372753, 8653310637125687540, 13994165437176517647, 8342109517639396353, 1226521077945764801, 2704640960151854871, 0, 1, 0, 0, 10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993, 17706856450849328104, 14041629472916080872, 17169788735560756890, 10821476187673211944, 4183993524573793794, 16789443777672453768, 2161849376993207123, 5833790386150273010, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5792301967904643716, 14513996957604530562, 6300577652167374432, 1030532363437082530, 9868636994953646365, 13312054463817713847, 1163060834237983926, 17159751124589539180, 15748271025379903662, 15673345155938926996, 15542740004802895548, 4070736982096634948, 1, 0, 0, 0, 1453121677659348577, 17403066345171442603, 9526966027631081464, 4562917345183859100, 16736668858502190206, 12710250320191836356, 9043028743666878997, 9570842800862454404, 10889819954451461225, 1374882310944969176, 11041329929342678296, 6376909268692149801, 1, 0, 0, 0, 6798464049283172704, 10094602609597426273, 5441108908322692152, 13319823174770042865, 3687504758717747002, 11828007000931365406, 15642196062511550808, 4387538442135057894, 12016453509822632603, 16688879161845796765, 15353663875595798268, 9433687029957117661, 1, 11436455846193695609, 17419948132223780613, 10707930966158261719, 7805136509413905123, 10748223278202845625, 5102455166015213038, 16060345288112427467, 9937020917196030767, 13713675713530315700, 11873887283723171030, 6245447289360608210, 2758175399376775060, 6794131889413756751, 6954584401067417189, 5092580402017360453, 1, 138168370802146349, 561179642041056504, 13282391328952434407, 3586306435690112870, 17278658194357811156, 2504635638454636683, 7235500145280211409, 11191458759516692993, 6465450803792948194, 2111071922636782066, 11802465958807233213, 9116942394473193925, 11145482942031811955, 14726020691764699927, 16903672043479974450, 1, 263960295682680947, 15697220842527476860, 17868088579823291326, 2175933588395873247, 8749749468735109989, 11010166446741390499, 17943104442301856895, 15821423767384514021, 16018668147064525478, 5560768172433028490, 5619212355349254932, 17391285462458271036, 2603291588626814071, 5238953246197227863, 5602891381109897586, 1, 12301036190174877474, 12651281118484863330, 11983275442902746825, 9125195986387370903, 2181062690427536463, 13921861517061570826, 350891571660248295, 11013048057925712708, 11055047889476803308, 15398332646604634982, 5808711407549689243, 8949777591082911961, 14824627964979845981, 8130365156760288485, 3947069696768920416, 1, 753507401801380169, 11557202300537182401, 12635550211207024884, 13277984171307670821, 2631795936834054713, 14094327291919754106, 12673624581190519723, 4509450209340246689, 10606486226190872261, 889124163739951988, 12547380261461657128, 16829937485708676196, 15832095999334895743, 5377353767201125639, 11053610747785598805, 1, 17726880391953768878, 13956049620380258223, 11273932727072475337, 6855896085734577371, 1129400045567810133, 16519057148475618054, 10699416941054230316, 17256608828803451668, 6887723245936746466, 552364255868028623, 17909079490987407142, 9570595819850351164, 8654686163127378448, 16203109760043627710, 8480295614280342552, 1, 5047048529377126902, 2720906371958061367, 10084181298533567509, 10367672116357405411, 11036446985399396097, 13294567520571596163, 17521531050433436007, 1868701710513242496, 5411603901210245247, 11609599138736895146, 16874855234706410918, 4393409689646403917, 9543195090298605247, 7478523150127634789, 2693101708644875762, 1, 3528724572660247995, 0, 0, 12432722351030045, 1367308201666984940, 3681473655802754494, 15340518851882934883, 12978887161137913348, 15761699408266065961, 3053535844413236872, 13043307337058007179, 1605626291192886407, 3512088686484392896, 17370072541480613908, 15945489250832697271, 1, 0, 0, 0, 18236855931369748683, 5145738009993425605, 9599849581440088949, 7181962801200058100, 7842895042061868932, 12656177266019986902, 8530248384503061153, 7088178758240165913, 8843525768370306419, 9760798177389960884, 15297557810674980998, 17513790474795511142, 1, 0, 0, 0, 11582029127760482436, 12210748157899031357, 9473509448225646970, 17514007687115301207, 15252116786733410669, 10068681917011840638, 5010610666981558682, 14100290159714849481, 10038370148733513877, 4164887708143705047, 12759194225663538416, 5155504400103783318, 1, 0, 0, 0, 2256431941220947766, 13487119117857302457, 10370113277604876234, 1506538453550143326, 9611088164777633619, 9944172425891749050, 2585766031776029836, 7469792865149057403, 3748706915022560085, 480217827283441208, 7902514309755880799, 16608422580379539141, 1, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, 2, 0, 0, 0, 5484645610689645032, 17933046996545101157, 16339706652094815250, 13544759331160301838, 8141870999174257740, 14107144578121799305, 396274001381699938, 3634103446560049839, 12745031702117932636, 7036828309739934078, 17841617974172171166, 16843483981996999201, 2, 0, 0, 0, 12255467604292037599, 3221298496122688675, 18213293887213037791, 10454832113088907686, 14197766824477982368, 12632563328014721824, 15223540981653283332, 8415652435043313252, 15072376706785505714, 499064301441796851, 6019679623316230571, 2863989181285908285, 2, 0, 0, 0, 3504307811212845679, 9887651557123705338, 15415704462638107150, 10451874340315180119, 14715205669302787941, 676415209440449451, 13877510800170645203, 5795890553064646410, 8168893483976559005, 11011177719900268394, 3075618990528033611, 13809591299651900358, 2, 11532942913722119887, 15706785780181646320, 8500217623199961915, 16385837637275803212, 12589553581452432263, 9328358778203457601, 4811677924202588651, 15954150986266248336, 13054476292017527619, 13801463134030240262, 1165498946375484511, 12668987530028315258, 9041501660033602067, 11828980449399846157, 712948025072919412, 2, 13546468777259703303, 2130139338200141332, 1677916746575397392, 15603598095391109763, 8982008132746506464, 9534409456230159171, 15953027744665381494, 2210202967686246336, 18201859605319735335, 2613650507633583447, 13470511188219884259, 17792240681335161918, 5597430705303759588, 17058784685043687544, 18076014205743588541, 2, 17150592872874668692, 373328191372179539, 9925944180761826662, 4881622279674020310, 1461351575215552783, 7028330826866827934, 17321922102323360926, 11861279589925081154, 4211482457682169121, 857582657567428474, 6294745292695606830, 3964499899330796305, 8694904038920718173, 12798363385221373595, 11519040844019198794, 2, 17812065447696919081, 10476573304851565336, 4050248765677305785, 3052409033334460214, 17899456176840307949, 14272332536807405334, 5268789410078450933, 1960893658848125895, 10357280402715567165, 1946175234480737485, 3509255218615138356, 13648578922017807026, 1792108781827785515, 7848717464050352065, 2115979595816627252, 2, 14304145735363415364, 3123264749675353443, 15633057486969346389, 5590715938569744686, 16360479359047183989, 17571597847320321793, 7491081885321669942, 2792014203761376516, 7481817557178743487, 14182256043130615816, 2113355324306522062, 7590704234440296353, 6731946370858393481, 2307380299587089154, 1457958177788302268, 2, 9128626640352709923, 17530806268802285328, 5521142562674286822, 7672965447668905839, 18202802305345820600, 10939917215126760263, 5454274694799635961, 15045803504594761609, 6031972736818829176, 6487707463900256145, 6513518689484649191, 12115325694601327017, 2589258613727050076, 9795696285187372082, 9346079458114114095, 2, 3585032113304036127, 878423030197307407, 7753214053553689965, 13826096403235050003, 13292980836066262078, 17878862886173733195, 17335963671141011125, 15552187222984804077, 8300146209691975643, 14310135663256964431, 5324444741120757504, 15200025136962894389, 9211865123544848832, 757820306026356015, 15906091739671321314, 2, 5864686728114583749, 0, 0, 9139354100126637124, 11662388403276284204, 1053421858759551477, 14098346563780750400, 5067426764888134185, 6134229022916026981, 16277189846925996385, 13161575946730874384, 8492889920316449728, 8738608316156486979, 11361904455207330488, 4644160712918564720, 2, 0, 0, 0, 15069412541248179329, 17636221918015671474, 2493488421765413820, 14256642798665897034, 13029707287964752636, 9441335230719905711, 12416439742779279248, 10080344719141565596, 10015871472133787582, 394932958898495590, 2354587967963224922, 18089767607933127470, 2, 0, 0, 0, 1637053654417823543, 820038718609189039, 339980141328036028, 10322493293137382631, 12718954196218876787, 6796168876136445697, 15420463740865030232, 3252331356198972205, 14227267699888656475, 2559427160509359301, 17590552952398131648, 159003707103255077, 2, 0, 0, 0, 3016912966792386460, 4113629697054036494, 8930528385757741316, 3280375997019352338, 13486210659622411055, 15849561705591959734, 12565096618949859493, 317383372660570130, 13178345540153474546, 7712839197105005349, 13963542465081735925, 5137866587539026744, 2, 1, 0, 0, 16830415514927835337, 12164645914672292987, 13192574193032437705, 4604554596675732269, 7157681808383834781, 13054530803491118896, 15318932090721652605, 12540678638271855535, 5420606508990450533, 8111458574185220575, 1323824759339937182, 8059544659088724214, 2, 1, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1532070872953744281, 11675978725956395507, 8258108365434236190, 8977540451988253054, 8832291907404336605, 16801197610032323372, 8498902414702613411, 2217861947967210820, 14648106445605106304, 5194857384255130698, 4543357020291533691, 1677011855369223059, 3, 0, 0, 0, 18164368745351378969, 665130184182531292, 14548211377038648988, 9026463808500414994, 12372059324693434695, 8512906579977137276, 10951940384741553765, 2990681100436043903, 15463650459774420968, 6115025020360005524, 13619612156045325099, 9915559200666512746, 3, 0, 0, 0, 73542357038484620, 16275608702285065538, 15615370514429573107, 11554047591217380375, 9626234372118459069, 14043139718664795091, 7172345985251039651, 13714446996516992992, 14079807935308074442, 17175342044195045043, 16936021968982853164, 3883665509408281322, 3, 8133824218287649370, 1205363866316521559, 7923953289074004648, 1611370566290075655, 12516876786630134052, 16156412840636435500, 16066365782016562356, 12209717470970729826, 648151295134950813, 8424608506935970051, 941071657155810425, 12476535243066524999, 13046835168670418046, 13563090428318398174, 10213204276953300366, 3, 11656233811569695541, 16780366708706866018, 10469348806910132738, 12317597613336433996, 16800450568443907772, 7958196127911254005, 5580405360121542127, 17991322909541306091, 9587008055009063413, 917862094456531518, 17636182943787095305, 5347924966817937746, 15791860137463552476, 5352122275530338033, 8207615265206228485, 3, 13280747180546192023, 13818056542207317059, 12768869371961439487, 2029833730308772760, 3067168931363951888, 630426464913806566, 13807710542081112496, 10340529818978391824, 8301137772228612306, 18032943025979156234, 5571856761516233924, 15102755171792177729, 1386022355796901548, 10780164990569095481, 14005839963275167003, 3, 8161514060541966002, 5430054846479849757, 855673369941768792, 8583346124368767357, 7152703336258374657, 4793816855328822248, 1475819744300266017, 5162097063446717296, 9158417383194264473, 17323069022182310843, 17309666448184518221, 16540233824244985004, 13271685073550397851, 3683818685539825395, 12883632168742702763, 3, 14889661894667616899, 13319328534492736282, 511216470843933116, 5414088302741599345, 16030190225904238830, 6111859869108706126, 4321093113239299552, 4706826096768711507, 11021679444547674749, 15678561454143187205, 15168765916033556420, 7046395423559884948, 3431032212531228618, 9443306432483343000, 6291224588853575811, 3, 11384512740043719026, 17996531901144166752, 4183594834611630116, 17695445402585642319, 15258305803668890228, 17106752205417894410, 13259786553689259064, 15859967842550332610, 5138368225191856866, 8345451659183769670, 4299979085769618674, 10058172520180004407, 16132576493934338934, 312707111584502977, 8025187035739711204, 3, 17152042124522816142, 9826569971726481595, 8959076337043698126, 1987260706895490300, 17423289859865292784, 12258188545233319580, 4291864820252135891, 2950910453815263271, 852440029525711434, 1223549137263517018, 605327998629874385, 3009980753663636725, 8722464778364467857, 17216818427461180092, 13380853612843880678, 3, 7979264206910945674, 0, 0, 7448791324579059841, 1050285053399784347, 16767087000176263535, 14849165193424062452, 2498996933077132011, 13658177069616805094, 495936213960522537, 13576872019913404781, 7640966386182958606, 4271515987309482058, 13463445006653778819, 12292225704634605892, 3, 0, 0, 0, 6053040396430810733, 2172892474788961636, 18161859984545851402, 13488248907260320483, 8430623432188198915, 3055646124754645267, 4245215712607391946, 2243958878529225177, 14990440908620774864, 3080921390696878855, 595284666932255390, 6192940699035995377, 3, 0, 0, 0, 14921496778760644502, 16662036864627516510, 6434377642684009725, 1840544361770929313, 15074823591915634941, 5258982948465254673, 2683768063818053258, 238295676214993337, 17552036469726894364, 15877921873938893194, 14734786106453693759, 1371624439541100057, 3, 0, 0, 0, 516742705862090749, 5947805230277704319, 5952541516123965670, 9026915957393505056, 5986317686192419732, 75717367401824328, 8923961895635206791, 17106810061565988432, 7157463081631406163, 150940732863733992, 15657864298531798718, 12227344478922314236, 3, 1, 0, 0, 16913455875204140146, 8451315773087502901, 3716949716844628593, 10394526050930609580, 1244837894821529086, 14023738310468542470, 9319458442815716445, 5220020845190256514, 18381067342435073896, 15418184987737128626, 17753079332212842976, 12382717352847060954, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(18) }, program_info: ProgramInfo { program_hash: Word([10283482931168313515, 11478835923086610240, 11364418273176134048, 7500322654022518993]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 19, range_trace_len: 51, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 3, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_26.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_26.snap index 5676d4977f..8d1ebf3e27 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_26.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_26.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 0, 41, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 270895689018017911, 16986171160676071137, 7387278922185249498, 17172605884943369535, 17619702065145827445, 16331429716507735697, 3432600375819256090, 8340422935034340708, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 2, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 87, 0, 0, 0, 0, 0, 0, 5280636662479905706, 3208946253109296695, 44103566269295951, 8046898230781913002, 15629760132913319055, 5754006142005012359, 4960387371191928838, 12044833413185230105, 5988669310706667741, 7178713832374603093, 1499340432943046009, 15290921832139631954, 0, 0, 0, 0, 12274425802069166728, 3367752336261825184, 16579036642617539107, 7124592674113435496, 10035448811625737492, 8017671631288520014, 9272171596648318476, 6358741555586760965, 16325845662291591088, 4014426828241438738, 6907778321050040150, 12997760219342012306, 0, 0, 0, 0, 2176397147817918311, 2192485617758155336, 17969022685205918060, 6464283742144581389, 2109163784868901208, 11044629350832782826, 2248948014446662823, 5516997715507416326, 11498340355286698940, 5954493359923909552, 4318577229044781948, 14331740095364914796, 0, 15727595203408215825, 9811429029669387676, 4886620126458192524, 1121106984162438633, 9478326137574155357, 706512062896000227, 14294402532847550113, 11325030759426275997, 9908982434490094917, 5184067341385391623, 15811174175866362728, 7786341500203621121, 9631713068946389767, 8350671705757524875, 610675163789242378, 0, 9419550357552199501, 13884451166149337500, 13261505407679254512, 15138595031782285856, 9638738489607553127, 14224629401571933098, 3259952174062033150, 5435890109442621260, 2745773389620535771, 5264849973136923248, 372870694419626773, 12567338000929831119, 5677329704113932287, 3580982943501747208, 14168803743321808630, 0, 214648213772151071, 9543737828461147127, 11333349087355777134, 15764101235302912716, 1346328633318951702, 6277592578923318686, 9650725925684916249, 2055511090009067667, 514617177313254191, 11782462042260078709, 2753568216187945242, 5284870871448414001, 13827287292645159301, 1158005921868139193, 14225231634659489628, 0, 998480186550655863, 3968564533603669024, 2425949437762237323, 14847329995972443256, 16326624456603980216, 14828306678723121383, 7874947329495583100, 15681614550741791960, 16194798321399891585, 18421718483980330016, 11308851359826131934, 9089337376280278077, 17700960267716780428, 7362413073571978741, 16936105257000977856, 0, 393462918438193792, 14322328616984094066, 5472399224197240752, 3828884631367775458, 16321054874314811915, 9554475914976531614, 17869482233905720382, 12651432232289897972, 2293765132611666398, 748840778855599757, 12564242331003874045, 7434557179126682320, 3514266332620367171, 10329160438125455687, 9658837437554457100, 0, 15860404195257896467, 16923363290217451744, 841463536446684601, 13000674532675750449, 8065321292721727536, 2838349880812772334, 11915276632142850778, 3488275055947029711, 9119208073836395784, 4466347092748054798, 6746559560032541915, 9616253319110065687, 8392481333103453284, 14262269490948820721, 7916501065102864900, 0, 532287514050577245, 15085895713878874464, 17590572537032490330, 4226373080885343357, 9380232824716169134, 3440887107266285287, 16323191812792483589, 1456768111828341165, 14073851560129966734, 10876660044242359342, 18317909842795274420, 5298800569408909376, 17919778829682069979, 3472477774948948832, 4639454579562223508, 0, 16748404491550645246, 0, 0, 15873447561070617842, 10001505760538725803, 4712210543341171144, 12974471662606351082, 1632109833251222173, 8140316977094914489, 6636942852512856391, 17327901225127233301, 17615542852500047001, 7660468230079681452, 10180896197919295321, 17774693611921464468, 0, 0, 0, 0, 8662694481754592838, 12516366834863895671, 2000888369135426073, 16304957355072116537, 13467318392446768934, 4669018267279247802, 759537667994255909, 12348490174409586861, 3423256327042481469, 10635367728060221815, 14235848048115144607, 6912758962031377553, 0, 0, 0, 0, 1881834778803900215, 17355952588513451063, 16405127277136654428, 194581642639662916, 15158806773712481550, 11933986213097978283, 3508790529629961569, 409832381455824948, 4006717935701390494, 7120290581360084054, 4327466384601495267, 8076774583647541443, 0, 0, 0, 0, 18011433719189930145, 12389346829573749449, 16145798482927391337, 3674491480050181048, 17622026395027469996, 15174342736410977829, 131879685133129686, 324195302411172888, 3312147262151389147, 7226855266313529425, 14636917808291645366, 18393317638728824676, 0, 1, 0, 0, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 270895689018017911, 16986171160676071137, 7387278922185249498, 17172605884943369535, 17619702065145827445, 16331429716507735697, 3432600375819256090, 8340422935034340708, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 9406198837081470939, 12454644480646831381, 5357297729805547264, 15695767008081417024, 17081781165782008305, 18173774266735228622, 6597958223090468622, 10058815580948772803, 9341085403015625984, 17305809056185869492, 16092333721991261411, 14466140396882267896, 1, 0, 0, 0, 10022220918800215931, 6625466299838152616, 14873368774111773763, 13822207310342005989, 11851640107665623803, 4144160359412257714, 1001954617881206717, 2558852513241095712, 8048571622541726255, 3796262690630383451, 12690029978283677858, 7698456735078463171, 1, 0, 0, 0, 1529838978363474364, 5877585793149040063, 11620602129319348479, 3184399423922769699, 4766473366160256877, 7300042540399827448, 2462275239493078851, 11288811565422176008, 16822095754433680909, 18301782264345075251, 18087044935643148806, 510047809549721667, 1, 17625583494235189807, 10622457062204255065, 2653216356844660597, 9475027500051639757, 10463750966311648190, 11600868756246964674, 15662168292079378087, 14737424852298451342, 117344945972585870, 3251083096698399603, 12684542007451613640, 4788924408482455108, 6902797868122893844, 15800238251163812693, 12046292011878974455, 1, 7496472832454263388, 12998172934440185624, 17507911152779544052, 16456090005001040440, 16590029451027219509, 2617628953138715244, 622817961215058190, 1598986500188737220, 17607068252592942451, 15060402253986549440, 16875740049367006869, 4040451923151286438, 5925341866968505601, 14259707661873610422, 10732873470134113982, 1, 1452526314939094806, 1479000593888603377, 246310986971833963, 4152569545950646704, 4118156517299583310, 17663239633609473365, 8127661496786659791, 17689549836214880979, 14746946312861632567, 602662289136933629, 11216558892028292475, 5188174964157774722, 7100861533945618475, 3714941418598094928, 1377039040653060055, 1, 2930684747787414446, 1754494303819808128, 669923854651336066, 5941781742039952076, 876859729835418933, 790907098378102911, 115518666891692872, 16890877536441094576, 16820881161920465009, 241154565549913410, 44006951265386772, 5087127128059490065, 18106355872892957036, 3269612205224843731, 8638796096796806719, 1, 2414727401863600363, 7617116592575512612, 18041147314657306922, 15957716643783059543, 11912796059449786962, 11153176059938326063, 14174738803865199162, 11999349000942665761, 17632700466101721722, 6582530104605672978, 16757182470542785800, 12431955029502155155, 17163152133935520513, 1237894940644049096, 6188646281997977531, 1, 2319532296399149270, 9283783715220787949, 810281363185644618, 4756894436878044936, 12165478487736095233, 13041376666032139342, 3740623961436206385, 6384260880460211781, 17121495806538343926, 14583996149149192254, 11562370595738293151, 8268709300694246348, 17892562184847802024, 3859704522936614211, 7366245284644652757, 1, 949011576700156842, 1533322811274401426, 15060757839378359292, 1432035093691797337, 206692693307936550, 378907012515670704, 10248912138703390835, 10128144445036454539, 5042107387767762304, 9843022881405494656, 11880883914254039546, 13220616153049902, 455311511731825064, 5381232113954376086, 5364482943654507461, 1, 5881102500383619035, 0, 0, 2424299330597632902, 607119689966087280, 17283177276798307300, 475409702871185800, 15518804315920479075, 4578339057778509415, 4685043752195987874, 10392430241191498892, 11507515262772595129, 14439767021292397992, 13673908725375817159, 5378163831543087962, 1, 0, 0, 0, 14342875730731176181, 6225072162372691712, 8577974921324183601, 751519865506756952, 9824595797538483612, 10360631973465438301, 10226703749989732907, 13840269947314152185, 1831374399934529359, 14389265827404554261, 11392184682219726353, 17676970157216697757, 1, 0, 0, 0, 10605591699135631895, 525785012032090331, 1824237168047932550, 3952375305216254717, 9821754274536606782, 7855314197760224131, 17861834154975224793, 9836275050510148653, 17819027328170218375, 2840178708967434753, 15534576285961723627, 15357405679043026976, 1, 0, 0, 0, 9793600913424407404, 14104167067920766779, 12309619471118709560, 12550056362664815329, 320739284087105326, 3762140957859872022, 10326389091316073307, 18366686834124399227, 5296819603037261258, 8152022108836431115, 8031664516364171852, 12133015237048791800, 1, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 1, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 2, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 2, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 2, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 2, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 2, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 2, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 2, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 2, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 2, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 2, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 2, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 2, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 2, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 2, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(10) }, program_info: ProgramInfo { program_hash: Word([17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 11, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 0, 41, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 8, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2187, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4374, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6561, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8748, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10935, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13122, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15309, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17496, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19683, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21870, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24057, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26244, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28431, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30618, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32805, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 34992, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39366, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41553, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43740, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45927, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48114, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50301, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52488, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54675, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56862, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59049, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61236, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63423, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64152, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64881, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65124, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65367, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65448, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65529, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65532, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 270895689018017911, 16986171160676071137, 7387278922185249498, 17172605884943369535, 17619702065145827445, 16331429716507735697, 3432600375819256090, 8340422935034340708, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 2, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 87, 0, 0, 0, 0, 0, 0, 5280636662479905706, 3208946253109296695, 44103566269295951, 8046898230781913002, 15629760132913319055, 5754006142005012359, 4960387371191928838, 12044833413185230105, 5988669310706667741, 7178713832374603093, 1499340432943046009, 15290921832139631954, 0, 0, 0, 0, 12274425802069166728, 3367752336261825184, 16579036642617539107, 7124592674113435496, 10035448811625737492, 8017671631288520014, 9272171596648318476, 6358741555586760965, 16325845662291591088, 4014426828241438738, 6907778321050040150, 12997760219342012306, 0, 0, 0, 0, 2176397147817918311, 2192485617758155336, 17969022685205918060, 6464283742144581389, 2109163784868901208, 11044629350832782826, 2248948014446662823, 5516997715507416326, 11498340355286698940, 5954493359923909552, 4318577229044781948, 14331740095364914796, 0, 15727595203408215825, 9811429029669387676, 4886620126458192524, 1121106984162438633, 9478326137574155357, 706512062896000227, 14294402532847550113, 11325030759426275997, 9908982434490094917, 5184067341385391623, 15811174175866362728, 7786341500203621121, 9631713068946389767, 8350671705757524875, 610675163789242378, 0, 9419550357552199501, 13884451166149337500, 13261505407679254512, 15138595031782285856, 9638738489607553127, 14224629401571933098, 3259952174062033150, 5435890109442621260, 2745773389620535771, 5264849973136923248, 372870694419626773, 12567338000929831119, 5677329704113932287, 3580982943501747208, 14168803743321808630, 0, 214648213772151071, 9543737828461147127, 11333349087355777134, 15764101235302912716, 1346328633318951702, 6277592578923318686, 9650725925684916249, 2055511090009067667, 514617177313254191, 11782462042260078709, 2753568216187945242, 5284870871448414001, 13827287292645159301, 1158005921868139193, 14225231634659489628, 0, 998480186550655863, 3968564533603669024, 2425949437762237323, 14847329995972443256, 16326624456603980216, 14828306678723121383, 7874947329495583100, 15681614550741791960, 16194798321399891585, 18421718483980330016, 11308851359826131934, 9089337376280278077, 17700960267716780428, 7362413073571978741, 16936105257000977856, 0, 393462918438193792, 14322328616984094066, 5472399224197240752, 3828884631367775458, 16321054874314811915, 9554475914976531614, 17869482233905720382, 12651432232289897972, 2293765132611666398, 748840778855599757, 12564242331003874045, 7434557179126682320, 3514266332620367171, 10329160438125455687, 9658837437554457100, 0, 15860404195257896467, 16923363290217451744, 841463536446684601, 13000674532675750449, 8065321292721727536, 2838349880812772334, 11915276632142850778, 3488275055947029711, 9119208073836395784, 4466347092748054798, 6746559560032541915, 9616253319110065687, 8392481333103453284, 14262269490948820721, 7916501065102864900, 0, 532287514050577245, 15085895713878874464, 17590572537032490330, 4226373080885343357, 9380232824716169134, 3440887107266285287, 16323191812792483589, 1456768111828341165, 14073851560129966734, 10876660044242359342, 18317909842795274420, 5298800569408909376, 17919778829682069979, 3472477774948948832, 4639454579562223508, 0, 16748404491550645246, 0, 0, 15873447561070617842, 10001505760538725803, 4712210543341171144, 12974471662606351082, 1632109833251222173, 8140316977094914489, 6636942852512856391, 17327901225127233301, 17615542852500047001, 7660468230079681452, 10180896197919295321, 17774693611921464468, 0, 0, 0, 0, 8662694481754592838, 12516366834863895671, 2000888369135426073, 16304957355072116537, 13467318392446768934, 4669018267279247802, 759537667994255909, 12348490174409586861, 3423256327042481469, 10635367728060221815, 14235848048115144607, 6912758962031377553, 0, 0, 0, 0, 1881834778803900215, 17355952588513451063, 16405127277136654428, 194581642639662916, 15158806773712481550, 11933986213097978283, 3508790529629961569, 409832381455824948, 4006717935701390494, 7120290581360084054, 4327466384601495267, 8076774583647541443, 0, 0, 0, 0, 18011433719189930145, 12389346829573749449, 16145798482927391337, 3674491480050181048, 17622026395027469996, 15174342736410977829, 131879685133129686, 324195302411172888, 3312147262151389147, 7226855266313529425, 14636917808291645366, 18393317638728824676, 0, 1, 0, 0, 17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468, 270895689018017911, 16986171160676071137, 7387278922185249498, 17172605884943369535, 17619702065145827445, 16331429716507735697, 3432600375819256090, 8340422935034340708, 0, 1, 0, 0, 5296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 9406198837081470939, 12454644480646831381, 5357297729805547264, 15695767008081417024, 17081781165782008305, 18173774266735228622, 6597958223090468622, 10058815580948772803, 9341085403015625984, 17305809056185869492, 16092333721991261411, 14466140396882267896, 1, 0, 0, 0, 10022220918800215931, 6625466299838152616, 14873368774111773763, 13822207310342005989, 11851640107665623803, 4144160359412257714, 1001954617881206717, 2558852513241095712, 8048571622541726255, 3796262690630383451, 12690029978283677858, 7698456735078463171, 1, 0, 0, 0, 1529838978363474364, 5877585793149040063, 11620602129319348479, 3184399423922769699, 4766473366160256877, 7300042540399827448, 2462275239493078851, 11288811565422176008, 16822095754433680909, 18301782264345075251, 18087044935643148806, 510047809549721667, 1, 17625583494235189807, 10622457062204255065, 2653216356844660597, 9475027500051639757, 10463750966311648190, 11600868756246964674, 15662168292079378087, 14737424852298451342, 117344945972585870, 3251083096698399603, 12684542007451613640, 4788924408482455108, 6902797868122893844, 15800238251163812693, 12046292011878974455, 1, 7496472832454263388, 12998172934440185624, 17507911152779544052, 16456090005001040440, 16590029451027219509, 2617628953138715244, 622817961215058190, 1598986500188737220, 17607068252592942451, 15060402253986549440, 16875740049367006869, 4040451923151286438, 5925341866968505601, 14259707661873610422, 10732873470134113982, 1, 1452526314939094806, 1479000593888603377, 246310986971833963, 4152569545950646704, 4118156517299583310, 17663239633609473365, 8127661496786659791, 17689549836214880979, 14746946312861632567, 602662289136933629, 11216558892028292475, 5188174964157774722, 7100861533945618475, 3714941418598094928, 1377039040653060055, 1, 2930684747787414446, 1754494303819808128, 669923854651336066, 5941781742039952076, 876859729835418933, 790907098378102911, 115518666891692872, 16890877536441094576, 16820881161920465009, 241154565549913410, 44006951265386772, 5087127128059490065, 18106355872892957036, 3269612205224843731, 8638796096796806719, 1, 2414727401863600363, 7617116592575512612, 18041147314657306922, 15957716643783059543, 11912796059449786962, 11153176059938326063, 14174738803865199162, 11999349000942665761, 17632700466101721722, 6582530104605672978, 16757182470542785800, 12431955029502155155, 17163152133935520513, 1237894940644049096, 6188646281997977531, 1, 2319532296399149270, 9283783715220787949, 810281363185644618, 4756894436878044936, 12165478487736095233, 13041376666032139342, 3740623961436206385, 6384260880460211781, 17121495806538343926, 14583996149149192254, 11562370595738293151, 8268709300694246348, 17892562184847802024, 3859704522936614211, 7366245284644652757, 1, 949011576700156842, 1533322811274401426, 15060757839378359292, 1432035093691797337, 206692693307936550, 378907012515670704, 10248912138703390835, 10128144445036454539, 5042107387767762304, 9843022881405494656, 11880883914254039546, 13220616153049902, 455311511731825064, 5381232113954376086, 5364482943654507461, 1, 5881102500383619035, 0, 0, 2424299330597632902, 607119689966087280, 17283177276798307300, 475409702871185800, 15518804315920479075, 4578339057778509415, 4685043752195987874, 10392430241191498892, 11507515262772595129, 14439767021292397992, 13673908725375817159, 5378163831543087962, 1, 0, 0, 0, 14342875730731176181, 6225072162372691712, 8577974921324183601, 751519865506756952, 9824595797538483612, 10360631973465438301, 10226703749989732907, 13840269947314152185, 1831374399934529359, 14389265827404554261, 11392184682219726353, 17676970157216697757, 1, 0, 0, 0, 10605591699135631895, 525785012032090331, 1824237168047932550, 3952375305216254717, 9821754274536606782, 7855314197760224131, 17861834154975224793, 9836275050510148653, 17819027328170218375, 2840178708967434753, 15534576285961723627, 15357405679043026976, 1, 0, 0, 0, 9793600913424407404, 14104167067920766779, 12309619471118709560, 12550056362664815329, 320739284087105326, 3762140957859872022, 10326389091316073307, 18366686834124399227, 5296819603037261258, 8152022108836431115, 8031664516364171852, 12133015237048791800, 1, 1, 0, 0, 16362180982079134587, 16601100057639640520, 5521682503008444658, 3792208660074152519, 6708412556839205818, 3204764821942414262, 2382590011410319125, 5080678178504844773, 6374574376632329694, 13516826603120023138, 12611398678228181741, 13552592212104960667, 1, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 2, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 2, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 2, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 2, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 2, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 2, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 2, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 2, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 2, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 2, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 2, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 2, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 2, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 2, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 3, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 3, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 3, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 3, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 3, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 3, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 3, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 3, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 3, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 3, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 3, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 3, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 3, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 3, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 3], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(10) }, program_info: ProgramInfo { program_hash: Word([17146985813539672977, 8172330287639288363, 8293767836317219752, 13949550608398456468]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 11, range_trace_len: 39, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 0, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 64, padded_trace_len: Some(64) } } diff --git a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_27.snap b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_27.snap index d909f57d23..0796ddb33c 100644 --- a/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_27.snap +++ b/processor/src/trace/parallel/snapshots/miden_processor__trace__parallel__tests__trace__parallel__tests__test_trace_generation_at_fragment_boundaries__case_27.snap @@ -2,4 +2,4 @@ source: processor/src/trace/parallel/tests.rs expression: DeterministicTrace(&trace_from_fragments) --- -ExecutionTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 0, 0, 0, 0, 0, 1, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 0, 1, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 3137828705454, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 1, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 0, 1, 0, 24514286761, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 40, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 191517865, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 1496233, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 11689, 1, 0, 0, 0, 0, 0, 0, 1, 2, 4, 0, 0, 0, 0, 0, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 7, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 12, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 13, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 8, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 1, 17, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4, 18, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 9, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 2, 10, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2197, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4384, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6571, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8758, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10945, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13132, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15319, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17506, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19693, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21880, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24067, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26254, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28441, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30628, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32815, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35002, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37189, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39376, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41563, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43750, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45937, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48124, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50311, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52498, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54685, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56872, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59059, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61246, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63433, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64162, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64891, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65134, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65377, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65458, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65485, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65512, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65521, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65530, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65533, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65534, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 8242146665224381578, 15911532375448333238, 1386357366995233596, 8611444126933110985, 4676083100930238397, 6139688846062542757, 9002714910392091903, 5823797362462191159, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 5915784406748100112, 6722847756588924736, 14012694245464324059, 2066991057620171669, 7739875740167294943, 7018932903636824263, 3536373181423802149, 16715512295218120604, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 3, 8, 1, 1, 0, 0, 1, 0, 40, 0, 0, 3, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 1, 0, 1, 1, 10, 0, 0, 9, 1, 1, 0, 1, 1, 0, 40, 0, 0, 12, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 9, 0, 4099276459869907627, 1, 10, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 87, 0, 0, 0, 0, 0, 0, 15982823105988775806, 8055676711367425373, 17941169771108522281, 17144527358953736194, 14947610898944891577, 971614072768782170, 6527463406041159829, 3832659229659994697, 4267689650839244805, 7476341399175005462, 13956706726156239325, 1362637335972540923, 0, 0, 0, 0, 5870626296958083933, 15831852620745746684, 3185498590211330291, 4142206734944835575, 1703654304778633946, 16779850255772273060, 17529309452142070777, 3820424470916782417, 13044986967311981583, 16932680220731892573, 15512851049245904995, 4407692356467248372, 0, 0, 0, 0, 1222210540818995679, 9596558254971998891, 17836151103719299929, 972583351096828487, 16036135922289885914, 9046461447407029762, 13420377050848926972, 8268741668021650938, 15162095256779392528, 6250951389520005938, 4880080490180073887, 5079644903468213758, 0, 4277112440869277830, 16975894093684028062, 17916235475615809558, 14524910789332636826, 11691364468631390887, 7787341040263241822, 9379002423052238093, 9978142397546997785, 13711991341735230802, 2995007776024477424, 4712167935694753945, 1064069264700679460, 16784239691558161828, 13171136420515290288, 7377465172358292401, 0, 7863758113629837220, 34545184916281199, 3993169000277716254, 7364322756301525079, 10650631026443210837, 1517619643121483559, 17270732420407911054, 4258304245011181242, 5161000027742486976, 8399067086847534736, 11003984578732833046, 15464732564240072836, 6182941569324809186, 11275803822943060218, 158655113981893701, 0, 2476402089664475908, 9916425135419809036, 3028465534706354547, 15472564680003668093, 6373098182685681762, 12520752577019080054, 5394462987259780313, 4831149567958541538, 12904631563004530976, 13837253351754641870, 3923208428450719385, 3554976680697606440, 17043251418254499417, 5302393607875037297, 8096532195498204177, 0, 5401472078486138644, 17911378919292638386, 1604440114467418180, 4779855905656105676, 6025526479746347251, 4449154494231990099, 11830346459740212406, 2743894608322163398, 10184996808268436049, 3882545820330029085, 5202687146936953923, 777280530525071979, 9570037184747372126, 10484193697881848161, 11860662735451501625, 0, 15748781809771449617, 12223876502815956005, 8462728310504683652, 13057156105981161589, 11957472249295015469, 11549246553227545561, 15033014935301073849, 423385249083279348, 10856312299574527186, 2052856619870651334, 10305616267836960765, 14352183358244000568, 1261949652056609866, 916956049912161855, 3353438403242689585, 0, 11740120563940364368, 1391869256781506493, 11057309605482706459, 17704317629486807708, 6564342187673520486, 2792692044523533343, 12797232677587390356, 14797653849693720774, 9082763018815888798, 17062564998145646419, 17163741437026102402, 14920816938307553514, 18409839409942969565, 16099949995219613642, 9387728217249208068, 0, 3254516890705807916, 7365800426850749937, 15974018227958845798, 8444961928162939943, 8050679843713964343, 1245616094758475931, 2976182234519674621, 11861324009571007650, 18000519861091284933, 10809856712858383834, 6898855362441294480, 13146633521971264482, 11152948692891359460, 10343969929561703022, 10591999464601502689, 0, 13540695320312597078, 0, 0, 933984176226341473, 4938354828005165424, 3057022637731780053, 18149554045659845084, 9709632327217036413, 16645387828565996715, 10873951879782645518, 214597493824524577, 7950640568527571392, 15274457345887794634, 9280090582838465603, 1242243096703449887, 0, 0, 0, 0, 5626861946644684679, 9519120652743404725, 3153363644848796249, 16387713581663902851, 10655954775576173219, 16168525333832765040, 7013656376478213608, 7333415223195735541, 9069684467099779645, 10706178255503280152, 17753787514920247819, 16088561184006536263, 0, 0, 0, 0, 10636061157542345097, 15008846988127407811, 16614085001509596773, 12600455057253767871, 13458552295186750925, 10343839881402182751, 1108696518251840495, 9621971582260379329, 11613485699478956673, 16861381831518076617, 17933004011918959112, 18255208815154765383, 0, 0, 0, 0, 10509741793670097910, 12960656197959013774, 9112727654277900213, 14176014235755683408, 9647930301481695061, 10818726819316593067, 11744599510375600263, 2780827620762362248, 60352997716668050, 2064777537623220055, 12394773470270210064, 15490398721638241462, 0, 1, 0, 0, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 8242146665224381578, 15911532375448333238, 1386357366995233596, 8611444126933110985, 4676083100930238397, 6139688846062542757, 9002714910392091903, 5823797362462191159, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5792301967904643716, 14513996957604530562, 6300577652167374432, 1030532363437082530, 9868636994953646365, 13312054463817713847, 1163060834237983926, 17159751124589539180, 15748271025379903662, 15673345155938926996, 15542740004802895548, 4070736982096634948, 1, 0, 0, 0, 1453121677659348577, 17403066345171442603, 9526966027631081464, 4562917345183859100, 16736668858502190206, 12710250320191836356, 9043028743666878997, 9570842800862454404, 10889819954451461225, 1374882310944969176, 11041329929342678296, 6376909268692149801, 1, 0, 0, 0, 6798464049283172704, 10094602609597426273, 5441108908322692152, 13319823174770042865, 3687504758717747002, 11828007000931365406, 15642196062511550808, 4387538442135057894, 12016453509822632603, 16688879161845796765, 15353663875595798268, 9433687029957117661, 1, 11436455846193695609, 17419948132223780613, 10707930966158261719, 7805136509413905123, 10748223278202845625, 5102455166015213038, 16060345288112427467, 9937020917196030767, 13713675713530315700, 11873887283723171030, 6245447289360608210, 2758175399376775060, 6794131889413756751, 6954584401067417189, 5092580402017360453, 1, 138168370802146349, 561179642041056504, 13282391328952434407, 3586306435690112870, 17278658194357811156, 2504635638454636683, 7235500145280211409, 11191458759516692993, 6465450803792948194, 2111071922636782066, 11802465958807233213, 9116942394473193925, 11145482942031811955, 14726020691764699927, 16903672043479974450, 1, 263960295682680947, 15697220842527476860, 17868088579823291326, 2175933588395873247, 8749749468735109989, 11010166446741390499, 17943104442301856895, 15821423767384514021, 16018668147064525478, 5560768172433028490, 5619212355349254932, 17391285462458271036, 2603291588626814071, 5238953246197227863, 5602891381109897586, 1, 12301036190174877474, 12651281118484863330, 11983275442902746825, 9125195986387370903, 2181062690427536463, 13921861517061570826, 350891571660248295, 11013048057925712708, 11055047889476803308, 15398332646604634982, 5808711407549689243, 8949777591082911961, 14824627964979845981, 8130365156760288485, 3947069696768920416, 1, 753507401801380169, 11557202300537182401, 12635550211207024884, 13277984171307670821, 2631795936834054713, 14094327291919754106, 12673624581190519723, 4509450209340246689, 10606486226190872261, 889124163739951988, 12547380261461657128, 16829937485708676196, 15832095999334895743, 5377353767201125639, 11053610747785598805, 1, 17726880391953768878, 13956049620380258223, 11273932727072475337, 6855896085734577371, 1129400045567810133, 16519057148475618054, 10699416941054230316, 17256608828803451668, 6887723245936746466, 552364255868028623, 17909079490987407142, 9570595819850351164, 8654686163127378448, 16203109760043627710, 8480295614280342552, 1, 5047048529377126902, 2720906371958061367, 10084181298533567509, 10367672116357405411, 11036446985399396097, 13294567520571596163, 17521531050433436007, 1868701710513242496, 5411603901210245247, 11609599138736895146, 16874855234706410918, 4393409689646403917, 9543195090298605247, 7478523150127634789, 2693101708644875762, 1, 3528724572660247995, 0, 0, 12432722351030045, 1367308201666984940, 3681473655802754494, 15340518851882934883, 12978887161137913348, 15761699408266065961, 3053535844413236872, 13043307337058007179, 1605626291192886407, 3512088686484392896, 17370072541480613908, 15945489250832697271, 1, 0, 0, 0, 18236855931369748683, 5145738009993425605, 9599849581440088949, 7181962801200058100, 7842895042061868932, 12656177266019986902, 8530248384503061153, 7088178758240165913, 8843525768370306419, 9760798177389960884, 15297557810674980998, 17513790474795511142, 1, 0, 0, 0, 11582029127760482436, 12210748157899031357, 9473509448225646970, 17514007687115301207, 15252116786733410669, 10068681917011840638, 5010610666981558682, 14100290159714849481, 10038370148733513877, 4164887708143705047, 12759194225663538416, 5155504400103783318, 1, 0, 0, 0, 2256431941220947766, 13487119117857302457, 10370113277604876234, 1506538453550143326, 9611088164777633619, 9944172425891749050, 2585766031776029836, 7469792865149057403, 3748706915022560085, 480217827283441208, 7902514309755880799, 16608422580379539141, 1, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 2, 0, 0, 0, 1744857570235497404, 7224541920618385714, 6671488038711247732, 9418477143622752895, 9703867417214980336, 12489503772578086800, 7630918900393673526, 922936908940985560, 13119444482451573268, 8102518886279384149, 1794056580842530013, 6019859370758513415, 2, 0, 0, 0, 11225476840467288604, 1258325688295597329, 127125292503096007, 14464605090260677523, 1356149198325814678, 16210500530871871700, 7703315482792482057, 9670557752572652209, 14715521009568351134, 5622479790818646070, 1994313401293831292, 12198921534065454764, 2, 0, 0, 0, 6475944301769848126, 2915217068128247285, 10539364050497833639, 1329434144584264601, 4724829826743698824, 11656831663640211358, 18159325948688903721, 2263120035450455133, 3044551438691886778, 1378219755367734085, 27066760951347720, 7594002804590750508, 2, 7094992666845579929, 10682949197627750021, 15511495322322885910, 15870512746805692064, 4742278351791462207, 7505045441162082383, 9115585980456141894, 11819132067426344142, 5933534952755427427, 5289666558408553872, 13337066958757631081, 6199794689781794653, 5527421833010022906, 4651988931660818160, 2987054724042595780, 2, 3458358424286082329, 7093523218540709637, 10672998680593063500, 9582569954668317010, 13201115384751580570, 1845418544539288297, 9232442292023153805, 12186827811356238706, 10935576324406113028, 8489922013276339729, 12624430369688872770, 17630820426326624548, 2455558777867773614, 8013720398498280010, 12827655532307024322, 2, 5785580083697586953, 5496776863607614961, 13562358148399326759, 9619728790481291702, 7348374190345066861, 13428391720342760502, 1625987251039265071, 4628549345299080849, 1482769832760029881, 15392110855022396191, 11685531496513883979, 16631929378585709364, 1206841992098443123, 9033969076040507441, 132716663048694064, 2, 4935270318350649204, 11208979634658466526, 15063992759093620930, 69377025486693860, 2005546075822572073, 6505215078608999447, 5174094099800739640, 13001606491845435526, 1072287532585676149, 8674354724303146421, 2891558581869634704, 12003109342828923560, 2795184266895760838, 8907697550851381515, 7407535969740942827, 2, 12928689569348120744, 18117769253874083942, 6430757471563325625, 11001198331791943845, 5782583463951144663, 3192834997426419970, 13479879407860298287, 12933861238108488467, 16278293297035470863, 6876436357683812502, 1917626248124261877, 7470768955678552355, 11361229958543541222, 7877487828305683469, 12846364871258595728, 2, 3208246304442396143, 602388884213530987, 15428433977489879680, 13971985988839335428, 2737452825195583328, 15596845393022603175, 10706929119701705862, 4857505199118487438, 17086155371834155818, 14942339901122070806, 18093611989159833406, 8678554698795861566, 2399201986323959674, 14423713805583819215, 13940821782800746629, 2, 5752176924989565290, 4446226812085120357, 4892387022627626332, 12766647202711608745, 16601117776639897488, 11733197324703429636, 12249169652316186841, 15421392054100411011, 10950661145505749420, 8676915018037525034, 2287206221212892475, 840670749677123625, 14199538947967054445, 11736020252788430378, 8602113489330523197, 2, 16339610044914982284, 0, 0, 17640015747325898849, 16347444792678324740, 8885896841027368623, 10718432816977168969, 5156908241230918449, 17013559050399408119, 14174891037708262638, 1568239283519947871, 11922342832652198664, 17716568425187950727, 14294596817162139623, 8762912941700788919, 2, 0, 0, 0, 10691440065277113539, 11571864114015088873, 14769641188290399688, 15214258832131517513, 16096616261062028405, 17526009277172454447, 7932842201848681903, 7306503137329194055, 13369935276997096320, 15066831218638174923, 9520626635373991696, 13296433431293103463, 2, 0, 0, 0, 15457748872647003252, 12161715639235802937, 14007251173141324536, 1685517899923633866, 5112172969895687532, 5291999820044553537, 8437113893887445899, 3726439603382583733, 8404976155487828619, 7450257481186581855, 18356039864791793168, 15198056038162548435, 2, 0, 0, 0, 12039411220003022329, 844322165626728828, 6152440980082407113, 11008191087326916441, 15301657567101812620, 7647514108863503629, 11736853678981601451, 13408456878721317654, 137431712022909617, 9004259806363632349, 994790402583656889, 3215329497276289397, 2, 1, 0, 0, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 5915784406748100112, 6722847756588924736, 14012694245464324059, 2066991057620171669, 7739875740167294943, 7018932903636824263, 3536373181423802149, 16715512295218120604, 2, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 3, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 3, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 3, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 3, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 3, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 3, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 3, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 3, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 3, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 3, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 3, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 3, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 3, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 3, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(19) }, program_info: ProgramInfo { program_hash: Word([14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 20, range_trace_len: 49, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 2, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } +VmTrace { main_trace: MainTrace { storage: TraceStorage { core_rm: DenseMatrix { values: [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 0, 0, 0, 0, 0, 1, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 4, 0, 0, 1, 0, 1, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 3137828705454, 1, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 1, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 0, 1, 0, 24514286761, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0, 40, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 2, 1, 0, 0, 4, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 191517865, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 1496233, 1, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 11689, 1, 0, 0, 0, 0, 0, 0, 1, 2, 4, 0, 0, 0, 0, 0, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 3, 1, 0, 0, 1, 0, 1, 0, 91, 1, 0, 0, 0, 0, 0, 0, 1, 2, 5, 0, 0, 0, 0, 0, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 3, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 6, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 7, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 10, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 11, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 1, 1, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 12, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 8, 1, 0, 0, 13, 0, 0, 0, 0, 0, 5, 0, 1, 1, 0, 1, 0, 1, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 8, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 15, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 6, 0, 16, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 1, 1, 1, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 1, 17, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 1, 1, 1, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4, 18, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 7, 19, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8, 20, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 1, 9, 21, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 2, 10, 22, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 2197, 23, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 4384, 24, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 6571, 25, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 8758, 26, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 10945, 27, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13132, 28, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 15319, 29, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17506, 30, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 19693, 31, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 21880, 32, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 24067, 33, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 26254, 34, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 28441, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 30628, 36, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 32815, 37, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 35002, 38, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 37189, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 39376, 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 41563, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 43750, 42, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 45937, 43, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 48124, 44, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 50311, 45, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 52498, 46, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 54685, 47, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 56872, 48, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 59059, 49, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 61246, 50, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 63433, 51, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64162, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 64891, 53, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65134, 54, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65377, 55, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65458, 56, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65485, 57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65512, 58, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65521, 59, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65530, 60, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65533, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65534, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 65535], width: 51, _phantom: PhantomData }, chiplets_rm: DenseMatrix { values: [0, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 87, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 8242146665224381578, 15911532375448333238, 1386357366995233596, 8611444126933110985, 4676083100930238397, 6139688846062542757, 9002714910392091903, 5823797362462191159, 0, 0, 1, 0, 0, 2, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 3, 0, 0, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 0, 0, 1, 0, 1, 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 1, 0, 2, 5, 0, 0, 0, 0, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 5915784406748100112, 6722847756588924736, 14012694245464324059, 2066991057620171669, 7739875740167294943, 7018932903636824263, 3536373181423802149, 16715512295218120604, 0, 0, 1, 0, 2, 6, 0, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 7, 0, 0, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 0, 0, 1, 0, 3, 8, 1, 1, 0, 0, 1, 0, 40, 0, 0, 3, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 1, 0, 1, 1, 10, 0, 0, 9, 1, 1, 0, 1, 1, 0, 40, 0, 0, 12, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 9, 0, 4099276459869907627, 1, 10, 0, 0, 10, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64], width: 22, _phantom: PhantomData }, poseidon2_permutation_rm: DenseMatrix { values: [1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 0, 87, 0, 0, 0, 0, 0, 0, 15982823105988775806, 8055676711367425373, 17941169771108522281, 17144527358953736194, 14947610898944891577, 971614072768782170, 6527463406041159829, 3832659229659994697, 4267689650839244805, 7476341399175005462, 13956706726156239325, 1362637335972540923, 0, 0, 0, 0, 5870626296958083933, 15831852620745746684, 3185498590211330291, 4142206734944835575, 1703654304778633946, 16779850255772273060, 17529309452142070777, 3820424470916782417, 13044986967311981583, 16932680220731892573, 15512851049245904995, 4407692356467248372, 0, 0, 0, 0, 1222210540818995679, 9596558254971998891, 17836151103719299929, 972583351096828487, 16036135922289885914, 9046461447407029762, 13420377050848926972, 8268741668021650938, 15162095256779392528, 6250951389520005938, 4880080490180073887, 5079644903468213758, 0, 4277112440869277830, 16975894093684028062, 17916235475615809558, 14524910789332636826, 11691364468631390887, 7787341040263241822, 9379002423052238093, 9978142397546997785, 13711991341735230802, 2995007776024477424, 4712167935694753945, 1064069264700679460, 16784239691558161828, 13171136420515290288, 7377465172358292401, 0, 7863758113629837220, 34545184916281199, 3993169000277716254, 7364322756301525079, 10650631026443210837, 1517619643121483559, 17270732420407911054, 4258304245011181242, 5161000027742486976, 8399067086847534736, 11003984578732833046, 15464732564240072836, 6182941569324809186, 11275803822943060218, 158655113981893701, 0, 2476402089664475908, 9916425135419809036, 3028465534706354547, 15472564680003668093, 6373098182685681762, 12520752577019080054, 5394462987259780313, 4831149567958541538, 12904631563004530976, 13837253351754641870, 3923208428450719385, 3554976680697606440, 17043251418254499417, 5302393607875037297, 8096532195498204177, 0, 5401472078486138644, 17911378919292638386, 1604440114467418180, 4779855905656105676, 6025526479746347251, 4449154494231990099, 11830346459740212406, 2743894608322163398, 10184996808268436049, 3882545820330029085, 5202687146936953923, 777280530525071979, 9570037184747372126, 10484193697881848161, 11860662735451501625, 0, 15748781809771449617, 12223876502815956005, 8462728310504683652, 13057156105981161589, 11957472249295015469, 11549246553227545561, 15033014935301073849, 423385249083279348, 10856312299574527186, 2052856619870651334, 10305616267836960765, 14352183358244000568, 1261949652056609866, 916956049912161855, 3353438403242689585, 0, 11740120563940364368, 1391869256781506493, 11057309605482706459, 17704317629486807708, 6564342187673520486, 2792692044523533343, 12797232677587390356, 14797653849693720774, 9082763018815888798, 17062564998145646419, 17163741437026102402, 14920816938307553514, 18409839409942969565, 16099949995219613642, 9387728217249208068, 0, 3254516890705807916, 7365800426850749937, 15974018227958845798, 8444961928162939943, 8050679843713964343, 1245616094758475931, 2976182234519674621, 11861324009571007650, 18000519861091284933, 10809856712858383834, 6898855362441294480, 13146633521971264482, 11152948692891359460, 10343969929561703022, 10591999464601502689, 0, 13540695320312597078, 0, 0, 933984176226341473, 4938354828005165424, 3057022637731780053, 18149554045659845084, 9709632327217036413, 16645387828565996715, 10873951879782645518, 214597493824524577, 7950640568527571392, 15274457345887794634, 9280090582838465603, 1242243096703449887, 0, 0, 0, 0, 5626861946644684679, 9519120652743404725, 3153363644848796249, 16387713581663902851, 10655954775576173219, 16168525333832765040, 7013656376478213608, 7333415223195735541, 9069684467099779645, 10706178255503280152, 17753787514920247819, 16088561184006536263, 0, 0, 0, 0, 10636061157542345097, 15008846988127407811, 16614085001509596773, 12600455057253767871, 13458552295186750925, 10343839881402182751, 1108696518251840495, 9621971582260379329, 11613485699478956673, 16861381831518076617, 17933004011918959112, 18255208815154765383, 0, 0, 0, 0, 10509741793670097910, 12960656197959013774, 9112727654277900213, 14176014235755683408, 9647930301481695061, 10818726819316593067, 11744599510375600263, 2780827620762362248, 60352997716668050, 2064777537623220055, 12394773470270210064, 15490398721638241462, 0, 1, 0, 0, 14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674, 8242146665224381578, 15911532375448333238, 1386357366995233596, 8611444126933110985, 4676083100930238397, 6139688846062542757, 9002714910392091903, 5823797362462191159, 0, 1, 0, 0, 401642074298203, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5792301967904643716, 14513996957604530562, 6300577652167374432, 1030532363437082530, 9868636994953646365, 13312054463817713847, 1163060834237983926, 17159751124589539180, 15748271025379903662, 15673345155938926996, 15542740004802895548, 4070736982096634948, 1, 0, 0, 0, 1453121677659348577, 17403066345171442603, 9526966027631081464, 4562917345183859100, 16736668858502190206, 12710250320191836356, 9043028743666878997, 9570842800862454404, 10889819954451461225, 1374882310944969176, 11041329929342678296, 6376909268692149801, 1, 0, 0, 0, 6798464049283172704, 10094602609597426273, 5441108908322692152, 13319823174770042865, 3687504758717747002, 11828007000931365406, 15642196062511550808, 4387538442135057894, 12016453509822632603, 16688879161845796765, 15353663875595798268, 9433687029957117661, 1, 11436455846193695609, 17419948132223780613, 10707930966158261719, 7805136509413905123, 10748223278202845625, 5102455166015213038, 16060345288112427467, 9937020917196030767, 13713675713530315700, 11873887283723171030, 6245447289360608210, 2758175399376775060, 6794131889413756751, 6954584401067417189, 5092580402017360453, 1, 138168370802146349, 561179642041056504, 13282391328952434407, 3586306435690112870, 17278658194357811156, 2504635638454636683, 7235500145280211409, 11191458759516692993, 6465450803792948194, 2111071922636782066, 11802465958807233213, 9116942394473193925, 11145482942031811955, 14726020691764699927, 16903672043479974450, 1, 263960295682680947, 15697220842527476860, 17868088579823291326, 2175933588395873247, 8749749468735109989, 11010166446741390499, 17943104442301856895, 15821423767384514021, 16018668147064525478, 5560768172433028490, 5619212355349254932, 17391285462458271036, 2603291588626814071, 5238953246197227863, 5602891381109897586, 1, 12301036190174877474, 12651281118484863330, 11983275442902746825, 9125195986387370903, 2181062690427536463, 13921861517061570826, 350891571660248295, 11013048057925712708, 11055047889476803308, 15398332646604634982, 5808711407549689243, 8949777591082911961, 14824627964979845981, 8130365156760288485, 3947069696768920416, 1, 753507401801380169, 11557202300537182401, 12635550211207024884, 13277984171307670821, 2631795936834054713, 14094327291919754106, 12673624581190519723, 4509450209340246689, 10606486226190872261, 889124163739951988, 12547380261461657128, 16829937485708676196, 15832095999334895743, 5377353767201125639, 11053610747785598805, 1, 17726880391953768878, 13956049620380258223, 11273932727072475337, 6855896085734577371, 1129400045567810133, 16519057148475618054, 10699416941054230316, 17256608828803451668, 6887723245936746466, 552364255868028623, 17909079490987407142, 9570595819850351164, 8654686163127378448, 16203109760043627710, 8480295614280342552, 1, 5047048529377126902, 2720906371958061367, 10084181298533567509, 10367672116357405411, 11036446985399396097, 13294567520571596163, 17521531050433436007, 1868701710513242496, 5411603901210245247, 11609599138736895146, 16874855234706410918, 4393409689646403917, 9543195090298605247, 7478523150127634789, 2693101708644875762, 1, 3528724572660247995, 0, 0, 12432722351030045, 1367308201666984940, 3681473655802754494, 15340518851882934883, 12978887161137913348, 15761699408266065961, 3053535844413236872, 13043307337058007179, 1605626291192886407, 3512088686484392896, 17370072541480613908, 15945489250832697271, 1, 0, 0, 0, 18236855931369748683, 5145738009993425605, 9599849581440088949, 7181962801200058100, 7842895042061868932, 12656177266019986902, 8530248384503061153, 7088178758240165913, 8843525768370306419, 9760798177389960884, 15297557810674980998, 17513790474795511142, 1, 0, 0, 0, 11582029127760482436, 12210748157899031357, 9473509448225646970, 17514007687115301207, 15252116786733410669, 10068681917011840638, 5010610666981558682, 14100290159714849481, 10038370148733513877, 4164887708143705047, 12759194225663538416, 5155504400103783318, 1, 0, 0, 0, 2256431941220947766, 13487119117857302457, 10370113277604876234, 1506538453550143326, 9611088164777633619, 9944172425891749050, 2585766031776029836, 7469792865149057403, 3748706915022560085, 480217827283441208, 7902514309755880799, 16608422580379539141, 1, 1, 0, 0, 3987768130567869605, 17866922374020149524, 8514580104850791069, 13475546435959911551, 7789855707707231369, 4610326148461237922, 1784941811671601269, 9924745492516640019, 7791549396364371277, 2968443994649453078, 1308562153347600605, 4332337354844628651, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 2, 0, 0, 0, 1744857570235497404, 7224541920618385714, 6671488038711247732, 9418477143622752895, 9703867417214980336, 12489503772578086800, 7630918900393673526, 922936908940985560, 13119444482451573268, 8102518886279384149, 1794056580842530013, 6019859370758513415, 2, 0, 0, 0, 11225476840467288604, 1258325688295597329, 127125292503096007, 14464605090260677523, 1356149198325814678, 16210500530871871700, 7703315482792482057, 9670557752572652209, 14715521009568351134, 5622479790818646070, 1994313401293831292, 12198921534065454764, 2, 0, 0, 0, 6475944301769848126, 2915217068128247285, 10539364050497833639, 1329434144584264601, 4724829826743698824, 11656831663640211358, 18159325948688903721, 2263120035450455133, 3044551438691886778, 1378219755367734085, 27066760951347720, 7594002804590750508, 2, 7094992666845579929, 10682949197627750021, 15511495322322885910, 15870512746805692064, 4742278351791462207, 7505045441162082383, 9115585980456141894, 11819132067426344142, 5933534952755427427, 5289666558408553872, 13337066958757631081, 6199794689781794653, 5527421833010022906, 4651988931660818160, 2987054724042595780, 2, 3458358424286082329, 7093523218540709637, 10672998680593063500, 9582569954668317010, 13201115384751580570, 1845418544539288297, 9232442292023153805, 12186827811356238706, 10935576324406113028, 8489922013276339729, 12624430369688872770, 17630820426326624548, 2455558777867773614, 8013720398498280010, 12827655532307024322, 2, 5785580083697586953, 5496776863607614961, 13562358148399326759, 9619728790481291702, 7348374190345066861, 13428391720342760502, 1625987251039265071, 4628549345299080849, 1482769832760029881, 15392110855022396191, 11685531496513883979, 16631929378585709364, 1206841992098443123, 9033969076040507441, 132716663048694064, 2, 4935270318350649204, 11208979634658466526, 15063992759093620930, 69377025486693860, 2005546075822572073, 6505215078608999447, 5174094099800739640, 13001606491845435526, 1072287532585676149, 8674354724303146421, 2891558581869634704, 12003109342828923560, 2795184266895760838, 8907697550851381515, 7407535969740942827, 2, 12928689569348120744, 18117769253874083942, 6430757471563325625, 11001198331791943845, 5782583463951144663, 3192834997426419970, 13479879407860298287, 12933861238108488467, 16278293297035470863, 6876436357683812502, 1917626248124261877, 7470768955678552355, 11361229958543541222, 7877487828305683469, 12846364871258595728, 2, 3208246304442396143, 602388884213530987, 15428433977489879680, 13971985988839335428, 2737452825195583328, 15596845393022603175, 10706929119701705862, 4857505199118487438, 17086155371834155818, 14942339901122070806, 18093611989159833406, 8678554698795861566, 2399201986323959674, 14423713805583819215, 13940821782800746629, 2, 5752176924989565290, 4446226812085120357, 4892387022627626332, 12766647202711608745, 16601117776639897488, 11733197324703429636, 12249169652316186841, 15421392054100411011, 10950661145505749420, 8676915018037525034, 2287206221212892475, 840670749677123625, 14199538947967054445, 11736020252788430378, 8602113489330523197, 2, 16339610044914982284, 0, 0, 17640015747325898849, 16347444792678324740, 8885896841027368623, 10718432816977168969, 5156908241230918449, 17013559050399408119, 14174891037708262638, 1568239283519947871, 11922342832652198664, 17716568425187950727, 14294596817162139623, 8762912941700788919, 2, 0, 0, 0, 10691440065277113539, 11571864114015088873, 14769641188290399688, 15214258832131517513, 16096616261062028405, 17526009277172454447, 7932842201848681903, 7306503137329194055, 13369935276997096320, 15066831218638174923, 9520626635373991696, 13296433431293103463, 2, 0, 0, 0, 15457748872647003252, 12161715639235802937, 14007251173141324536, 1685517899923633866, 5112172969895687532, 5291999820044553537, 8437113893887445899, 3726439603382583733, 8404976155487828619, 7450257481186581855, 18356039864791793168, 15198056038162548435, 2, 0, 0, 0, 12039411220003022329, 844322165626728828, 6152440980082407113, 11008191087326916441, 15301657567101812620, 7647514108863503629, 11736853678981601451, 13408456878721317654, 137431712022909617, 9004259806363632349, 994790402583656889, 3215329497276289397, 2, 1, 0, 0, 16952228088962355159, 5793482471479538911, 14446299416172848527, 13522295374716441620, 5915784406748100112, 6722847756588924736, 14012694245464324059, 2066991057620171669, 7739875740167294943, 7018932903636824263, 3536373181423802149, 16715512295218120604, 2, 1, 0, 0, 1032, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 15913981378790993016, 12701179462806902902, 9645342555817022514, 6889850077248808033, 678249829196625442, 8726676798253716750, 14136118088409135949, 1027279235140821190, 8048729929177993405, 2542525775606472849, 3283471062508934848, 18058280687405074483, 3, 0, 0, 0, 11899090779839289087, 1701090513954162998, 6953639183117323837, 11460660778637092812, 8345945186928076892, 11308243255833047975, 5734666540714547293, 1546649737555419076, 14643837757854608147, 7477230882792828789, 2359592855656894189, 12732146754685591216, 3, 0, 0, 0, 16283412161296764998, 17261112905912533997, 1498213616014501531, 7707889409925905689, 16090493533591377617, 525010687572874692, 5228788497345464933, 13051466527897639054, 3560924095387897187, 12551242480725370445, 4038828260160651477, 6132317990703151787, 3, 14261694278902826987, 16097544111075686229, 16632169854204459773, 14265791174051766329, 14732671264513481238, 15642599276989292777, 7593738854072541043, 11440582168151819564, 18258483622390056257, 6851601084855956341, 10463349537167637967, 10032876585525342603, 825669147467031185, 16271217766495541082, 9021089524754424392, 3, 16780109665356203593, 16025948514351396737, 4256182047405196535, 4919013996388780384, 6974015548720770018, 10189882052640604940, 12288632186238773648, 7055558833039165669, 9820743264545515107, 7353106531603230851, 5612808106478211181, 362487531847990854, 10259224130335842891, 2374318293393776907, 16208179153232019183, 3, 9496969110446094198, 10424961628901078909, 7587726188775237019, 13423955604028434301, 12288543613568774022, 4068762405627465026, 7288480650179820504, 1035430088689333582, 2651098721515326755, 4524440782000877024, 3013038852551457145, 12536534023666437466, 6560028330562582937, 9090521726813489969, 17634755409309861791, 3, 15761194215082968049, 15796684185970405493, 1294179585337070936, 5701860167148115542, 17707247215386403887, 18419960639673587986, 14570347312565937582, 8634142387233894354, 11938075017385927203, 8060480374868324599, 16699922976999064541, 14234489074154948378, 17210389744085299852, 17331527780947314617, 16356838976302290254, 3, 6184336662619539433, 7106147576739595100, 18237994300618329820, 9768155666925548219, 226714884885574576, 11169479382209254075, 5756676929838789145, 29803495366482069, 13128905441940840949, 18304516631519674746, 3177693875357946498, 10624850715031233718, 16956738608020324589, 10558540052020438814, 7826502712354673600, 3, 1980308537464408089, 6810023246846442283, 9400257804338494201, 11246932855318952856, 7504545710540897051, 5823677062954428984, 9151299935574592196, 15905322272715446259, 18174748553199601666, 9877077233183640995, 2431998410719122545, 3541292002384422941, 5416588529930333172, 15788517205879313917, 2490575598934209003, 3, 17950140321155419078, 9014768943295123367, 10707122777228105884, 10701204914974985643, 15060806908759160804, 7011191650405807117, 13598159658926423040, 3947314552577424057, 12985682730462769834, 18264715466581442035, 7667189540353817157, 7685483800933651249, 16085167604591833455, 16105855167414075111, 16215395602017884846, 3, 8676227747932036802, 0, 0, 11504729673400082663, 3659553513673892306, 10374352082945691939, 15819529278889203623, 18107940902385670152, 8889798095480337831, 12737345777792032790, 456604824069734238, 2859376131275373721, 8758251935142908528, 2364536875264708997, 2435873391009301907, 3, 0, 0, 0, 16797630026773069829, 16954579754978210547, 4393671449525183699, 6245909065255485436, 8311309349844601638, 3305827896314343556, 1615477551160071258, 3897903986825909618, 13015230208471866351, 13839070994009764281, 2415598337053791919, 5526300544248852335, 3, 0, 0, 0, 12827873667465929582, 15892701250663610383, 549489834728826775, 9425334953627649153, 15402634395731091512, 11814416271399500934, 14597718118926923662, 4726679541432826422, 342915941842538663, 11221492717904369823, 17188959961041335276, 13559932473868727168, 3, 0, 0, 0, 8689096602925893779, 4096531352684607500, 8424481237826564505, 15238165026175259240, 10985176737527635898, 2672540837788784952, 6649439643634522762, 7581835251244605715, 17671970641549389116, 18069913154458602790, 749417941228438762, 6150863900366154379, 3, 1, 0, 0, 13219816384148928727, 13736132481315974302, 7221098028825620478, 15161595578319487008, 11116382020814057190, 14732796941305378371, 13074361791711182490, 6715193688317415490, 1571558009365433839, 13285275197432594374, 15905141483335727027, 2507840277166973476, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 4, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 4, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 4, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 4, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 4, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 4, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 4, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 4, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 4, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 4, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 4, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 4, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 4, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 4, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 5, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 5, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 5, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 5, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 5, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 5, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 5, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 5, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 5, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 5, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 5, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 5, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 5, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 5, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 6, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 6, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 6, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 6, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 6, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 6, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 6, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 6, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 6, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 6, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 6, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 6, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 6, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 6, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 4527370371511932277, 16192569659073993787, 2962669711888634521, 6642792328401991464, 10567044187431527762, 137011347176876969, 8783166811400114934, 5561068781152218273, 18081202524701115937, 12391484678722536781, 4975494259691526139, 8261981646518724355, 7, 0, 0, 0, 7835014752846553500, 429786620972673987, 2297950597202674140, 6856743827269120597, 3480138670564150960, 18059771850259732295, 5405191831957933005, 621008383515600666, 4245482556407768275, 7025330891107706617, 18344834352369943728, 11220084931276398396, 7, 0, 0, 0, 6176262117641846194, 14537396494949550827, 1332644370501728547, 2825334938176931040, 10798424857579112954, 1257007524364848375, 413826858407026636, 17264451663940480708, 2242432848892640138, 5942977967828652844, 4700789635767770066, 13340163022255894265, 7, 9084933780655540761, 9307577078608604414, 17175963838501867468, 5332300643719837560, 284119329439077453, 16507486317293917320, 14300737691715636333, 5884170575732730413, 10570241217846184096, 9801242258449944223, 1609700875785088985, 17467436345329915210, 11853130703697497745, 15488942274550969669, 10183886779602558844, 7, 13021759086409872244, 6597781825860144527, 4958790918466539633, 14819725759428544270, 16040059074855612744, 9984035574073149941, 1186538756187273487, 15909803685106840479, 2401238641280374362, 16274952582921998477, 14415962764231173695, 13006131409365988144, 13033758509341793722, 14163129501109697818, 16713649681647589341, 7, 14540357842917476535, 18284269637725405834, 7874702567562572822, 13419967830702253314, 9703714521726321281, 4122691102291495152, 11310496232649580313, 4854829451637190601, 4352558222267905566, 9708654643118358765, 1200943340897142712, 605069282733173775, 6589695793923389822, 16831460371734507671, 14736529687043990056, 7, 9719894499484909127, 657554035007842648, 11232321176465609881, 2140334787588481932, 4331331903060782095, 16993583950022476556, 3785827635961516033, 6442983951498431455, 2583176691535479665, 7685406376969070653, 2002790607137512119, 14211958216513542694, 16179705026321563696, 18212544633218623910, 2501702704163251529, 7, 16424184388748527952, 8512967471777141291, 16294395053752966789, 4220613631301532842, 6109127742025463558, 8526170505602808377, 13906300912567170096, 15959116637625772818, 1577280944812425551, 8291868498850341106, 11871079518949150728, 49065697746008601, 14924211979284105080, 2496736210427038901, 8347493052882741688, 7, 4863920715519435709, 4068252760173905545, 13872489839934708981, 3156121382428475253, 3313739398050542969, 4031275143591729746, 9539134234084836090, 5791797992844060059, 11495984906944661738, 10825032443125502578, 7386908820004337326, 13682131144606056400, 17531748120232214358, 11507660343217627667, 5531561709796898879, 7, 3897943545265840160, 7064516738622031963, 9029898074379987920, 11409177246369674821, 9146479152838883655, 12849128912546806064, 15757360446184429687, 9150802343615090680, 7607622799407092792, 13683571234392410562, 6644245452741102635, 4848782522104153555, 6128171620978824358, 13116056077282129181, 12255667353418800681, 7, 4708088322095118319, 0, 0, 14075800941044631086, 10164538636846118332, 7717310989502089824, 10527627555576490871, 9372665052187859512, 4695852694175729922, 7782770615437470571, 17404731284058233857, 8177983261747767366, 12673204757914137663, 3328541049303457589, 9017001476400812576, 7, 0, 0, 0, 11007094658579993639, 8419983071031862878, 8385786116324477727, 18372838120511542013, 860925474023001234, 3025507161076153344, 16827729693463532847, 11498059971869592899, 14436806398915316628, 14115495339853806605, 13525096188196805432, 16440935538699372742, 7, 0, 0, 0, 11204804888009609336, 18322870838239974193, 11803561471223748003, 2245372746193286307, 15565732756610685790, 10254934685638642114, 13085641656115251550, 8097464704005811209, 1582514050228672655, 12394807570599966305, 3436178403705450521, 7560898310475836783, 7, 0, 0, 0, 5536241066954040601, 2373530137449789022, 1647006194989329398, 13246468637719491603, 1643579643027639862, 9425574600521641895, 6476121107802319704, 12542692482038576329, 9954682865929670442, 2234500765687356946, 1836464838905005613, 12081897735082362439, 7, 0, 0, 0, 6571218845873207350, 16394535650441775880, 16729865362321995388, 2844291130404209122, 16063200788640006260, 8977422641387935540, 1100773186654011623, 5296950920151051251, 15508716854571599505, 12365938385714563620, 8500300421301734173, 10881775167266999286, 7], width: 16, _phantom: PhantomData } }, last_program_row: RowIndex(19) }, program_info: ProgramInfo { program_hash: Word([14484889142457247702, 15709744442370709082, 8733775926567848981, 10277802787184533674]), kernel: KernelDescriptor([]) }, stack_outputs: StackOutputs { elements: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }, trace_len_summary: TraceLenSummary { core_trace_len: 20, range_trace_len: 49, chiplets_trace_len: ChipletsLengths { hash_chiplet_len: 8, bitwise_chiplet_len: 0, memory_chiplet_len: 2, ace_chiplet_len: 0, kernel_rom_len: 0 }, poseidon2_permutation_trace_len: 80, padded_trace_len: Some(128) } } diff --git a/processor/src/trace/parallel/tests.rs b/processor/src/trace/parallel/tests.rs index 2f8a806004..a418be7896 100644 --- a/processor/src/trace/parallel/tests.rs +++ b/processor/src/trace/parallel/tests.rs @@ -338,8 +338,9 @@ fn test_trace_generation_at_fragment_boundaries( .expect("processor advice inputs should fit advice map limits"); let mut host = DefaultHost::default(); host.load_library(create_simple_library()).unwrap(); - let trace_inputs = processor.execute_trace_inputs_sync(&program, &mut host).unwrap(); - build_trace(trace_inputs).unwrap() + let vm_witness = + processor.execute_for_proving_sync(&program, &mut host).unwrap().into_parts().0; + build_trace(vm_witness).unwrap() }; let trace_from_single_fragment = { @@ -353,10 +354,11 @@ fn test_trace_generation_at_fragment_boundaries( .expect("processor advice inputs should fit advice map limits"); let mut host = DefaultHost::default(); host.load_library(create_simple_library()).unwrap(); - let trace_inputs = processor.execute_trace_inputs_sync(&program, &mut host).unwrap(); - assert!(trace_inputs.trace_generation_context().core_trace_contexts.len() == 1); + let vm_witness = + processor.execute_for_proving_sync(&program, &mut host).unwrap().into_parts().0; + assert!(vm_witness.trace_replay().core_trace_contexts.len() == 1); - build_trace(trace_inputs).unwrap() + build_trace(vm_witness).unwrap() }; // Ensure that the trace generated from multiple fragments is identical to the one generated @@ -445,7 +447,7 @@ fn test_trace_generation_at_fragment_boundaries( } // Snapshot testing to ensure that future changes don't unexpectedly change the trace. - // We use DeterministicTrace to produce stable Debug output, since ExecutionTrace contains + // We use DeterministicTrace to produce stable Debug output, since VmTrace contains // a MerkleStore backed by HashMap whose iteration order is non-deterministic. insta::assert_compact_debug_snapshot!(testname, DeterministicTrace(&trace_from_fragments)); } @@ -533,14 +535,15 @@ fn test_partial_last_fragment_exists_for_h0_inversion_path() { let mut host = DefaultHost::default(); host.load_library(create_simple_library()).unwrap(); - let trace_inputs = processor.execute_trace_inputs_sync(&program, &mut host).unwrap(); + let vm_witness = + processor.execute_for_proving_sync(&program, &mut host).unwrap().into_parts().0; assert!( - trace_inputs.trace_generation_context().core_trace_contexts.len() > 1, + vm_witness.trace_replay().core_trace_contexts.len() > 1, "repro precondition requires multiple fragments" ); - let trace = build_trace(trace_inputs).unwrap(); + let trace = build_trace(vm_witness).unwrap(); let total_rows_without_halt = trace.main_trace().core_height() - 1; assert_ne!( @@ -568,11 +571,12 @@ fn miri_repro_uninitialized_tail_read_during_h0_inversion() { .expect("processor advice inputs should fit advice map limits"); let mut host = DefaultHost::default(); host.load_library(create_simple_library()).unwrap(); - let trace_inputs = processor.execute_trace_inputs_sync(&program, &mut host).unwrap(); + let vm_witness = + processor.execute_for_proving_sync(&program, &mut host).unwrap().into_parts().0; - assert!(trace_inputs.trace_generation_context().core_trace_contexts.len() > 1); + assert!(vm_witness.trace_replay().core_trace_contexts.len() > 1); - let _ = build_trace(trace_inputs); + let _ = build_trace(vm_witness); } /// Creates a library with a single procedure containing just a SWAP operation. @@ -935,15 +939,16 @@ fn test_build_trace_returns_err_on_empty_memory_reads_replay() { ) .expect("processor advice inputs should fit advice map limits"); let mut host = DefaultHost::default(); - let mut trace_inputs = processor.execute_trace_inputs_sync(&program, &mut host).unwrap(); + let mut vm_witness = + processor.execute_for_proving_sync(&program, &mut host).unwrap().into_parts().0; // Clear the memory reads replay so the replay processor will fail when the DYN node tries to // read the callee hash from memory. - for ctx in &mut trace_inputs.trace_generation_context_mut().core_trace_contexts { + for ctx in &mut vm_witness.trace_replay_mut().core_trace_contexts { ctx.replay.memory_reads = MemoryReadsReplay::default(); } - let result = build_trace(trace_inputs); + let result = build_trace(vm_witness); assert!( result.is_err(), "build_trace should return Err when hasher replay has bad node ID" @@ -968,26 +973,27 @@ fn test_build_trace_returns_err_on_bad_node_id_in_hasher_replay() { ) .expect("processor advice inputs should fit advice map limits"); let mut host = DefaultHost::default(); - let mut trace_inputs = processor.execute_trace_inputs_sync(&program, &mut host).unwrap(); + let mut vm_witness = + processor.execute_for_proving_sync(&program, &mut host).unwrap().into_parts().0; // Inject a HashBasicBlock entry that references the executed program's forest (id 0 in the // store, which the tracer always populates with the entrypoint's forest) with a node ID that // is well past any node actually in the sparse forest. let bogus_node_id = MastNodeId::new_unchecked(u32::MAX); let forest_id = MastForestId::from(0u32); - trace_inputs - .trace_generation_context_mut() + vm_witness + .trace_replay_mut() .hasher_for_chiplet .record_raw(HasherOp::HashBasicBlock((forest_id, bogus_node_id, [ZERO; 4].into()))); - let result = build_trace(trace_inputs); + let result = build_trace(vm_witness); assert!( result.is_err(), "build_trace should return Err when hasher replay has bad node ID" ); } -/// Where to tamper with a [`miden_core::mast::MastForestId`] in a [`TraceBuildInputs`]. +/// Where to tamper with a [`miden_core::mast::MastForestId`] in a [`VmWitness`]. #[derive(Debug, Clone, Copy)] enum BadForestIdLocation { /// Replace the first fragment's `initial_mast_forest_id`. @@ -1045,11 +1051,12 @@ fn test_build_trace_returns_err_on_invalid_mast_forest_id( if load_library { host.load_library(create_simple_library()).unwrap(); } - let mut trace_inputs = processor.execute_trace_inputs_sync(&program, &mut host).unwrap(); + let mut vm_witness = + processor.execute_for_proving_sync(&program, &mut host).unwrap().into_parts().0; - let store_len = trace_inputs.trace_generation_context().mast_forest_store.len(); + let store_len = vm_witness.trace_replay().mast_forest_store.len(); let bogus_forest_id = MastForestId::from(store_len as u32); - let ctx = &mut trace_inputs.trace_generation_context_mut().core_trace_contexts[0]; + let ctx = &mut vm_witness.trace_replay_mut().core_trace_contexts[0]; match tamper_at { BadForestIdLocation::InitialForestId => { ctx.initial_mast_forest_id = bogus_forest_id; @@ -1068,7 +1075,7 @@ fn test_build_trace_returns_err_on_invalid_mast_forest_id( }, } - let result = build_trace(trace_inputs); + let result = build_trace(vm_witness); assert!( result.is_err(), "build_trace should return Err when a fragment carries a MastForestId out of range of \ @@ -1134,18 +1141,19 @@ fn test_build_trace_with_max_len_corner_cases( ) .expect("processor advice inputs should fit advice map limits"); let mut host = DefaultHost::default(); - let trace_inputs = processor.execute_trace_inputs_sync(&program, &mut host).unwrap(); + let vm_witness = + processor.execute_for_proving_sync(&program, &mut host).unwrap().into_parts().0; // Compute the number of core trace rows generated, which includes the HALT row inserted by // `build_trace_with_max_len`. - let core_trace_len = trace_inputs.trace_generation_context().core_trace_contexts.len() - * trace_inputs.trace_generation_context().fragment_size + let core_trace_len = vm_witness.trace_replay().core_trace_contexts.len() + * vm_witness.trace_replay().fragment_size + 1; let max_trace_len = core_trace_len .checked_add_signed(max_trace_len_offset_from_core_trace_len) .unwrap(); - let result = build_trace_with_max_len(trace_inputs, max_trace_len); + let result = build_trace_with_max_len(vm_witness, max_trace_len); assert_eq!( result.is_ok(), @@ -1181,12 +1189,13 @@ fn test_build_trace_returns_err_on_fragment_size_overflow() { ) .expect("processor advice inputs should fit advice map limits"); let mut host = DefaultHost::default(); - let mut trace_inputs = processor.execute_trace_inputs_sync(&program, &mut host).unwrap(); + let mut vm_witness = + processor.execute_for_proving_sync(&program, &mut host).unwrap().into_parts().0; // Set fragment_size to usize::MAX so that `len() * fragment_size` overflows. - trace_inputs.trace_generation_context_mut().fragment_size = usize::MAX; + vm_witness.trace_replay_mut().fragment_size = usize::MAX; - let result = build_trace_with_max_len(trace_inputs, usize::MAX); + let result = build_trace_with_max_len(vm_witness, usize::MAX); assert!( matches!(result, Err(ExecutionError::TraceLenExceeded(_))), @@ -1213,12 +1222,13 @@ fn test_build_trace_returns_err_when_poseidon2_trace_exceeds_max_len() { ) .expect("processor advice inputs should fit advice map limits"); let mut host = DefaultHost::default(); - let mut trace_inputs = processor.execute_trace_inputs_sync(&program, &mut host).unwrap(); + let mut vm_witness = + processor.execute_for_proving_sync(&program, &mut host).unwrap().into_parts().0; // Note: the last fragment may have fewer rows than the fragment size, so this is really an // upper bound on the number of core trace rows - let core_trace_rows = trace_inputs.trace_generation_context().core_trace_contexts.len() - * trace_inputs.trace_generation_context().fragment_size; + let core_trace_rows = vm_witness.trace_replay().core_trace_contexts.len() + * vm_witness.trace_replay().fragment_size; // Inject enough unique permutation requests so the Poseidon2 permutation trace exceeds // core_trace_rows. Each unique state adds one HASH_CYCLE_LEN cycle. @@ -1226,17 +1236,14 @@ fn test_build_trace_returns_err_when_poseidon2_trace_exceeds_max_len() { for i in 0..num_permutations { let mut state = [ZERO; 12]; state[0] = Felt::from_u32(i as u32); - trace_inputs - .trace_generation_context_mut() - .hasher_for_chiplet - .record_permute_input(state); + vm_witness.trace_replay_mut().hasher_for_chiplet.record_permute_input(state); } // Set max_trace_len equal to core_trace_rows. The core trace check passes (not strictly // greater), but the Poseidon2 permutation trace will exceed it. let max_trace_len = core_trace_rows; - let result = build_trace_with_max_len(trace_inputs, max_trace_len); + let result = build_trace_with_max_len(vm_witness, max_trace_len); assert!( matches!(result, Err(ExecutionError::TraceLenExceeded(_))), @@ -1261,12 +1268,13 @@ fn test_build_trace_returns_err_on_empty_core_trace_contexts() { ) .expect("processor advice inputs should fit advice map limits"); let mut host = DefaultHost::default(); - let mut trace_inputs = processor.execute_trace_inputs_sync(&program, &mut host).unwrap(); + let mut vm_witness = + processor.execute_for_proving_sync(&program, &mut host).unwrap().into_parts().0; // Clear core_trace_contexts to simulate an empty trace. - trace_inputs.trace_generation_context_mut().core_trace_contexts.clear(); + vm_witness.trace_replay_mut().core_trace_contexts.clear(); - let result = build_trace(trace_inputs); + let result = build_trace(vm_witness); assert!( matches!(result, Err(ExecutionError::Internal(_))), @@ -1287,7 +1295,7 @@ fn build_trace_for_program( program: &Program, stack_inputs: &[Felt], fragment_size: usize, -) -> ExecutionTrace { +) -> VmTrace { let processor = FastProcessor::new_with_options( StackInputs::new(stack_inputs).unwrap(), AdviceInputs::default(), @@ -1298,12 +1306,12 @@ fn build_trace_for_program( .expect("processor advice inputs should fit advice map limits"); let mut host = DefaultHost::default(); host.load_library(create_simple_library()).unwrap(); - let trace_inputs = processor.execute_trace_inputs_sync(program, &mut host).unwrap(); + let vm_witness = processor.execute_for_proving_sync(program, &mut host).unwrap().into_parts().0; - build_trace(trace_inputs).unwrap() + build_trace(vm_witness).unwrap() } -fn collect_end_flags(trace: &ExecutionTrace) -> Vec { +fn collect_end_flags(trace: &VmTrace) -> Vec { let main_trace = trace.main_trace(); (0..main_trace.core_height()) @@ -1324,18 +1332,18 @@ fn read_opcode(main_trace: &MainTrace, row_idx: RowIndex) -> u8 { opcode as u8 } -/// Wrapper around `ExecutionTrace` that produces deterministic `Debug` output. +/// Wrapper around `VmTrace` that produces deterministic `Debug` output. /// -/// `ExecutionTrace` contains a `MerkleStore` backed by `HashMap`, whose iteration order is +/// `VmTrace` contains a `MerkleStore` backed by `HashMap`, whose iteration order is /// non-deterministic. This wrapper formats the Merkle store nodes sorted by key, making the /// output stable across runs for snapshot testing. -struct DeterministicTrace<'a>(&'a ExecutionTrace); +struct DeterministicTrace<'a>(&'a VmTrace); impl core::fmt::Debug for DeterministicTrace<'_> { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { let trace = self.0; - f.debug_struct("ExecutionTrace") + f.debug_struct("VmTrace") .field("main_trace", trace.main_trace()) .field("program_info", &trace.program_info()) .field("stack_outputs", &trace.stack_outputs()) diff --git a/processor/src/trace/tests/decoder.rs b/processor/src/trace/tests/decoder.rs index 8f82519389..2d7faf7144 100644 --- a/processor/src/trace/tests/decoder.rs +++ b/processor/src/trace/tests/decoder.rs @@ -26,8 +26,7 @@ use miden_core::{ }; use super::{ - ExecutionTrace, build_trace_from_ops, build_trace_from_program, - build_trace_from_program_with_stack, + VmTrace, build_trace_from_ops, build_trace_from_program, build_trace_from_program_with_stack, lookup_harness::{Expectations, InteractionLog}, }; use crate::{RowIndex, StackInputs, trace::MainTrace}; @@ -49,7 +48,7 @@ fn next_op_first_child_flag(main: &MainTrace, next: RowIndex) -> Felt { /// /// Most decoder tests need `row + 1` lookups (next-row flags, addr_next, etc.) so stopping one /// short of the end avoids per-test bounds checks. -fn for_each_op(trace: &ExecutionTrace, mut f: F) +fn for_each_op(trace: &VmTrace, mut f: F) where F: FnMut(usize, Felt), { diff --git a/processor/src/trace/tests/lookup.rs b/processor/src/trace/tests/lookup.rs index 25f0e7fefd..6880075bb4 100644 --- a/processor/src/trace/tests/lookup.rs +++ b/processor/src/trace/tests/lookup.rs @@ -39,7 +39,7 @@ use miden_core::{ utils::{Matrix, RowMajorMatrix}, }; -use super::{ExecutionTrace, Felt, build_trace_from_ops, rand_array}; +use super::{Felt, VmTrace, build_trace_from_ops, rand_array}; use crate::operation::Operation; const CONTROLLER_OFFSET: usize = CHIPLET_CONTROLLER_OFFSET; @@ -160,7 +160,7 @@ fn controller_row_mut(matrix: &mut RowMajorMatrix, row: usize) -> &mut Con } fn assert_trace_constraints_reject( - trace: &ExecutionTrace, + trace: &VmTrace, core_matrix: RowMajorMatrix, chip_matrix: RowMajorMatrix, poseidon2_matrix: RowMajorMatrix, diff --git a/processor/src/trace/tests/lookup_harness.rs b/processor/src/trace/tests/lookup_harness.rs index c9e91ace24..0f56804959 100644 --- a/processor/src/trace/tests/lookup_harness.rs +++ b/processor/src/trace/tests/lookup_harness.rs @@ -24,7 +24,7 @@ use miden_air::{ use miden_core::field::QuadFelt; use miden_utils_testing::rand::rand_array; -use super::{ExecutionTrace, Felt}; +use super::{Felt, VmTrace}; // INTERACTION LOG // ================================================================================================ @@ -48,7 +48,7 @@ pub(super) struct InteractionLog { impl InteractionLog { /// Drive the prover-path pipeline on `trace` with fresh random challenges and slice the /// resulting [`LookupFractions`] buffer into per-row bags. - pub fn new(trace: &ExecutionTrace) -> Self { + pub fn new(trace: &VmTrace) -> Self { let (core_matrix, chip_matrix, poseidon2_matrix) = trace.main_trace().to_air_matrices(); let chip_periodic = MidenAir::Chiplets.periodic_columns(); let poseidon2_periodic = MidenAir::Poseidon2Permutation.periodic_columns(); diff --git a/processor/src/trace/tests/mod.rs b/processor/src/trace/tests/mod.rs index b21d073383..0115d538f9 100644 --- a/processor/src/trace/tests/mod.rs +++ b/processor/src/trace/tests/mod.rs @@ -1,13 +1,15 @@ use alloc::vec::Vec; +use miden_air::PublicInputs; use miden_core::{ + deferred::TRUE_DIGEST, mast::{BasicBlockNodeBuilder, MastForest}, operations::Operation, program::Program, }; use miden_utils_testing::rand::rand_array; -use super::{ExecutionTrace, Felt}; +use super::{Felt, VmTrace}; use crate::{ AdviceInputs, DefaultHost, ExecutionOptions, FastProcessor, StackInputs, trace::build_trace, }; @@ -28,7 +30,7 @@ const TEST_TRACE_FRAGMENT_SIZE: usize = 1 << 10; // ================================================================================================ /// Builds a sample trace by executing the provided code block against the provided stack inputs. -pub fn build_trace_from_program(program: &Program, stack_inputs: &[u64]) -> ExecutionTrace { +pub fn build_trace_from_program(program: &Program, stack_inputs: &[u64]) -> VmTrace { let stack_inputs = stack_inputs.iter().map(|&v| Felt::new_unchecked(v)).collect::>(); let mut host = DefaultHost::default(); let processor = FastProcessor::new_with_options( @@ -39,8 +41,9 @@ pub fn build_trace_from_program(program: &Program, stack_inputs: &[u64]) -> Exec .unwrap(), ) .expect("processor advice inputs should fit advice map limits"); - let trace_inputs = processor.execute_trace_inputs_sync(program, &mut host).unwrap(); - build_trace(trace_inputs).unwrap() + let execution_witness = processor.execute_for_proving_sync(program, &mut host).unwrap(); + let (vm_witness, _) = execution_witness.into_parts(); + build_trace(vm_witness).unwrap() } /// Builds a sample trace by executing the provided program with pre-built `StackInputs`. @@ -51,7 +54,7 @@ pub fn build_trace_from_program(program: &Program, stack_inputs: &[u64]) -> Exec pub fn build_trace_from_program_with_stack( program: &Program, stack_inputs: StackInputs, -) -> ExecutionTrace { +) -> VmTrace { let mut host = DefaultHost::default(); let processor = FastProcessor::new_with_options( stack_inputs, @@ -61,13 +64,14 @@ pub fn build_trace_from_program_with_stack( .unwrap(), ) .expect("processor advice inputs should fit advice map limits"); - let trace_inputs = processor.execute_trace_inputs_sync(program, &mut host).unwrap(); - build_trace(trace_inputs).unwrap() + let execution_witness = processor.execute_for_proving_sync(program, &mut host).unwrap(); + let (vm_witness, _) = execution_witness.into_parts(); + build_trace(vm_witness).unwrap() } /// Builds a sample trace by executing a span block containing the specified operations. This /// results in 1 additional hash cycle (8 rows) at the beginning of the hash chiplet. -pub fn build_trace_from_ops(operations: Vec, stack: &[u64]) -> ExecutionTrace { +pub fn build_trace_from_ops(operations: Vec, stack: &[u64]) -> VmTrace { let mut mast_forest = MastForest::new(); let basic_block_id = @@ -87,7 +91,7 @@ pub fn build_trace_from_ops_with_inputs( operations: Vec, stack_inputs: StackInputs, advice_inputs: AdviceInputs, -) -> ExecutionTrace { +) -> VmTrace { let mut mast_forest = MastForest::new(); let basic_block_id = BasicBlockNodeBuilder::new(operations).add_to_forest(&mut mast_forest).unwrap(); @@ -103,6 +107,75 @@ pub fn build_trace_from_ops_with_inputs( .unwrap(), ) .expect("processor advice inputs should fit advice map limits"); - let trace_inputs = processor.execute_trace_inputs_sync(&program, &mut host).unwrap(); - build_trace(trace_inputs).unwrap() + let execution_witness = processor.execute_for_proving_sync(&program, &mut host).unwrap(); + let (vm_witness, _) = execution_witness.into_parts(); + build_trace(vm_witness).unwrap() +} + +#[test] +fn non_empty_execution_witness_splits_with_matching_precompile_root() { + let mut mast_forest = MastForest::new(); + let basic_block_id = BasicBlockNodeBuilder::new(vec![Operation::LogDeferred]) + .add_to_forest(&mut mast_forest) + .unwrap(); + mast_forest.make_root(basic_block_id); + let program = Program::new(mast_forest.into(), basic_block_id); + let stack_inputs = + StackInputs::new(&[1, 2, 3, 4, 0, 0, 0, 0].map(Felt::new_unchecked)).unwrap(); + + let mut host = DefaultHost::default(); + let execution_witness = FastProcessor::new(stack_inputs) + .execute_for_proving_sync(&program, &mut host) + .unwrap(); + let claim = execution_witness.claim(); + let precompile_root = execution_witness.precompile_root(); + assert_ne!(precompile_root, TRUE_DIGEST); + + let (vm_witness, precompile_witness) = execution_witness.into_parts(); + let precompile_witness = precompile_witness.expect("logged statement must be retained"); + assert_eq!(vm_witness.claim(), claim); + assert_eq!(vm_witness.precompile_root(), precompile_root); + assert_eq!(precompile_witness.root(), precompile_root); + assert_eq!(precompile_witness.roots(), &[precompile_root]); + assert_eq!(precompile_witness.state().root(), precompile_root); + assert_eq!(precompile_witness.into_state().root(), precompile_root); + + let trace = build_trace(vm_witness).unwrap(); + assert_eq!(trace.precompile_root(), precompile_root); +} + +#[test] +fn empty_execution_witness_splits_and_replays_with_explicit_stack_inputs() { + let mut mast_forest = MastForest::new(); + let basic_block_id = BasicBlockNodeBuilder::new(vec![Operation::Noop]) + .add_to_forest(&mut mast_forest) + .unwrap(); + mast_forest.make_root(basic_block_id); + let program = Program::new(mast_forest.into(), basic_block_id); + let stack_inputs = StackInputs::new(&[7, 9].map(Felt::new_unchecked)).unwrap(); + + let mut host = DefaultHost::default(); + let execution_witness = FastProcessor::new(stack_inputs) + .execute_for_proving_sync(&program, &mut host) + .unwrap(); + + let claim = execution_witness.claim(); + assert_eq!(claim.to_program_info(), program.to_info()); + assert_eq!(claim.stack_inputs(), &stack_inputs); + assert_eq!(execution_witness.precompile_root(), TRUE_DIGEST); + let expected_public_inputs = PublicInputs::new( + claim.to_program_info(), + *claim.stack_inputs(), + *claim.stack_outputs(), + TRUE_DIGEST, + ); + + let (vm_witness, precompile_witness) = execution_witness.into_parts(); + assert_eq!(vm_witness.claim(), claim); + assert!(precompile_witness.is_none()); + + let trace = build_trace(vm_witness).unwrap(); + assert_eq!(trace.init_stack_state(), stack_inputs); + assert_eq!(trace.precompile_root(), TRUE_DIGEST); + assert_eq!(trace.to_public_values(), expected_public_inputs.to_elements()); } diff --git a/processor/src/trace/trace_state.rs b/processor/src/trace/trace_state.rs index c0b726f707..0b6756b14a 100644 --- a/processor/src/trace/trace_state.rs +++ b/processor/src/trace/trace_state.rs @@ -45,7 +45,7 @@ pub struct CoreTraceFragmentContext { pub state: CoreTraceState, pub replay: ExecutionReplay, /// Continuation stack with forest references encoded as [`MastForestId`]s into the - /// `mast_forest_store` of the owning [`crate::TraceGenerationContext`]. + /// `mast_forest_store` of the owning trace replay. pub continuation: ContinuationStack, /// MAST forest active at the start of this fragment. pub initial_mast_forest_id: MastForestId, @@ -332,14 +332,6 @@ pub struct BlockStackReplay { } impl BlockStackReplay { - /// Creates a new instance of `BlockStackReplay`. - pub fn new() -> Self { - Self { - node_start_parent_addr: VecDeque::new(), - node_end: VecDeque::new(), - } - } - /// Records the node's parent address pub fn record_node_start_parent_addr(&mut self, parent_addr: Felt) { self.node_start_parent_addr.push_back(parent_addr); @@ -458,8 +450,8 @@ pub struct ExecutionContextSystemInfo { /// a procedure not present in the current forest. /// /// The forest reference is stored as a [`MastForestId`] into the `mast_forest_store` of the -/// [`crate::TraceGenerationContext`] that owns this replay. This avoids holding a strong -/// `Arc` reference per resolution, allowing the trace generation context to deduplicate +/// trace replay that owns this data. This avoids holding a strong `Arc` reference per +/// resolution, allowing the trace generation context to deduplicate /// forests across fragments. #[derive(Debug, Default)] pub struct MastForestResolutionReplay { @@ -1034,7 +1026,7 @@ pub enum HasherOp { Permute([Felt; STATE_WIDTH]), HashControlBlock((Word, Word, Felt, Word)), /// `(forest_id, node_id, expected_hash)` — `forest_id` is an id into the - /// `mast_forest_store` of the [`crate::TraceGenerationContext`] that owns this replay. + /// `mast_forest_store` of the trace replay that owns this operation. HashBasicBlock((MastForestId, MastNodeId, Word)), BuildMerkleRoot((Word, MerklePath, Felt)), UpdateMerkleRoot((Word, Word, MerklePath, Felt)), diff --git a/processor/src/tracer.rs b/processor/src/tracer.rs index 4308c6e93b..19f68a037b 100644 --- a/processor/src/tracer.rs +++ b/processor/src/tracer.rs @@ -18,9 +18,9 @@ use crate::{ /// A trait for tracing the execution of a processor. /// /// Allows for recording different aspects of the processor's execution. For example, the -/// [`crate::FastProcessor::execute_trace_inputs`] execution mode needs to build a -/// [`crate::TraceGenerationContext`] which records information necessary to build the trace at each -/// clock cycle. +/// [`crate::FastProcessor::execute_for_proving`] execution mode needs to build a +/// private trace replay which records information necessary to build the trace at each clock +/// cycle. /// /// A useful mental model to differentiate between the processor and the tracer is: /// - Processor: maintains and mutates the state of the VM components (system, stack, memory, etc) diff --git a/processor/tests/async_compat.rs b/processor/tests/async_compat.rs index bfc376e5aa..7954766205 100644 --- a/processor/tests/async_compat.rs +++ b/processor/tests/async_compat.rs @@ -120,30 +120,34 @@ async fn execute_async_matches_execute() { } #[tokio::test(flavor = "current_thread")] -async fn fast_processor_execute_for_trace_async_matches_sync() { +async fn fast_processor_execute_for_proving_async_matches_sync() { let program = simple_program(); let stack_inputs = StackInputs::new(&[Felt::new_unchecked(3)]).unwrap(); let mut sync_host = DefaultHost::default(); - let sync_trace_inputs = FastProcessor::new(stack_inputs) - .execute_trace_inputs_sync(&program, &mut sync_host) + let sync_witness = FastProcessor::new(stack_inputs) + .execute_for_proving_sync(&program, &mut sync_host) .unwrap(); let mut async_host = DefaultHost::default(); - let async_trace_inputs = FastProcessor::new(stack_inputs) - .execute_trace_inputs(&program, &mut async_host) + let async_witness = FastProcessor::new(stack_inputs) + .execute_for_proving(&program, &mut async_host) .await .unwrap(); - assert_eq!(sync_trace_inputs.stack_outputs(), async_trace_inputs.stack_outputs()); - assert_eq!( - sync_trace_inputs.trace_generation_context().fragment_size, - async_trace_inputs.trace_generation_context().fragment_size - ); - assert_eq!( - sync_trace_inputs.trace_generation_context().core_trace_contexts.len(), - async_trace_inputs.trace_generation_context().core_trace_contexts.len() - ); + assert_eq!(sync_witness.claim().stack_outputs(), async_witness.claim().stack_outputs()); + let (sync_vm_witness, _) = sync_witness.into_parts(); + let (async_vm_witness, _) = async_witness.into_parts(); + let sync_trace = miden_processor::trace::build_trace(sync_vm_witness).unwrap(); + let async_trace = miden_processor::trace::build_trace(async_vm_witness).unwrap(); + + assert_eq!(sync_trace.public_inputs(), async_trace.public_inputs()); + assert_eq!(sync_trace.trace_len_summary(), async_trace.trace_len_summary()); + for (sync_column, async_column) in + sync_trace.main_trace().columns().zip(async_trace.main_trace().columns()) + { + assert_eq!(sync_column, async_column); + } } #[tokio::test(flavor = "current_thread")] diff --git a/processor/tests/streamed_hasher.rs b/processor/tests/streamed_hasher.rs index 2c37ac4ada..4f2ffa8e38 100644 --- a/processor/tests/streamed_hasher.rs +++ b/processor/tests/streamed_hasher.rs @@ -54,17 +54,21 @@ fn assert_overlapped_matches_buffered(program_src: &str, stack: &[u64], advice: let buffered = { let mut host = DefaultHost::default(); - let inputs = processor(stack, advice.clone()) - .execute_trace_inputs_sync(&program, &mut host) + let execution_witness = processor(stack, advice.clone()) + .execute_for_proving_sync(&program, &mut host) .unwrap(); - build_trace(inputs).unwrap() + let (vm_witness, precompiles_witness) = execution_witness.into_parts(); + assert!(precompiles_witness.is_none()); + build_trace(vm_witness).unwrap() }; let streamed = { let mut host = DefaultHost::default(); - processor(stack, advice.clone()) + let (trace, precompiles_witness) = processor(stack, advice.clone()) .execute_and_build_trace_sync(&program, &mut host) - .unwrap() + .unwrap(); + assert!(precompiles_witness.is_none()); + trace }; assert_eq!(buffered.program_hash(), streamed.program_hash()); diff --git a/prover/Cargo.toml b/prover/Cargo.toml index b61c2eb765..87b4668fdf 100644 --- a/prover/Cargo.toml +++ b/prover/Cargo.toml @@ -27,6 +27,7 @@ std = [ "miden-debug-types/std", "miden-precompiles-prover/std", "miden-processor/std", + "thiserror/std", ] [dependencies] @@ -40,6 +41,7 @@ miden-crypto.workspace = true # External dependencies serde.workspace = true serde-wincode.workspace = true +thiserror.workspace = true tracing.workspace = true [dev-dependencies] diff --git a/prover/README.md b/prover/README.md index 0ee7b268a3..cb4fbfc5f3 100644 --- a/prover/README.md +++ b/prover/README.md @@ -1,48 +1,90 @@ # Miden prover -This crate contains the Miden VM prover, which proves correct execution of Miden VM. Internally, the prover uses [Miden processor](../processor/) to execute the programs, and then uses [Plonky3](https://github.com/0xMiden/Plonky3) to generate STARK proofs. + +This crate proves post-execution witnesses produced by the +[Miden processor](../processor/) using [Plonky3](https://github.com/0xMiden/Plonky3). The +synchronous `Prover` does not execute programs: it consumes `ExecutionWitness` values and borrows +`PrecompileWitness` values. ## Usage -This crate exposes a `prove()` function which can be used to execute Miden VM programs and generate proofs of their execution. The function takes the following parameters: -* `program: &Program` - a reference to a Miden program to be executed. -* `stack_inputs: StackInputs` - a set of public inputs with which to execute the program. -* `host: Host` - an instance of a `Host` which can be used to supply non-deterministic inputs to the VM and receive messages from the VM. -* `options: &ProvingOptions` - config parameters for proof generation. The default options target 96-bit security level. +`Prover` is synchronous and consumes post-execution witnesses: + +- `Prover::prove(ExecutionWitness)` proves only the VM portion. It returns a `Complete` proof + without a precompile artifact when the VM authenticated no precompile work, or `Deferred` with + the singleton precompile witness retained for later proving. +- `Prover::prove_full(ExecutionWitness)` proves the VM and any precompile witness immediately in + memory and returns a complete proof. +- `Prover::prove_precompile(&PrecompileWitness)` proves one singleton or merged witness without + cloning its hydrated DAG, including a witness retained by `Deferred`. -If the program is executed successfully, the function returns a tuple with 2 elements: +Use `Prover::with_hash_fn` to select the proof hash function. -* `outputs: StackOutputs` - the outputs generated by the program. -* `proof: ExecutionProof` - proof of program execution. `ExecutionProof` can be easily serialized and deserialized using `to_bytes()` and `from_bytes()` functions respectively. +### Deferred precompile workflow -### Proof generation example -Here is a simple example of executing a program which pushes two numbers onto the stack and computes their sum: -```Rust -use miden_assembly::Assembler; -use miden_prover::{prove, ProvingOptions, StackInputs, DefaultHost}; +```rust,ignore +use miden_prover::{ExecutionProof, Prover}; +use miden_verifier::Verifier; -// instantiate the assembler -let assembler = Assembler::default(); +// `witness` is an ExecutionWitness produced by FastProcessor. +let claim = witness.claim(); +let prover = Prover::new(); -// this is our program, we compile it from assembly code -let program = assembler.compile("begin push.3 push.5 add end").unwrap(); +let deferred = prover.prove(witness)?; +assert!(matches!(&deferred, ExecutionProof::Deferred { .. })); +assert!(!deferred.is_complete()); -// let's execute it and generate a STARK proof -let (outputs, proof) = prove( - &program, - StackInputs::default(), // we won't provide any stack inputs - &mut DefaultHost::default(), // we'll be using a default host - &ProvingOptions::default(), // we'll be using default options -) -.unwrap(); +let precompile_proof = prover.prove_precompile( + deferred + .precompile_witness() + .expect("a deferred proof retains its precompile witness"), +)?; +let complete = deferred.complete(precompile_proof)?; -// the output should be 8 -assert_eq!(8, outputs.first().unwrap().as_canonical_u64()); +let outcome = Verifier::new().verify(&claim, &complete)?; +assert!(outcome.is_complete()); +assert_eq!(outcome.outstanding_precompile_root(), None); ``` +For merged proving, `PrecompileWitness::merge` accepts only singleton witnesses. Given +`[one, one, two]`, it preserves that order and duplicate; attempting to merge the resulting merged +witness again is rejected. Proving the merged witness once produces one shared `PrecompileProof` +that can be cloned to complete compatible deferred proofs for `one` or `two`. This is proof-artifact +reuse, not a protocol batch or settlement envelope. + +`PrecompileWitness` may contain private execution data and a large hydrated DAG. Treat it as +sensitive prover input, transport it only to trusted workers, and borrow it for proving. Clone it +only when an ownership-requiring transport needs a separate value. This crate does not currently +expose a delegated VM-worker proving or transport interface. + +### Transport and verification + +Encoding a witness or execution proof preserves its representation; it does not establish validity. +Malformed cross-artifact `ExecutionProof` values can therefore serialize and decode, but full +verification rejects inconsistent structure or invalid STARKs. + +Ordinary façade callers can decode with the standard bundled registry via +`miden_vm::read_execution_proof_from_bytes(bytes)`. Custom-precompile callers use +`ExecutionProof::read_from_bytes(bytes, registry, max_elements)` directly. + +The deferred-wire canonical decode-and-reencode policy remains unchanged. The outer execution-proof +decoder now rejects trailing bytes and encodings that do not round-trip exactly. Hydration takes an +explicit deferred-element bound, and decoding retains its per-allocation ceiling. Merging resets the +hydrated state's insertion-budget target to `u32::MAX` while retaining existing elements; this is +not a hard whole-witness cap. There is no separate root-count, outer-envelope, file, or +network-payload limit; callers enforce those ingestion policies. A coherent aggregate resource +policy is tracked in [#3458](https://github.com/0xMiden/miden-vm/issues/3458). + +### Temporary synchronous orchestration + +The free `prove_sync(&Prover, ...)` function remains temporarily to preserve the overlapped +execution/trace-building path from PR #3407. The planned `Executor` API will own this orchestration; +new proof-generation policy should be configured on `Prover`. + ## STARK Backend The prover uses [Plonky3](https://github.com/0xMiden/Plonky3), a modular STARK proving framework. -STARK configurations are defined in the `miden-air` crate and shared between the prover and verifier, ensuring consistency across the system. +STARK configurations are defined in the `miden-air` crate and shared between the prover and +verifier, ensuring consistency across the system. ### Hash Function Selection @@ -61,9 +103,14 @@ Miden prover can be compiled with the following features: To compile with `no_std`, disable default features via `--no-default-features` flag. ### Concurrent proof generation -When compiled with `concurrent` feature enabled, the prover will generate STARK proofs using multiple threads. For benefits of concurrent proof generation check out these [benchmarks](../README.md#Performance). +When compiled with the `concurrent` feature enabled, the prover generates STARK proofs using +multiple threads. For the benefits of concurrent proof generation, see these +[benchmarks](../README.md#Performance). -Internally, we use [rayon](https://github.com/rayon-rs/rayon) for parallel computations. To control the number of threads used to generate a STARK proof, you can use `RAYON_NUM_THREADS` environment variable. +Internally, we use [rayon](https://github.com/rayon-rs/rayon) for parallel computations. Use the +`RAYON_NUM_THREADS` environment variable to control the number of threads used to generate a STARK +proof. ## License -This project is dual-licensed under the [MIT](http://opensource.org/licenses/MIT) and [Apache 2.0](https://opensource.org/license/apache-2-0) licenses. +This project is dual-licensed under the [MIT](http://opensource.org/licenses/MIT) and +[Apache 2.0](https://opensource.org/license/apache-2-0) licenses. diff --git a/prover/src/lib.rs b/prover/src/lib.rs index 7c89786f4a..75b7a700c7 100644 --- a/prover/src/lib.rs +++ b/prover/src/lib.rs @@ -15,334 +15,24 @@ use miden_crypto::stark::{ lmcs::Lmcs, proof::{StarkOutput, StarkProofData}, }; -use miden_processor::{ - FastProcessor, Program, - trace::{ExecutionTrace, build_trace}, -}; use serde_wincode::{SerdeCompat, wincode}; use tracing::instrument; -mod proving_options; +mod prover; // EXPORTS // ================================================================================================ pub use miden_air::{DeserializationError, MidenAir, PublicInputs, config}; -pub use miden_core::proof::{DeferredProof, ExecutionProof, HashFunction, StarkProof}; +pub use miden_core::proof::{ + ExecutionProof, ExecutionProofError, ExecutionProofTransportError, HashFunction, + PrecompileProof, StarkProof, VmProof, +}; pub use miden_processor::{ - ExecutionError, ExecutionOptions, ExecutionOutput, FutureMaybeSend, Host, InputError, - ProgramInfo, StackInputs, StackOutputs, SyncHost, TraceBuildInputs, TraceGenerationContext, - Word, advice::AdviceInputs, crypto, field, serde, utils, + ExecutionClaim, ExecutionError, ExecutionOptions, ExecutionOutput, ExecutionWitness, + FutureMaybeSend, Host, InputError, PrecompileWitness, ProgramInfo, StackInputs, StackOutputs, + SyncHost, VmWitness, Word, advice::AdviceInputs, crypto, field, serde, utils, }; -pub use proving_options::ProvingOptions; - -/// Inputs required to prove from pre-executed trace data. -#[derive(Debug)] -pub struct TraceProvingInputs { - trace_inputs: TraceBuildInputs, - options: ProvingOptions, -} - -impl TraceProvingInputs { - /// Creates a new bundle of post-execution trace inputs and proof-generation options. - pub fn new(trace_inputs: TraceBuildInputs, options: ProvingOptions) -> Self { - Self { trace_inputs, options } - } - - /// Consumes this bundle and returns its trace inputs and proof-generation options. - pub fn into_parts(self) -> (TraceBuildInputs, ProvingOptions) { - (self.trace_inputs, self.options) - } -} - -// PROVER -// ================================================================================================ - -/// Executes and proves the specified `program` and returns the result together with a final -/// STARK-based proof of the program's execution. -/// -/// - `stack_inputs` specifies the initial state of the stack for the VM. -/// - `advice_inputs` provides the initial nondeterministic inputs for the VM. -/// - `host` specifies the host environment which contain non-deterministic (secret) inputs for the -/// prover. -/// - `execution_options` defines VM execution parameters such as cycle limits and fragmentation. -/// - `proving_options` defines parameters for STARK proof generation. -/// -/// # Errors -/// Returns an error if program execution or STARK proof generation fails for any reason. -#[instrument("prove_program", skip_all)] -pub async fn prove( - program: &Program, - stack_inputs: StackInputs, - advice_inputs: AdviceInputs, - host: &mut impl Host, - execution_options: ExecutionOptions, - proving_options: ProvingOptions, -) -> Result<(StackOutputs, ExecutionProof), ExecutionError> { - // execute the program to create an execution trace using FastProcessor - let processor = FastProcessor::new_with_options(stack_inputs, advice_inputs, execution_options) - .map_err(ExecutionError::advice_error_no_context)?; - - let trace_inputs = { - let _span = tracing::info_span!("execute_miden_vm").entered(); - processor.execute_trace_inputs(program, host).await? - }; - prove_from_trace_sync(TraceProvingInputs::new(trace_inputs, proving_options)) -} - -/// Executes and proves the specified `program`, preserving wire-backed deferred proof material. -/// -/// Use this when precompile claims should be proved later by a delegated or batching prover. The -/// default [`prove`] API produces final deferred proof material instead. -#[instrument("prove_program_partial", skip_all)] -pub async fn prove_partial( - program: &Program, - stack_inputs: StackInputs, - advice_inputs: AdviceInputs, - host: &mut impl Host, - execution_options: ExecutionOptions, - proving_options: ProvingOptions, -) -> Result<(StackOutputs, ExecutionProof), ExecutionError> { - let processor = FastProcessor::new_with_options(stack_inputs, advice_inputs, execution_options) - .map_err(ExecutionError::advice_error_no_context)?; - - let trace_inputs = { - let _span = tracing::info_span!("execute_miden_vm").entered(); - processor.execute_trace_inputs(program, host).await? - }; - prove_partial_from_trace_sync(TraceProvingInputs::new(trace_inputs, proving_options)) -} - -/// Synchronous variant of [`prove()`]. -/// -/// Unlike `prove`, the sync path can overlap hasher-chiplet trace building with program -/// execution (controlled by [`ExecutionOptions::with_overlapped_trace_build`], on by -/// default); the produced trace and proof are identical either way. -#[instrument("prove_program_sync", skip_all)] -pub fn prove_sync( - program: &Program, - stack_inputs: StackInputs, - advice_inputs: AdviceInputs, - host: &mut impl SyncHost, - execution_options: ExecutionOptions, - proving_options: ProvingOptions, -) -> Result<(StackOutputs, ExecutionProof), ExecutionError> { - // Snapshot the overlap flag before `execution_options` moves into the processor. The - // binding is std-gated only because the branch consuming it is: on no_std the streaming - // builder's thread does not exist and the flag is documented as ignored. - #[cfg(feature = "std")] - let overlapped_trace_build = execution_options.overlapped_trace_build(); - let processor = FastProcessor::new_with_options(stack_inputs, advice_inputs, execution_options) - .map_err(ExecutionError::advice_error_no_context)?; - - // Overlapped path: the hasher chiplet builds concurrently with execution, - // hiding the dominant serial part of trace building. - #[cfg(feature = "std")] - if overlapped_trace_build { - let trace = { - let _span = tracing::info_span!("execute_miden_vm").entered(); - processor.execute_and_build_trace_sync(program, host)? - }; - return prove_final_execution_trace(trace, proving_options); - } - - let trace_inputs = { - let _span = tracing::info_span!("execute_miden_vm").entered(); - processor.execute_trace_inputs_sync(program, host)? - }; - prove_from_trace_sync(TraceProvingInputs::new(trace_inputs, proving_options)) -} - -/// Synchronous variant of [`prove_partial()`]. -/// -/// Like [`prove_sync`], the sync path can overlap hasher-chiplet trace building with program -/// execution (controlled by [`ExecutionOptions::with_overlapped_trace_build`], on by -/// default); the produced trace and proof are identical either way. -#[instrument("prove_program_partial_sync", skip_all)] -pub fn prove_partial_sync( - program: &Program, - stack_inputs: StackInputs, - advice_inputs: AdviceInputs, - host: &mut impl SyncHost, - execution_options: ExecutionOptions, - proving_options: ProvingOptions, -) -> Result<(StackOutputs, ExecutionProof), ExecutionError> { - // Snapshot the overlap flag before `execution_options` moves into the processor. The - // binding is std-gated only because the branch consuming it is: on no_std the streaming - // builder's thread does not exist and the flag is documented as ignored. - #[cfg(feature = "std")] - let overlapped_trace_build = execution_options.overlapped_trace_build(); - let processor = FastProcessor::new_with_options(stack_inputs, advice_inputs, execution_options) - .map_err(ExecutionError::advice_error_no_context)?; - - // Overlapped path, mirroring `prove_sync`. - #[cfg(feature = "std")] - if overlapped_trace_build { - let trace = { - let _span = tracing::info_span!("execute_miden_vm").entered(); - processor.execute_and_build_trace_sync(program, host)? - }; - return prove_partial_execution_trace(trace, proving_options); - } - - let trace_inputs = { - let _span = tracing::info_span!("execute_miden_vm").entered(); - processor.execute_trace_inputs_sync(program, host)? - }; - prove_partial_from_trace_sync(TraceProvingInputs::new(trace_inputs, proving_options)) -} - -/// Builds an execution trace from pre-executed trace inputs and proves it synchronously. -/// -/// This is useful when program execution has already happened elsewhere and only trace building -/// plus proof generation remain. The execution settings are already reflected in the supplied -/// `TraceBuildInputs`, so only proof-generation options remain in this API. -#[instrument("prove_trace_sync", skip_all)] -pub fn prove_from_trace_sync( - inputs: TraceProvingInputs, -) -> Result<(StackOutputs, ExecutionProof), ExecutionError> { - let (trace_inputs, options) = inputs.into_parts(); - let trace = { - let _span = tracing::info_span!("build_miden_vm_trace").entered(); - build_trace(trace_inputs)? - }; - prove_final_execution_trace(trace, options) -} - -/// Builds an execution trace from pre-executed trace inputs and proves it synchronously, preserving -/// wire-backed deferred proof material. -/// -/// This is the explicit partial-proof counterpart to [`prove_from_trace_sync`]. -#[instrument("prove_partial_trace_sync", skip_all)] -pub fn prove_partial_from_trace_sync( - inputs: TraceProvingInputs, -) -> Result<(StackOutputs, ExecutionProof), ExecutionError> { - let (trace_inputs, options) = inputs.into_parts(); - let trace = { - let _span = tracing::info_span!("build_miden_vm_trace").entered(); - build_trace(trace_inputs)? - }; - prove_partial_execution_trace(trace, options) -} - -fn prove_final_execution_trace( - trace: ExecutionTrace, - options: ProvingOptions, -) -> Result<(StackOutputs, ExecutionProof), ExecutionError> { - let hash_fn = options.hash_fn(); - let deferred_proof = { - let _span = tracing::info_span!("precompile_vm").entered(); - miden_precompiles_prover::prove_deferred_state(trace.deferred_state(), hash_fn) - .map_err(|err| ExecutionError::ProvingError(err.to_string()))? - }; - - prove_miden_vm_execution_trace(trace, options, deferred_proof) -} - -fn prove_partial_execution_trace( - trace: ExecutionTrace, - options: ProvingOptions, -) -> Result<(StackOutputs, ExecutionProof), ExecutionError> { - let deferred_proof = { - let _precompile_vm_span = tracing::info_span!("precompile_vm").entered(); - let _serialize_witness_span = tracing::info_span!("serialize_witness").entered(); - let wire = trace - .deferred_state() - .to_wire() - .map_err(|err| ExecutionError::ProvingError(err.to_string()))?; - DeferredProof::Wire(wire) - }; - - prove_miden_vm_execution_trace(trace, options, deferred_proof) -} - -#[instrument("miden_vm", skip_all)] -fn prove_miden_vm_execution_trace( - trace: ExecutionTrace, - options: ProvingOptions, - deferred_proof: DeferredProof, -) -> Result<(StackOutputs, ExecutionProof), ExecutionError> { - let trace_len_summary = trace.trace_len_summary(); - tracing::event!( - tracing::Level::INFO, - "Generated execution traces: core={}, range={}, chiplets={}, poseidon2={}, padded={}", - trace_len_summary.core_trace_len(), - trace_len_summary.range_trace_len(), - trace_len_summary.chiplets_trace_len().trace_len(), - trace_len_summary.poseidon2_permutation_trace_len(), - trace_len_summary.padded_trace_len() - ); - - let stack_outputs = *trace.stack_outputs(); - let hash_fn = options.hash_fn(); - - // Extract public inputs before consuming the trace for the per-AIR matrices. - let (public_values, aux_inputs) = trace.public_inputs().to_air_inputs(); - - let (core_matrix, chiplets_matrix, poseidon2_matrix) = trace.into_air_matrices(); - - let params = config::pcs_params(); - let proof_bytes = match hash_fn { - HashFunction::Blake3_256 => { - let config = config::blake3_256_config(params, config::RELATION_DIGEST); - prove_stark( - &config, - core_matrix, - chiplets_matrix, - poseidon2_matrix, - &public_values, - &aux_inputs, - ) - }, - HashFunction::Keccak => { - let config = config::keccak_config(params, config::RELATION_DIGEST); - prove_stark( - &config, - core_matrix, - chiplets_matrix, - poseidon2_matrix, - &public_values, - &aux_inputs, - ) - }, - HashFunction::Rpo256 => { - let config = config::rpo_config(params, config::RELATION_DIGEST); - prove_stark( - &config, - core_matrix, - chiplets_matrix, - poseidon2_matrix, - &public_values, - &aux_inputs, - ) - }, - HashFunction::Poseidon2 => { - let config = config::poseidon2_config(params, config::RELATION_DIGEST); - prove_stark( - &config, - core_matrix, - chiplets_matrix, - poseidon2_matrix, - &public_values, - &aux_inputs, - ) - }, - HashFunction::Rpx256 => { - let config = config::rpx_config(params, config::RELATION_DIGEST); - prove_stark( - &config, - core_matrix, - chiplets_matrix, - poseidon2_matrix, - &public_values, - &aux_inputs, - ) - }, - }?; - - let proof = ExecutionProof::from_parts(proof_bytes, hash_fn, deferred_proof); - - Ok((stack_outputs, proof)) -} +pub use prover::{Prover, ProverError, prove_sync}; // STARK PROOF GENERATION // ================================================================================================ @@ -353,7 +43,7 @@ fn prove_miden_vm_execution_trace( /// statement `aux_inputs` (program hash, final deferred root, and the concatenated kernel-procedure /// digests). Then delegates to the lifted multi-AIR prover. #[instrument("prove_stark", skip_all)] -pub fn prove_stark( +fn prove_stark( config: &SC, core_trace: RowMajorMatrix, chiplets_trace: RowMajorMatrix, diff --git a/prover/src/prover.rs b/prover/src/prover.rs new file mode 100644 index 0000000000..efd6f9d365 --- /dev/null +++ b/prover/src/prover.rs @@ -0,0 +1,319 @@ +use alloc::string::ToString; + +use miden_core::proof::{ExecutionProof, HashFunction, PrecompileProof, VmProof}; +use miden_processor::{ + ExecutionError, ExecutionOptions, ExecutionWitness, FastProcessor, PrecompileWitness, Program, + StackInputs, StackOutputs, SyncHost, VmWitness, + advice::AdviceInputs, + trace::{VmTrace, build_trace}, +}; + +use crate::{config, prove_stark}; + +/// A synchronous, configurable prover for post-execution Miden VM witnesses. +/// +/// This type does not execute programs. It owns proof-generation policy and consumes witnesses +/// produced by the processor. +#[derive(Debug, Clone, Eq, PartialEq)] +pub struct Prover { + hash_fn: HashFunction, +} + +impl Prover { + /// Creates a prover with the canonical proof-generation configuration. + pub const fn new() -> Self { + Self { hash_fn: HashFunction::Blake3_256 } + } + + /// Sets the hash function used for proofs generated by this prover. + #[must_use] + pub const fn with_hash_fn(mut self, hash_fn: HashFunction) -> Self { + self.hash_fn = hash_fn; + self + } + + /// Proves only the VM portion of an execution witness. + /// + /// If the execution authenticated deferred precompile work, the returned proof retains its + /// singleton witness for later proving. Otherwise, the returned proof is complete. + pub fn prove(&self, witness: ExecutionWitness) -> Result { + let (vm_witness, precompile_witness) = witness.into_parts(); + let vm = self.prove_vm(vm_witness)?; + Ok(Self::package_deferred(vm, precompile_witness)) + } + + /// Proves a complete execution witness entirely in memory. + /// + /// Both VM and precompile proving consume the hydrated witness directly; the witness is not + /// serialized on this local path. + pub fn prove_full(&self, witness: ExecutionWitness) -> Result { + let (vm_witness, precompile_witness) = witness.into_parts(); + let vm = self.prove_vm(vm_witness)?; + self.package_complete(vm, precompile_witness.as_ref()) + } + + /// Materializes and proves the VM trace represented by `witness`. + fn prove_vm(&self, witness: VmWitness) -> Result { + let trace = { + let _span = tracing::info_span!("build_miden_vm_trace").entered(); + build_trace(witness).map_err(ProverError::TraceGeneration)? + }; + + self.prove_vm_trace(trace) + } + + /// Proves one singleton or merged precompile witness without consuming its hydrated DAG. + pub fn prove_precompile( + &self, + witness: &PrecompileWitness, + ) -> Result { + let proof = miden_precompiles_prover::prove_deferred_state(witness.state(), self.hash_fn) + .map_err(ProverError::PrecompileProofGeneration)?; + let roots = witness.roots().to_vec(); + Ok(PrecompileProof::from_parts(proof, roots) + .expect("validated precompile witness roots must produce valid proof metadata")) + } + + #[cfg(feature = "std")] + fn prove_full_trace( + &self, + trace: VmTrace, + precompile: Option<&PrecompileWitness>, + ) -> Result { + let vm = self.prove_vm_trace(trace)?; + self.package_complete(vm, precompile) + } + + fn package_deferred(vm: VmProof, precompile: Option) -> ExecutionProof { + match precompile { + Some(precompile) => ExecutionProof::new_deferred(vm, precompile) + .expect("execution witness validates the VM and singleton precompile roots"), + None => ExecutionProof::new_complete(vm, None) + .expect("an execution without precompile work authenticates TRUE_DIGEST"), + } + } + + fn package_complete( + &self, + vm: VmProof, + precompile: Option<&PrecompileWitness>, + ) -> Result { + let precompile = precompile.map(|witness| self.prove_precompile(witness)).transpose()?; + Ok(ExecutionProof::new_complete(vm, precompile) + .expect("locally proved precompile roots must cover the VM obligation")) + } + + /// Proves a fully materialized VM trace. + /// + /// Buffered and overlapped trace construction share this private implementation so STARK + /// generation and VM proof packaging cannot diverge. + #[tracing::instrument(name = "miden_vm", skip_all)] + fn prove_vm_trace(&self, trace: VmTrace) -> Result { + let trace_len_summary = trace.trace_len_summary(); + tracing::event!( + tracing::Level::INFO, + "Generated execution traces: core={}, range={}, chiplets={}, poseidon2={}, padded={}", + trace_len_summary.core_trace_len(), + trace_len_summary.range_trace_len(), + trace_len_summary.chiplets_trace_len().trace_len(), + trace_len_summary.poseidon2_permutation_trace_len(), + trace_len_summary.padded_trace_len() + ); + + let precompile_root = trace.precompile_root(); + let (public_values, aux_inputs) = trace.public_inputs().to_air_inputs(); + let (core_matrix, chiplets_matrix, poseidon2_matrix) = trace.into_air_matrices(); + + let params = config::pcs_params(); + let proof_bytes = match self.hash_fn { + HashFunction::Blake3_256 => { + let config = config::blake3_256_config(params, config::RELATION_DIGEST); + prove_stark( + &config, + core_matrix, + chiplets_matrix, + poseidon2_matrix, + &public_values, + &aux_inputs, + ) + }, + HashFunction::Keccak => { + let config = config::keccak_config(params, config::RELATION_DIGEST); + prove_stark( + &config, + core_matrix, + chiplets_matrix, + poseidon2_matrix, + &public_values, + &aux_inputs, + ) + }, + HashFunction::Rpo256 => { + let config = config::rpo_config(params, config::RELATION_DIGEST); + prove_stark( + &config, + core_matrix, + chiplets_matrix, + poseidon2_matrix, + &public_values, + &aux_inputs, + ) + }, + HashFunction::Poseidon2 => { + let config = config::poseidon2_config(params, config::RELATION_DIGEST); + prove_stark( + &config, + core_matrix, + chiplets_matrix, + poseidon2_matrix, + &public_values, + &aux_inputs, + ) + }, + HashFunction::Rpx256 => { + let config = config::rpx_config(params, config::RELATION_DIGEST); + prove_stark( + &config, + core_matrix, + chiplets_matrix, + poseidon2_matrix, + &public_values, + &aux_inputs, + ) + }, + } + .map_err(ProverError::VmProofGeneration)?; + + let proof = miden_core::proof::StarkProof::new(proof_bytes, self.hash_fn); + Ok(VmProof::from_parts(proof, precompile_root)) + } +} + +/// Executes and fully proves a program synchronously. +/// +/// This temporary free orchestration function preserves the overlapped execution/trace-building +/// path until the planned `Executor` API owns it. New proving policy belongs on [`Prover`]. +/// +/// When enabled in `execution_options`, the hasher chiplet is built concurrently with execution. +/// The buffered and overlapped routes converge at the same private VM STARK and complete-local +/// packaging implementation. +#[tracing::instrument(name = "prove_program_sync", skip_all)] +pub fn prove_sync( + prover: &Prover, + program: &Program, + stack_inputs: StackInputs, + advice_inputs: AdviceInputs, + host: &mut impl SyncHost, + execution_options: ExecutionOptions, +) -> Result<(StackOutputs, ExecutionProof), ExecutionError> { + #[cfg(feature = "std")] + let overlapped_trace_build = execution_options.overlapped_trace_build(); + let processor = FastProcessor::new_with_options(stack_inputs, advice_inputs, execution_options) + .map_err(ExecutionError::advice_error_no_context)?; + + #[cfg(feature = "std")] + if overlapped_trace_build { + let (trace, precompile) = { + let _span = tracing::info_span!("execute_miden_vm").entered(); + processor.execute_and_build_trace_sync(program, host)? + }; + let stack_outputs = *trace.stack_outputs(); + let proof = prover + .prove_full_trace(trace, precompile.as_ref()) + .map_err(ProverError::into_execution_error)?; + return Ok((stack_outputs, proof)); + } + + let witness = { + let _span = tracing::info_span!("execute_miden_vm").entered(); + processor.execute_for_proving_sync(program, host)? + }; + let stack_outputs = *witness.claim().stack_outputs(); + let proof = prover.prove_full(witness).map_err(ProverError::into_execution_error)?; + Ok((stack_outputs, proof)) +} + +impl Default for Prover { + fn default() -> Self { + Self::new() + } +} + +/// Errors produced while proving post-execution witnesses. +#[derive(Debug, thiserror::Error)] +#[non_exhaustive] +pub enum ProverError { + /// The processor witness could not be materialized into a valid execution trace. + #[error("failed to materialize VM execution trace: {0}")] + TraceGeneration(#[source] ExecutionError), + /// The materialized VM trace could not be proved. + #[error("failed to prove VM execution trace: {0}")] + VmProofGeneration(#[source] ExecutionError), + /// The deferred precompile witness could not be proved. + #[error("failed to prove precompile witness: {0}")] + PrecompileProofGeneration(#[source] miden_precompiles_prover::ProveDeferredStateError), +} + +impl ProverError { + fn into_execution_error(self) -> ExecutionError { + match self { + Self::TraceGeneration(error) | Self::VmProofGeneration(error) => error, + Self::PrecompileProofGeneration(error) => { + ExecutionError::ProvingError(error.to_string()) + }, + } + } +} + +#[cfg(test)] +mod tests { + use miden_core::{ + deferred::{DeferredState, Node, TRUE_DIGEST}, + proof::StarkProof, + }; + + use super::*; + + fn vm_proof(precompile_root: miden_core::Word) -> VmProof { + VmProof::from_parts( + StarkProof::new(alloc::vec::Vec::new(), HashFunction::Blake3_256), + precompile_root, + ) + } + + fn singleton_witness() -> PrecompileWitness { + let mut state = DeferredState::default(); + let statement = state.register(Node::and(TRUE_DIGEST, TRUE_DIGEST)).unwrap(); + state.log_statement(statement).unwrap(); + PrecompileWitness::new(state).unwrap() + } + + #[test] + fn prover_uses_canonical_default_and_allows_hash_override() { + let prover = Prover::new(); + assert_eq!(prover.hash_fn, HashFunction::Blake3_256); + + let prover = prover.with_hash_fn(HashFunction::Poseidon2); + assert_eq!(prover.hash_fn, HashFunction::Poseidon2); + } + + #[test] + fn vm_proof_packaging_dispatches_by_precompile_witness_shape() { + let complete = Prover::package_deferred(vm_proof(TRUE_DIGEST), None); + assert!(matches!(complete, ExecutionProof::Complete { precompile: None, .. })); + + let witness = singleton_witness(); + let root = witness.root(); + let deferred = Prover::package_deferred(vm_proof(root), Some(witness)); + assert!(matches!( + deferred, + ExecutionProof::Deferred { precompile, .. } if precompile.roots() == [root] + )); + } + + #[test] + fn complete_packaging_accepts_empty_precompile_work() { + let complete = Prover::new().package_complete(vm_proof(TRUE_DIGEST), None).unwrap(); + assert!(matches!(complete, ExecutionProof::Complete { precompile: None, .. })); + } +} diff --git a/prover/src/proving_options.rs b/prover/src/proving_options.rs deleted file mode 100644 index fd345f6252..0000000000 --- a/prover/src/proving_options.rs +++ /dev/null @@ -1,46 +0,0 @@ -use miden_core::proof::HashFunction; - -// PROVING OPTIONS -// ================================================================================================ - -/// A set of parameters specifying how Miden VM execution proofs are to be generated. -/// -/// This struct stores the proof-generation hash function only. The actual STARK proving parameters -/// (FRI config, security level, etc.) are determined by the hash function and hardcoded in the -/// prover's config module. -#[derive(Debug, Clone, Eq, PartialEq)] -pub struct ProvingOptions { - hash_fn: HashFunction, -} - -impl ProvingOptions { - // CONSTRUCTORS - // -------------------------------------------------------------------------------------------- - - /// Creates a new instance of [ProvingOptions] with the specified hash function. - /// - /// The STARK proving parameters (security level, FRI config, etc.) are determined - /// by the hash function and hardcoded in the prover's config module. - pub fn new(hash_fn: HashFunction) -> Self { - Self { hash_fn } - } - - /// Creates a new instance of [ProvingOptions] targeting 96-bit security level. - /// - /// Note: The actual security parameters are hardcoded in the prover's config module. - /// This is a convenience constructor that is equivalent to `new(hash_fn)`. - pub fn with_96_bit_security(hash_fn: HashFunction) -> Self { - Self::new(hash_fn) - } - - /// Returns the hash function to be used in STARK proof generation. - pub const fn hash_fn(&self) -> HashFunction { - self.hash_fn - } -} - -impl Default for ProvingOptions { - fn default() -> Self { - Self::new(HashFunction::Blake3_256) - } -} diff --git a/prover/tests/async_compat.rs b/prover/tests/async_compat.rs index 3246026491..ef2d08fdef 100644 --- a/prover/tests/async_compat.rs +++ b/prover/tests/async_compat.rs @@ -3,12 +3,12 @@ use std::sync::Arc; use miden_assembly::Assembler; use miden_debug_types::{Location, SourceFile, SourceSpan}; use miden_processor::{ - BaseHost, DefaultHost, ExecutionOptions, Felt, FutureMaybeSend, Host, LoadedMastForest, - ProcessorState, Word, + BaseHost, DefaultHost, ExecutionOptions, FastProcessor, Felt, FutureMaybeSend, Host, + LoadedMastForest, ProcessorState, Word, advice::AdviceMutation, event::{EventError, EventName}, }; -use miden_prover::{AdviceInputs, ProvingOptions, StackInputs, prove, prove_sync}; +use miden_prover::{AdviceInputs, Prover, StackInputs}; struct YieldingAsyncHost { event_calls: usize, @@ -66,44 +66,41 @@ fn simple_program() -> miden_processor::Program { } #[tokio::test(flavor = "current_thread")] -async fn prove_async_matches_prove() { +async fn async_and_sync_execution_witnesses_prove_equivalently() { let program = simple_program(); let stack_inputs = StackInputs::new(&[Felt::new_unchecked(0), Felt::new_unchecked(1)]).unwrap(); let advice_inputs = AdviceInputs::default(); let execution_options = ExecutionOptions::default(); - let options = ProvingOptions::default(); let mut sync_host = DefaultHost::default(); - let (sync_outputs, sync_proof) = prove_sync( - &program, - stack_inputs, - advice_inputs.clone(), - &mut sync_host, - execution_options, - options.clone(), - ) - .unwrap(); + let sync_witness = + FastProcessor::new_with_options(stack_inputs, advice_inputs.clone(), execution_options) + .unwrap() + .execute_for_proving_sync(&program, &mut sync_host) + .unwrap(); + let sync_outputs = *sync_witness.claim().stack_outputs(); + let sync_proof = Prover::new().prove_full(sync_witness).unwrap(); let mut async_host = DefaultHost::default(); - let (async_outputs, async_proof) = prove( - &program, - stack_inputs, - advice_inputs, - &mut async_host, - execution_options, - options, - ) - .await - .unwrap(); + let async_witness = + FastProcessor::new_with_options(stack_inputs, advice_inputs, execution_options) + .unwrap() + .execute_for_proving(&program, &mut async_host) + .await + .unwrap(); + let async_outputs = *async_witness.claim().stack_outputs(); + let async_proof = Prover::new().prove_full(async_witness).unwrap(); assert_eq!(sync_outputs, async_outputs); - assert_eq!(sync_proof.miden_proof().hash_fn(), async_proof.miden_proof().hash_fn()); - assert!(!sync_proof.miden_proof().bytes().is_empty()); - assert!(!async_proof.miden_proof().bytes().is_empty()); + assert_eq!(sync_proof.vm().proof().hash_fn(), async_proof.vm().proof().hash_fn()); + assert!(sync_proof.precompile().is_none()); + assert!(async_proof.precompile().is_none()); + assert!(!sync_proof.vm().proof().bytes().is_empty()); + assert!(!async_proof.vm().proof().bytes().is_empty()); } #[tokio::test(flavor = "current_thread")] -async fn prove_async_supports_async_only_host_events() { +async fn proving_supports_witnesses_from_async_only_host_events() { let event_name = EventName::new("test::async::prove"); let event_id = event_name.to_event_id().as_u64(); let program = Assembler::default() @@ -112,17 +109,18 @@ async fn prove_async_supports_async_only_host_events() { .unwrap_program(); let mut host = YieldingAsyncHost::new(); - let (_outputs, proof) = prove( - &program, + let witness = FastProcessor::new_with_options( StackInputs::default(), AdviceInputs::default(), - &mut host, ExecutionOptions::default(), - ProvingOptions::default(), ) + .unwrap() + .execute_for_proving(&program, &mut host) .await - .expect("async proving should succeed"); + .expect("async execution should succeed"); + let proof = Prover::new().prove_full(witness).expect("proving should succeed"); assert_eq!(host.event_calls, 1); - assert!(!proof.miden_proof().bytes().is_empty()); + assert!(proof.precompile().is_none()); + assert!(!proof.vm().proof().bytes().is_empty()); } diff --git a/tools/miden-core-fuzz/Cargo.toml b/tools/miden-core-fuzz/Cargo.toml index 9b53b5131b..c2d821152c 100644 --- a/tools/miden-core-fuzz/Cargo.toml +++ b/tools/miden-core-fuzz/Cargo.toml @@ -156,13 +156,6 @@ test = false doc = false bench = false -[[bin]] -name = "execution_proof_serde_deserialize" -path = "fuzz_targets/execution_proof_serde_deserialize.rs" -test = false -doc = false -bench = false - [[bin]] name = "deferred_state_wire_deserialize" path = "fuzz_targets/deferred_state_wire_deserialize.rs" diff --git a/tools/miden-core-fuzz/README.md b/tools/miden-core-fuzz/README.md index 1388f6c3ac..f77cb01023 100644 --- a/tools/miden-core-fuzz/README.md +++ b/tools/miden-core-fuzz/README.md @@ -101,18 +101,14 @@ cargo +nightly fuzz run operation_deserialize --fuzz-dir tools/miden-core-fuzz cargo +nightly fuzz run operation_serde_deserialize --fuzz-dir tools/miden-core-fuzz ``` -**`execution_proof_deserialize`** — Tests `ExecutionProof::from_bytes` and `ExecutionProof::read_from_bytes`. +**`execution_proof_deserialize`** — Tests `ExecutionProof::read_from_bytes` with a precompile +registry and deferred-element bound. The empty registry intentionally exercises framework-only +decoding. ```bash cargo +nightly fuzz run execution_proof_deserialize --fuzz-dir tools/miden-core-fuzz ``` -**`execution_proof_serde_deserialize`** — Tests `ExecutionProof` JSON deserialization via `serde_json`. - -```bash -cargo +nightly fuzz run execution_proof_serde_deserialize --fuzz-dir tools/miden-core-fuzz -``` - **`deferred_state_wire_deserialize`** — Tests `DeferredStateWire::read_from_bytes`. ```bash diff --git a/tools/miden-core-fuzz/fuzz_targets/execution_proof_deserialize.rs b/tools/miden-core-fuzz/fuzz_targets/execution_proof_deserialize.rs index 9282c2a113..276c2581bf 100644 --- a/tools/miden-core-fuzz/fuzz_targets/execution_proof_deserialize.rs +++ b/tools/miden-core-fuzz/fuzz_targets/execution_proof_deserialize.rs @@ -4,12 +4,16 @@ #![no_main] +use std::sync::Arc; + use libfuzzer_sys::fuzz_target; -use miden_core::{proof::ExecutionProof, serde::Deserializable}; +use miden_core::{ + deferred::{DEFAULT_MAX_DEFERRED_ELEMENTS, PrecompileRegistry}, + proof::ExecutionProof, +}; fuzz_target!(|data: &[u8]| { - let _ = ExecutionProof::from_bytes(data); - let _ = ExecutionProof::read_from_bytes(data); - let _ = Vec::::read_from_bytes(data); - let _ = Option::::read_from_bytes(data); + // An empty registry intentionally exercises framework-only decoding. + let registry = Arc::new(PrecompileRegistry::new()); + let _ = ExecutionProof::read_from_bytes(data, registry, DEFAULT_MAX_DEFERRED_ELEMENTS); }); diff --git a/tools/miden-core-fuzz/fuzz_targets/execution_proof_serde_deserialize.rs b/tools/miden-core-fuzz/fuzz_targets/execution_proof_serde_deserialize.rs deleted file mode 100644 index fe0e5f29c9..0000000000 --- a/tools/miden-core-fuzz/fuzz_targets/execution_proof_serde_deserialize.rs +++ /dev/null @@ -1,14 +0,0 @@ -//! Fuzz target for ExecutionProof serde deserialization. -//! -//! Run with: cargo +nightly fuzz run execution_proof_serde_deserialize --fuzz-dir tools/miden-core-fuzz - -#![no_main] - -use libfuzzer_sys::fuzz_target; -use miden_core::proof::ExecutionProof; - -fuzz_target!(|data: &[u8]| { - let _ = serde_json::from_slice::(data); - let _ = serde_json::from_slice::>(data); - let _ = serde_json::from_slice::>(data); -}); diff --git a/verifier/Cargo.toml b/verifier/Cargo.toml index 4c6c5ff1f6..3afe3219c6 100644 --- a/verifier/Cargo.toml +++ b/verifier/Cargo.toml @@ -22,7 +22,6 @@ default = ["std"] std = [ "miden-air/std", "miden-core/std", - "miden-precompiles/std", "miden-precompiles-prover/std", "thiserror/std", ] @@ -32,7 +31,6 @@ std = [ miden-air.workspace = true miden-core.workspace = true miden-crypto.workspace = true -miden-precompiles.workspace = true miden-precompiles-prover.workspace = true # External dependencies diff --git a/verifier/README.md b/verifier/README.md index c1149779dc..e227dc617b 100644 --- a/verifier/README.md +++ b/verifier/README.md @@ -4,24 +4,36 @@ This crate contains a light-weight verifier which can be used to verify proofs o While [Miden](../miden-vm) crate also contains verifier functionality, if a project needs only to verify proofs generated by Miden VM, this crate may be more appropriate to rely on. ## Usage -This crate exposes a `verify()` function which can be used to verify proofs of program execution. The function takes the following parameters: -* `program_info: ProgramInfo` - a structure containing the hash of the program to be verified (represented as a 32-byte digest), and the hashes of the kernel procedures used to execute the program. -* `stack_inputs: StackInputs` - a list of the values with which the stack was initialized prior to the program's execution. -* `stack_outputs: StackOutputs` - a list of the values returned from the stack after the program completed execution. -* `proof: ExecutionProof` - the proof generated during program execution. - -Stack inputs are expected to be ordered as if they would be pushed onto the stack one by one. Thus, their expected order on the stack will be the reverse of the order in which they are provided, and the last value in the `stack_inputs` is expected to be the value at the top of the stack. - -Stack outputs are expected to be ordered as if they would be popped off the stack one by one. Thus, the value at the top of the stack is expected to be in the first position of the `stack_outputs`, and the order of the rest of the output elements will also match the order on the stack. This is the reverse of the order of the `stack_inputs`. - -The function returns `Result` which will be `Ok(security_level)` if verification passes, or `Err(VerificationError)` if verification fails, with `VerificationError` describing the reason for the failure. - -Verifying execution proof of a program basically means the following: - -> If a program with the provided hash is executed against some secret inputs and the provided public inputs, it will produce the provided outputs. - -Notice how the verifier needs to know only the hash of the program - not what the actual program was. +Use `Verifier::new().verify(&claim, &proof)` to verify a deferred or complete `ExecutionProof` +against its `ExecutionClaim`. The claim contains the program information and public stack inputs and +outputs. The VM STARK authenticates the precompile root in either state. For a deferred proof, the +retained witness is checked structurally but is not cryptographic evidence; for a complete proof, +the aggregate precompile STARK is also verified when present. + +Stack inputs are in push order (the last value is on top), while stack outputs are in pop order (the +first value is on top). + +`Verifier::verify` returns a `VerificationOutcome`. Its `security_level()` is the minimum security +level among the VM and precompile STARK components actually verified. Deferred verification exposes +the authenticated obligation through `outstanding_precompile_root()` and reports +`is_complete() == false`; complete verification returns no outstanding root. The components may use +different hash functions. Use `Verifier::with_max_stark_proof_size` to bound the serialized size +accepted independently for each STARK; decoding retains a separate 64 MiB per-allocation ceiling. + +Ordinary façade callers decode with the standard bundled registry and existing default deferred +limit via `miden_vm::read_execution_proof_from_bytes(bytes)`. Low-level or custom-precompile callers +use `ExecutionProof::read_from_bytes(bytes, registry, max_elements)` with an explicit trusted +registry and deferred-element bound. + +Encoding and decoding preserve the transport representation but do not establish proof validity. +Malformed cross-artifact values may serialize and decode; call `Verifier::verify` to validate all +structure and supplied STARKs. + +`with_max_stark_proof_size` applies independently to each inner STARK. It does not bound the outer +execution-proof bytes, deferred witness, file, network payload, or aggregate witness. Existing +preallocation and deferred-element limits are unchanged. A coherent aggregate resource policy is +tracked in [#3458](https://github.com/0xMiden/miden-vm/issues/3458). ## Crate features Miden verifier can be compiled with the following features: diff --git a/verifier/src/lib.rs b/verifier/src/lib.rs index b063ccb57d..580ca2292a 100644 --- a/verifier/src/lib.rs +++ b/verifier/src/lib.rs @@ -5,14 +5,10 @@ extern crate alloc; #[cfg(feature = "std")] extern crate std; -use alloc::{boxed::Box, sync::Arc}; +use alloc::boxed::Box; use miden_air::{MidenMultiAir, PublicInputs, Statement, config}; -use miden_core::{ - Felt, - deferred::{DEFAULT_MAX_DEFERRED_ELEMENTS, TRUE_DIGEST}, - field::QuadFelt, -}; +use miden_core::{Felt, deferred::DeferredRoot, field::QuadFelt}; use miden_crypto::stark::{ StarkConfig, VerifierInstance, lmcs::Lmcs, proof::StarkProofData, verifier::VerifierError, }; @@ -20,7 +16,9 @@ use serde::de::DeserializeOwned; use serde_wincode::{SerdeCompat, wincode}; use wincode::io::Reader as _; -/// Maximum encoded STARK proof size and per-sequence preallocation. +const STARK_SECURITY_LEVEL: u32 = 96; + +/// Maximum encoded STARK proof size and per-sequence preallocation used by recursive verification. const MAX_STARK_PROOF_BYTES: usize = 64 * 1024 * 1024; /// Deserializes a serde-backed value and rejects trailing bytes. @@ -42,9 +40,10 @@ where mod exports { pub use miden_core::{ Word, - deferred::{DeferredState, IntegrityError}, program::{ExecutionClaim, KernelDescriptor, ProgramInfo, StackInputs, StackOutputs}, - proof::{DeferredProof, ExecutionProof, HashFunction, StarkProof}, + proof::{ + ExecutionProof, ExecutionProofError, HashFunction, PrecompileProof, StarkProof, VmProof, + }, }; pub mod math { pub use miden_core::Felt; @@ -57,217 +56,207 @@ pub mod recursive; // VERIFIER // ================================================================================================ -/// Configurable verifier for Miden execution proofs. -/// -/// [`Verifier::verify`] performs final verification and rejects wire-backed partial proofs. -/// [`Verifier::verify_partial`] accepts wire-backed partial proofs, rehydrates their deferred -/// state using the standard precompile registry, verifies the Miden VM proof against the hydrated -/// root, and returns the Miden VM security level with the deferred obligation. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +/// Verifier for deferred and complete Miden execution proofs. +#[derive(Debug, Clone, PartialEq, Eq)] pub struct Verifier { - max_deferred_elements: usize, + max_stark_proof_size: usize, } -impl Default for Verifier { - fn default() -> Self { +impl Verifier { + /// Default maximum serialized size of each VM or precompile STARK proof. + pub const DEFAULT_MAX_STARK_PROOF_SIZE: usize = 64 * 1024 * 1024; + + /// Creates a verifier with the canonical verification limits. + pub const fn new() -> Self { Self { - max_deferred_elements: DEFAULT_MAX_DEFERRED_ELEMENTS, + max_stark_proof_size: Self::DEFAULT_MAX_STARK_PROOF_SIZE, } } -} - -impl Verifier { - /// Creates a verifier with default configuration. - pub fn new() -> Self { - Self::default() - } - /// Updates the deferred-state element budget used by [`Self::verify_partial`]. - pub const fn with_max_deferred_elements(mut self, max_deferred_elements: usize) -> Self { - self.max_deferred_elements = max_deferred_elements; + /// Sets the maximum serialized size of each VM or precompile STARK proof. + /// + /// Proof decoding retains an independent per-allocation safety ceiling equal to + /// [`Self::DEFAULT_MAX_STARK_PROOF_SIZE`]. + #[must_use] + pub const fn with_max_stark_proof_size(mut self, max_stark_proof_size: usize) -> Self { + self.max_stark_proof_size = max_stark_proof_size; self } - /// Returns the security level of the final proof if it proves a correct execution of the - /// given claim. + /// Verifies a deferred or complete execution proof against its public claim. /// - /// If the proof contains STARK-backed precompile VM proof material, both the precompile VM - /// proof and the Miden VM proof are verified, and the returned security level is the minimum - /// of the verified proof security levels. If no precompile claims were produced, only the - /// Miden VM proof is verified. + /// The VM STARK authenticates the carried precompile root in either state. Deferred witness + /// data is checked for structural consistency but is not cryptographic evidence and is not + /// verified as a STARK. Complete proofs additionally verify their aggregate precompile STARK + /// when present. The outcome reports the minimum security level of the components actually + /// verified and any authenticated precompile root that remains outstanding. /// /// # Errors - /// Returns an error if: - /// - The provided proof does not prove a correct execution of the claim. - /// - The proof carries wire-backed deferred proof material, which is a partial/delegable form. - /// - The proof's STARK-backed precompile VM proof, if present, does not verify against its - /// public root. + /// + /// Returns an error if the proof structure is invalid or a required STARK rejects. pub fn verify( &self, - proof: ExecutionProof, - claim: ExecutionClaim, - ) -> Result { - let miden_security_level = proof.security_level(); - let (final_deferred_root, precompile_security_level) = - resolve_final_deferred_root(proof.deferred_proof())?; - - verify_stark(claim, final_deferred_root, proof.miden_proof())?; - - Ok(precompile_security_level - .map(|level| miden_security_level.min(level)) - .unwrap_or(miden_security_level)) + claim: &ExecutionClaim, + proof: &ExecutionProof, + ) -> Result { + proof.validate_structure().map_err(VerificationError::InvalidExecutionProof)?; + + match proof { + ExecutionProof::Deferred { vm, .. } => { + let security_level = self.verify_vm(claim, vm)?; + Ok(VerificationOutcome::new(security_level, Some(vm.precompile_root()))) + }, + ExecutionProof::Complete { vm, precompile } => { + let mut security_level = self.verify_vm(claim, vm)?; + if let Some(precompile) = precompile { + security_level = security_level.min(self.verify_precompile(precompile)?); + } + Ok(VerificationOutcome::new(security_level, None)) + }, + } } - /// Verifies a partial proof and returns its Miden VM security level and hydrated deferred - /// state. - /// - /// Partial verification accepts only wire-backed deferred proof material. The wire is hydrated - /// using the standard precompile registry and this verifier's deferred-element budget, then the - /// Miden VM STARK proof is verified against the hydrated state's root. - /// - /// If no budget override was configured with [`Self::with_max_deferred_elements`], partial - /// verification uses [`DEFAULT_MAX_DEFERRED_ELEMENTS`]. - /// - /// # Errors - /// Returns an error if: - /// - The proof is not wire-backed partial proof material. - /// - The wire cannot be hydrated under the standard precompile registry and configured budget. - /// - The provided proof does not prove a correct execution of the program against the hydrated - /// deferred root. - pub fn verify_partial( - &self, - proof: ExecutionProof, - claim: ExecutionClaim, - ) -> Result<(u32, Unsettled), VerificationError> { - let security_level = proof.security_level(); - let deferred_state = - hydrate_deferred_state(proof.deferred_proof(), self.max_deferred_elements)?; - - verify_stark(claim, deferred_state.root(), proof.miden_proof())?; + fn verify_vm(&self, claim: &ExecutionClaim, proof: &VmProof) -> Result { + let program_root = claim.program_root(); + let pub_inputs = PublicInputs::new( + claim.to_program_info(), + *claim.stack_inputs(), + *claim.stack_outputs(), + proof.precompile_root(), + ); + let (public_values, aux_inputs) = pub_inputs.to_air_inputs(); - Ok((security_level, Unsettled(deferred_state))) - } -} + let stark_proof = proof.proof(); + let proof_bytes = stark_proof.bytes(); + let params = config::pcs_params(); + match stark_proof.hash_fn() { + HashFunction::Blake3_256 => { + let config = config::blake3_256_config(params, config::RELATION_DIGEST); + self.verify_stark_proof(&config, &public_values, &aux_inputs, proof_bytes) + }, + HashFunction::Rpo256 => { + let config = config::rpo_config(params, config::RELATION_DIGEST); + self.verify_stark_proof(&config, &public_values, &aux_inputs, proof_bytes) + }, + HashFunction::Rpx256 => { + let config = config::rpx_config(params, config::RELATION_DIGEST); + self.verify_stark_proof(&config, &public_values, &aux_inputs, proof_bytes) + }, + HashFunction::Poseidon2 => { + let config = config::poseidon2_config(params, config::RELATION_DIGEST); + self.verify_stark_proof(&config, &public_values, &aux_inputs, proof_bytes) + }, + HashFunction::Keccak => { + let config = config::keccak_config(params, config::RELATION_DIGEST); + self.verify_stark_proof(&config, &public_values, &aux_inputs, proof_bytes) + }, + } + .map_err(|error| { + VerificationError::StarkVerificationError(program_root, Box::new(error)) + })?; -/// The obligation a partially verified proof hands back: the hydrated deferred state whose root -/// the verified statement bound. -/// -/// It must be settled into a final proof form or re-exposed in the caller's own statement; it -/// must not be dropped. -#[must_use = "the deferred obligation must be settled or re-exposed, not dropped"] -#[derive(Debug)] -pub struct Unsettled(DeferredState); - -impl Unsettled { - /// Returns the deferred root bound by the verified statement. - pub fn root(&self) -> Word { - self.0.root() + Ok(STARK_SECURITY_LEVEL) } - /// Consumes the obligation into its hydrated deferred state, for settlement or re-exposure. - pub fn into_state(self) -> DeferredState { - self.0 + fn verify_precompile(&self, proof: &PrecompileProof) -> Result { + miden_precompiles_prover::verify_deferred( + proof.proof(), + proof.aggregate_root(), + self.max_stark_proof_size, + )?; + Ok(STARK_SECURITY_LEVEL) } -} -/// Returns the security level of the final proof if it proves a correct execution of the given -/// claim, under the default verifier configuration. -/// -/// Wire-backed deferred proofs are partial/delegable proof material and are rejected here; use -/// [`Verifier::verify_partial`] to verify and hydrate wire-backed partial proofs. -/// -/// # Errors -/// Returns an error if: -/// - The provided proof does not prove a correct execution of the claim. -/// - The proof carries wire-backed deferred proof material, which is a partial/delegable form. -/// - The proof's STARK-backed deferred proof, if present, does not verify against its public root. -pub fn verify(proof: ExecutionProof, claim: ExecutionClaim) -> Result { - Verifier::default().verify(proof, claim) -} + /// Verifies a multi-AIR STARK proof for the Miden VM statement. + /// + /// Pre-seeds the challenger with protocol parameters, AIR public values, and statement + /// `aux_inputs` (program hash, final deferred root, and kernel-procedure digests). Then + /// delegates to the lifted multi-AIR verifier. + fn verify_stark_proof( + &self, + config: &SC, + public_values: &[Felt], + aux_inputs: &[Felt], + proof_bytes: &[u8], + ) -> Result<(), StarkVerificationError> + where + SC: StarkConfig, + ::Commitment: DeserializeOwned, + { + if proof_bytes.len() > self.max_stark_proof_size { + return Err(StarkVerificationError::ProofTooLarge { + size: proof_bytes.len(), + max: self.max_stark_proof_size, + }); + } -// HELPER FUNCTIONS -// ================================================================================================ + let proof_encoding_config = wincode::config::Configuration::default() + .with_preallocation_size_limit::<{ Self::DEFAULT_MAX_STARK_PROOF_SIZE }>(); + let proof = deserialize_serde_exact::, _>( + proof_bytes, + proof_encoding_config, + )?; + + let mut challenger = config.challenger(); + config::observe_protocol_params(config.pcs(), &mut challenger); + + // `air_inputs` are the public values read by the AIRs (stack i/o); `aux_inputs` are the + // statement inputs read during observation/boundary correction. The lifted verifier absorbs + // both into Fiat-Shamir internally, and derives the multi-AIR ordering deterministically + // from the proof's per-AIR trace heights. + let statement = Statement::::new( + MidenMultiAir::new(), + public_values.to_vec(), + aux_inputs.to_vec(), + ) + .map_err(|error| StarkVerificationError::Verifier(VerifierError::from(error)))?; -fn resolve_final_deferred_root( - deferred_proof: &DeferredProof, -) -> Result<(Word, Option), VerificationError> { - match deferred_proof { - DeferredProof::Empty => Ok((TRUE_DIGEST, None)), - DeferredProof::Wire(_) => Err(VerificationError::UnsupportedDeferredProof), - DeferredProof::Stark { proof, .. } => { - let root = miden_precompiles_prover::verify_deferred(deferred_proof)?; - Ok((root, Some(stark_security_level(proof)))) - }, + VerifierInstance::new(config, &statement, None) + .expect("Miden AIRs declare no preprocessed columns") + .verify(&proof, challenger)?; + Ok(()) } } -fn hydrate_deferred_state( - deferred_proof: &DeferredProof, - max_deferred_elements: usize, -) -> Result { - match deferred_proof { - DeferredProof::Wire(wire) => Ok(DeferredState::from_wire( - Arc::new(miden_precompiles::registry()), - wire, - max_deferred_elements, - )?), - DeferredProof::Empty | DeferredProof::Stark { .. } => { - Err(VerificationError::UnsupportedDeferredProof) - }, +impl Default for Verifier { + fn default() -> Self { + Self::new() } } -fn stark_security_level(_proof: &StarkProof) -> u32 { - // TODO: placeholder for the precompile-VM proof's security level. Blocked on the - // precompile-VM security estimator (does not exist yet); wire together with the VM-side - // native level via `miden_air::config`. `verify` returns `min(vm_level, this)`, so this must - // become real before the composite is trustworthy for deferred proofs. - 96 +/// Result of fully verifying an execution proof and all supplied STARKs. +#[must_use = "verification may leave an outstanding precompile obligation"] +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct VerificationOutcome { + security_level: u32, + outstanding_precompile_root: Option, } -fn verify_stark( - claim: ExecutionClaim, - final_deferred_root: Word, - stark_proof: &StarkProof, -) -> Result<(), VerificationError> { - let program_hash = claim.program_root(); - - let pub_inputs = PublicInputs::new( - claim.to_program_info(), - *claim.stack_inputs(), - *claim.stack_outputs(), - final_deferred_root, - ); - let (public_values, aux_inputs) = pub_inputs.to_air_inputs(); - - let hash_fn = stark_proof.hash_fn(); - let proof_bytes = stark_proof.bytes(); - let params = config::pcs_params(); - match hash_fn { - HashFunction::Blake3_256 => { - let config = config::blake3_256_config(params, config::RELATION_DIGEST); - verify_stark_proof(&config, &public_values, &aux_inputs, proof_bytes) - }, - HashFunction::Rpo256 => { - let config = config::rpo_config(params, config::RELATION_DIGEST); - verify_stark_proof(&config, &public_values, &aux_inputs, proof_bytes) - }, - HashFunction::Rpx256 => { - let config = config::rpx_config(params, config::RELATION_DIGEST); - verify_stark_proof(&config, &public_values, &aux_inputs, proof_bytes) - }, - HashFunction::Poseidon2 => { - let config = config::poseidon2_config(params, config::RELATION_DIGEST); - verify_stark_proof(&config, &public_values, &aux_inputs, proof_bytes) - }, - HashFunction::Keccak => { - let config = config::keccak_config(params, config::RELATION_DIGEST); - verify_stark_proof(&config, &public_values, &aux_inputs, proof_bytes) - }, +impl VerificationOutcome { + const fn new(security_level: u32, outstanding_precompile_root: Option) -> Self { + Self { + security_level, + outstanding_precompile_root, + } + } + + /// Returns the minimum security level of the STARK components that were verified. + pub const fn security_level(&self) -> u32 { + self.security_level + } + + /// Returns whether this verified outcome has no outstanding precompile obligation. + /// + /// Unlike [`ExecutionProof::is_complete`], this result is produced only after full structural + /// validation and verification of every supplied STARK. + pub const fn is_complete(&self) -> bool { + self.outstanding_precompile_root.is_none() } - .map_err(|e| VerificationError::StarkVerificationError(program_hash, Box::new(e)))?; - Ok(()) + /// Returns the authenticated precompile root that remains to be proved, if any. + pub const fn outstanding_precompile_root(&self) -> Option { + self.outstanding_precompile_root + } } // ERRORS @@ -276,19 +265,14 @@ fn verify_stark( /// Errors that can occur during proof verification. #[derive(Debug, thiserror::Error)] pub enum VerificationError { - #[error("failed to verify STARK proof for program with hash {0}")] + #[error("failed to verify VM STARK proof for program with hash {0}")] StarkVerificationError(Word, #[source] Box), - #[error("deferred-DAG integrity check failed: {0}")] - DeferredIntegrity(#[from] IntegrityError), - #[error("failed to verify STARK-backed deferred proof: {0}")] - DeferredStarkVerification(#[from] miden_precompiles_prover::VerifyError), - #[error("deferred proof form is not supported by this verification mode")] - UnsupportedDeferredProof, + #[error("execution proof has invalid structure: {0}")] + InvalidExecutionProof(#[source] ExecutionProofError), + #[error("failed to verify aggregate precompile STARK proof: {0}")] + PrecompileStarkVerification(#[from] miden_precompiles_prover::VerifyError), } -// STARK PROOF VERIFICATION -// ================================================================================================ - /// Errors that can occur during low-level STARK proof verification. #[derive(Debug, thiserror::Error)] pub enum StarkVerificationError { @@ -300,60 +284,14 @@ pub enum StarkVerificationError { Verifier(#[from] VerifierError), } -/// Verifies a multi-AIR STARK proof for the Miden VM statement. -/// -/// Pre-seeds the challenger with protocol parameters, AIR public values, and statement -/// `aux_inputs` (program hash, final deferred root, and kernel-procedure digests). Then delegates -/// to the lifted multi-AIR verifier. -fn verify_stark_proof( - config: &SC, - public_values: &[Felt], - aux_inputs: &[Felt], - proof_bytes: &[u8], -) -> Result<(), StarkVerificationError> -where - SC: StarkConfig, - ::Commitment: DeserializeOwned, -{ - if proof_bytes.len() > MAX_STARK_PROOF_BYTES { - return Err(StarkVerificationError::ProofTooLarge { - size: proof_bytes.len(), - max: MAX_STARK_PROOF_BYTES, - }); - } - - let proof_encoding_config = wincode::config::Configuration::default() - .with_preallocation_size_limit::(); - let proof = deserialize_serde_exact::, _>( - proof_bytes, - proof_encoding_config, - )?; - - let mut challenger = config.challenger(); - config::observe_protocol_params(config.pcs(), &mut challenger); - - // `air_inputs` are the public values read by the AIRs (stack i/o); `aux_inputs` are the - // statement inputs read during observation/boundary correction. The lifted verifier absorbs - // both into Fiat-Shamir internally, and derives the multi-AIR ordering deterministically from - // the proof's per-AIR trace heights. - let statement = Statement::::new( - MidenMultiAir::new(), - public_values.to_vec(), - aux_inputs.to_vec(), - ) - .map_err(|e| StarkVerificationError::Verifier(VerifierError::from(e)))?; - - VerifierInstance::new(config, &statement, None) - .expect("Miden AIRs declare no preprocessed columns") - .verify(&proof, challenger)?; - Ok(()) -} - #[cfg(test)] mod tests { - use alloc::vec::Vec; + use alloc::{sync::Arc, vec, vec::Vec}; - use miden_core::deferred::DeferredStateWire; + use miden_core::deferred::{ + DEFAULT_MAX_DEFERRED_ELEMENTS, DeferredState, Node, PrecompileRegistry, PrecompileWitness, + TRUE_DIGEST, + }; use super::*; @@ -371,61 +309,154 @@ mod tests { assert!(matches!(err, wincode::error::ReadError::TrailingBytes)); } + fn claim() -> ExecutionClaim { + ExecutionClaim::from_program_info( + ProgramInfo::default(), + StackInputs::default(), + StackOutputs::default(), + ) + } + + fn root(value: u64) -> Word { + [ + Felt::new(value).unwrap(), + Felt::new(0).unwrap(), + Felt::new(0).unwrap(), + Felt::new(0).unwrap(), + ] + .into() + } + + fn vm_proof(precompile_root: Word) -> VmProof { + VmProof::from_parts(StarkProof::new(vec![0, 0], HashFunction::Blake3_256), precompile_root) + } + + fn witness() -> PrecompileWitness { + let mut state = DeferredState::default(); + let statement = state.register(Node::and(TRUE_DIGEST, TRUE_DIGEST)).unwrap(); + state.log_statement(statement).unwrap(); + PrecompileWitness::new(state).unwrap() + } + + fn precompile_proof(roots: Vec) -> PrecompileProof { + PrecompileProof::from_parts(StarkProof::new(vec![0, 0], HashFunction::Poseidon2), roots) + .unwrap() + } + + fn assert_invalid_shape(proof: &ExecutionProof, expected: ExecutionProofError) { + let claim = claim(); + let error = Verifier::new().with_max_stark_proof_size(0).verify(&claim, proof).unwrap_err(); + let VerificationError::InvalidExecutionProof(error) = error else { + panic!("expected execution proof structure error") + }; + assert_eq!(error, expected); + } + #[test] - fn final_deferred_root_resolution_accepts_empty_rejects_wire_and_verifies_stark() { - let (root, security_level) = resolve_final_deferred_root(&DeferredProof::Empty).unwrap(); - assert_eq!(root, TRUE_DIGEST); - assert_eq!(security_level, None); - - let wire = DeferredProof::wire(DeferredStateWire::default()); - let err = resolve_final_deferred_root(&wire).unwrap_err(); - assert!( - matches!(err, VerificationError::UnsupportedDeferredProof), - "expected wire-backed partial proof to be rejected, got {err:?}" + fn verifier_revalidates_public_variants_before_stark_verification() { + let witness = witness(); + let witness_root = witness.root(); + + assert_invalid_shape( + &ExecutionProof::Deferred { + vm: vm_proof(TRUE_DIGEST), + precompile: witness.clone(), + }, + ExecutionProofError::DeferredTrueRoot, ); - - let stark = DeferredProof::stark( - StarkProof::new(Vec::from([0_u8]), HashFunction::Poseidon2), - TRUE_DIGEST, + let merged = PrecompileWitness::merge( + vec![witness.clone(), witness.clone()], + DEFAULT_MAX_DEFERRED_ELEMENTS, + ) + .unwrap(); + assert_invalid_shape( + &ExecutionProof::Deferred { + vm: vm_proof(merged.root()), + precompile: merged, + }, + ExecutionProofError::DeferredNonSingletonWitness { roots: 2 }, + ); + assert_invalid_shape( + &ExecutionProof::Deferred { + vm: vm_proof(root(99)), + precompile: witness, + }, + ExecutionProofError::DeferredRootMismatch, ); - let err = resolve_final_deferred_root(&stark).unwrap_err(); - assert!( - matches!(err, VerificationError::DeferredStarkVerification(_)), - "expected invalid STARK-backed precompile VM proof to be verified and rejected, got {err:?}" + assert_invalid_shape( + &ExecutionProof::Complete { + vm: vm_proof(witness_root), + precompile: None, + }, + ExecutionProofError::MissingPrecompileProof, + ); + assert_invalid_shape( + &ExecutionProof::Complete { + vm: vm_proof(TRUE_DIGEST), + precompile: Some(precompile_proof(vec![witness_root])), + }, + ExecutionProofError::UnexpectedPrecompileProof, + ); + assert_invalid_shape( + &ExecutionProof::Complete { + vm: vm_proof(root(99)), + precompile: Some(precompile_proof(vec![witness_root])), + }, + ExecutionProofError::InsufficientPrecompileRootCoverage, ); } #[test] - fn partial_deferred_hydration_accepts_wire_and_rejects_final_forms() { - let wire = DeferredStateWire::default(); - let deferred_proof = DeferredProof::wire(wire.clone()); - let deferred_state = hydrate_deferred_state(&deferred_proof, DEFAULT_MAX_DEFERRED_ELEMENTS) - .expect("empty wire should hydrate under the standard precompile registry"); - - assert_eq!(deferred_state.root(), TRUE_DIGEST); - assert_eq!(deferred_state.to_wire().unwrap(), wire); - - for final_proof in [ - DeferredProof::Empty, - DeferredProof::stark( - StarkProof::new(Vec::from([0_u8]), HashFunction::Poseidon2), - TRUE_DIGEST, - ), - ] { - let err = - hydrate_deferred_state(&final_proof, DEFAULT_MAX_DEFERRED_ELEMENTS).unwrap_err(); - assert!( - matches!(err, VerificationError::UnsupportedDeferredProof), - "expected final proof material to be rejected by partial hydration, got {err:?}" - ); - } + fn malformed_execution_proof_round_trips_but_fails_verification() { + let malformed = ExecutionProof::Complete { vm: vm_proof(root(1)), precompile: None }; + let bytes = malformed.to_bytes().unwrap(); + let decoded = ExecutionProof::read_from_bytes( + &bytes, + Arc::new(PrecompileRegistry::new()), + usize::MAX, + ) + .unwrap(); + + assert_eq!(decoded.to_bytes().unwrap(), bytes); + assert_invalid_shape(&decoded, ExecutionProofError::MissingPrecompileProof); + } + + #[test] + fn verification_outcome_reports_security_and_outstanding_root() { + let outstanding_root = root(7); + let deferred = VerificationOutcome::new(STARK_SECURITY_LEVEL, Some(outstanding_root)); + assert_eq!(deferred.security_level(), STARK_SECURITY_LEVEL); + assert!(!deferred.is_complete()); + assert_eq!(deferred.outstanding_precompile_root(), Some(outstanding_root)); + + let complete = VerificationOutcome::new(STARK_SECURITY_LEVEL, None); + assert_eq!(complete.security_level(), STARK_SECURITY_LEVEL); + assert!(complete.is_complete()); + assert_eq!(complete.outstanding_precompile_root(), None); + } + + #[test] + fn verifier_applies_configured_stark_proof_size_limit() { + let proof = ExecutionProof::new_complete( + VmProof::from_parts(StarkProof::new(vec![0, 0], HashFunction::Blake3_256), TRUE_DIGEST), + None, + ) + .unwrap(); + let claim = claim(); + + let error = + Verifier::new().with_max_stark_proof_size(1).verify(&claim, &proof).unwrap_err(); + let VerificationError::StarkVerificationError(_, error) = error else { + panic!("expected VM STARK verification error") + }; + assert!(matches!(*error, StarkVerificationError::ProofTooLarge { size: 2, max: 1 })); } #[test] fn proof_encoding_config_rejects_oversized_native_vec_preallocation() { let proof_encoding_config = wincode::config::Configuration::default() - .with_preallocation_size_limit::(); - let element_count = MAX_STARK_PROOF_BYTES + 1; + .with_preallocation_size_limit::<{ Verifier::DEFAULT_MAX_STARK_PROOF_SIZE }>(); + let element_count = Verifier::DEFAULT_MAX_STARK_PROOF_SIZE + 1; let mut length_prefix = Vec::new(); >::serialize_into( @@ -440,33 +471,10 @@ mod tests { ) .unwrap_err(); - assert!( - matches!( - err, - wincode::error::ReadError::PreallocationSizeLimit { needed, limit } - if needed == element_count && limit == MAX_STARK_PROOF_BYTES - ), - "expected proof encoding config to reject oversized allocation, got {err:?}" - ); - } - - #[test] - fn verify_stark_proof_rejects_oversized_proof_bytes() { - let params = config::pcs_params(); - let config = config::poseidon2_config(params, config::RELATION_DIGEST); - let proof_bytes = Vec::from_iter(core::iter::repeat_n(0, MAX_STARK_PROOF_BYTES + 1)); - - let err = verify_stark_proof(&config, &[], &[], &proof_bytes).unwrap_err(); - - assert!( - matches!( - err, - StarkVerificationError::ProofTooLarge { - size, - max: MAX_STARK_PROOF_BYTES, - } if size == proof_bytes.len() - ), - "expected explicit proof byte limit to reject oversized proof, got {err:?}" - ); + assert!(matches!( + err, + wincode::error::ReadError::PreallocationSizeLimit { needed, limit } + if needed == element_count && limit == Verifier::DEFAULT_MAX_STARK_PROOF_SIZE + )); } } diff --git a/verifier/src/recursive/mod.rs b/verifier/src/recursive/mod.rs index 33f35a7ae9..c8af94f0fb 100644 --- a/verifier/src/recursive/mod.rs +++ b/verifier/src/recursive/mod.rs @@ -1,15 +1,17 @@ //! Building the advice a MASM recursive verifier consumes to verify a Miden VM proof. //! //! `exec.vm::verify_vm_proof` reads a STARK proof from the advice provider in a fixed -//! order. This module is the producer side of that ABI: it destructures an [`ExecutionProof`] -//! against its [`ExecutionClaim`] into the advice-stack stream, the Merkle store, and the query -//! advice-map entries the verifier consumes. The consumption order is exercised end to end by the -//! recursive verification tests, which drive the real MASM verifier over this output. +//! order. This module is the producer side of that ABI: it selects the VM component of an +//! [`ExecutionProof`] and packages it against its [`ExecutionClaim`] into the advice-stack stream, +//! the Merkle store, and the query advice-map entries the verifier consumes. Its authenticated +//! precompile root is part of the VM statement; a completed precompile STARK is not verified here. +//! The consumption order is exercised end to end by the recursive verification tests, which drive +//! the real MASM verifier over this output. //! //! The stream carries only the proof — the claim is the consumer's and never travels in it: //! //! security params (nq, query_pow, deep_pow, folding_pow) -> -//! deferred root -> Miden AIR heights -> main commit -> aux commit -> +//! authenticated precompile root -> Miden AIR heights -> main commit -> aux commit -> //! aux finals -> quotient commit -> deep alpha -> OOD evals -> //! DEEP PoW witness -> FRI rounds -> FRI remainder -> query PoW witness //! @@ -21,7 +23,6 @@ use alloc::{ string::{String, ToString}, - sync::Arc, vec, vec::Vec, }; @@ -33,10 +34,9 @@ use miden_air::{ use miden_core::{ Felt, Word, crypto::merkle::{MerklePath, MerkleStore, PartialMerkleTree}, - deferred::{DEFAULT_MAX_DEFERRED_ELEMENTS, DeferredState, IntegrityError, TRUE_DIGEST}, field::QuadFelt, program::{ExecutionClaim, request_key}, - proof::{DeferredProof, ExecutionProof, HashFunction}, + proof::{ExecutionProof, HashFunction}, }; use miden_crypto::{ field::BasedVectorSpace, @@ -108,8 +108,6 @@ pub enum RecursiveAdviceError { InvalidProofShape(&'static str), #[error("statement assembly error: {0}")] StatementAssembly(String), - #[error("deferred wire hydration failed: {0}")] - DeferredIntegrity(#[from] IntegrityError), #[error("recursive verification supports only Poseidon2 proofs, got {0:?}")] UnsupportedHashFunction(HashFunction), #[error("transcript error: {0}")] @@ -129,15 +127,18 @@ struct MidenTraceHeights { // PUBLIC API // ================================================================================================ -/// Builds the advice a MASM recursive verifier consumes to verify a Miden VM proof against -/// its claim. +/// Builds the advice a MASM recursive verifier consumes to verify the VM STARK component of an +/// execution proof against its claim and authenticated precompile root. /// -/// The proof must be a Poseidon2 proof — the recursive verifier verifies only Poseidon2 STARKs. +/// This verifies `proof.vm().proof()` against `proof.vm().precompile_root()`; it does not verify a +/// completed precompile STARK carried by [`ExecutionProof::Complete`]. The VM proof must use +/// Poseidon2. pub fn advice_inputs( proof: &ExecutionProof, claim: &ExecutionClaim, ) -> Result { - let stark = proof.miden_proof(); + let vm = proof.vm(); + let stark = vm.proof(); if stark.hash_fn() != HashFunction::Poseidon2 { return Err(RecursiveAdviceError::UnsupportedHashFunction(stark.hash_fn())); } @@ -145,7 +146,7 @@ pub fn advice_inputs( claim.to_program_info(), *claim.stack_inputs(), *claim.stack_outputs(), - resolve_deferred_root(proof.deferred_proof())?, + vm.precompile_root(), ); let mut inputs = build_from_proof_bytes(stark.bytes(), &pub_inputs, claim.commitment())?; @@ -162,23 +163,6 @@ pub fn advice_inputs( Ok(inputs) } -/// Resolves the deferred root the outer VM statement binds, from the proof's deferred material: -/// the canonical TRUE digest when no precompile claims were produced, the nested proof's public -/// root when STARK-backed, and the hydrated wire's root for partial proofs (standard precompile -/// registry, default deferred-element budget). -fn resolve_deferred_root(deferred: &DeferredProof) -> Result { - match deferred { - DeferredProof::Empty => Ok(TRUE_DIGEST), - DeferredProof::Stark { public_root, .. } => Ok(*public_root), - DeferredProof::Wire(wire) => Ok(DeferredState::from_wire( - Arc::new(miden_precompiles::registry()), - wire, - DEFAULT_MAX_DEFERRED_ELEMENTS, - )? - .root()), - } -} - // ADVICE CONSTRUCTION // ================================================================================================ @@ -265,7 +249,7 @@ fn build_advice( let mut advice_stack = security_parameter_words(config.pcs()).to_vec(); - // Final deferred root, loaded by `public_inputs::stage_boundary_inputs`. + // VM-authenticated precompile root, loaded by `public_inputs::stage_boundary_inputs`. advice_stack.extend_from_slice(pub_inputs.deferred_root().as_ref()); for height in heights.instance_log_heights { @@ -448,7 +432,10 @@ fn challenge_felts(challenges: &[Challenge]) -> Vec { #[cfg(test)] mod tests { - use miden_core::program::{KernelDescriptor, ProgramInfo, StackInputs, StackOutputs}; + use miden_core::{ + program::{KernelDescriptor, ProgramInfo, StackInputs, StackOutputs}, + proof::{StarkProof as CoreStarkProof, VmProof}, + }; use super::*; @@ -456,11 +443,13 @@ mod tests { /// bytes — the recursive verifier verifies only Poseidon2 STARKs. #[test] fn advice_inputs_rejects_non_poseidon2_proofs() { - let proof = ExecutionProof::from_parts( - Vec::new(), - HashFunction::Blake3_256, - DeferredProof::empty(), - ); + let proof = ExecutionProof::Complete { + vm: VmProof::from_parts( + CoreStarkProof::new(Vec::new(), HashFunction::Blake3_256), + Word::default(), + ), + precompile: None, + }; let claim = ExecutionClaim::from_program_info( ProgramInfo::new(Word::default(), KernelDescriptor::default()), StackInputs::default(),