From 1cde4ca18bf8ea002c7758f0bacd63bab4b9ddb5 Mon Sep 17 00:00:00 2001 From: Filip Krawczyk Date: Thu, 22 Feb 2024 08:49:53 +0100 Subject: [PATCH 01/48] Change channel to poseidon --- src/channel/channel.cairo | 130 +++++++++--------- src/proof_of_work/proof_of_work.cairo | 2 +- src/queries/queries.cairo | 1 + src/stark/stark_commit.cairo | 2 +- src/vector_commitment/vector_commitment.cairo | 2 +- 5 files changed, 67 insertions(+), 70 deletions(-) diff --git a/src/channel/channel.cairo b/src/channel/channel.cairo index 653f9fd3c..bd3015a33 100644 --- a/src/channel/channel.cairo +++ b/src/channel/channel.cairo @@ -6,49 +6,55 @@ use cairo_verifier::common::{ MONTGOMERY_R_INVERSE } }; -use poseidon::poseidon_hash_span; +use poseidon::{hades_permutation, poseidon_hash_span}; use core::integer::BoundedU128; #[derive(Drop)] struct Channel { - digest: u256, - counter: u256, + digest: felt252, + counter: felt252, } #[generate_trait] impl ChannelImpl of ChannelTrait { - fn new(digest: u256) -> Channel { + fn new(digest: felt252) -> Channel { Channel { digest: digest, counter: 0 } } - fn new_with_counter(digest: u256, counter: u256) -> Channel { + fn new_with_counter(digest: felt252, counter: felt252) -> Channel { Channel { digest: digest, counter: counter } } - fn random_uint256_to_prover(ref self: Channel) -> u256 { - let mut hash_data = ArrayTrait::new(); // u32 for blake, u64 for keccak - hash_data.append_big_endian(self.digest); - hash_data.append_big_endian(self.counter); - self.counter += 1; - hash(hash_data).flip_endianness() - } + // fn random_uint256_to_prover(ref self: Channel) -> u256 { + // let mut hash_data = ArrayTrait::new(); // u32 for blake, u64 for keccak + // hash_data.append_big_endian(self.digest); + // hash_data.append_big_endian(self.counter); + // self.counter += 1; + // hash(hash_data).flip_endianness() + // } + + // fn random_felt_to_prover(ref self: Channel) -> felt252 { + // let mut res: felt252 = 0; + + // // To ensure a uniform distribution over field elements, if the generated 256-bit number x is in + // // range [0, C * PRIME), take x % PRIME. Otherwise, regenerate. + // // The maximal possible C is 2**256//PRIME = 31. + + // loop { + // let rand = self.random_uint256_to_prover(); + // if (rand < u256 { low: C_PRIME_AS_UINT256_LOW, high: C_PRIME_AS_UINT256_HIGH }) { + // let to_append = (rand % STARK_PRIME).try_into().unwrap(); + // res = to_append * MONTGOMERY_R_INVERSE; + // break; + // } + // }; + // res + // } fn random_felt_to_prover(ref self: Channel) -> felt252 { - let mut res: felt252 = 0; - - // To ensure a uniform distribution over field elements, if the generated 256-bit number x is in - // range [0, C * PRIME), take x % PRIME. Otherwise, regenerate. - // The maximal possible C is 2**256//PRIME = 31. - - loop { - let rand = self.random_uint256_to_prover(); - if (rand < u256 { low: C_PRIME_AS_UINT256_LOW, high: C_PRIME_AS_UINT256_HIGH }) { - let to_append = (rand % STARK_PRIME).try_into().unwrap(); - res = to_append * MONTGOMERY_R_INVERSE; - break; - } - }; - res + let (hash, _, _) = hades_permutation(self.digest, self.counter, 2); + self.counter += 1; + hash } fn random_felts_to_prover(ref self: Channel, mut n: felt252) -> Array { @@ -63,63 +69,53 @@ impl ChannelImpl of ChannelTrait { }; res } +// not sure what to do with it +// fn read_truncated_hash_from_prover(ref self: Channel, value: felt252) { +// let mut hash_data = ArrayTrait::new(); // u32 for blake, u64 for keccak - fn read_truncated_hash_from_prover(ref self: Channel, value: felt252) { - let mut hash_data = ArrayTrait::new(); // u32 for blake, u64 for keccak - - assert(self.digest.low != BoundedU128::max(), 'digest low is 2^128-1'); - hash_data.append_big_endian(self.digest + 1); - hash_data.append_big_endian(value); - - self.digest = hash(hash_data).flip_endianness(); - self.counter = 0; - } +// assert(self.digest.low != BoundedU128::max(), 'digest low is 2^128-1'); +// hash_data.append_big_endian(self.digest + 1); +// hash_data.append_big_endian(value); - fn read_felt_from_prover(ref self: Channel, value: felt252) { - let mut hash_data = ArrayTrait::new(); // u32 for blake, u64 for keccak +// self.digest = hash(hash_data).flip_endianness(); +// self.counter = 0; +// } - assert(self.digest.low != BoundedU128::max(), 'digest low is 2^128-1'); - hash_data.append_big_endian(self.digest + 1); - hash_data.append_big_endian(value * MONTGOMERY_R); +fn read_felt_from_prover(ref self: Channel, value: felt252) { + let mut hash_data = ArrayTrait::new(); + hash_data.append(self.digest + 1); + hash_data.append(value); - self.digest = hash(hash_data).flip_endianness(); - self.counter = 0; - } + self.digest = poseidon_hash_span(hash_data.span()); + self.counter = 0; +} - fn read_felts_from_prover(ref self: Channel, mut values: Span) { - loop { - match values.pop_front() { - Option::Some(value) => { self.read_felt_from_prover(*value); }, - Option::None => { break; } - } - } - } +// fn read_felts_from_prover(ref self: Channel, mut values: Span) { +// loop { +// match values.pop_front() { +// Option::Some(value) => { self.read_felt_from_prover(*value); }, +// Option::None => { break; } +// } +// } +// } fn read_felt_vector_from_prover(ref self: Channel, mut values: Span) { - let mut hash_data = ArrayTrait::new(); // u32 for blake, u64 for keccak + let mut hash_data = ArrayTrait::new(); - assert(self.digest.low != BoundedU128::max(), 'digest low is 2^128-1'); - hash_data.append_big_endian(self.digest + 1); + hash_data.append(self.digest + 1); loop { match values.pop_front() { - Option::Some(value) => { hash_data.append_big_endian(*value * MONTGOMERY_R); }, + Option::Some(value) => { hash_data.append(*value); }, Option::None => { break; } } }; - self.digest = hash(hash_data).flip_endianness(); + self.digest = poseidon_hash_span(hash_data.span()); self.counter = 0; } fn read_uint64_from_prover(ref self: Channel, value: u64) { - let mut hash_data = ArrayTrait::new(); // u32 for blake, u64 for keccak - - assert(self.digest.low != BoundedU128::max(), 'digest low is 2^128-1'); - hash_data.append_big_endian(self.digest + 1); - hash_data.append_big_endian(value); - - self.digest = hash(hash_data).flip_endianness(); - self.counter = 0; + self.read_felt_from_prover(value.into()) } -} +} \ No newline at end of file diff --git a/src/proof_of_work/proof_of_work.cairo b/src/proof_of_work/proof_of_work.cairo index ee1c5374e..45d512f08 100644 --- a/src/proof_of_work/proof_of_work.cairo +++ b/src/proof_of_work/proof_of_work.cairo @@ -16,7 +16,7 @@ struct ProofOfWorkUnsentCommitment { fn proof_of_work_commit( ref channel: Channel, unsent_commitment: ProofOfWorkUnsentCommitment, config: ProofOfWorkConfig ) { - verify_proof_of_work(channel.digest, config.n_bits, unsent_commitment.nonce); + verify_proof_of_work(channel.digest.into(), config.n_bits, unsent_commitment.nonce); channel.read_uint64_from_prover(unsent_commitment.nonce); } diff --git a/src/queries/queries.cairo b/src/queries/queries.cairo index b3294362c..a5f23e686 100644 --- a/src/queries/queries.cairo +++ b/src/queries/queries.cairo @@ -35,6 +35,7 @@ fn sample_random_queries( break; } + // TODO: (hashing) fix this let res = channel.random_uint256_to_prover(); let (hh, hl) = DivRem::div_rem(res.high, u64_modulus_nonzero); diff --git a/src/stark/stark_commit.cairo b/src/stark/stark_commit.cairo index 4a92c680a..92abeb384 100644 --- a/src/stark/stark_commit.cairo +++ b/src/stark/stark_commit.cairo @@ -37,7 +37,7 @@ fn stark_commit( let interaction_after_composition = channel.random_felt_to_prover(); // Read OODS values. - channel.read_felts_from_prover(*unsent_commitment.oods_values); + channel.read_felt_vector_from_prover(*unsent_commitment.oods_values); // Check that the trace and the composition agree at oods_point. verify_oods( diff --git a/src/vector_commitment/vector_commitment.cairo b/src/vector_commitment/vector_commitment.cairo index af325e5ca..01d86b0ac 100644 --- a/src/vector_commitment/vector_commitment.cairo +++ b/src/vector_commitment/vector_commitment.cairo @@ -63,7 +63,7 @@ struct VectorCommitmentWitness { fn vector_commit( ref channel: Channel, unsent_commitment: felt252, config: VectorCommitmentConfig ) -> VectorCommitment { - channel.read_truncated_hash_from_prover(unsent_commitment); // commitment is being sent + channel.read_felt_from_prover(unsent_commitment); // commitment is being sent VectorCommitment { config: config, commitment_hash: unsent_commitment, } } From 5f5c3e0f308cb1a3c045f704fe6328b779e3273e Mon Sep 17 00:00:00 2001 From: Filip Krawczyk Date: Thu, 22 Feb 2024 14:21:52 +0100 Subject: [PATCH 02/48] Fix public input and memory --- src/air/public_input.cairo | 81 ++++++++++++++----------------------- src/air/public_memory.cairo | 2 +- 2 files changed, 31 insertions(+), 52 deletions(-) diff --git a/src/air/public_input.cairo b/src/air/public_input.cairo index 09abab494..2da45d392 100644 --- a/src/air/public_input.cairo +++ b/src/air/public_input.cairo @@ -1,6 +1,7 @@ use core::{pedersen::PedersenTrait, hash::{HashStateTrait, HashStateExTrait, Hash}}; use cairo_verifier::{ common::{ + array_extend::ArrayExtend, flip_endianness::FlipEndiannessTrait, array_append::ArrayAppendTrait, hasher::hash, math::{pow, Felt252PartialOrd, Felt252Div}, asserts::assert_range_u128_le, array_print::SpanPrintTrait, hash::hash_felts, @@ -16,6 +17,7 @@ use cairo_verifier::{ }, domains::StarkDomains }; +use poseidon::poseidon_hash_span; #[derive(Drop, Copy, PartialEq)] struct SegmentInfo { @@ -42,7 +44,7 @@ struct PublicInput { #[generate_trait] impl PublicInputImpl of PublicInputTrait { // Computes the hash of the public input, which is used as the initial seed for the Fiat-Shamir heuristic. - fn get_public_input_hash(self: @PublicInput) -> u256 { + fn get_public_input_hash(self: @PublicInput) -> felt252 { // Main page hash. let mut main_page_hash_state = PedersenTrait::new(0); let mut i: u32 = 0; @@ -57,71 +59,48 @@ impl PublicInputImpl of PublicInputTrait { .update_with(AddrValueSize * self.main_page.len()); let main_page_hash = main_page_hash_state.finalize(); - let mut hash_data = ArrayTrait::new(); // u32 for blake, u64 for keccak - ArrayAppendTrait::<_, u256>::append_big_endian(ref hash_data, (*self.log_n_steps).into()); - ArrayAppendTrait::<_, u256>::append_big_endian(ref hash_data, (*self.rc_min).into()); - ArrayAppendTrait::<_, u256>::append_big_endian(ref hash_data, (*self.rc_max).into()); - ArrayAppendTrait::<_, u256>::append_big_endian(ref hash_data, (*self.layout).into()); - - // Dynamic params. - let mut i: u32 = 0; - loop { - if i == self.dynamic_params.len() { - break; - } - - ArrayAppendTrait::< - _, u256 - >::append_big_endian(ref hash_data, (*self.dynamic_params.at(i)).into()); - - i += 1; - }; + let mut hash_data = ArrayTrait::::new(); + hash_data.append(*self.log_n_steps); + hash_data.append(*self.rc_min); + hash_data.append(*self.rc_max); + hash_data.append(*self.layout); + hash_data.extend(self.dynamic_params.span()); // Segments. - let mut i: u32 = 0; + let mut segments = self.segments.span(); loop { - if i == self.segments.len() { - break; + match segments.pop_front() { + Option::Some(seg) => { + hash_data.append(*seg.begin_addr); + hash_data.append(*seg.stop_ptr); + }, + Option::None => { break; } } - - let segment = *self.segments.at(i); - ArrayAppendTrait::< - _, u256 - >::append_big_endian(ref hash_data, segment.begin_addr.into()); - ArrayAppendTrait::<_, u256>::append_big_endian(ref hash_data, segment.stop_ptr.into()); - - i += 1; }; - ArrayAppendTrait::<_, u256>::append_big_endian(ref hash_data, (*self.padding_addr).into()); - ArrayAppendTrait::<_, u256>::append_big_endian(ref hash_data, (*self.padding_value).into()); - hash_data - .append_big_endian(Into::::into(1 + self.continuous_page_headers.len())); + hash_data.append(*self.padding_addr); + hash_data.append(*self.padding_value); + hash_data.append(1 + self.continuous_page_headers.len().into()); // Main page. - hash_data.append_big_endian(Into::<_, u256>::into(self.main_page.len())); - ArrayAppendTrait::<_, u256>::append_big_endian(ref hash_data, main_page_hash.into()); + hash_data.append(self.main_page.len().into()); + hash_data.append(main_page_hash); // Add the rest of the pages. + let mut continuous_page_headers = self.continuous_page_headers.span(); let mut i: u32 = 0; loop { - if i == self.continuous_page_headers.len() { - break; + match continuous_page_headers.pop_front() { + Option::Some(continuous_page) => { + hash_data.append(*continuous_page.start_address); + hash_data.append(*continuous_page.size); + hash_data.append((*continuous_page.hash).try_into().unwrap()); // TODO: IMPORANT change hash to felt + }, + Option::None => { break; } } - - let continuous_page = *self.continuous_page_headers.at(i); - ArrayAppendTrait::< - _, u256 - >::append_big_endian(ref hash_data, continuous_page.start_address.into()); - ArrayAppendTrait::< - _, u256 - >::append_big_endian(ref hash_data, continuous_page.size.into()); - ArrayAppendTrait::<_, u256>::append_big_endian(ref hash_data, continuous_page.hash); - - i += 1; }; - hash(hash_data).flip_endianness() + poseidon_hash_span(hash_data.span()) } // Returns the ratio between the product of all public memory cells and z^|public_memory|. diff --git a/src/air/public_memory.cairo b/src/air/public_memory.cairo index 2795eaaaa..dc17b2286 100644 --- a/src/air/public_memory.cairo +++ b/src/air/public_memory.cairo @@ -23,7 +23,7 @@ struct ContinuousPageHeader { // Size of the page. size: felt252, // Hash of the page. - hash: u256, + hash: felt252, // Cumulative product of the page. prod: felt252, } From 559fe566ada015f9480d908ddeef4d8982204424 Mon Sep 17 00:00:00 2001 From: Filip Krawczyk Date: Thu, 22 Feb 2024 16:08:52 +0100 Subject: [PATCH 03/48] Change queries to match channel --- src/queries/queries.cairo | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/queries/queries.cairo b/src/queries/queries.cairo index a5f23e686..099add166 100644 --- a/src/queries/queries.cairo +++ b/src/queries/queries.cairo @@ -28,27 +28,18 @@ fn sample_random_queries( } let u64_modulus_nonzero: NonZero = U128maxU64.try_into().unwrap(); - let query_upper_bound_nonzero: NonZero = query_upper_bound.try_into().unwrap(); + let query_upper_bound_u128: u128 = query_upper_bound.into(); + let query_upper_bound_nonzero: NonZero = query_upper_bound_u128.try_into().unwrap(); loop { if n_quad == 0 { break; } - // TODO: (hashing) fix this - let res = channel.random_uint256_to_prover(); - - let (hh, hl) = DivRem::div_rem(res.high, u64_modulus_nonzero); - let (lh, ll) = DivRem::div_rem(res.low, u64_modulus_nonzero); - let (_, r0) = DivRem::div_rem(hh.try_into().unwrap(), query_upper_bound_nonzero); - let (_, r1) = DivRem::div_rem(hl.try_into().unwrap(), query_upper_bound_nonzero); - let (_, r2) = DivRem::div_rem(lh.try_into().unwrap(), query_upper_bound_nonzero); - let (_, r3) = DivRem::div_rem(ll.try_into().unwrap(), query_upper_bound_nonzero); - - result.append(r0); - result.append(r1); - result.append(r2); - result.append(r3); + let res = channel.random_felt_to_prover(); + let low128 = Into::::into(res).low; + let (_, sample) = DivRem::div_rem(low128, query_upper_bound_nonzero); + result.append(sample.try_into().unwrap()); n_quad -= 1; }; From 7127ce14cc81c17b2306d2ec172842975149cd87 Mon Sep 17 00:00:00 2001 From: Filip Krawczyk Date: Thu, 22 Feb 2024 16:24:13 +0100 Subject: [PATCH 04/48] Remove unnecessary try into --- src/air/public_input.cairo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/air/public_input.cairo b/src/air/public_input.cairo index 2da45d392..1852e88e7 100644 --- a/src/air/public_input.cairo +++ b/src/air/public_input.cairo @@ -94,7 +94,7 @@ impl PublicInputImpl of PublicInputTrait { Option::Some(continuous_page) => { hash_data.append(*continuous_page.start_address); hash_data.append(*continuous_page.size); - hash_data.append((*continuous_page.hash).try_into().unwrap()); // TODO: IMPORANT change hash to felt + hash_data.append(*continuous_page.hash); }, Option::None => { break; } } From afe703420ca070a54163de6e1b58bce87a158cdf Mon Sep 17 00:00:00 2001 From: Filip Krawczyk Date: Thu, 22 Feb 2024 16:32:44 +0100 Subject: [PATCH 05/48] Remove commented code and format --- src/air/public_input.cairo | 7 ++--- src/channel/channel.cairo | 62 +++++--------------------------------- src/queries/queries.cairo | 2 +- 3 files changed, 12 insertions(+), 59 deletions(-) diff --git a/src/air/public_input.cairo b/src/air/public_input.cairo index 1852e88e7..790a6342a 100644 --- a/src/air/public_input.cairo +++ b/src/air/public_input.cairo @@ -1,10 +1,9 @@ use core::{pedersen::PedersenTrait, hash::{HashStateTrait, HashStateExTrait, Hash}}; use cairo_verifier::{ common::{ - array_extend::ArrayExtend, - flip_endianness::FlipEndiannessTrait, array_append::ArrayAppendTrait, hasher::hash, - math::{pow, Felt252PartialOrd, Felt252Div}, asserts::assert_range_u128_le, - array_print::SpanPrintTrait, hash::hash_felts, + array_extend::ArrayExtend, flip_endianness::FlipEndiannessTrait, + array_append::ArrayAppendTrait, hasher::hash, math::{pow, Felt252PartialOrd, Felt252Div}, + asserts::assert_range_u128_le, array_print::SpanPrintTrait, hash::hash_felts, }, air::{ public_memory::{ diff --git a/src/channel/channel.cairo b/src/channel/channel.cairo index bd3015a33..b2a4a3dca 100644 --- a/src/channel/channel.cairo +++ b/src/channel/channel.cairo @@ -25,32 +25,6 @@ impl ChannelImpl of ChannelTrait { Channel { digest: digest, counter: counter } } - // fn random_uint256_to_prover(ref self: Channel) -> u256 { - // let mut hash_data = ArrayTrait::new(); // u32 for blake, u64 for keccak - // hash_data.append_big_endian(self.digest); - // hash_data.append_big_endian(self.counter); - // self.counter += 1; - // hash(hash_data).flip_endianness() - // } - - // fn random_felt_to_prover(ref self: Channel) -> felt252 { - // let mut res: felt252 = 0; - - // // To ensure a uniform distribution over field elements, if the generated 256-bit number x is in - // // range [0, C * PRIME), take x % PRIME. Otherwise, regenerate. - // // The maximal possible C is 2**256//PRIME = 31. - - // loop { - // let rand = self.random_uint256_to_prover(); - // if (rand < u256 { low: C_PRIME_AS_UINT256_LOW, high: C_PRIME_AS_UINT256_HIGH }) { - // let to_append = (rand % STARK_PRIME).try_into().unwrap(); - // res = to_append * MONTGOMERY_R_INVERSE; - // break; - // } - // }; - // res - // } - fn random_felt_to_prover(ref self: Channel) -> felt252 { let (hash, _, _) = hades_permutation(self.digest, self.counter, 2); self.counter += 1; @@ -69,35 +43,15 @@ impl ChannelImpl of ChannelTrait { }; res } -// not sure what to do with it -// fn read_truncated_hash_from_prover(ref self: Channel, value: felt252) { -// let mut hash_data = ArrayTrait::new(); // u32 for blake, u64 for keccak - -// assert(self.digest.low != BoundedU128::max(), 'digest low is 2^128-1'); -// hash_data.append_big_endian(self.digest + 1); -// hash_data.append_big_endian(value); - -// self.digest = hash(hash_data).flip_endianness(); -// self.counter = 0; -// } - -fn read_felt_from_prover(ref self: Channel, value: felt252) { - let mut hash_data = ArrayTrait::new(); - hash_data.append(self.digest + 1); - hash_data.append(value); - self.digest = poseidon_hash_span(hash_data.span()); - self.counter = 0; -} + fn read_felt_from_prover(ref self: Channel, value: felt252) { + let mut hash_data = ArrayTrait::new(); + hash_data.append(self.digest + 1); + hash_data.append(value); -// fn read_felts_from_prover(ref self: Channel, mut values: Span) { -// loop { -// match values.pop_front() { -// Option::Some(value) => { self.read_felt_from_prover(*value); }, -// Option::None => { break; } -// } -// } -// } + self.digest = poseidon_hash_span(hash_data.span()); + self.counter = 0; + } fn read_felt_vector_from_prover(ref self: Channel, mut values: Span) { let mut hash_data = ArrayTrait::new(); @@ -118,4 +72,4 @@ fn read_felt_from_prover(ref self: Channel, value: felt252) { fn read_uint64_from_prover(ref self: Channel, value: u64) { self.read_felt_from_prover(value.into()) } -} \ No newline at end of file +} diff --git a/src/queries/queries.cairo b/src/queries/queries.cairo index 099add166..53cc6e2d7 100644 --- a/src/queries/queries.cairo +++ b/src/queries/queries.cairo @@ -37,7 +37,7 @@ fn sample_random_queries( } let res = channel.random_felt_to_prover(); - let low128 = Into::::into(res).low; + let low128 = Into::::into(res).low; let (_, sample) = DivRem::div_rem(low128, query_upper_bound_nonzero); result.append(sample.try_into().unwrap()); From fcf0a7491c1d2354be1a8320001b1e6760ebc234 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 23 Feb 2024 08:50:49 +0100 Subject: [PATCH 06/48] tmp switch off benches --- src/benches.cairo | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/benches.cairo b/src/benches.cairo index ebfbc0b2d..d977fb756 100644 --- a/src/benches.cairo +++ b/src/benches.cairo @@ -1,3 +1,3 @@ -mod air; -mod fri; -mod stark; +// mod air; +// mod fri; +// mod stark; From c96056a805319f3923f65f0f8ad96dc2c34c201b Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 23 Feb 2024 08:51:14 +0100 Subject: [PATCH 07/48] del unrel channel tests --- src/channel/tests.cairo | 3 - .../tests/test_random_uint256_to_prover.cairo | 154 --- .../tests/test_read_felts_from_prover.cairo | 922 ------------------ ...test_read_truncated_hash_from_prover.cairo | 133 --- 4 files changed, 1212 deletions(-) delete mode 100644 src/channel/tests/test_random_uint256_to_prover.cairo delete mode 100644 src/channel/tests/test_read_felts_from_prover.cairo delete mode 100644 src/channel/tests/test_read_truncated_hash_from_prover.cairo diff --git a/src/channel/tests.cairo b/src/channel/tests.cairo index dfad8fa82..51cd5d390 100644 --- a/src/channel/tests.cairo +++ b/src/channel/tests.cairo @@ -1,7 +1,4 @@ mod test_random_felts_to_prover; -mod test_random_uint256_to_prover; mod test_read_felt_from_prover; mod test_read_felt_vector_from_prover; -mod test_read_felts_from_prover; -mod test_read_truncated_hash_from_prover; mod test_read_uint64_from_prover; diff --git a/src/channel/tests/test_random_uint256_to_prover.cairo b/src/channel/tests/test_random_uint256_to_prover.cairo deleted file mode 100644 index 0d435559e..000000000 --- a/src/channel/tests/test_random_uint256_to_prover.cairo +++ /dev/null @@ -1,154 +0,0 @@ -use cairo_verifier::channel::channel::ChannelTrait; - -// === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_random_uint256_to_prover_0() { -// let mut channel = ChannelTrait::new_with_counter( -// u256 { low: 0xf59fd6b10ccc33fe2e1e1e94e3411f56, high: 0x6572033443ae2c5f7b83bfdcd817240e }, -// 0x0 -// ); -// assert( -// channel -// .random_uint256_to_prover() == u256 { -// low: 0x5f1758ec5d5517006c3eac3c624dcda2, high: 0xb24fe50c70859073b185937f3e1eb93d -// }, -// 'Invalid value' -// ); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_random_uint256_to_prover_1() { -// let mut channel = ChannelTrait::new_with_counter( -// u256 { low: 0xf59fd6b10ccc33fe2e1e1e94e3411f56, high: 0x6572033443ae2c5f7b83bfdcd817240e }, -// 0x1 -// ); -// assert( -// channel -// .random_uint256_to_prover() == u256 { -// low: 0xad772a40c7f3c4e6f77db1daa5f8d8e, high: 0x96014698ef9d4df3438cf2da8aa483a4 -// }, -// 'Invalid value' -// ); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_random_uint256_to_prover_2() { -// let mut channel = ChannelTrait::new_with_counter( -// u256 { low: 0x8823a41f7994f81c6453f4bc3cad1c10, high: 0x75f85ae3fd3ff6b5f63029a51040037e }, -// 0x0 -// ); -// assert( -// channel -// .random_uint256_to_prover() == u256 { -// low: 0xf1466cd5383c0644def10ee2658b7a05, high: 0x32f0741071fba06bdee46d938b942542 -// }, -// 'Invalid value' -// ); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_random_uint256_to_prover_3() { -// let mut channel = ChannelTrait::new_with_counter( -// u256 { low: 0x89a405dfb23e546ad03d498e88dee3ba, high: 0xe614bdb3e56768f45a22fd34e999734c }, -// 0x0 -// ); -// assert( -// channel -// .random_uint256_to_prover() == u256 { -// low: 0x538dd6434921187f80b76fd1d804af3b, high: 0x1172f921f177f82f29a3d97f9cffd2df -// }, -// 'Invalid value' -// ); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_random_uint256_to_prover_4() { -// let mut channel = ChannelTrait::new(0); -// let random = channel.random_uint256_to_prover(); -// assert( -// random == 0xae09db7cd54f42b490ef09b6bc541af688e4959bb8c53f359a6f56e38ab454a3, -// 'invalid random uint256' -// ); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === -#[test] -#[available_gas(9999999999)] -fn test_random_uint256_to_prover_0() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0x31221b7950614c65772c2993e6727561, high: 0xfaa5d980c70cbe78934e534c13eaf18a }, - 0x0 - ); - assert( - channel - .random_uint256_to_prover() == u256 { - low: 0x6249f523d42a9a89f8a41bbcffb837ee, high: 0x704fab98abe015f67ce8c5651141e746 - }, - 'Invalid value' - ); - assert( - channel - .digest == u256 { - low: 0x31221b7950614c65772c2993e6727561, high: 0xfaa5d980c70cbe78934e534c13eaf18a - }, - 'Invalid value' - ); - assert(channel.counter == 0x1, 'Invalid value'); -} - -#[test] -#[available_gas(9999999999)] -fn test_random_uint256_to_prover_1() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0x31221b7950614c65772c2993e6727561, high: 0xfaa5d980c70cbe78934e534c13eaf18a }, - 0x4 - ); - assert( - channel - .random_uint256_to_prover() == u256 { - low: 0x9dd4eacd6e611a8f0da6dfcb9c1206d6, high: 0x67cb6d23cfb26dc408dac8c0c6a71602 - }, - 'Invalid value' - ); - assert( - channel - .digest == u256 { - low: 0x31221b7950614c65772c2993e6727561, high: 0xfaa5d980c70cbe78934e534c13eaf18a - }, - 'Invalid value' - ); - assert(channel.counter == 0x5, 'Invalid value'); -} - -#[test] -#[available_gas(9999999999)] -fn test_random_uint256_to_prover_2() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0x4ccd3b3aab8d3e3c4d99af0aa61de9d1, high: 0x8e5ef0503c12ab78b594db03b634546d }, - 0x3 - ); - assert( - channel - .random_uint256_to_prover() == u256 { - low: 0x4220300fcccb24c97922cba73e4bcaa3, high: 0x6c733c0f5ab453eff35531225ebfcf65 - }, - 'Invalid value' - ); - assert( - channel - .digest == u256 { - low: 0x4ccd3b3aab8d3e3c4d99af0aa61de9d1, high: 0x8e5ef0503c12ab78b594db03b634546d - }, - 'Invalid value' - ); - assert(channel.counter == 0x4, 'Invalid value'); -} -// === KECCAK ONLY END === - - diff --git a/src/channel/tests/test_read_felts_from_prover.cairo b/src/channel/tests/test_read_felts_from_prover.cairo deleted file mode 100644 index 9c33582d3..000000000 --- a/src/channel/tests/test_read_felts_from_prover.cairo +++ /dev/null @@ -1,922 +0,0 @@ -use cairo_verifier::channel::channel::ChannelTrait; - -// === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_read_felts_from_prover_0() { -// let mut channel = ChannelTrait::new_with_counter( -// u256 { low: 0x89a405dfb23e546ad03d498e88dee3ba, high: 0xe614bdb3e56768f45a22fd34e999734c }, -// 0x1 -// ); -// channel -// .read_felts_from_prover( -// array![ -// 0x3a63c21f32409c9ec7614199b40102547e7f698f903bdbbffe56785684b7e04, -// 0x5652f216d992bbf255b97dd1b0a4dde72fab97f1bbcc4a4f53fde7fc50293c8, -// 0x7c096e451cd06aa80d11322e82a4f4a9eb62413fbc76044867c36090d416dd5, -// 0x787521b50c17169b9729a4522e1a0e7bdc028fc8ffdd87c70147bd67c5595d3, -// 0x3c329225074106c03d9385a2fbe9aa6a9eecd2b13c6e26884de5acca7251460, -// 0x31c7338a8e2a5b04693650792e9cac8f907a3a1c6bec9866889b0dd230b2b2c, -// 0x1d8edac47ced1b6fa8a00305efc527d90a5e2b3d31d6a5d3bf33354d0d77c1, -// 0x26dd3e59e2541dbe8a3aac06cc0262054f106cd409750e50fc08a32c5ed4947, -// 0x3808f487ede4ffb746a97f5621717e8c247e56c71e4b801a89ea134207447ad, -// 0x6787bf2159e5fe087900ca33c820ef7bd8ae0ac14fb2daf34c8db53624dbeeb, -// 0x649fba72665a03f0d5fe2b61b227501a5b8f7b7acebc4cbaf09380338761ea7, -// 0x5cd1c022d91173ff01b59e57f5ac27e0cc8cd06dc695c68fad795acad56331a, -// 0x3b17acce9df933e0f951fa2dc5881337d4637f3da2649b32f6d7cbcec76635d, -// 0x4ef09f53ec97c0ae427c01aa3138fc0ebb5fa0e0eff8aa88a58e24d0721566b, -// 0x66ba8fee46d58ef5821e2f805c760944899d083a5de8b568f7cb28ba5a5bab5, -// 0xab844aafcad2b0be5d1372f76be5f8af13117e83efdeba484c82f4b880d945, -// 0x7bc4eb9a0b0c62e4e1b025b3186bc4342f4c1a4dd4f8d906fa312bd94df4883, -// 0x30697d309839cef6817d37eff90b7e4e222ab8a7db1dd97097793065acf0b85, -// 0x2c1f7ce4803cbea74eef0f6302ab3036a399622ec730d5886de2dc2d07852c1, -// 0x2ee0fbc2c470ed13fba562a041682eefaeeff60b9ccf343b98a55135e3dc07d, -// 0x4ef8992548369e4218881ec2a87ac1f1236fae994793441faa9c1cb07d76a6e, -// 0x1bbd239d9bda4fdd8eb564a4b823b3b8a42c7f092910ba595712385f5844363, -// 0x7dd197fc9ed8d7ac52643249787eaddb76f8b70a8d9f8ac17cb333067e5405e, -// 0x6242725f5db1976d9d4df1c33e2ee59c5ee6d2f04d8a0938a78936f9969b315, -// 0x278f1df82d86f636feb36bfa6aaed961f02f83e00a65f036b7293b998da9a9d, -// 0x573e839f79edb998361136674befc4f14a438e32b6b058d44e1881db9a3e0ef, -// 0xc9e64e4dc62fba091213d48317a642af02cf3cd21bc1fa99cdf2ae390d76a9, -// 0x61bcca7e2434fe2845f1407142a4c2183531a741ac808368113af971fb3e3af, -// 0x30323fa36bc5c9f0a646e9c83cbeefe8400b769e415495ce785cc4ab1fe2c61, -// 0x6bb7fd058f8d69230d9407b2a6e9a319f26de238a612654858ece15d4056398, -// 0x2793a5b8852a2101eff784e4549ec9814d22fb5aaa855ed00aacc26cc16e27f, -// 0x416d2d8a6515bf82568ea0d3ba067ef2862ca0b60000fad3bbd148a6dc9aac7, -// 0x2e9fc14b4c0bd7efc3c8f9575c01b46c5c050d1a13777e027999264fa2703a5, -// 0x35222b20560ccdcf2b44cd9071fb1e74b5d8cdfb0bf3f306720a2dbd6a4131b, -// 0x4fa5a00c2c14bb62a783d0683dd6464fc8557b0c2727c2473c3dc1e502418ec, -// 0x53f6daaa6cfd4b45c3800ce6a533c547e0bd061fa53bff9cc300f296c1ac75, -// 0x579a8f58b31caf4bb0c0eb3c3ff3098d7c22dcdc12ed2b79015df21241e695d, -// 0x3662f88a8833549ef08ca409b7d03baae580acb5479db93bea215486116fab1, -// 0x72d89620b70f59d95533ceddeea9b42ad6e485ce82ae1e8fdbf909c915a21ab, -// 0x1a274e2239deacae84f78e0c032191394e53fef8cbd0ee901170aecf8b14bf1, -// 0x219c4fe98876996045a2b738a44dac48a0fbcfee5ada3791e91e899e36a48cf, -// 0x38337993a5467391468d056c453deb1184115877703f4bba33e326b8a5f777b, -// 0x5e903001774644d4d6b2bdef63c8d61496a86fb9c262e6e7b79d87114132166, -// 0x614dd4c24b2c903f07c669017861d7ea495463d63033a6d5253491b024e6124, -// 0x4a563d8494f0d712455c57b6944c2bdbf0e5a21ed1bca6adcc84dbab9461b05, -// 0x4a2aec687b7b78cd517bdd437d4ec61e855438fc9dfb1b37f6a20088f4f47bd, -// 0x208f098c8f25947dc9fd5b138a3fd816599f34eed1e2582301af377fbd66a9c, -// 0x5b1c2e1450b4e5027e13dad6ad6857e669f923c5c2f8ccea869a6af4d329259, -// 0x9a253af187dc262630e1c872b1291f57dc72580d5c95dd7d63d95c4cd04c91, -// 0x4641af946768cb50b17b0e13612b522b424226bb58cfa2881a8e1837e3b70ab, -// 0x3f644fbd8949c0cb2f9102e63ea60cb23a9183968d02636a59199e0d3684c62, -// 0x3cea05e4cfeef52d0a1b1c0e74179cc527f4b0ee46e5372560fe5b926f42b63, -// 0x2c9940c95f9a17a8e5fd12b49a8e2c47266b0e9a4cd467ea9d36d826c29ccf5, -// 0x432e8b4a079141d4a798ffd785d29ff0bd91deda0babb3f2b081029fcd750c2, -// 0x15c6cf8f973411c95c1311efc333322a9887c58d336382be9933e0167316ee3, -// 0x3f49f92f7a848997e79ee607088b0d88b72eaec8c0f0c929a7f28decf22e8ad, -// 0xec249e3194855eb2cc9d155c8dcd96fac4716adc4c7d0c61bbc441305aa747, -// 0xdf003cd1043ff595feddd0828c442a6c1e00a97157cfd328621a8c9d199c3f, -// 0x3239d14b92ddec576421cc7efd6d83d33892a7c1a7f6d191e688fc0071852fb, -// 0x6488a1054deb3e1a276884f5fac32701cf6c78688d9ccdef7c7e64e0d96676e, -// 0x20fa0bb45d2ab48b84945677b6948233bd32ea373354be935f24073cc323157, -// 0x5999f45d12cf8e4529e98bd152625421146584d60080d955dd5199da4a9f895, -// 0x167e3697aae192fd8936b7abe29976b802eb8cd635f97747751aae5dadbfc71, -// 0x14c7ee181752eaa201dfe4ff523bc8b85199148caebe219117b37d70f913fd2, -// 0x2103673965b8927c64b311f493514320b04faae92bd1c2e9bc608c2096773c, -// 0x4aa6d83f159484ff686fa304a011b5b89fb9916c8cfcf787f029cf82fcff6e1, -// 0x4e94bc0d77b9ee122fe9db048f2bcf67658bb34bd9e29d733bcdfd7ab99f289, -// 0x3d385bbefadaa470347c6ab25b66578ada66100f36fe96322b885b349a6d4ad, -// 0x51f803cd7449b1fe21b93e19eda29940c5053dedef9fe476ef20717192477b5, -// 0x6e251054f255ff83c8bde7d7c38c8148fed2797b5f390b8223a61150ce75c3c, -// 0x32d2e7c9da1da713eef599074ad5ebf45b69f5c59bd679196410c116a22391a, -// 0xc3e8650c42056870374d101b298c08c96c9ee5b0e36a07c7adeaff9726e36f, -// 0x219ff5bd061bae60b15652d7e1576db46b3e62e0516c0e1a5dc1c477a7b19b4, -// 0x2d35cbade6e664f8555dadc64a1d6a35e67f981f37673ddbbf4018cd6964488, -// 0xff4abb08af6a9e2e15c0db372c9f3ab678440f37f585907b92b9641b2c51e9, -// 0x1e561e46de019fd4a58e6ed9065d2431c573dcb9fc64fcae5259c7cda2eca9e, -// 0x3eba7c7b00ea052bd85d80fd0593114246bb3dfa7132593e8ca7dc5fb0b5443, -// 0x7370fb43eb926b47c873b168f95e695f988c0c0ecc360cb30cc4a7c52e3f705, -// 0x7eb81bf822ae7298d79a84af3db1d51686b669bc76448928529a90af30d3ef4, -// 0x3add254a71be450b03c0adc48aae3f50921a3c9f2c314992dc816c3c7b8a547, -// 0x5ed3690969bb9953f7c7e425fd357052398c7454632d7ee3b56a3f952056a50, -// 0x5f2da4667133d7a8fd61f0798eda83afbedd8b8091b588b5d671fce06c90f9b, -// 0x6ed3b623a6a56f9cd70870b41e14f39ade27b49032a01ce13d1ac1cf612a587, -// 0x2c48cd143e27713d6ed8a431f9f77fbc2e02acda139e82ad2e537d49bab51f6, -// 0x486933e036c569cef2e2e1e61105f38e68829090e920ca8db475c5b32453ef2, -// 0x7b24eaff77ac3967fccfccd3da6cd1cdccf6b226ea6d9614293a944f1dad6f, -// 0x754150aec4b9279797c70fbc410ba05a5b2c98e0d9d4621f3b1c98e4ba29b6c, -// 0x341ef6cbeae139dd3883a5a7fa64a886d95d99734682e151b542ebc5416cf97, -// 0x7cfa6ad883bdc66f63d7471fd6669e7257534d0f96f489d11fafaaf7e6783e0, -// 0x71aebca6d6527b6f0177c8a93dc927fbed6e4f95f38ec2ef0212cfe52cf09e3, -// 0x521681b827cb7dbc41977031d2240f791f3d6b4c9d3239de290111c840b7d1e, -// 0x1dfe4fcee6093e9d90760a96e4732be752a85bc08f37f9dbcddf7bba785441a, -// 0x53750e6013edf3eb9f914afd88e90a888a06ed6c26c6ae8bc47e430189ce568, -// 0x2237fc57788563e04e734b907860250c493970a176b9909c4bce453ca3645f3, -// 0x19b8aecbdf4f3f4bbcdf454aaf26af393e661d62a6761deb8f6479d9ffd19c3, -// 0x34219cf157543e6b906b2cfb94cde84adb067335b671fb76bb820cf8f4a2bcc, -// 0x104a69651259f8fc85041c46426951254d543203cd88b1c0ada870c351f5a5d, -// 0x6bad92813499115dcbc992ee7fc1a75c28927e4cd0e786206e73d5be67947f5, -// 0x49a1442ee229a58408244dfa9a57769bbf0fbe94f408d6e1386d80f88852b63, -// 0xc192d6e9d0610608b0a89b2a02e8bdccfb076f774e17a091292f8e01de3755, -// 0x1dc818657705c5c14194f7f883b8fb089cbe16482dc3d6a09c500a793b4db03, -// 0x41ff704a6c5350dceaa7f302a75f646a885cf43cb44bf4cdc32ee1995a51835, -// 0x7339ab6a29ec4a422e1a2d0cf60c0143fc2f6b78a790003964d9651a117e14c, -// 0x7f0c9b103d9a004aeed6794bdda1823394ea9e6ad3acc3231eab419d2e3d2ad, -// 0x3aae3b74214ef0e905c7457f3a3356cac77a6cfe6c013be1049113a1102fbc5, -// 0x145c5870e344304ff0ae0456bcad46b727d3b2b589e8c7172025a0a5af13f40, -// 0x3ba3deb76229bbfc3430674974249fa1fc416d6d79752201cf0d5cde98f7fc8, -// 0x35b6de4051317e1e9f695447296b379b059bf0968143ae6f74c209bcc6c74c5, -// 0x5e72ce3b4c78931a7eb01506be85068c4eff95a3e525662d6f2aca1eb0bef64, -// 0x56dc47a1d6d3bdaa3ed59c561fbaaffac9576585b50714befe427155c74e7a5, -// 0x6319ae5cbe6441bce0e23c8ec453fd5c37841989016b70a4ae96b64cbe6bb30, -// 0x4ce80cb618c9d0ab3b58882cbd464954f42009520811b0d13071c5a059b74b3, -// 0x5a826d43a69e8dd1f27bfd81b2c582063a69974e3c1de990b750bf7224dc220, -// 0xda9651967f8fcaa4c84c821613af32d366aa34792fad690753773b83b201d0, -// 0x626dc09f285c1002cc62a885560070ff41c1618c3eee05c45caabc666a9e2bd, -// 0x1cd0e87c51f7f03529f3b5ff4470367a610ddc2602383f68275b4e0c4752d27, -// 0x1bfb3b574221791a65cbeb296a59bd10a6f7986d99981a0d6fd85b17265775, -// 0x1a9ca90e2baadb83d11267f1be82f40b05864338252abfdb886696c670ab313, -// 0x54c3d82cde7698537d4042fb17935160b63cb01d2d40e96ffe1f2ab6766f5e5, -// 0x27e58a4c01305deff7bd3648ecec5fdec89105e6ca2697bbbde71dd1ade3ebc, -// 0x70200f287b5a6e43528bfbd1177841468d3431e63cd673db3532ef92a7b5600, -// 0x3a6789597f753b935d80b5d30389e6b7abbcd9427116c9cf0fd5d4cab89e2c, -// 0x40d81f401761dca8b8afce8edf235061bcc94f2d5d600b74d8a16e23be94070, -// 0x2f60edeb0baa50960230aa0602c52f65849de23553fb2d64db4446ab3fc950b, -// 0x3e088f64db59b998acbc4285ac7ffb2e8ebeb86d6bcebe9263045a6c236cd7c, -// 0x25e089f9a8de768f39ba2ae6bd6b8d9e675bffcbf1a69a1969cca135886bbb4, -// 0x5d316a5168b8c3dd14b117a910a90dd785064e46cba4b80f0b3fa526c310dbb, -// 0x2b215161b6ecc86c5a6b6ef93f96173eb7e793b46c69aa62e5d0410c0275f54, -// 0x32595065fdbf761693457954ca73a672b0551735de02caddcb8f717d97b4367, -// 0x29286b0c18c3efce3834fd4277a69c4f86ca3bc085e451cb72694d5605103a9, -// 0x2440310b813129bf1969eee2292d4f95847ec24f637a71a33007ee8c37d113e, -// 0x2b6b8ac9a10379acb0143d12a2d82adfa77c3956eff9f6f17c24759d39f9847, -// 0x4f24c5ed930d64c09687660ee1952abfc3775e55f74788c1beff41d1d87fb0b, -// 0xe880a9838b5fcd4926834b4c8bc563896d1e5d78b9dff2cd2efb2c99281e2e, -// 0x5e2c3c832d4007de9af648e708d3ccfd173aa4fed9d1d63986fb0df2d362dc9, -// ] -// .span() -// ); -// assert( -// channel -// .digest == u256 { -// low: 0xaddb0b52526024a1fd926e5da9d8d0ec, high: 0x4b7afc7a5bab4c0aab0b403f8daf81cf -// }, -// 'Invalid value' -// ); -// assert(channel.counter == 0, 'Invalid value'); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === -#[test] -#[available_gas(9999999999)] -fn test_read_felts_from_prover_0() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0xf05211ddc7d39bdac47d77a10f1fec44, high: 0x570aa8f624aff81df1a44d65b15bc1e9 }, - 0x1 - ); - channel - .read_felts_from_prover( - array![ - 0x1f561eeeca29ad6116f86458c11a901ec8f8522265734097b2e58d8fee2119e, - 0x795a0068c48dc95ae3c3b2a658f56c72d1a6c5fe565c468afbc2a9a5d86053e, - 0x145b00634e74660c375deaa16b65ac50288e08bbb7825225bdc076c8a09f265, - 0x27fe67b7418f93821ec311788774c302a39e8fcd79ec977f9065871cb0f8ae4, - 0x535e721218748d66f9312097b3296c96968064171c42d1d98df59bdc4848b5, - 0x1c4f59007b305c3d3c0ef166439e1709d860ff991689b4c37ee77b16cd24870, - 0x341df89907a9ee139809039b708ddc5292cb11b8d581b27b3d50a64b11ba11c, - 0x6d11e43b7c05e408b7b008a4ea47f86b676427944e3b11806d0429763bd2f00, - 0x4c62de5ea21a8f70113ee005d76b7bbee0ab4712f9adeea0f98242ff31a303, - 0x5cda3999c6250d708d3a2a7820a91b0e37ec6f2a39fc46853f4d92c9dc5f750, - 0x17d3d725e066fda1eb91c3a63276347fce01c4dd04282d9ef0ec2d94cfe06b2, - 0x6e1bc83006be50f3ee55a09916b849543414c44a773991293cbf88b34496fbe, - 0x2b142df56d3046be73f869c1471160871ab72c842f839b12e953c0f49e90acc, - 0x2cf009423dc8f85b80a6225c5526764632205340e95fa63528f63d97c6de5c6, - 0x3b132b76d6574714de7c59c46dc375754e72dd5c7dd355fbd96e2d414933cbd, - 0x122945e713635e2b9458bebd9b6ac7e3806c17e14bf738159c14ea214dd8055, - 0x4dc9d8a6d9a65247cbaea00ac14801ba2ce6aacfd451e5f6ad49fbd6de6fea9, - 0x529a202d0b7d34e919db817e13a17346056806bb276b1def3ee432cf031cde3, - 0x67ff120a27ea919f5d064ada1af91e73525ac7204d4cd729f48bce6c612f616, - 0x628b7ea9fba0b4bfc397cf8e22bedddefe6cf328c32c3ae63aa9f28da33c3e8, - 0x6f7bedbdec77d413acce6666a327eeef4de9b1a8f428ae820350e67bb448884, - 0x72fe2b68272e586ef1d0c5acff93880c501b8616e67b3e882a0d669960ac3e5, - 0x464e0168e0cc88831c8f4ad3796494dcfa398b262e42b590933baaa210bd9aa, - 0x5ae26da107d18b497dfbc4e579df73725e665bec3c8ccf6418f577e39538556, - 0x6a280f49d08706ac045bdbccc8bd984aaa49cd7be8f813eb1b6591334c38f7a, - 0x20ae6cbad8783bca6ba49ebd6e69a4e47491d8b5eb32a67aecfb18034ebfb9, - 0x6d9f76dcf37a5aa2ae67c04d3900e6fb6a22b1f138ca894115c5455ac67231f, - 0x25279f63fedff20b4215409f4e9bbe3f581e261e3d85e243e3c8db839b840c5, - 0x2709628835df48563ea39a199fe4ea0a996e36ebdf6636b1f84d5126dd61a7f, - 0x4310ec700c8758f7442d8c93e9e3673944aa6b8008e7dbde57a1d3c92759f5a, - 0x3fda02d2535508c4d1a5b26d5c2ca8eaee905f271977472afbf669c1e2cd5f4, - 0x603c30988a19281fb5fe8fa1bd91b43b718b26a6c441afb4b8f1b505433bc62, - 0x70e2fa983c8725ab7e25e8f73be1c11b2e56aff5069bd5c148c2b6afa36f796, - 0xad0ecd723ff455eb4b76ac8d8c3af629f6550e0e080a21750d1b6c46b72d1e, - 0x55ae795a881b668c1362db3d8b28913f1e295d959583df86c32b7c02ad6d540, - 0x462ac254a60b412082cc89c9756598c62c6b08101735d16f579bbda8b0c21b, - 0x57882e1b6d4bbc107376edccb8ea30bd9ca16dca759cac88438eea181109779, - 0x7c1b31f13593d28a50a3502ad6ceb51970adb6b69fb482521c1cb080ef8cc88, - 0x44e637ecbee8f2ba41853f2be663ec3e92aff07ae1cbd7975c550d379137e8f, - 0x2efa3ac8821e925c05f498867449ea5ffc9b6d90382aaefb8751640ccd0b48a, - 0x47ff9b4e747db656c2cc54387b8c4eb6ba9e03d4c5b4d076b887b49e6aa84a9, - 0x278d981194dfbcd1425360f864f67f98b1ecd426a74cc656febc68223889bcc, - 0x3262d9eb66e0c23abcca50eb4221cb6686b6d82dfded6f10839e974d4c314e4, - 0x43319c06737a08a8f4cfc7a9cc23e071570481641f2d19554182563cb1ff080, - 0x467c311838a520bb4c2a0f4bd5366749b31644a543741e220b272c65fb5d6ec, - 0x54e33e36dee94980ec73d385544ca013a724e2f92d158927489b0c7846212d8, - 0x515974604ee2481ecd5ae2c205ff60f3526ffdeaba22dc50eb95ab6082be9f1, - 0x3adaead20928e3c248337e62137e02d55a4a60fe01b630888feb1dc899b7bc9, - 0x667e16d875a64953868e986c72cff361bacc83f3423f71dc895a55aa1e23b8f, - 0x532e39f78795a00b2be0df4f9648a640a887f8c9c9fa43af32bae2d0403fdff, - 0x3dc1d2855c787bac672b5f05d319b13f7b5b47380366403ff167abea0cda575, - 0x75fca565924cf746b854a42cc17848018d1952be4e5fa8b76cfb97bc14fca8e, - 0x36091f7f3bb652f8c2df8f690582e2f145398871747bfb2bdc4ff6c3b653e22, - 0x63c7c923e3991aa3a940f2bfcef0266fae885394be4dfb4903c83dbcccbbc0, - 0x3223b3c8e3be5e07361ec4e0b388f797c4d521c8c5a15ba8fe91c982d18fddd, - 0x55c3aa0998ada73255f7d20dd3c322d2b4ad74af62246987a270b85184b0ca6, - 0x323f78c464ac117ba1fd8cc28ac9481db80112abfd615d54ed673912924e3ac, - 0x1a42d1e15b42a1b98c6d959ca8a2a0b513f79326fa7abbf3ab4801e333af1d1, - 0x3ed7c0845f57246e74916a911b540ffecd09b9ea41df7932a162bf31dea1e7d, - 0x25103c850328d3e78ceaefa0a0184e45902e1e6448f725c97404d572ebad2b2, - 0x4acf2ef3d83ebdf5d905aa9dbb14113d26ebbd29c811e03b69e5e09d7668fef, - 0x7f55c4bfeed6ca8a11613bbd9df9a9a1782cdd1781ff6c2bc50545c51e4ccc9, - 0x6affc64cdb8f48b335bbb443c3927b1864288df5a171947c0ec5d277a18ee46, - 0x611494a92e0f8986a2ce6f6fa98a75044efa395cae69a0679c81e5d2794c571, - 0x57c55e379fe94892555f6cd808e954e35d9586f7165a19e0f0606853b735b02, - 0x5fe5bb3609e5c8e5da37d0f17c27041b00175ee3ca4e80a08a916bbde6618aa, - 0x5e3f55e046ff6816b2527dfd6f6bb22565e3f391206b5e8727ad60f41674c5e, - 0x128516baba513903b5a4ccb49135e3129ce28ac6c41d5baf4b80166c2b5fc70, - 0x7ee5417cfe113bc96b67458f8861312f7558d8829b7871b3eb13a198f13b589, - 0x3defa833ecdfe2d4e7c39d33dc94091557d86e27132eee102ed629c3ac297f, - 0x3d459a5d64c8ad897a77ddd06ec60dcc187225922287bef5216300c3db0638a, - 0x3799d2e0cc8d31b3a3ca57374319c4159e47fb69758b19951404207cec29dac, - 0x5cc25f90959c214e28246d5d78faa51b843a3a6894f8b5cabcd72f490719b44, - 0x39a5b79b796b7a9436e4ad43998f60e4ccfedb7360b29183b29a6d0654019dd, - 0x182ac7347fb9fadaa4e32c704cd4e6264a334e1a1a4f0dff0e427c3ae5f61a9, - 0x5bfd735cf14215675e13245782ec1dc124594736533a9c4c9ed068a3d46640d, - 0x6b33648f7bbef0b1a1abd5ec8a6d831f29f147216126e7cef88c252ea926490, - 0x557c6460a8505dada7135b1cf17fc9e418d2e5acf6e389334f6ae8dd85ccc46, - 0x6ac0cf620f27525ddb2945948947ae70750a64c1895b4bd60cd6a43d88775ec, - 0xda5c1be5cbe9916e14071a2b76d8059a73af7dd5831a8828f1dc23fc54e8ff, - 0x6a152e10af84e1e4018f14a638bbb8a6b53f4cac5f2055b94ec9e354c756c7, - 0x75eef8539a00a16205a18e85a9df4d53e5c661b4350441427ee7fcf7cba6c69, - 0x7c85de58824f6a5a52d8380c71321b9f6252dc07c9ff01b8ef6b77145d0b366, - 0x1d7ef40c070114ca562b2e58d58acc7537d99ccc56b6d3b9671dc2c68bac393, - 0x6c4a26e9d14a3ec7c487958247c1d14443c7b860dc934c0fed4a49dabb88b28, - 0x1375fd06f3f892095938200e32a1dfc04fae05cf959cf44098a53743db2f5d2, - 0x8c322173ff08079ee6bf93d6d423bbf63cbdfff77e811da5c6df1f58b02d6d, - 0x22c48909c3e56407996b2be9cf83b5d81bb42160c32baf67790eb5eb2be2115, - 0x13b4556bfcd64758b34487b4a222fe254c766f8bbd09aaad8942efe16a22e76, - 0xab58148bafb3c2399e8d146aef7c777a2ad49dd99fa5ac8b280ffdfec2b014, - 0x365f51cf1833df4541e4b335d30ed8e738611ea4b731a416674a309c0f3c519, - 0x174507224b9133d96b21f6a4e79fb66df0e6f9eb7c0a91834f8858919a5190, - 0x7c8e06dc8914cd5968c4ee564b5658b2ab7e5908cd7f618bcb0a3e39bc56fe0, - 0x5d2329b02d1fabc1e600c432bdc5403340f289f0a49762d6707af7cb984cbf5, - 0x638923949e637a2cafbf66344149da9a095e1bfcb5e5e09ce9ea1720ac87bcf, - 0x63703aae87388ee1b76655b8e4a3d1e9e474922656fe81efd85ae1a588d248b, - 0x3b6c0f78b62521a2526d41f57df43dad20adec183d652b58bc40db497588fc7, - 0x53a1f017c4896ce8a1a405e67de48788c31bd25af315de212e7f14e7661e39f, - 0x10b0c455aed008716e7fcc8c1e50e356c4059dc96fbbf2ab88edbe216e4e823, - 0x690f3819eb1c65acd13657dbc82e8e26dd57704aa2f4853b552cbe4d666d61d, - 0x534d8f8ce85d8484a2a6d73840f16467b9c7204c375a571eed3c146907067c8, - 0x444a60b4ef2029d6c285a887d6ce00d0f223101dd6444e6468d3f9c6dd5e1b6, - 0x39bb552e744a4724c5e4544bc72e214fe6ff8ce3c3ec9d7fcb4546b6ea6fda6, - 0x25bfb208e87bd070794a0db99fa34705c92d000fb606de9217df731e4a03657, - 0x1cf984167c041fdd2e8691857d746df7e6503bf1f0172ae8b6e05c8d40e4250, - 0x16a90318c8196cc2f35974157fe4fe5f19b3be58ea90fe250fda03b53823a62, - 0x3f0de265812f04d087ec2800c92f8437f520b44cb7842c89a7e5731d49e29ba, - 0x4928d981d6b3a4a1fdd5497ddebaff1ba3eba732cf66cc3bc7f2c4395e5b1ca, - 0x26c4f0e2f10a76735979d7186166ce66689e7d3cf157ca093b552db7b1693d9, - 0x6b3319fbe3bcfc03b6e000f243f01b0c3d1eba1af31faffb661857332f6ed3d, - 0x1c1f935fe88d7fdc6e7d1346bf4a489b8249d2cbf2d548afba8719cd93c9cf2, - 0x112d889e2bfa1f96671d24597bebe84cb0ad8c3296ae2100313f16d1f998a42, - 0x3b1cee7a2c3aed767c0ffc1c6f6c2762e2151f4e8962454c45a403ac2b18290, - 0x30d4e7be3c87c7cd05868a2457a3b263656bfcd0d9cb6b56d0a9ba18674fcf9, - 0x57f77ee016f27e65781ccecc4965471801370caabd9e9beb831956861e4bd8e, - 0x28c8816ebfb926f8eee9895691c423c4ede5c0f30d42ab959ca81b4c10c42b, - 0x6ae10709b7ccc470643be743668ae5b99c574f713db6a1ef9c9e3be31366de5, - 0x2cb84263c81c90507230faba05c8eb1f5cf9a5f99d3b9fcc6e49674056d796f, - 0x3782d601859b97ff190d99fe4e63820d27859ccc70a5590bfee4be7d92add3e, - 0x13e3457be3904721dcf0e7ee9af1daeb57984578c8f74bc25bd41e9f60449c0, - 0x7cdba4e71d91503dbf4caeaae45b418d24f972e7c6127c915bb49e6271cfcb4, - 0x5294a63d37cb39a0e50257674c42eb38410c08702c0ed6295848915e2481229, - 0x5975a20fcc08a496a5710df71f4209e9024809b1257fd01e3b16af87ffdcf53, - 0x7f424220d19dd49ee2cd31ad7683bea678822ab4cc2b0df057fe01b8f6dffc, - 0x1a9546ae28da6b5790ab9f9e5606649ef440786d2f056d81a812f23146e6df9, - 0x3a46ffc61042264798440b6849a8cc1f2b68b9107049c32a1d2c60b5bed8143, - 0x2cb883ab31ed72c736612e50e96fb41b7f11758bd81d82adb589b203cdcdbf2, - 0x29ad63c3c864e8fea206e7f199be02504a67342e8ab4f43387f4d85fb94552b, - 0x24ae584edb4a3690d32d60ba3787cf77341e5e92000f06ed74d780708186cc9, - 0x102268334c9599f15b3aa4d4d1fef3d00a482a88b347a5cfe0a3d0a2abd37d7, - 0xa64775f9bea3d451c20eb44c30bd0596ef835b079d2940d0d921e4075bd9d2, - 0x602a1ead5795b1a6c5770a8cc9252e911fc0f749abd3591cb0bea338daaea29, - 0x6f4a25aa6a90fad96ebbb419906935c5d11a0587aa05c343b5bf7e9dd3079a8, - 0x63a05f62edf22803d76fda1a040ebcc0deb5ab554d9e74d7a269259a73fdcdf, - 0x42a3b0e2a899399d46ae05cda9f432af9c398be1cd1950868178f35209af613, - 0xceb5e454287a3951ac9088254089e28471f0384f90699d164a127b3561d553, - 0x41a5f49d6e1fc86efaa0af86b7318d66f2bbf8f3b20260367e953c2f22c7231, - 0x694c5b9b1aababc39433644626491a43d32b9bba6af06b6f0f757f007db82c5, - 0x1dda5792203c46376985120218ffa486d193a5de63ce9f894c414046ddb4ea8, - 0x399adc31c19e4c1a27efd6f1a97bdd1d82314babaf73de1e9e5e99220b6e14, - 0x2ae55f7d601e12a0cd81f372399bb585a5d2b5da80b99281ae810da2c9e3aaa, - 0x511a77c0796686ae99757bdb5d63445d1836bf7802ea19e1e5a88b3fba7aaa0, - 0x62274d0f25c48c89e2c2dd4503ce5f14f1a6f7c196d962eec4fe5bbda933cfc, - 0x21e58c44757f2f5d01119de9162f9f700bd6650c2ebac3b58f37e6c76a7b73d, - 0x5cdcc022d1d0dc01f64404a6e7f6e28603e557390f4b898fa05bfdb64027e4, - 0x38cb903b54165780ebac9af41ae2f4392ba8777381e9a7a25af6a2f3ddbfaff, - 0x7737e3e75b102544a994a0e5ffde8e95891b660308cd2617e94aeca8fe60cf0, - 0x55bde2a12f46fe0e9856c1144124b5bc9ea5b227f634963efca5228ad546317, - 0x5fce21079dbba8664a004a3e10f8125b4cc07b3bd340b86951f9ab9abe00b, - 0x6f9c62d7f1131ee7d53398af8996a9e49bf23c72323c457fd3c4c54fc7f7f9c, - 0x5facb0f9f88c28c2487ae88a6051cc189c1fdf890b5f056859feeeb479a0a9, - 0x38dabfc4952ee29a046fcfc91a241b3d10c7257e388c42a21616ece9acdee70, - 0x1b9f3c1e9e5b9a2165da283224182c09a77a345f473279f50c1f06ea09ff09c, - 0x142736ea07727ccfc33b632cefebef209a7bb3852adedcce8ce7b4ee1ddb4bc, - 0x8d9e87375c3957511bfcf223a76cf1c39d54835c5a7901d0aa559591126c85, - 0x37ba5af9c660bb96c6f5840966991d9169637297be58f4845f3d1fddfb6735, - 0x4b5e96ef51c800908dedb5e2ef71bfdb30a91a857699eb209c2bc76e0428b01, - 0x563f9b60e03088e1ab7de47f52e9f3a72bd611df60b7cd451e6500bea408635, - 0x197b4cb84ae86617967f41beefc8e28cb2695a92d2ac78e0e558e8a21785645, - 0x2812ecccd0fe97b5d15b8a26685ae7be3c28028538d5f584c101aff39f418b, - 0x4a9a1737a7a4b7b8f7927a4eab806c27b00a7aa9a8c3efeaef9391fe235e50f, - 0x12dc8a91ff7668b33b535f191d920c69cad5eac0c07535479d9455b57422893, - 0x50e87d4aa9e8bf02a6d9a2c453c22ce13aca902e9d038928cad98b948028edb, - 0x230955e77958609ba8729e5aad41ea6e99524e3ac8b0cf5ad7369b8e3573197, - 0xa5c148c8657a17b0a7b5f966457a4115f3e0180a31cbec6aef355a3ae3a1f9, - 0x3978a921df21ed464ae851b9ff34c732e563c66f5867dd3aeebabde7b5ac470, - 0x1f6a327a83d4c735d35953146e4a44c0e90394b52ee90bfecbec5445f95e6c2, - 0x63c27da8fb6817e70effc2fead033f847253f6e8b3ed9bb3b1359b61241abde, - 0x68606996f68b4b2c4b60f6ef6eec306db1c34c8f7cf0456b9b3d7e65a08b057, - 0x6b7286ec49be9eb20fef830094e52b757d2b96d1f9b900811d569073e2ea1fd, - 0x1f18cef417dcd9b9c205b7ee5dd70d2f955259c43feabaed0713dfad491dbc8, - 0x407b02d77d2d6a655fd860a54b7ebc1151153f9651e479d25b1d58b936d4c94, - 0x570227914ae0e0a6740695952810db69d70b56471ed08ddf6f252b5dbd221b3, - 0x69ba8234a0e286b0434064a271fa712c5c1085c1f09663c6ad2e26dd237b794, - 0x139a79234cc427f771edfe91f270d72716765957049baddb4e80458c04d81a8, - 0x5d2ec469c6156b1e302c60fc635c80c0f677f194d1206d96613067b8a081f6d, - 0x73fd4bffe214a6fa0342a7f607fbaf9d62f9faadaee9192ba2a33dc0f63dd00, - 0x3ea4ee1a347a22def5f5eab36ad4341ebcc58fcb7069ab0b08b30aa6facee90, - 0x5eaf14b8d7f21e7ec2001393a1f785040c7498380abf64fac9db832442c3bbe, - 0x6352d11960594b660c787e359c2ad0cefe2c82aa469ad879cc4e3b0e75cd105, - 0x2a23f3f359cfaa7c4bdf2385e526aff4f42442aadc049dd42c2325bad9a7ec0, - 0x6de49f3b9168e0b3e3ad681e2572369667cba73324b609181ac6825fdc15a37, - 0x73dd94c872af2aff69e85b402884332cd9e6c9fa8c51a9cc7cac74af7b392c3, - 0x2cd16bb8a03a6174a8fa4aed0d077dc2a6c1712d1c8d66fad099c08f1d4a819, - 0x6f614bb2971bd0d342c9fae58809aacb41bf10bc558eadb2e9720f47c891e2f, - 0x5431c28b0c131df5d270b8d954cb182464197ed713e1976e4e5ce9d0979fcdf, - 0x9145abd85f1e267b3bf965a9c4da1a962d4d165da918ad78a08628394fcd67, - 0x78d8d2fd14c2066d4176b911ad2ccb8751cbd00b87e25ec8d811c56761e5d79, - 0xf079ea81e3d94afdabd20349632a448dc6ce9478008764c90d8f7f1c0c95a2, - 0x53c6e4cb170563dfaa3fef197ae68c9642b871ee4cbc3f8101db32fd1191fd6, - 0x1b7196e379bfe2914aeaa6c99990d8a1ef7d97e2ce0c46e7eae49679d74695c, - 0x335577e927fda7c2f30d67fdd2d80e0abc9f05270182385a4f3a00228dfe1ca, - 0x112c7f211d781922e2503eb9964c7b25f8b5a39093b5e45b0260254555ecf74, - 0x5ab84b4279c6ce278f3018d36533b0addd3fd258b5a23ac60d40aebfa2343b3, - 0x183e325b81b875fd15df4e642ddc3a9a2a0cbddcc4bfe26c8d61a7c39adb5f3, - 0x46bc70a708229ee17455a81416b8e41a34c237bda826c47bb882380775a6039, - 0x23630d0155160784e3aeca05151da85141e661f9dbcd2e42649966866d98b4a, - 0x291a55126878e1168d360eaf48dc0ac1041e368a6f15f3971f941778e04f05b, - 0x2a605bd7bdbe6687adffb73175f76bc7476c5aaad530a0b4e9b87268c833e2a, - 0x515c8a5f064c40ede79fa7f6475ddb7d6088c7b7b9845d565dfc7732b07464e, - 0x275e783029bcb64f6b3aac74ff90edfee49cac5e508485b49d4043de3e652dd, - 0x4ebf34b35ff6f9e4c301ecb35506425594dc8df5300c688f414fce5206b863f, - 0xd6d110f45494d65aff2ee2129e3448c728da93d6cb3ba062075388fbba30ac, - 0x5390a14644157e9f07f3d8ac6e5f13d56e72387cc77c86fa4a152f34deef945, - 0x2aee72a1e5e3fc3e4fcd44c13640d2c0521d82e3c29e39216c2809fceda2383, - 0x112b4b3e4f0ebafd5a0544d6148c59031f2e8917645f77acc507b10a7456996, - 0x7a860c5ed0116da5cd7c35e547db75a540f6f0f710562db144b7e54ac4d1f7b, - 0x5c04ae1f823befec7a4176ef13219dda00e56feaacdb001923f000d7696459d, - 0x599deb4ed61c021bd7b2a8f7fc405a1ecedd649c3024d227da750e06ff04a7b, - 0x45cd2dc2ce11fa7e2db34d6d8056c25bf26715cd125f5f99ef4ecd9cc281c9a, - 0x331ec0b14c29dfd3cc08355f642b0709db8d31da20d84d9deb2c27e0958e977, - 0x7146fd7f01f6759c791affd9e5fe44a6939f633f443a2af803b905a34a479bd, - 0x6123ea4d91bbade93a7dfc5fdedb23336f204467033bb966bdf21ed97f36bd2, - 0x702d1b690c609d7031f2071e651694b6d5d2dca595dc0cf565f3eb0942a33b0, - 0x670fc457e90faefc36de75f1bb9223532698cec6fb03507bb51b0e693fe8f16, - 0x6b505583bcafb0c7c076e2bfb60f8d822f3b7640d28d3ed676509cdd336d748, - 0x219ea1dd28c7bb349b5d73ebb52c4987d314aa4f9c3efb0a99c2db433f8a012, - 0xb84858746fd7dbcf5dbba0a06e0bb15482e06571574ee28cb424d1e9a9724e, - 0x40869136fc6e3b6c72ecc33ef1bfd12dccf1a5e83cf4b7acc21ef51d5a885d4, - 0x57665b5e5406e8dc563253e956e946acf421b2df536ab74651da8cf55ae504a, - 0x656616d700a3296fb6a1e1ad3d908f71bcd43c01ae66ee5bb4961b1bfbd00a0, - 0x36c6e7c97c74c1753a6d7da0550019574c8878500ad2f6722d7996709e98429, - 0x5592891e1a33f1a8cbb8df85257c532d08c0ea7562e2a8baa36aa0cf8ed05de, - 0x24cb82ab06b56d4827e938fd7780e60d50a65157fd3102ce867c6cff87ccce7, - 0x269c83c8e737b79e510cb99ef2a0ec5cdbed5389317b376fb75c157f3dd16f0, - 0x47bd92bc3c2394abc5430785481cc4f47ef93bf40eef9bbd3ecce8f897eb7a4, - 0x66342b898a44cd4236d22b62bf70155cbe7929ae15130abb0d00588d1dc2777, - 0x35e75276537c0521c6ac887f42734456b32eb181bc72ddf6a6452a89dbc2bf8, - 0x7a4fd0ff9a516e352869ced2de7d54c351a4d5dc9d8df28d294082ddaae79f6, - 0x7064651c4890e3cce6dc359a032079fe408552d99fab13993ab4b2623a75c38, - 0x51303d17bad5972dbf7d71c6fecdd20fd9fec3b16c3d1c717c9881f42f95eee, - 0x7216e6982587ca435af01256befbae3c105c18cea33fe5773fdd61d0f4835e4, - 0x95ebce26c93eac02d11bc3ec00a112cfa384ad9d9ba9095f8a8698bb302bec, - 0x2e62d9f214e03ec44ed43c4255a2cc56303366b770442bfb01b383a8f2387ce, - 0x57c6de4250cf2f33b24eddb63f9966de6b9855cccbfe4c98c503c72d1b80de2, - 0x1d889491830efdf76fd22e9409b6584822917a3ec7ec5c9ab9e197de105170e, - 0x498d003525b8dcee0109616133489cd8814e585c9e308cc96ad66ec4b1225e2, - 0x2261a1feb755605ea9495c389e90874a251a8390939317865c061cd37aaa9d2, - 0x2a31db795a937efb0160806d7b5314dde8bdc73da9f129c9525bb0a9df5c84b, - 0x7955c3a967f0bfe29df59ffb5fc852dcc6e26b3aaf8beda28477d717e57e023, - 0x678a0ded5292998b6c9c81d23538263d5d2694c3b25eb4a2b36f2338a5676ad, - 0x716fe9ba2a46a3c9e59c8bdfd4f88080cbae5e6c700411adcdaad2154a6ed20, - 0xeecb5f8ba68fca44ec03e941ea2cb2f744d24cecae2c0e776b198a30e5cba5, - 0x250bc63f00b5546dd72862266729fcf4164fb88ebebd01e33988eae437ef003, - 0x6c1f984832b70bbbdb179c46139509e3e9dcb7eafa52726f6f25dd7dc65d1af, - 0x6720f1f49a2587a993f2ea4157e5d27120bc12bc886907adda287c07762ebbf, - 0x1248af6de99df209b3616eec67adcf3344fa2666bff5b4211a3119133a60834, - 0xbc974bb2e85bca29a84da5192ca50d03a9995c49ebe6c8b4f3d7d4e570414, - 0x7274db8f5fb6aa074c54acdd1bfe9ec9820333a460fca3f1bc36f5ed0f09057, - 0x6e9ac20635f39f987297fcaccd0db6654d0593549f982749ae10d19309e47cc, - 0x4458dfd7d4297060bf0f0071195432ebab255b3b5922dcb60d36c0b7f48b7ef, - 0x42ab1153f0c336c8c38c73153581711a9d355423f22a6970afa587179bc593c, - 0x13d8720fe57f8edd122c5efd342723df6e98c32a3acbfbc8ec6a03282bdccbc, - 0x479799540d6aec5c6caeaebc2a4b9ab46e57199806564eaea7e5432829de6ba, - 0x61860d27b69b6b448fd10bd0db2691a1d57cbd1d532d73d3f8bc57f2c350fe7, - 0x7275b35b6bd7aa53ae19445763c8126bf9d2836f7eebfcda8079d71d8112e6, - 0x36bb1671de6ebcb212d3928a2bd32d703dfa87a13312dffd9f15a37c7287978, - 0x3bcbc93bc5ba6a06fe68b8f7018e93f47b2842133994f9229a5b207728d4748, - 0x10a1de9e5a86f48f874a309e479fce45cddd0c47302bf133b864c63811e10b4, - 0x327c63c1a7a9cae083c966f19c0a624c1c24b7e92150c6e0da1da39adfa4002, - 0x73349491ac1db9e2d0d00df63a3d54505da198d9a1723d76cd1f561d81a92a7, - 0x7a8f4247bf9d8836e9e94ee3b76d87767873fbd7a87e5226cd19eccefc8bfe9, - 0x6a6d789b0495f8ad89664509f2f1641456603216d53cf6a3272b673d31b9687, - 0x53be673e8d57dcb05d47839f47637f43959304ee325be2a91e2f201b253acf4, - 0x6b87fad549ae2c0f2e75d629d08721ea77a37879b3f1087b8b0c1846905aa25, - 0x5bbf821592df58b89e1251259a70d683688413c80326fc4b7863426073c674a, - 0x3e5b67b300f516829412b921e04a8663b466c1463a381c755e523caec21df61, - 0x2f728fc945a62683f9ac47888157b6de33bd72cd5755750790844d21d1dd51f, - 0x3eac5ad79a7092fa1561551505162e6d5b7f46d14da59a0b99a79423c804b15, - 0x5d8a28524710f888fc2e4437c6666167d33d4144bcf0609ce03d92fb59f277f, - 0x3b646b45cdbeb985f7c1e3f215d4a66c46ac79156b425962e4519f962ca1268, - 0x5f5096559933a9ea375d4f173373dbac5678c4730921600b32d6dba6600bc48, - 0x72c484e56ee95fae7f0257073b7fd5dae024a5a720b50c0067fa58f2f78b35a, - 0x762653cf8e7e1e3100ebadaa36a280f1a533daf1510ab450f62bfca74002660, - 0x359832ddf9f97987ae49eed40895fe661310b169f1565a0b338510a91c27aad, - 0x4feee2f22362846eb57a76a97f7c8046aa8e1bcf9f7044c27ed5564bf252573, - 0xc5e59504c41dce0548578eb3be1bfe572697c9876f410c73dba735c3010d66, - 0x406af70953efcdd42c233c73723dcd0ff7e63497ee6d21ebe266bed86d54de2, - 0x6b5b171ad692bb8980990dfcdb7448558e86fa53cbc9dc50db2e1c12f3df35c, - 0x4ef7552d77d4ec9d5d8b549eceb3433e25e12b42f10b3290c8f3d94c53d19bd, - 0x21c6c221c056c069275cce9bbecb1c560cbaa3b9b477c5fb215c989da31c913, - 0x437c540465497556d1f40645b5478f50b1549e7736a1e10e4d02f9dd70179ec, - 0x688df12204c6f1e1e414523d4b651df25b1e7f27902c417c4e7b5c862012c2a, - 0x275dafd7bf22f896ab4a5a85a3ed1cd369370243cef8e50257382df76e36900, - 0x753d0fb9c1d745a27c32f3c41e42d913fc051f6498bb2f4eae5558d14886557, - 0x3510e0c0e6285cf55de5f5e047bdb6241b5e40b36cbdf0e1c710949036f68dc, - 0x151f7367011f226bd7a998fd89dfe2e507a0d62a91ab3a6288244064061f36c, - 0x7636f6876af57199caf0ba13bcaa15376008d63f32958d4d722fae3e7ce19b4, - 0x10cc44ef7383b0c61e757750e73fb893a0bd7010ab9d595e31dbba4bbdddf12, - 0x7de48d15c393103c787f22a1ca39a3d33ee97e40923fbbcd710bcc3c20bac0, - 0x4986f6bf97e31b92081f567e0fb1a9c0e04f1646398291f28a77004d8a87da9, - 0x71c503709f150c4a7b76570f9868f6098b911e8c9eab58035111cf7f0afcb08, - 0x7a77ba16019aca8fb40714e524b8409b94990b6cc5f98e3b7089cdb3d246322, - 0x4f3d1be23b9e3c2bd3b66896adadcf66db432082b8d11d9199792775dad3e4d, - 0x4c4db7280aa88af5111ba0012e974e075d67fe9962aec6676eea47e3b9d1f63, - 0x1d01fe8df4c45c99a21e538033bb311d0c16a8c3b8af2f1aea1fdc21a16c665, - 0x4a3e0bf8c4391b26fe27e85abe664707477ef2466cc2aefcd2fc86b7a34af73, - 0x5cc18fd95148eeef20ff19bd705bd961e64f62c864fb46843744e01256f6c9f, - 0x4774c304ac7e6425a02b0856fa5777b4129bbd9bae964da22c33c3cacf56561, - 0x15826249139bf38da06d93a101a7f63faf983600fdee3ba459be78dc894d5b2, - 0x7a2c8b5b0f1072b54224262eeee576d5cf9969f0a245e4f97797dbbb1bd0bb9, - 0x5379d056e6346aa281fe6a04f2057d300635e4c58b508271296d356c0aa7e1b, - 0x6ad6126d1016d8f6c8789e7d5facda2d73bdefd006d6d83184a696c5ff266e1, - 0x74a6c4b2600210a28ecff464e84ca87b933a61b6457b0e9e2589db0334fe758, - 0x77ad7496f647ca6d88686a4afd410bb264af050ad0f629477720b8248fe104b, - 0x4011d5738c6cbdcf10846f73d75bc1b3c1878042149400f32219dff9d43a0e7, - 0x4a607b6e7436747fc0eac7b45e4285a77737f46f34d1d1969973936df7a3969, - 0x350317786d3ec46b576840341c1085e00ce29d7a366e875614cacf1cc17e4ee, - 0x5c51c5d1329365049a6956ef306decccd404aecf156fc86040cae11812bc465, - 0x3751c7dd846d577f5687d9580448873ca3071c1833c76e2a162179b699f768a, - 0x2815753063f50402c5781b6a20a57208e86126164e7218d5a82bbadf194656d, - 0x40a8c11fde10b00e2d00958a02da399f8725648b09e726382e1f54e3a3f5c24, - 0x62809334610eea3aa2d75477463bcf86c606d80355a5db9c1a741c9d55337aa, - 0x7d9e752c6234b270d07368507b826aec918835580864e6f3438558582678f4d, - 0x351e141b75763d6b0fedfb787717b5ecf0a75c229fa3fa0e6ca5787345b97f4, - 0x54da1a5c80c394ce44e3bfdc30eda863715ab8111495efbcdade2358e3aef84, - 0x6fb35633c269a132240a0e0dddf8c278774b39f3ef4f05388e7b537fbae8622, - 0x5086160e53d084849350fd2b1470302f75124e4372fed855174ac1b0968872, - 0x6daeff1e088cfa838772f28f3d4525ac4300b8cdc631b522534157f54acdcfe, - 0x4451e4d2e3aa70aa9dd0ad9ac23041e95f76b88c6048d8e19ba7f0e2f0f6f83, - 0x5e86e530c74cff239575a70b0b55f7c0ea91b06d777884cc1db586fed2fd894, - 0x59a37c350578e2cb0386cf097be60e28fb4f8d9b0077e5a2c2c0e1e67d44fa9, - 0x5cb512de5e6dd3e0e75aac2ffb7ceb15c2848676c9454bdb1e485a1ac953a38, - 0x6bf345505ba5bb2eb26919ebb24a1f14b185b1e58cee15c75aaa603404066c2, - 0x3677de592fb1f475a812a79360e65d6c2a019f30166e1481afad5c5a762b2c8, - 0xa05413c4809324395e1d7cf27f0e673b710b8d07181cb363d12b8b686b0869, - 0x1d313efe2f6182ae31c7444dbc5eb2ad613498a4d651813dceedf409aed2d6a, - 0x780ec2f8597fe4fced926f1654626457233d0f5cb42fb021b0500c001b1430f, - 0x4b44c4fc1d1ac78ce0c8b562af798ac5808a396775dce092be3ecde5d9880a5, - 0x134bdd0f2dc4ab891309db72643935f8bc8c3568789a01a316003e3737c1d4, - 0x6205e17a1ea1f370e52ad40e984c1c0db29fc22dcfacacf482406d6cdb76542, - 0x7b4ba54da116d09db83bff8ea45fed2fc19356500509a8eee2f51fd2fb1c9bb, - 0x62043e607888cd4aad073dcef5a62939e7756f29d5132e876fa1c4b1bbebf85, - 0x24bad7152be2d3cc8ba8730dea2009112cd50ba691e3ee0af6e1182e9bb794b, - 0x5ca61b255910d4cc4f6b3fd764137d0b6c16986cb9c67cfd0886a4731776548, - 0x7312a667db23170885fa58f85f763ce52bd938a7c0635db16291c21cfd7a1ad, - 0x2030c502cd488b8cdde71e616d9b841c938f2fcb39fbc2fee367445ca6cebe1, - 0x74f355f62a031bfbf24e18341d2cd96b54824f282eadfdefad37544fd2a9a70, - 0x3a51924d0a8fb84c348a69b875d9bd676a194d902043aa935e3103e75f2e6f2, - 0x63f36cfc831436fa6720b6973821fd562e33df39a44015d6817c232a043d201, - 0x3fff1ecee721d282c751c9fe38b4f64e67754843d7704698cc832d6cdf7882b, - 0x7d1f358c14d773162388bff57dabdd045300c02aeb162b632dbb44aae30c182, - 0x7e8dff2a24633885f99a879299e7c83f94a39abe63b15720eb3de5687ce9a60, - 0x4d3a9c011072e382625da8347c25baa0fc7f4e770aeefb746dda561a2eb461a, - 0x39dcbe808d3129a39644e924e75dfcbe1055d5329f830936fcb704fbd24f634, - 0x1164ae46dba7da406dda4585550cde6e663b282f5f8b09e62de9b57a59725ff, - 0x55fc0507338247ad12e810778d76fdb6e875a2eeedb4c7b6666a77ba57b290d, - 0x6b8b82df891d60cf231f920d5ada52ef5a493ca8eca2ef7419dad2450677981, - 0x7347fb990dc8be277da1401a1ba74e74b072f9eb7bb358f1f8e19686379fca3, - 0x65cdd9551d074d497cadbd02c1107ace9db3857ebf049d733805c2cbad38ccc, - 0x321c090474b39d8af14293e24bc15261417371e00734d66247c78ab07d879d5, - 0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804, - 0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804, - 0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804, - 0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804, - 0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804, - 0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a, - 0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a, - 0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a, - 0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a, - 0x0, - 0x0, - 0x0, - 0x0, - 0x0, - 0x0, - 0x0, - 0x0, - 0x0, - 0x0, - 0x0, - 0x495f2be6a2dc3d4ad3f1ba13599f646b59da0f133f0e3cc3104cf586e0f9193, - 0x366457b29cf6129ef173bc5c213e8662381dcc6aeb3b8a976c8f2a2e6e1b70c, - 0x1894d468c72ecefc272df57855d09cc090cb29fa73fb8f22b9f949f6e4baf78, - 0x5e79f91f58ada455aee358237898475629888848d79db32b10f508aeabd3ca9, - 0x51aee1191f9a15ced01e169e9104de2b4725350c41b98ec1471b9a9c135b15e, - 0x4f69e5d1cf68fb9ef7cd165b59cc9c868dcab7a62ccce28100b87488589f21f, - 0x33e4d9a3eb61c812bec0b3d0460f3377b96e095ce95b36d0e8bac3d86525903, - 0x6b9a0ba1be2024582c775ebeb434dcb08e1d4a7c7a4a066ab3a11bb6ce4f3a3, - 0x2334d949772ae101ca93af7138a53d3a1d0dd0a7249a36004ab7fbbc60c5ed7, - 0x754ad0513207acd9136ee848f40f50b619c5206a5dbd04d1968c323ead40fb, - 0x68b9b9d2ce027b3c9d0c6910398c4b2c547f5c4894f2d61056c12c66e2f685, - 0x74ba4fd652cb4894d8a9123e1624258bc96c5bd556e99df4f65d859c8e00a58, - 0x207a5fd31116bb7ca6ff16e73d4ba8f15202bb131db68724d666df143e226ee, - 0x5dccf4e8a47b2b6152502eb07dd99ad933d63cbc21d4ad5c28e4688dde93f1c, - 0x223c12df6d16c07f400711dd82fdea25f26bf9bb358c2a964662466d21760d2, - 0x741a99f563b40b62c775cbd0548992f21288a24abd884028299f0b14cae94c3, - 0xbb11b4e0a2dc4bf40090df76280c40e31a9dc9c36598ea195d6cea8069d474, - 0x2c3db7a618221b9872dc82c8deb34abf40c49ce55d9ba612f9d20fd78b79ae, - 0x607b3255e0719c139fa0df2993d6279415140b75a0441c14cabd238e4a449ed, - 0x205377d482d8b71d9025cab2d75451eb38d78295700f5a3a65999718f216de8, - 0x1b238940b60db0c97fb4345fd1d22d562f04ed81be9187eaa5d6c55e03508a6, - 0x1f4447d0afb2c90543b2e10bb5ed1095237cc345b5e5d93720ff9531a7ffb09, - 0x11e8c73c62d53a8b3f1589674811c1a51635754d834dd32c657fb453fef1aaa, - 0x9fc0db82c2ba2589fb923076d06aee64670ec10141cc2cdd0c42800e58ceda, - 0x679211b074035dc465db24c389670960f74d41a98bec63fb019312ca0b72a08, - 0x2152c56bb9889129a019959fede827383c7ac47c53eb695332c58466c9f4a5, - 0x61a1972d56d5d80a7dbd687b70742cf282984a4c11f03694ac3bd03ad0bede1, - 0x6d708439a9e86c2dfc4d690934abaa3989fe5f5041e533a56c2182e16641045, - 0x7fae783b8c002808f6a73581bcb1b87c962437b350416389650a84a2dd4747e, - 0x1bfcd17f6f0ee89a0d3346a854fb5338d3df376c4bc16930bca3e575513903f, - 0x524d49e977df4fb36189526e45ecea35d40efb553e928c1e0c4c1b7bfd62fad, - 0x2893417827f5ca829cd87b431abe945915442be0a0259bb3ab4ff5d66d71cd, - 0x138dfdd8365bddb30d8b73609037d4ac0b77167e84b3a27e6852b7f4368c494, - 0x37216a5e70d216ff4b37076c96fa11d3e572d90b882f37430705b6565e6accb, - 0x2e84813cf1f8ff7032f068f75d44058a535e8338a070f6f3cb841fe2320d65e, - 0x7fbaf2d93e2468ecc532cf9ccc385986d21b76079ddaa3e9af0faff0933e0c5, - 0x3835b9610f47793551b0b1ca17b1bbc1117841c7756f3190f332a1c4a35ed49, - 0x36567b7859068c472ac81fda7e88d0f24b503013ebe05940468ce6e3f519f65, - 0x546ddd54fca9aaae6e04dd6cd06910e3c0d55a5656a5d7e8e0d643e119c882, - 0xf0a33606b3462db1d43e290ef48031c63ac6b002f0c815de029643a6838b4d, - 0x2b184b242833e5e5730874b3041fa126f6019c994984f94eecbaca1b3861a29, - 0x942ab0e64c62cc2fd2facd6a324e7e53d118ad5dccb0c81265af69ed898337, - 0x11e3d7682ea60122cf98c3250399858c1c1b1d430eb3b4288143236ae2634b7, - 0x2ce365b813ed9cfd21253275671a06eeb3f7a963e6a058c57c48d5d63d51b39, - 0x65fbccc8f1fd6766878d87c4b6238c0c8eaf3c657ac7a23b9d6c309829fcb4c, - 0x587e6de6c1d46102310d344374968ba06b60396b085e071028d32a1de08d359, - 0x33ea38811c64b9053fbfd176db1a264aa640ed06a615de2f2acc942f2efa6af, - 0x2e6b33a331422f06a3e733d75f18f586d115aebb025d503eff5d407b7f672a3, - 0x5b6219a4d49ad62698d118f830f46c1cccd0bced18aff94d14b3f31678ee236, - 0x7832a938c835032ecaa60d25e165e661fa19f7008c83e3dc4c5d73fa2c98bc7, - 0x69a5825d9d9e9618efc9b11e1aea75c417eaea41bf5a4c11819a8d34d8c38f5, - 0x453dd8e9dec0dda922fa2584c4d9e0da4e6eec935577ba9e155a98267fb34e, - 0x1c1b4bed826f56e8cfc5dad1820d610107573f267717ebe6889baf225542887, - 0x2d74789cb8bb483a6e449618a6b0e2c5a57f25a37676d99722800e934315cb, - 0xc33b1b4a2b2fcf32f1862fead65e7df8203dc08280468f87bf20695893450a, - 0x9a0f0a62b0a4a3b4edd58fa5e2eebfc3cbf2699bbcdd5d7e0d7b54732be7c8, - 0x363b75996ec7116aaed10d843bba960c77ace94421a384036e0c1d4cb4704e3, - 0x1c8dd0f943cec49e6a14af76f3d1145ec008f907bd2359cc8d733c56688660, - 0x45fffccb99c565374f670924c0ff4dac441045a6e0907185df1e94eec909e8b, - 0x3be9652ccc7bcdc47cbdfdba1365a8497b1cce4828b4e890909793ef3172402, - 0x27a52ba31f45ec739f39e65e5153837dcc3c8797e31607c92e103646a7af089, - 0x721f9c7e24f52029e97c9aedc62aa71e4e1aec2ef5803723c0e85452803ea8b, - 0x77442224c44bd4c635c8453756fb1067ecb7ff72c7db83bf9ffb48de7950a30, - 0x2c5f4685e9089b19e10f3f997cae7dc33d5f9fb0802f9ce612c4ba5815ea1b2, - 0x4aafc54d91406a1d9e04d806aa82e507dec1ccb59b1e579ff559200849d8890, - 0x369810a32738c68d93f350304395b3d66df9167aec174ffde0592827cb680dc, - 0x7bcf509bf0beaa67f23f55614eb7587f5b8299db6501955b8d60e888f0344c6, - 0x187020caa432930b88797b5c376cb21e6660967901e77e24abbce84238a700e, - 0x2f243da0817f0d49a7bf8b5e72e61d81e3baf36da7b42b57b82a289ab354ec1, - 0x65c83cb2df312cd079d0d92248496b5f8f640ed124ba8861e14f653c309d355, - 0x32f7860104d20278c5b273951ec87c37dbfbf9564654347315169a255a3fbe3, - 0x170729bade3ee4c87abd624097554c0dee93bee01140826541024d7c011f8fb, - 0x50c28ebfd9ddb5d7d81f1e2a76473a7281f007b254224aebf4f6352f2a6b852, - 0x3c083a6d41c99fd4c4d412cc63efb5ad516e62a48a2ddda161da690d246ec18, - 0x44ba14d7db1655775b65c155aa0d7266853e4fd01d3dbb9a2771ae165b734f1, - 0x5c26e6505cf9de36580afa8e68e4916acb7216b97fdf86d65063c8ea5b5b273, - 0x1651358891e386144a1cdfa72a6fa6b1ad217153a38fd082a837448929c63d4, - 0x3ca144b3523644a5ac05c655b3de5c532c744b933ac02c0b82da61d9e354a2f, - 0x26851c9691be323f5f54878e82fc378567c9b9c739c0fb99b717ba2d80b9416, - 0x7bd3216c698c70ce90dec2d23057c4692d567a2248e529aecd45c745686075e, - 0x7056057ebc3606c55a19bf5963ba83fa13e1a2c7e5d3ad9105243367298425b, - 0x7ba923e6e46b6d5c3230deec3be067969a1060da9207cbce7d91bb14952750b, - 0x95d994b1b47162e568c5284eadbdd91fc0cf8fdbf93c4a4bdeaea3cb02384f, - 0x4f3e1a806f1f4da243fd67c3c35646fb30453e00d02d6a0c9ddf1d18c01245f, - 0x6e38ee226f05a47c7357fe6b6730594d6b68e0a0bd4bd286ba917b79bbf663f, - 0x1389b7aa1c92da6e87a1afad1e28aed49b6859c87adaf45d3f3e0abdd4afc2b, - 0x8bd9ae7f2bf0b4361d6fc3cf652a6e4ce22e6179e1bef886cefe92abca3dca, - 0x17eff47e617e603e9a969d17f034d97db68dd1128313b84863feac6fa855865, - 0x42857365bf5cc92dbcdc141ac54eba947fd34921ffe46a022496ea8a6eb437a, - 0x5c11c5f0ac8bfa245a0ba31172161b6b03a680f64a5e114757e4b60952cbb94, - 0x25543782ca9e128d2d3f494a714b9e1fc66d8d4c002d1b1da831ee58afa42cb, - 0x520be5c7758d5341c321215f4581a90c8c9338580862dca7eafc36324bea82, - 0x6ee587a252acdda8b186309af5b839507b730ef91efde0cd44b7c25bb2f1fb9, - 0x2bece1b47627eeebe85b1c7613b2e7cf75346434930ce350620e703676343b1, - 0x3918f0cf7a04551b769114e638e555d5a05e1248dc0439fced205d0d3ef80a0, - 0x2a0ec3e5d5d8066bd54c7a8925d8b5fd50ae2135b8d6b237e7319814d091cfa, - 0x3dbaf577c61d5ca4c0a331686d211d546fdece53e89f338272e6755ea5b40ca, - 0x580abf9508fe203b344ae73863ea3ebfe49204dc2f1094557f707cced5f7bfc, - 0x28f7c3442f9fc6c6b7e2656387ec90b629ed29956dfb12034e999c48b4d4efd, - 0x11a154fd43b5e8f2335ff91d1ba2f3271f8c0abce4a50f32d63f9a8a0260df3, - 0x14278f5fcc687e489a157a2d7b5994ef7fe563a3ccf26dcba8e6634beca34ea, - 0x2933d838c96d7352a944afc0c30ddee2848744b104734054590e1c5b1704d1c, - 0x1bc837480d3f44b0c816747e81dc0f7f8a88720e5414c9f1841ce54689aac48, - 0x6c1437d2db3ec0ffc56ea16d104bd7d46192b2b3c6a7dacfd772d01e1ca6a48, - 0x5ac8daae907cfd882ada25c2b16f8d9111994d22d259d6fe8d4cb987140e34d, - 0x4d9515254c06f5ce3f505fbeed5f7906c534eba8586b9be51b085823439f990, - 0x22cdacaac7801dc915e4097ebfbcc16e9971fef868611fa1d342a5ea539efcb, - 0x3c1045def94909a8322aea8a044605b8e9213d29f0c75586a332fc401e0d5a4, - 0x391eb3c0b6021d03d8ae41f58422e93ce39de1921fbce6c53346205bcbb7a67, - 0x4125c630d4d48d520bfe8993617fbb725ea463721f62d3042cabbc9c56c46be, - 0x2011f75bb8a373c5f9c2b459509621c0b8970f6cd59b9b8656f9a86a88ccd9f, - 0x213215c90d43c3b3b8e7c543f139332e16a2c28d203f4b986af658c0325e97f, - 0x678ff227882242102694d053b9fcab9d3089971536ec9e9c2f4174e4ccb6964, - 0x1027cffeb4f2a8b1dc155f586c33e9a9c62ed337b781a8169d1e263fd6790cf, - 0x2a79e49f0733eeb8ac7d117e72b8f46a50cfcf00200dc918b7521ba14c7f3ee, - 0x198a286cd3569167f204a7a5a67657470cfcb9c9e3ec9fd7d898c707be3828b, - 0x2bef3fbc7a4a65fca2d5d5c68d5450cb3fece9de4c62448b42b266dda0e7c0f, - 0x7619b217aec2821e6b3f8e28e938888c7dca59f3e2bbe1ce8e1058df7eb7774, - 0x55d905b16cb839c567948ea0c1c6cf0b1a32e45c7ccef4dcf9dd7bcee1ef666, - 0x8218d161574f5cf75420852dffc97e801cd30dee821a5b39a1d64166739323, - 0x7c9e2b9b76cef135c49daac162cce0ecbe8196ade39143f8554ec911d3f7490, - 0x19cee9f6b2c2ae04d064172f3c80ca4059ab74f4af48eb119952c13f5d385a9, - 0x17c911c20545758d4c845997bc1b1238fa4828f23e49b51dad21485b029d599, - 0xd2db6cd0e7c1a0964bf624d69d814331876b9795fcec64c711ce9ae3a340a, - 0x33ec61ed5e91bcf2b3c8f2e258414f273d942ea709e215bd18b0201f4a9030, - 0x5f86f70de1d52ccefbea516fabad9884ff0a46b1524a43cf4da0a419333093c, - 0x5cb89bffd21539b77886f2e8b0d4e6fe8ef472ac6dae8f84c763382c6395d3f, - 0x538dc69ad8852f872625c10768d858fedaac4a854e98fbba930db6d6269c8de, - 0x583c3eed2094eb99702913a316343a2c63e718dc3018fdd1db4cb866b609d9e, - 0x2261d22ffbbef19eb2ba9fa07a5b61901dd541b8d827c4655cd4366e39f75b9, - 0x334488428dcce7360f673750eb07fb729862361ec7a57d5c5bf07f60a33863, - 0x600395751de919f825936c0890269f66860614a56f8a59ce9e11efb71b7b524, - 0x56a8a197c1030fc7c84826efea50c691e420857b9b1eb97f155893c1f9ada6d, - 0x75c402a7d2c6bea8bdc4392e1a17bcd72ed9956cdf75ac31580285447f8d46a, - 0x2de0b4ababf9a72bd56a99f1c8a4c2b180960b26d5f887a014f5138ffc0630a, - 0x4a1737710bf79ca0b2373b835573357e0100dccb9eb33ad30141a816c77569b, - 0x37bfdeefb3fbb4c631ed888401d0bb2125d910b8f6ccc313f853daf9b95dc19, - 0x555fb3cab01fc9c451588edbf01570e750f61262b15d56cad65537556ec7b0, - 0x67f9e82b2410e1c0d832cff816cde8948069ca8684c5fdb9c9b299509cb5b01, - 0x61bffaac7d9c3569c20be4d590c01074cdd544f7ae31fd3a4239a45fdf5b371, - 0x903add4bf1aae057f68780cacb940ec1559c5bea21e35e3c19bf63a7a9f2f0, - 0x562c41601cd77a31670e1daa64b2fc44f006faf666f4d8bc0110ea4ae209097, - 0x5f6cab6c4e8e1c43e9ce0d794e3a0cb7371a2c9142e27e92af5e4d5a4e9f493, - 0x689d5179bd590c1e104adcc2390bde62a34e34675961f2030c1f38810f9610, - 0x1ec6b39956387546257ef02e14edaeaa13ba66c103262ee362e417675b8cf95, - 0x9b4f2edf102da9872c6950c0107fb0cb8bb6fc1ece4bcd484d101ecfb0d081, - 0x5b7ebf050ffab53e70aac4581fc83e8c105ae8bae3e7a7207936113c34f2dcb, - 0x548d41a9fc2e78d7e9cd9497a688655c254d3a1c1d07a31412eac72e8b11208, - 0x5a330331a52b0693982b13e171453b95f288cfd1c03cd30b128d28c20dc6ee7, - 0x59706b78ee205444974f3367f6e9f5cd7e28376925d5cba9e02344afb319ccd, - 0x19338e0b25de7c24a034c8b3218500148ec3a790e38a7a76756895a424c7b2, - 0x4bd38652484c85df03d586412cf7f82546a8a3f5d982ef51bf863d4a9cb4eb9, - 0x7a0d2e661e83ae0bca6586b9b6927c3ba73687ecbe431bf82e0231ef2c11b5, - 0x1ac690eed5fdf7e54101a3c2fe92f38cb96aa6f074bbd5a3d547b203b6fa96, - 0x189eed1d2e065daf6e2fb96cb2a30b2f6d4f30969b74fc9a384c09ae1f35f5, - 0x7fc067c540ae49dac688490eca4a014feb64c84fd119c0dd5facf7ec74a1805, - 0x5544b943b66cf55cef3bd17938ab7c6c141d571dd038828933ea8e72b6475d4, - 0x52cb79e5dced4065bdcbddf4bfcc9b1ea17a89f3e072e85431abcb11119071, - 0x11696263557fd939bbdc65ae53abf5ca9dc73646947f0dd6e47cb0d60d5f6dc, - 0x3455c91fdab8f1f2e2eb6db4bd523407bf76cf4e5613e4df4eadae585d97e39, - 0x72d09ba0c2c46276cba0c5ffa5ce72e3b0abfd77903bc77f2b9c1d7f146a33d, - 0x45c043cf8241c71892bd83ea852448d44793a88c980963d0909bfc2aea77a3a, - 0x7086493a7abe08f7c81d1376b2bbb4b994112c94cee901d2427eff8c88cd196, - 0x5c5b9f7384a1c7efe8d59c2b44ce9b3c327344ce833135552009f3b163b3db4, - 0x7b344306b27c05b47b53f874b0af333f56930b5a25ac96a84f4036fea980b0, - 0x4ccfd22761a262b2d54976ad68543e8ab27bcdf1bc09515137db224cb25a1dc, - 0x2f93ec8911f2f759ce5a407309497519943388310813489bf161b901727b373, - 0x1cc2479ef7aff743d044b7ddcc8ce895b593cf94d6685d9c85396b023cdc8b6, - 0x1e945da611da9bd8459fda0c98ffabcbc6438eab196d3690719dff8e44f8805, - 0x60e5431db81f574dbf397e7aa3de97ef5b049fbadbbd2d3ca6c295678b373b1, - 0x3a46a3d8c4297f3ee52fd808062a07727f8a04e651b10c19e0e0b08a7278398, - 0x74ecf3bebfc4f23220698d81109c56f58baabe9d4ddfee35055148aadae2e40, - 0x5fb8600d2c73d8ba52d8d6967142e38e470f7bafc4d2d1fcfa8c1f152a4d519, - 0x242a2a836a375e7f5559fc7d81b610eaa7767789718d7685fd11c063a10eb2c, - 0x38a794923fb5030748e84e0576bcd5a91a914ffcede186bc4af5e000cfa9dfe, - 0x258b5837cd41a4c5cbf101c27926b04f6ec8078f43b5f44aae7763df31d5143, - 0x634e79bf79fda485d2bb41544d344bb670e752b516be96282a34549a2d36b3b, - 0x1930580cc7e309219b38e58e92c919a369aa4ce87c47a84435eb750ceefb35d, - 0x746fa8d8ebe9d49119d5d1ea926960cfd9a5deda8370e35bd4be5821d4ad522, - 0x21a2175654ceb8e04df5348df0b0a606bc697067f6d1f65e5ef8b9293415a4b, - 0x5ba051fded8e8a193d9b45fd44b0370a60a06905dc518b1991eec318560e725, - 0x740980ac982b255add9e276421df9652ef9a9ada3d9cbf74bfd9febaf076033, - 0x2169349cea4ae1d0d9545055a21029934695efee77c8514fa2cfe4c147ed4b6, - 0x47ba5caf92b701642a84cf124874c8b9424f7892818a3b3ce731af710d39dc7, - 0x341a4a19c4530b759d7a2b2b776baab82504955c91c765ae8cc0e3a9510413c, - 0x5cf812a2e79c1529d55c3513d65f2ce321d0537233f35f3609ea0bbd8107a74, - 0x784eb0f3f3d32511ad81a18765e600e129e1aad2a9b62bc02ef735b05d81a4e, - 0x698a0fd551b37d24a4c7f79644657d945d5b14cb476bb79dcec5bd1e7d03240, - 0x32c4b048e5b91be98ff9a2dfda18ed784ff3dd98dc98eb38f882707ff4334c2, - 0x459ee3217211bacb793dfd1d6b8a011dcb2aef2909be62aa862c41e427b90d5, - 0x4e157c70c7987fdb0bdbf1e2d770b97a40612c1a10ca7fd292d8fcd2843af9a, - 0x3dc2f281a94d7882a2349221ca16052bed4ea37f5d53f6bbfc72e76e7f530a2, - 0x3f58e98155b39ec4ed8255c9fe95cc892e3491ab6182539df816a053ba54379, - 0x2a122e6e7c5a5436a58a77ae86c390f6e956b4c0855ffee1891ccc7d68a4505, - 0x5a5b31fce389ed3d14f7222a3726f47b684d5e66423c90451e47cdca46d9da9, - 0x2cfcf0a269a4242eddf2ede614d3166a6eec6d86bd35463df1faf82814961af, - 0x5490654156105356728bacedca233b7d9c8dfcb2e36dab7ba67938afe4c4ee7, - 0x4e9a6087dae8c335fd09051ef2b45f0ecc60a99fe57d980537804c7a78aad85, - 0x312f583793ab700c7bb655d1e91810293ffd1b11656e60b42376af21ac38f98, - 0x6f9d2939f2b1381666068f4e2ad4b2e60c9f328e13f4c19eabd22b360b479d9, - 0x7de8ad4a8d3a374b61418a8f89293e94e1eb39c1e0ba35c51af62e40e34d091, - 0x5bb3f26fbb284ddc67c13f9cc082a2640d6aaa2754e3736448ffe993a74f6ba, - 0x707f4b68b0e5960cb38e4d3db5f8c716942ce14c8c51d2d215b00da6d583f8c, - 0x2658c67d1b7663e331da180389ff3af58cf500003e1d24a266826cdcedb4f7d, - 0x763950184acfc0c77044365913a6052abb4b3629c438372cf65c5b47e4da814, - 0x313b6cbc1f92b4bd86066752740c70cb2cd48790a47f033c4708bff1aeb60aa, - 0x12f068e1670c58707d0b6c3a22a9055055493d898cf2f83b12b8876b461f8bc, - 0x595c8c984f904552fe5974376a5d08a36a42d4d336ff4b246745868c7f69553, - 0x9d7df86301a711df3c479392b337b89287d62c70ac86d5114b55685b7ecf15, - 0x13b38799508411d0c5ae99acf23c26ef46bdcb8c303622e4856d72717f6f92d, - 0x4464ada40793a1f8cd1754698172227b3dc98303270d5c1e6ca6c3b29cb8f5f, - 0xe9c632d964fd6427406bf8607433be4ccd723187f1d50402d72aaadda835d2, - 0x3b169a004ed987f901643b2a032200a376c40f11018d5d5dddab3bd5cd525ce, - 0x425baac8654f408cbb67ec2f9829a22abdb2f4aaf413c9363fc979a24a87f56, - 0x11ae23024dbd825ac0da52a44a69a2c0c7c12b6d505fd9553548f77495d2fc0, - 0x2c0cc3adb09a2786a5d6a4ba42fd900341f34a8083b8419997480cb43e37a60, - 0x543d8b24ba541366c8b43d7f3776c30be6d769c5b99923f1835d365f81fab41, - 0x35882b329de129f44fa8785112e761387d6fad3714f13a76fdfb2e3fe3454e, - 0x10ad4333478c0f801e537aa42054c501b616c31d21db33f3a81936d6469861f, - 0x2618ddf046a881c75d87130e3642fe330e21a7693e23b61e6e6c4d3f665ab2a, - 0x543706e698908de45d4aaa73418a9469bf62a83c9abef9e1dc102c9e534504e, - 0x3e15964f238f355e4c5425a0be7cea27913832d891bac98cf9ef9822b52f49c, - 0x71a83ee44c1e020dd8d58f3ba289145c4a6b362c64dd1a805f2598999f470a6, - 0x5ed2c81096f4686696e93555ba3ec710df1e1a1378b095b06da6410b471b98f, - 0x6b8ec2881573058d770ac895d926a284bebb083917aaede9641b0ad0bb0f8f, - 0x3aa49f4925e78acf2191faff8c78ca990b921ddfdb0163ad23bc04306ac90fa, - 0x2bf9c4d86ab318c04e755a58a5b676566d24a7294561823251c40072e806a31, - 0x45e873f004f4141860333aced258c38877a7880e22a28aa48d9dd9bc9ce451c, - 0x57d29aedc1017a91aaa895b96061dfe7bcb1a9c53101982b82a28298f629c77, - 0x3c4eb466f8da5f2619b9d1b56a1423df1a4f3136bd66fa674e2324053edebe7, - 0x7e4895ef2bed333d9454cf2269a7111af7ac3fb837899eccb6f6d2687659383, - 0x233f6633de4893cc8c947018a18a55960b1ed56bab2e7b00b64fd7e6a48f444, - 0x677f808633ec2153bae224ab09d90bcf335b37681b0bfa639326faa9b05ab6a, - 0x66e899960827a0736604401f696088762a82b9ab106bd56902cd8044c195887, - 0x5786504d5191d1ac8939e5258b6fb6670827facc63b95907a3fff9593366101, - 0xd27aca627e094af88b2415487f2720fe62df0723593fdab79e56ef09b4b570, - 0x49168f757c872c061b66ebc0707a52739a80a09c37d3d04e87d4643765e51de, - 0x283de52718e5a643afeae6def05cb8281e27c446d1098b1f587eb92e3d14d87, - 0x18c5e3abf7e9ff63dd245dd4232343b314c6b4e9d5d8b06a502dca89b27d39a, - 0x316278de03b81b6ac40a99af543d57f60bd746e3d168a94c7095db07264a8f9, - 0x271f9d8091e1174d9bdf58f31e24f83314f8407cfe0e4a3a9bf2ac5d1dade28, - 0x2e8eb8d43d3e3d3b72f9a028a7ac617fc1cf4f816c2bf9660b9cf43aeed123f, - 0x987ff14202e402429052ada20ae1df1145a14adbd7e860e388ec0c1d322547, - 0x565c21a9cba14f18555076ee58450fc8791d62fe56da14ca9de22462e0cf514, - 0x178920220836ba42c2a7a84cfa21fa5b26316005633c0ce100bb5a24463af8b, - 0x4c74b13d60f5f18211be4432c22b8ecdbcd8de87fbe5e7421f8e2c224bc48ca, - 0x4e7126a41b4d56040d6372381f9d8a794a015b59ff4349e5daf390ceddbed55, - 0x596f287dda4bb296de597dd33437e9aa41fa43e2391b9f3c7dd22e56258e39, - 0x588b0264a5cc7029ad2928882576bff4c6c21948a4858aef89a5835b59aef87, - 0x6ee43e7ea391b39acee17b11cec73694e0b236133d84a807b255790584d0ab9, - 0x1a7eab4b196de1e4021a30cc5a3e990b44c653f7af0715a33edf4ef1821cce0, - 0x75d912a80f29734908b595cbbabb731b7f192b205c4dd89460c1905c4a38099, - 0x46d27da045e60db096ea846d757fea1a68ad7d0cd83ae9526fb32a4eeeb6334, - 0x3a7059683af0f893df49428a5dae5d001435c828055b7e064fc86bf9882328a, - 0x84d3529782a50516f8f46ee3726c9b72e8d6de8ed33577bcb45459294fa6b0, - 0x22c79ea8597147d0c4f87741540f541e55d6d7c5d681386fa3114bbf11d79af, - 0x4ca432714574b490d3e2381700f25933db3d52ce715a31f8546f640943ace95, - 0x23c43fdf2f65dac7b971f74ae74a06bbd10b5abf8c0e48ad412c8bad88d2bb7, - 0x374bfa1292861d339d6be44632b02c67d11a6b138947ff882007f1d988c41ac, - 0x3bbe6780704db33d931f086ed0aba4cadebb41b8c1bfe65bbeac3a577df3d47, - 0x3d030daea4aa64c1ac800d9dae6764a287714b620574b98e5c9608d92606bec, - 0x3d89468a39e8c3a7803f41584b17492ff019d6a9d787aba56d0a6c432f74d65, - 0x343b3c099f45d15628b2829502dd1252a15e7006941092dd48635e7f287e15e, - 0x5f81580a440c93bb67c572fd0e65b842c376e120020a18f246170b3691de1e0, - 0x38b3c1e5f05dd64065224ec02297344bae7cfee5140bf6b1c4cb243b40ca668, - 0x3e7a03d8b13f65e7d3fd0b8c5b43cabf1024f0e48c00f8df1a1496cbc99722a, - 0x3bc22d322884e6fb09d5fad58864b102abe8e28db1ffd43d27cdd5fe9b8b578, - 0x783881eae4fcba6e5def3ffec63bbcac5e53849d508a22d5718c94c9df12bb2, - 0x44c06d3618c8077ce135e586457f3ab276e715b94b4cb9cad179d172151b3f5, - 0xe77b9bdbd55012f55990445409eacbeae9c49c03c23f9b3b4bbf7eec338987, - 0xf66c03abc7d5d920be0558e2d2cb28f47390b5e2fad797c4f03262f0c214b5, - 0xee0b344cfdf485d4d65c88627d3291b8da9f4bc80f56873ea575e58ea90a36, - 0x54fd96cf88d26c9872170a146534bb0e31c313288842e9b135d280de2467594, - 0x4cfc1f067f0c5a4aa96572fb16d41bc3ce9f28c547a49051c7a4a4b5fc442bb, - 0xc27436352fd9b2f564d909650b6c10ec37cefa65ee86d1eea195a68209239e, - 0x21a04e9c248c8339bdde986003bfc7d5aecdcf9b8c10bb605a7dcddb515f367, - 0x5e22a6953b156fdbe8ebb971a1410dafc82d73952f13f8b570baf0ce5982053, - 0x534c6d303141275a75388e893efff20802c4f3642e9e8bbc5bc039b42c80495, - 0x4e4e03c0c50074dd54af179fd259cf730e1befe230a45479065f359ea13b1dc, - 0x5c314306b3d05825805ffe5575609090a13449e388b8b4597880cee463d2a9e, - 0x78b75eac2c4e7bee8c827bf79f836b6f06a828a82450894be43cb6052b716a3, - 0x524ff70ff19d047e136d49b0114fbb809fba843d03718090e27191633fc9caf, - 0x14000d13f5708e191e7cdae8182be5e6f4dbbe7ab9946f8582988ba9047bc14, - 0x3b0061d481fe63b2cb2cb4f55e42d8a32f0e023d58a33c641a04e3b142d6d7a, - 0x4981ca40365f635a074ce2df60bf92df0eac4e3a457f12d4ce166ccc8cacb35, - 0x218c276dd73c137cd07a46eb77af2783696d76d8517f804786dcfc04443ffb8, - 0x260adc655d4ca962be7b50ed0dc882c3a516095e4eb00392f38eb44b3af6d72, - 0x767d669f1a5c7e964041c8e5a38ea45f80bb7dfc7c42ec9da32d00dfe0661cf, - 0x5b5cfe90185c29e2e69f37fa68198a01d264de848ea92bd1364f4aec6d4a85f, - 0x36176a64491c13ee17301a15b24162260f70153fbd99ecf0d9d2f134c581991, - 0x2ee11dc3b0a110a0abc9439496ae5168757e750102d527a6a6b78e19116457f, - 0x6a746550fe79abad95774e370d1883fb1b0b10444ac555bf1768074414c23db, - 0x3b1fa30f288c3b692b4a006702f2ff9acc36d57610722a7874d6aec978b32a3, - 0x47388b08965cbb7dc6f0134f403de13a921497d1e43d3e5af39a0649a7b3108, - 0x6b282edde229194f455da01afcab9d2c2d0f4f6b5b99cdfd53d20fd38b2655f, - 0x6353924e3c19664784506b34e44ec2bc549a1f9552b7afd6224c30b45add7ca, - 0x3828fccd3a4af86a45b4378bc73a7816d19b63764a07c86251be7ca6f28020f, - 0x25e9bc97d10adb577aca8bc8baa7e287893ed9a14069af35718b14d2d2a2f70, - 0x65a57e554616d030d8add7df28a3c3cacaa3ad51a4ad66d6eeba836ff3b8018, - 0x74b4a9819c781c0d9914cbe007d28f6d9d4d501462de8eb33bcf241f2e55417, - 0x5d9814dc362b2d684539324ae22dfcfe31571e713241e1adea32142a55bf5f1, - 0x74960cf9c979dfe44d6d568c1a368a92b030281f44ae206c9473a9de5c791bb, - 0x1f740fc66821d23cefd73ed06de1094808527a6c4aeb3bc505afd35b186b5b2, - 0x5d0425e8fc7e45de630539a6f10656dc8cd4cd91b23a28cd05a01bc945ae231, - 0x738808e6761cd5cd86fe0da81a713afb494e0fb93ac5b123c198332394e4381, - 0x151f46c618164dda278c5d9e8ac93cf6b9726f73746baa6012c58934a77d325, - 0x42aa956fe426e0d87548cffa7be08bb42754a7e8896dd06c48582b4d254723c, - 0x2fc3270a8fafc3e191ab39314bd60f60798c9f34d367f18e093f552676941ac, - 0x698ce7a7e6c4f3d7c44905e91b871a612548c259a4f022d08bb874022fb1236, - 0x60b6ca4e491375a120efe4b3b059c824bb58db4b7a0157fd7a557e1845a3a45, - 0x1104c410beb0d6f65cb14f956aa86b2cc36a3d3f1bd1a41b2686a6d99bbcc84, - 0x1acfa86b958f55e45fb9cd2ca3b9005ca13f0b1a27e36c05c647899e7e3d65b, - 0x604976ad826776318c667b2ea4f02e1f6c06ce12e4ddede97d0168297d3c215, - 0x53e1dbe1514182a63910ca91714624b7264e4e6252b277fe1c64993a1bf9284, - 0x531fd8dfa79d9bbb929535ff189ea7e92703fb57f2d00e1d536cc95b3f68c2c, - 0x7f8249ba8152a6808520cde59a76302a2afdee21aff0165b9fad948a7b08c18, - 0x1729112baadfa344ca8d670f1c5c792562788a2a0e4f0d809ea0566144e63f2, - 0x18f1246f3ae60bf58fdc8b2da39ce5bd49e35de3e5a0566023e57aed178b76c, - 0x48ff4cb23e53a5d709c3427dafeced17787d28960930968ac7ae3b9156cba7, - 0x100e385c8ae35a43273c81b71f4b03725fcc5e84a877a7353d05d3b4e076c09, - 0x31c2c5a0ca15748b88c0160dcf7548e114c4d65cd051d3f04b1487b6f2f02c7, - 0x4f06ca5e5c4f0eb1de59ec255f4d9e85cc5c3981b344bdc92df09d9acfd7d5f, - 0x270357d020b4bbc1963b8ef643086a9ab43102e557d3d7d4fdf107575aa40b, - 0x3ccee3f04ca97f613783ff9e6e6420b480907e52e846b7066be8fd3f99fb265, - 0x6d830183a3cab582a0cfc0a7cc99d9d98276f347b1471f808d444f18a2853ce, - 0x3150b2aba3e633bb02f7f5f4a8d099764874f41ee8f345c858a92ebd595f77d, - 0x7df206e98a638e84d5e278f9f0d9f34992d09b795c5de75bf471aef5a25b017, - 0x2e92f91767f3371cfca3dec3ff8e411d6527765d46a0257de3de533b5eeca41, - 0x2d5f88e677889f1a3effb0e078671e38d8fbadd7db3c9596a59d54e3b2bf9cb, - 0x789c797a34184c048a22e1aa07ecda509ef77fa73499a652e2c9b3562c42dc3, - 0x20276b47961c7d035dee62e745f0eeb223079289a080f4454d9308c5e6b8b14, - 0x44336cde136c5490222c06d90664b0f89da9e756768e1928ec1f148d12ab247, - 0x5ecc3a2b8803abc3f1086fe09048d3b142106dee2633ef9d69b1b2a0666bc6e, - 0x1276dc45b571601a3828cf305ec58eb3fdf3e94b1cc413b9df749abd54c2c7a, - 0x30b8ca8fd0b7f9cc52e7d0d90d4bee879dde4d3dfba0399c3fabb88b9a4d16c, - 0x5c5b171243d878f257624ea18b40dc2221b08ea1835520f5c749b1bc3d8235b, - 0x737d33c503818d828cd94c347937424033e07a136c4d82a8e6a033ee986d3c6, - 0x695381dc6b2ede6d02bc76b86675b69955ebe9b063393f1a88630b00fb809f4, - 0x704e6433fa784ef7d297a0500d4770af6967cc8258add1899fff8c15a3cc8c9, - 0x31f7c53f5bbca12838b92782fd7d6ecec15ef2bcf42f71c4a19504f081f978b, - 0x64cfe6c17e640c47029af98e6f00949d76a266057167577a81f6b563455d3b6, - 0x3bc8295a18feae1f4254692858e2490860c7c33f175f69c683ecd31749e983f, - 0x94ad3bd6c985a7b5c93dbfbc6553a41d6decd7e8f44bd9892456ca8a3cca0c, - 0x39b60b73cc2792804b2ceb7eb11286b3fb34b60c71fa3527540c0848a6afeb3, - 0x19ae3a55380e68946f5b83c6c3f0eecbcea373e8c3ceab7807568e9cf51030a, - 0x1d68725573d82e00f204719d8c275e70274cb49eb6d34c2fe5f9c39c93f2f11, - 0x610210d914542f1adba179870805edea8eb75c9acd2f0139a67ea42d89a2e17, - 0x1ae0d12f37f826a5c3e735e0c7804ee4f175d07ec3a434a8fad4f9581729dbd, - 0x3489e1a7d7b6da8d6f5b5f4730274c3abd091da9e5dede1326688597eb7876b, - 0x7a860a1a69fa9a7f0186777edc3c77c4af0da6df6d20ca366552f2301d01768, - 0x944be4ff759e40f31004ef63a07fa3f800eba00d8bd847b4ce728126e1707, - 0xa384672ff33aebb186f60c85910ee8fc66be35dc95942b7de5b6e6b66e63a4, - 0x63d88cf92423162078f2eb6d6732a1d0ccbba20380b57a33ee5af9e6604abab, - 0x1f8dfbc807d9d4d910fab7e12b28950ec767d6b48c1fc83e34d3a9ff2fe6a1a, - 0x5ab21b56b09e48e84b089eb21cd476ccb00fa7963b089a9ba9df2a0a5f3e49d, - 0x5355233a431ee62d9cb015f443247f30e6929bafc9b51000f0b7d3e57b28971, - 0x1c2cc045c4a23bd57237ed7317eab884e5f88fcb06fb5ca926ac4b09a9eafb8, - 0x76934cd86bb0408a0d5e05b1ea5ed0da3af7347274315aafe19d4e1ff472126, - 0x38b68b5da1c3395c71ec1ab5e512a3bb9a0ce8e5ef90ae2c1fffa4fcf899e5b, - 0x2386b7602856445bf3e9371a8341d77109e94daa31506813a8123af9492c1a6, - 0x691304b92b3decbd936e4c3f6a4788ab4ce11dfa6a2d825dc71ba5f5442f6f1, - 0x43dd544c109aa4587065f086cf0e8888b11883ecf99cde8c810cbfa1064052d, - 0x2bfd93b32c219ece244588f15f8aae89867abc7da1a579bf84ca9544f969c53, - ] - .span() - ); - assert( - channel - .digest == u256 { - low: 0xa55020e872dfef9f7999a8f22098dfdf, high: 0xaaaf25698614d5c0216e7d570510039f - }, - 'Invalid value' - ); - assert(channel.counter == 0x0, 'Invalid value'); -} -// === KECCAK ONLY END === - - diff --git a/src/channel/tests/test_read_truncated_hash_from_prover.cairo b/src/channel/tests/test_read_truncated_hash_from_prover.cairo deleted file mode 100644 index 91399d54a..000000000 --- a/src/channel/tests/test_read_truncated_hash_from_prover.cairo +++ /dev/null @@ -1,133 +0,0 @@ -use cairo_verifier::channel::channel::ChannelTrait; - -// === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_read_truncated_hash_from_prover_0() { -// let mut channel = ChannelTrait::new_with_counter( -// u256 { low: 0xba9d17a3ebd900899148b125421c118f, high: 0x87433b8dd90acbfe5abea8474d795191 }, -// 0x0 -// ); -// channel -// .read_truncated_hash_from_prover( -// 0xa43e1b3b99d987d63116edc58aa49a7d510a667951852446419df5ede6a1cc -// ); -// assert( -// channel -// .digest == u256 { -// low: 0xf59fd6b10ccc33fe2e1e1e94e3411f56, high: 0x6572033443ae2c5f7b83bfdcd817240e -// }, -// 'Invalid value' -// ); -// assert(channel.counter == 0, 'Invalid value'); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_read_truncated_hash_from_prover_1() { -// let mut channel = ChannelTrait::new_with_counter( -// u256 { low: 0xf59fd6b10ccc33fe2e1e1e94e3411f56, high: 0x6572033443ae2c5f7b83bfdcd817240e }, -// 0x6 -// ); -// channel -// .read_truncated_hash_from_prover( -// 0x32b3d365d461b6c12ab7d3396b5225903bd17bc85216f300472afea65cab39a -// ); -// assert( -// channel -// .digest == u256 { -// low: 0x8823a41f7994f81c6453f4bc3cad1c10, high: 0x75f85ae3fd3ff6b5f63029a51040037e -// }, -// 'Invalid value' -// ); -// assert(channel.counter == 0, 'Invalid value'); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_read_truncated_hash_from_prover_2() { -// let mut channel = ChannelTrait::new_with_counter( -// u256 { low: 0x98cbce1a1c901460027570bd9aa93ccb, high: 0x2581182ce5a51e9dd0810917ad7250ab }, -// 0x1 -// ); -// channel -// .read_truncated_hash_from_prover( -// 0x7a73129c87d8a60cb07b26775437ac75790bbd415d47912e5eb1f7c7e11d42f -// ); -// assert( -// channel -// .digest == u256 { -// low: 0x8a067e49d4c4f2bf2ca4e499d36bd71a, high: 0x4548bed8d91372df1a7674e0471e76e3 -// }, -// 'Invalid value' -// ); -// assert(channel.counter == 0, 'Invalid value'); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === -#[test] -#[available_gas(9999999999)] -fn test_read_truncated_hash_from_prover_0() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0x45b3420418a87dceced51bb7756c6833, high: 0x44768edae6365630783c1f09c1cedbc8 }, - 0x0 - ); - channel - .read_truncated_hash_from_prover( - 0x104b24dc152ce21002022cddc8ce78d5d3478a8757fc7cf6d49122cfece3a8b - ); - assert( - channel - .digest == u256 { - low: 0x31221b7950614c65772c2993e6727561, high: 0xfaa5d980c70cbe78934e534c13eaf18a - }, - 'Invalid value' - ); - assert(channel.counter == 0x0, 'Invalid value'); -} - -#[test] -#[available_gas(9999999999)] -fn test_read_truncated_hash_from_prover_1() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0x31221b7950614c65772c2993e6727561, high: 0xfaa5d980c70cbe78934e534c13eaf18a }, - 0x6 - ); - channel - .read_truncated_hash_from_prover( - 0x3f357e1ca6d1b436e1e6e1b885a2a23d471c254cc14c56a8cf0684919ff5ac7 - ); - assert( - channel - .digest == u256 { - low: 0xd190eb6478f0d295e60b2319531aa506, high: 0xb6ee5c6384b4664c8958f6fd73afff35 - }, - 'Invalid value' - ); - assert(channel.counter == 0x0, 'Invalid value'); -} - -#[test] -#[available_gas(9999999999)] -fn test_read_truncated_hash_from_prover_2() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0xd190eb6478f0d295e60b2319531aa506, high: 0xb6ee5c6384b4664c8958f6fd73afff35 }, - 0x1 - ); - channel - .read_truncated_hash_from_prover( - 0x45aeee8ab5801b064fe08cb15e2f1e3b5ac60316cba0309f47df924b7ad816e - ); - assert( - channel - .digest == u256 { - low: 0xf05211ddc7d39bdac47d77a10f1fec44, high: 0x570aa8f624aff81df1a44d65b15bc1e9 - }, - 'Invalid value' - ); - assert(channel.counter == 0x0, 'Invalid value'); -} -// === KECCAK ONLY END === - - From 284ffd65ca857be4a40d83896d0e72d6e118bca8 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 23 Feb 2024 08:51:27 +0100 Subject: [PATCH 08/48] code refactor --- src/air/public_input.cairo | 1 - src/queries/queries.cairo | 1 - 2 files changed, 2 deletions(-) diff --git a/src/air/public_input.cairo b/src/air/public_input.cairo index 790a6342a..e7f1b6193 100644 --- a/src/air/public_input.cairo +++ b/src/air/public_input.cairo @@ -87,7 +87,6 @@ impl PublicInputImpl of PublicInputTrait { // Add the rest of the pages. let mut continuous_page_headers = self.continuous_page_headers.span(); - let mut i: u32 = 0; loop { match continuous_page_headers.pop_front() { Option::Some(continuous_page) => { diff --git a/src/queries/queries.cairo b/src/queries/queries.cairo index 53cc6e2d7..99650e721 100644 --- a/src/queries/queries.cairo +++ b/src/queries/queries.cairo @@ -27,7 +27,6 @@ fn sample_random_queries( n_quad += 1; } - let u64_modulus_nonzero: NonZero = U128maxU64.try_into().unwrap(); let query_upper_bound_u128: u128 = query_upper_bound.into(); let query_upper_bound_nonzero: NonZero = query_upper_bound_u128.try_into().unwrap(); From bd692d49a89f28c605a923a12a449ab5775b05e1 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 23 Feb 2024 09:13:48 +0100 Subject: [PATCH 09/48] tests mocked data -> compiles&formats --- src/air/tests/test_public_input.cairo | 16 +---- src/air/tests/test_traces.cairo | 27 ++------ src/benches.cairo | 2 + .../tests/test_random_felts_to_prover.cairo | 18 ++--- .../tests/test_read_felt_from_prover.cairo | 65 +++---------------- .../test_read_felt_vector_from_prover.cairo | 26 ++------ .../tests/test_read_uint64_from_prover.cairo | 26 ++------ src/fri/tests/test_fri_commit.cairo | 18 +---- src/queries/tests/test_generate_queries.cairo | 16 ++--- .../tests/test_sample_random_queries.cairo | 8 +-- src/stark/tests/test_stark_commit.cairo | 26 ++------ .../tests/test_table_commitment_commit.cairo | 45 +++---------- .../tests/test_vector_commitment_commit.cairo | 45 +++---------- .../test_vector_commitment_decommit.cairo | 4 -- 14 files changed, 59 insertions(+), 283 deletions(-) diff --git a/src/air/tests/test_public_input.cairo b/src/air/tests/test_public_input.cairo index 30cb06808..3093347a7 100644 --- a/src/air/tests/test_public_input.cairo +++ b/src/air/tests/test_public_input.cairo @@ -9,13 +9,7 @@ use cairo_verifier::{ // fn test_public_input_hash() { // let public_input = stone_proof_fibonacci::public_input::get(); // -// assert( -// public_input -// .get_public_input_hash() == u256 { -// low: 0xba9d17a3ebd900899148b125421c118f, high: 0x87433b8dd90acbfe5abea8474d795191 -// }, -// 'Invalid value' -// ) +// assert(public_input.get_public_input_hash() == 0x0, 'Invalid value') // } // // #[test] @@ -53,13 +47,7 @@ use cairo_verifier::{ fn test_public_input_hash() { let public_input = stone_proof_fibonacci_keccak::public_input::get(); - assert( - public_input - .get_public_input_hash() == u256 { - low: 0x22b3f4d7841a28271009bef644a84a5e, high: 0x8f17c0c0dcde2144cd36213ab3aaff1b - }, - 'Invalid value' - ) + assert(public_input.get_public_input_hash() == 0x0, 'Invalid value') } #[test] diff --git a/src/air/tests/test_traces.cairo b/src/air/tests/test_traces.cairo index 3f5d83815..50022a53c 100644 --- a/src/air/tests/test_traces.cairo +++ b/src/air/tests/test_traces.cairo @@ -16,10 +16,7 @@ use cairo_verifier::{ // #[test] // #[available_gas(9999999999)] // fn test_traces_commit() { -// let mut channel = ChannelImpl::new_with_counter( -// u256 { low: 0xba9d17a3ebd900899148b125421c118f, high: 0x87433b8dd90acbfe5abea8474d795191 }, -// 0x0, -// ); +// let mut channel = ChannelImpl::new_with_counter(0x0, 0x0); // let public_input = @stone_proof_fibonacci::public_input::get(); // let unsent_commitment = stone_proof_fibonacci::traces::unsent_commitment::get(); // let traces_config = stone_proof_fibonacci::traces::config::get(); @@ -31,14 +28,7 @@ use cairo_verifier::{ // 'Invalid value' // ); // -// assert( -// channel -// .digest == u256 { -// low: 0x8823a41f7994f81c6453f4bc3cad1c10, high: 0x75f85ae3fd3ff6b5f63029a51040037e -// }, -// 'Invalid value' -// ); -// +// assert(channel.digest == 0x0, 'Invalid value'); // assert(channel.counter == 0x0, 'Invalid value') // } // @@ -66,10 +56,7 @@ fn test_traces_config() { #[test] #[available_gas(9999999999)] fn test_traces_commit() { - let mut channel = ChannelImpl::new_with_counter( - u256 { low: 0x22b3f4d7841a28271009bef644a84a5e, high: 0x8f17c0c0dcde2144cd36213ab3aaff1b }, - 0x0, - ); + let mut channel = ChannelImpl::new_with_counter(0x0, 0x0); let public_input = @stone_proof_fibonacci_keccak::public_input::get(); let unsent_commitment = stone_proof_fibonacci_keccak::traces::unsent_commitment::get(); let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); @@ -81,13 +68,7 @@ fn test_traces_commit() { 'Invalid value' ); - assert( - channel - .digest == u256 { - low: 0xa1a3e0273721e6961814f180b2d8caeb, high: 0x6f68726d3fdeb87e6c9b3d3072531b07 - }, - 'Invalid value' - ); + assert(channel.digest == 0x0, 'Invalid value'); assert(channel.counter == 0x0, 'Invalid value') } diff --git a/src/benches.cairo b/src/benches.cairo index d977fb756..1fc82b1fc 100644 --- a/src/benches.cairo +++ b/src/benches.cairo @@ -1,3 +1,5 @@ // mod air; // mod fri; // mod stark; + + diff --git a/src/channel/tests/test_random_felts_to_prover.cairo b/src/channel/tests/test_random_felts_to_prover.cairo index 6408d4628..0d9f389fd 100644 --- a/src/channel/tests/test_random_felts_to_prover.cairo +++ b/src/channel/tests/test_random_felts_to_prover.cairo @@ -4,9 +4,7 @@ use cairo_verifier::channel::channel::ChannelTrait; // #[test] // #[available_gas(9999999999)] // fn test_random_felts_to_prover() { -// let mut channel = ChannelTrait::new( -// u256 { low: 0xf7685ebd40e852b164633a4acbd3244c, high: 0xe8e77626586f73b955364c7b4bbf0bb7 } -// ); +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); // let random = channel.random_felts_to_prover(3); // assert( // *random[0] == 3199910790894706855027093840383592257502485581126271436027309705477370004002, @@ -27,10 +25,8 @@ use cairo_verifier::channel::channel::ChannelTrait; #[test] #[available_gas(9999999999)] fn test_random_felts_to_prover() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0x31221b7950614c65772c2993e6727561, high: 0xfaa5d980c70cbe78934e534c13eaf18a }, - 0x0 - ); + let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); + assert( channel .random_felts_to_prover( @@ -45,13 +41,7 @@ fn test_random_felts_to_prover() { ], 'invalid random felts' ); - assert( - channel - .digest == u256 { - low: 0x31221b7950614c65772c2993e6727561, high: 0xfaa5d980c70cbe78934e534c13eaf18a - }, - 'Invalid value' - ); + assert(channel.digest == 0x0, 'Invalid value'); assert(channel.counter == 0x6, 'Invalid value'); } // === KECCAK ONLY END === diff --git a/src/channel/tests/test_read_felt_from_prover.cairo b/src/channel/tests/test_read_felt_from_prover.cairo index 9c25eddca..18deb03ed 100644 --- a/src/channel/tests/test_read_felt_from_prover.cairo +++ b/src/channel/tests/test_read_felt_from_prover.cairo @@ -4,57 +4,30 @@ use cairo_verifier::channel::channel::ChannelTrait; // #[test] // #[available_gas(9999999999)] // fn test_read_felt_from_prover_0() { -// let mut channel = ChannelTrait::new_with_counter( -// u256 { low: 0x89a405dfb23e546ad03d498e88dee3ba, high: 0xe614bdb3e56768f45a22fd34e999734c }, -// 0x1 -// ); +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); // channel // .read_felt_from_prover(0x3a63c21f32409c9ec7614199b40102547e7f698f903bdbbffe56785684b7e04); -// assert( -// channel -// .digest == u256 { -// low: 0xc123a2db28e4f285115f8c72934264ea, high: 0x810c2a15f74c5a93239754103cde49b0 -// }, -// 'Invalid value' -// ); +// assert(channel.digest == 0x0, 'Invalid value'); // assert(channel.counter == 0, 'Invalid value'); // } // // #[test] // #[available_gas(9999999999)] // fn test_read_felt_from_prover_1() { -// let mut channel = ChannelTrait::new_with_counter( -// u256 { low: 0xc123a2db28e4f285115f8c72934264ea, high: 0x810c2a15f74c5a93239754103cde49b0 }, -// 0x0 -// ); +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); // channel // .read_felt_from_prover(0x5652f216d992bbf255b97dd1b0a4dde72fab97f1bbcc4a4f53fde7fc50293c8); -// assert( -// channel -// .digest == u256 { -// low: 0x5f72255a95751e54a4f9704096d61310, high: 0x3c9277c30982b407ad5442334e7771d4 -// }, -// 'Invalid value' -// ); +// assert(channel.digest == 0x0, 'Invalid value'); // assert(channel.counter == 0, 'Invalid value'); // } // // #[test] // #[available_gas(9999999999)] // fn test_read_felt_from_prover_2() { -// let mut channel = ChannelTrait::new_with_counter( -// u256 { low: 0xfc5a98310398b13c3218fdeb624ec8f8, high: 0x59dfc32f7867d987d2d504e264f97faa }, -// 0x0 -// ); +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); // channel // .read_felt_from_prover(0x787521b50c17169b9729a4522e1a0e7bdc028fc8ffdd87c70147bd67c5595d3); -// assert( -// channel -// .digest == u256 { -// low: 0x746ca09ffaaea6826e10c1b343da771e, high: 0x24a6464484140e30a7f7497204b5abbe -// }, -// 'Invalid value' -// ); +// assert(channel.digest == 0x0, 'Invalid value'); // assert(channel.counter == 0, 'Invalid value'); // } // === BLAKE ONLY END === @@ -63,38 +36,20 @@ use cairo_verifier::channel::channel::ChannelTrait; #[test] #[available_gas(9999999999)] fn test_read_felt_from_prover_0() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0x6b78b49c94cbdf349708a9d94a799c14, high: 0x83fed9107fa49a64270e4e0060b93633 }, - 0x0 - ); + let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); channel .read_felt_from_prover(0x2bfd93b32c219ece244588f15f8aae89867abc7da1a579bf84ca9544f969c53); - assert( - channel - .digest == u256 { - low: 0xa55020e872dfef9f7999a8f22098dfdf, high: 0xaaaf25698614d5c0216e7d570510039f - }, - 'Invalid value' - ); + assert(channel.digest == 0x0, 'Invalid value'); assert(channel.counter == 0, 'Invalid value'); } #[test] #[available_gas(9999999999)] fn test_read_felt_from_prover_1() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0x9245c7cf213bdcb501bdf9cb543e29e2, high: 0x4186a538a62f83802cde11ec1f7f4d29 }, - 0x0 - ); + let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); channel .read_felt_from_prover(0x5ab21b56b09e48e84b089eb21cd476ccb00fa7963b089a9ba9df2a0a5f3e49d); - assert( - channel - .digest == u256 { - low: 0x64c793e5f748d5d8c75d73916db389cb, high: 0x3616f6f0bfece8772bedda20d54a3d34 - }, - 'Invalid value' - ); + assert(channel.digest == 0x0, 'Invalid value'); assert(channel.counter == 0, 'Invalid value'); } // === KECCAK ONLY END === diff --git a/src/channel/tests/test_read_felt_vector_from_prover.cairo b/src/channel/tests/test_read_felt_vector_from_prover.cairo index a211eb814..872db558c 100644 --- a/src/channel/tests/test_read_felt_vector_from_prover.cairo +++ b/src/channel/tests/test_read_felt_vector_from_prover.cairo @@ -4,10 +4,7 @@ use cairo_verifier::channel::channel::ChannelTrait; // #[test] // #[available_gas(9999999999)] // fn test_read_felt_vector_from_prover_0() { -// let mut channel = ChannelTrait::new_with_counter( -// u256 { low: 0x37c8da2f7715c81ecf0b49fa893caf44, high: 0xc02e765597000eceec5ae618a43c0a82 }, -// 0x1 -// ); +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); // channel // .read_felt_vector_from_prover( // array![ @@ -142,13 +139,7 @@ use cairo_verifier::channel::channel::ChannelTrait; // ] // .span() // ); -// assert( -// channel -// .digest == u256 { -// low: 0x15aa9b8787d877d61588844c0cfe2fb9, high: 0x7cd36c3da65b8d57331341e661a86574 -// }, -// 'Invalid value' -// ); +// assert(channel.digest == 0x0, 'Invalid value'); // assert(channel.counter == 0, 'Invalid value'); // } // === BLAKE ONLY END === @@ -157,10 +148,7 @@ use cairo_verifier::channel::channel::ChannelTrait; #[test] #[available_gas(9999999999)] fn test_read_felt_vector_from_prover_0() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0x8e4cee6aca99678b0c48b0c760f65a0f, high: 0x9cbd8bef901d845a9c1322e1d1875440 }, - 0x1 - ); + let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); channel .read_felt_vector_from_prover( array![ @@ -295,13 +283,7 @@ fn test_read_felt_vector_from_prover_0() { ] .span() ); - assert( - channel - .digest == u256 { - low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 - }, - 'Invalid value' - ); + assert(channel.digest == 0x0, 'Invalid value'); assert(channel.counter == 0, 'Invalid value'); } // === KECCAK ONLY END === diff --git a/src/channel/tests/test_read_uint64_from_prover.cairo b/src/channel/tests/test_read_uint64_from_prover.cairo index 6ae5d552d..13b34846e 100644 --- a/src/channel/tests/test_read_uint64_from_prover.cairo +++ b/src/channel/tests/test_read_uint64_from_prover.cairo @@ -4,18 +4,9 @@ use cairo_verifier::channel::channel::ChannelTrait; // #[test] // #[available_gas(9999999999)] // fn test_read_uint64_from_prover_0() { -// let mut channel = ChannelTrait::new_with_counter( -// u256 { low: 0x15aa9b8787d877d61588844c0cfe2fb9, high: 0x7cd36c3da65b8d57331341e661a86574 }, -// 0x0 -// ); +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); // channel.read_uint64_from_prover(0x40719c5); -// assert( -// channel -// .digest == u256 { -// low: 0x2c31f04a6b9c83c2464b2f1688fc719e, high: 0xe631d91ef56f7e4cc7fe09cff2cc4e94 -// }, -// 'Invalid value' -// ); +// assert(channel.digest == 0x0, 'Invalid value'); // assert(channel.counter == 0, 'Invalid value'); // } // === BLAKE ONLY END === @@ -24,18 +15,9 @@ use cairo_verifier::channel::channel::ChannelTrait; #[test] #[available_gas(9999999999)] fn test_read_uint64_from_prover_0() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 }, - 0x0 - ); + let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); channel.read_uint64_from_prover(0xd65397f); - assert( - channel - .digest == u256 { - low: 0x4ccd3b3aab8d3e3c4d99af0aa61de9d1, high: 0x8e5ef0503c12ab78b594db03b634546d - }, - 'Invalid value' - ); + assert(channel.digest == 0x0, 'Invalid value'); assert(channel.counter == 0, 'Invalid value'); } // === KECCAK ONLY END === diff --git a/src/fri/tests/test_fri_commit.cairo b/src/fri/tests/test_fri_commit.cairo index cd64b4d72..6f6a6bb2c 100644 --- a/src/fri/tests/test_fri_commit.cairo +++ b/src/fri/tests/test_fri_commit.cairo @@ -7,10 +7,7 @@ use cairo_verifier::{ // #[test] // #[available_gas(9999999999)] // fn test_fri_commit() { -// let mut channel = ChannelTrait::new_with_counter( -// u256 { low: 0xaddb0b52526024a1fd926e5da9d8d0ec, high: 0x4b7afc7a5bab4c0aab0b403f8daf81cf }, -// 0x1 -// ); +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); // // let fri_config = stone_proof_fibonacci::fri::config::get(); // let unsent_commitment = stone_proof_fibonacci::fri::unsent_commitment::get(); @@ -22,13 +19,7 @@ use cairo_verifier::{ // 'Invalid value' // ); // -// assert( -// channel -// .digest == u256 { -// low: 0x15aa9b8787d877d61588844c0cfe2fb9, high: 0x7cd36c3da65b8d57331341e661a86574 -// }, -// 'Invalid value' -// ); +// assert(channel.digest == 0x0, 'Invalid value'); // assert(channel.counter == 0x0, 'Invalid value'); // } // === BLAKE ONLY END === @@ -37,10 +28,7 @@ use cairo_verifier::{ #[test] #[available_gas(9999999999)] fn test_fri_commit() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0x7a2726f5068a28505c831535d1d24051, high: 0x7a7ff4546cc108f9b40fbb7c7c1c6cf2 }, - 0x1 - ); + let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); let fri_config = stone_proof_fibonacci_keccak::fri::config::get(); let unsent_commitment = stone_proof_fibonacci_keccak::fri::unsent_commitment::get(); diff --git a/src/queries/tests/test_generate_queries.cairo b/src/queries/tests/test_generate_queries.cairo index f3379787e..1bdb13ed0 100644 --- a/src/queries/tests/test_generate_queries.cairo +++ b/src/queries/tests/test_generate_queries.cairo @@ -7,9 +7,7 @@ use cairo_verifier::{ // #[test] // #[available_gas(9999999999)] // fn test_generate_queries_0() { -// let mut channel = ChannelTrait::new( -// u256 { low: 0xf7685ebd40e852b164633a4acbd3244c, high: 0xe8e77626586f73b955364c7b4bbf0bb7 } -// ); +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); // assert( // generate_queries( // ref channel, 4, 12389012333 @@ -22,9 +20,7 @@ use cairo_verifier::{ // #[test] // #[available_gas(9999999999)] // fn test_generate_queries_1() { -// let mut channel = ChannelTrait::new( -// u256 { low: 0xf7685ebd40e852b164633a4acbd3244c, high: 0xe8e77626586f73b955364c7b4bbf0bb7 } -// ); +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); // assert( // generate_queries( // ref channel, 10, 99809818624 @@ -48,9 +44,7 @@ use cairo_verifier::{ // #[test] // #[available_gas(9999999999)] // fn test_generate_queries_2() { -// let mut channel = ChannelTrait::new( -// u256 { low: 0x2c31f04a6b9c83c2464b2f1688fc719e, high: 0xe631d91ef56f7e4cc7fe09cff2cc4e94 } -// ); +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); // assert( // generate_queries(ref channel, 18, 0x400000) == stone_proof_fibonacci::queries::get(), // 'Invalid value' @@ -63,9 +57,7 @@ use cairo_verifier::{ #[test] #[available_gas(9999999999)] fn test_generate_queries_0() { - let mut channel = ChannelTrait::new( - u256 { low: 0x210c99e614db21dcd882b7f3734a477b, high: 0x29786ad320869955ebf8c196e16009e1 } - ); + let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); assert( generate_queries(ref channel, 18, 0x400000) == stone_proof_fibonacci_keccak::queries::get(), 'Invalid value' diff --git a/src/queries/tests/test_sample_random_queries.cairo b/src/queries/tests/test_sample_random_queries.cairo index 72f455ced..cf365b4ee 100644 --- a/src/queries/tests/test_sample_random_queries.cairo +++ b/src/queries/tests/test_sample_random_queries.cairo @@ -3,9 +3,7 @@ use cairo_verifier::{queries::queries::sample_random_queries, channel::channel:: // #[test] // #[available_gas(9999999999)] // fn test_sample_random_queries_0() { -// let mut channel = ChannelTrait::new( -// u256 { low: 0xf7685ebd40e852b164633a4acbd3244c, high: 0xe8e77626586f73b955364c7b4bbf0bb7 } -// ); +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); // let queries = sample_random_queries(ref channel, 1, 12389012333); // assert(queries.len() == 4, 'Invalid value'); // assert(*queries.at(0) == 0xc53fdd1e, 'Invalid value'); @@ -17,9 +15,7 @@ use cairo_verifier::{queries::queries::sample_random_queries, channel::channel:: // #[test] // #[available_gas(9999999999)] // fn test_sample_random_queries_1() { -// let mut channel = ChannelTrait::new( -// u256 { low: 0xf7685ebd40e852b164633a4acbd3244c, high: 0xe8e77626586f73b955364c7b4bbf0bb7 } -// ); +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); // let queries = sample_random_queries(ref channel, 10, 99809818624); // assert(queries.len() == 12, 'Invalid value'); // assert(*queries.at(0) == 0x1405a07e8c, 'Invalid value'); diff --git a/src/stark/tests/test_stark_commit.cairo b/src/stark/tests/test_stark_commit.cairo index 6bd96cd8e..e841d44fc 100644 --- a/src/stark/tests/test_stark_commit.cairo +++ b/src/stark/tests/test_stark_commit.cairo @@ -7,10 +7,7 @@ use cairo_verifier::{ // #[test] // #[available_gas(9999999999)] // fn test_stark_commit() { -// let mut channel = ChannelTrait::new_with_counter( -// u256 { low: 0xba9d17a3ebd900899148b125421c118f, high: 0x87433b8dd90acbfe5abea8474d795191 }, -// 0x0 -// ); +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); // // let public_input = stone_proof_fibonacci::public_input::get(); // let unsent_commitment = stone_proof_fibonacci::stark::unsent_commitment::get(); @@ -24,13 +21,7 @@ use cairo_verifier::{ // 'Invalid value' // ); // -// assert( -// channel -// .digest == u256 { -// low: 0x2c31f04a6b9c83c2464b2f1688fc719e, high: 0xe631d91ef56f7e4cc7fe09cff2cc4e94 -// }, -// 'Invalid value' -// ); +// assert(channel.digest == 0x0, 'Invalid value'); // assert(channel.counter == 0, 'Invalid value'); // } // === BLAKE ONLY END === @@ -39,10 +30,7 @@ use cairo_verifier::{ #[test] #[available_gas(9999999999)] fn test_stark_commit() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0x22b3f4d7841a28271009bef644a84a5e, high: 0x8f17c0c0dcde2144cd36213ab3aaff1b }, - 0x0 - ); + let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); let public_input = stone_proof_fibonacci_keccak::public_input::get(); let unsent_commitment = stone_proof_fibonacci_keccak::stark::unsent_commitment::get(); @@ -56,13 +44,7 @@ fn test_stark_commit() { 'Invalid value' ); - assert( - channel - .digest == u256 { - low: 0x210c99e614db21dcd882b7f3734a477b, high: 0x29786ad320869955ebf8c196e16009e1 - }, - 'Invalid value' - ); + assert(channel.digest == 0x0, 'Invalid value'); assert(channel.counter == 0, 'Invalid value'); } // === KECCAK ONLY END === diff --git a/src/table_commitment/tests/test_table_commitment_commit.cairo b/src/table_commitment/tests/test_table_commitment_commit.cairo index dd17f6d7a..67389e18d 100644 --- a/src/table_commitment/tests/test_table_commitment_commit.cairo +++ b/src/table_commitment/tests/test_table_commitment_commit.cairo @@ -8,12 +8,8 @@ use cairo_verifier::{ // #[test] // #[available_gas(9999999999)] // fn test_table_commit_0() { -// let mut channel = Channel { -// digest: u256 { -// low: 0x158e1d17e5d7ab440767c172f7c82b88, high: 0x2c002c69395245b6186a155edd381cd7 -// }, -// counter: 0x1, -// }; +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); +// // // let config = TableCommitmentConfig { // n_columns: 0x8, // vector: VectorCommitmentConfig { @@ -38,25 +34,15 @@ use cairo_verifier::{ // 'Invalid value' // ); // -// assert( -// channel -// .digest == u256 { -// low: 0x98cbce1a1c901460027570bd9aa93ccb, high: 0x2581182ce5a51e9dd0810917ad7250ab -// }, -// 'Invalid value' -// ); +// assert(channel.digest == 0x0, 'Invalid value'); // assert(channel.counter == 0x0, 'Invalid value'); // } // // #[test] // #[available_gas(9999999999)] // fn test_table_commit_1() { -// let mut channel = Channel { -// digest: u256 { -// low: 0x98cbce1a1c901460027570bd9aa93ccb, high: 0x2581182ce5a51e9dd0810917ad7250ab -// }, -// counter: 0x1, -// }; +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); +// // let config = TableCommitmentConfig { // n_columns: 0x4, // vector: VectorCommitmentConfig { @@ -81,13 +67,7 @@ use cairo_verifier::{ // 'Invalid value' // ); // -// assert( -// channel -// .digest == u256 { -// low: 0x8a067e49d4c4f2bf2ca4e499d36bd71a, high: 0x4548bed8d91372df1a7674e0471e76e3 -// }, -// 'Invalid value' -// ); +// assert(channel.digest == 0x0, 'Invalid value'); // assert(channel.counter == 0x0, 'Invalid value'); // } // === BLAKE ONLY END === @@ -96,10 +76,7 @@ use cairo_verifier::{ #[test] #[available_gas(9999999999)] fn test_table_commitment_commit() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0x22b3f4d7841a28271009bef644a84a5e, high: 0x8f17c0c0dcde2144cd36213ab3aaff1b }, - 0x0 - ); + let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); let unsent_commitment = 0x61cb9987d55c793fdb238238311dcea46c75cd8698e52f1d01cf74cd25dc797; @@ -122,13 +99,7 @@ fn test_table_commitment_commit() { 'Invalid value' ); - assert( - channel - .digest == u256 { - low: 0x7bf7f5f2fcd827533f816f0f31bd2b54, high: 0xefa8681c3f5a52d031dceb1423a8d8ec - }, - 'Invalid value' - ); + assert(channel.digest == 0x0, 'Invalid value'); assert(channel.counter == 0x0, 'Invalid value'); } // === KECCAK ONLY END === diff --git a/src/vector_commitment/tests/test_vector_commitment_commit.cairo b/src/vector_commitment/tests/test_vector_commitment_commit.cairo index 4ccc65fcb..5625af482 100644 --- a/src/vector_commitment/tests/test_vector_commitment_commit.cairo +++ b/src/vector_commitment/tests/test_vector_commitment_commit.cairo @@ -7,12 +7,8 @@ use cairo_verifier::{ // #[test] // #[available_gas(9999999999)] // fn test_vector_commit_0() { -// let mut channel = Channel { -// digest: u256 { -// low: 0xba9d17a3ebd900899148b125421c118f, high: 0x87433b8dd90acbfe5abea8474d795191 -// }, -// counter: 0x0, -// }; +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); +// // let config = VectorCommitmentConfig { // height: 0x16, n_verifier_friendly_commitment_layers: 0x16, // }; @@ -26,25 +22,15 @@ use cairo_verifier::{ // 'Invalid value' // ); // -// assert( -// channel -// .digest == u256 { -// low: 0xf59fd6b10ccc33fe2e1e1e94e3411f56, high: 0x6572033443ae2c5f7b83bfdcd817240e -// }, -// 'Invalid value' -// ); +// assert(channel.digest == 0x0, 'Invalid value'); // assert(channel.counter == 0x0, 'Invalid value'); // } // // #[test] // #[available_gas(9999999999)] // fn test_vector_commit_1() { -// let mut channel = Channel { -// digest: u256 { -// low: 0xba9d17a3ebd900899148b125421c118f, high: 0x87433b8dd90acbfe5abea8474d795191 -// }, -// counter: 0x0, -// }; +// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); +// // let config = VectorCommitmentConfig { // height: 0x16, n_verifier_friendly_commitment_layers: 0x16, // }; @@ -58,13 +44,7 @@ use cairo_verifier::{ // 'Invalid value' // ); // -// assert( -// channel -// .digest == u256 { -// low: 0xf59fd6b10ccc33fe2e1e1e94e3411f56, high: 0x6572033443ae2c5f7b83bfdcd817240e -// }, -// 'Invalid value' -// ); +// assert(channel.digest == 0x0, 'Invalid value'); // assert(channel.counter == 0x0, 'Invalid value'); // } // === BLAKE ONLY END === @@ -73,10 +53,7 @@ use cairo_verifier::{ #[test] #[available_gas(9999999999)] fn test_vector_commit() { - let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0xba9f6f33755b2ba125243085a495cbce, high: 0xb32be56c99d069ae688842c915c4531c }, - 0x1 - ); + let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); let unsent_commitment = 0x6fb12bd48b9888a8e658379b2bc292a24683ba58ae04cc3f88ccea065cd1e29; @@ -91,13 +68,7 @@ fn test_vector_commit() { 'Invalid value' ); - assert( - channel - .digest == u256 { - low: 0x5449a9fbc110816097171d407a006747, high: 0xba04b152453e14e6d4cd5bcb9d676a8b - }, - 'Invalid value' - ); + assert(channel.digest == 0x0, 'Invalid value'); assert(channel.counter == 0x0, 'Invalid value'); } // === KECCAK ONLY END === diff --git a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo index 3785b9e2f..49cb51600 100644 --- a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo +++ b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo @@ -14,8 +14,6 @@ use cairo_verifier::vector_commitment::vector_commitment::{ // commitment_hash: 0x3ce8c532eab6fcbf597abd8817cc406cc884f6000ab2d79c9a9ea3a12b4c038 // }; // -// //n_columns 0x4 -// // let queries = array![ // VectorQuery { index: 0x98, value: 0x67406d6bb8db3de41d8b7dd9896c85e6d69e951d }, // VectorQuery { index: 0xa7, value: 0xa04e05c094e8ff020674895a8e87f2e9cfe3bc5c }, @@ -163,8 +161,6 @@ use cairo_verifier::vector_commitment::vector_commitment::{ // commitment_hash: 0x821aaa485d3fbdf7b0a06d773e565370f794c06bbcb4e23279a39544782c1e // }; // -// //n_columns 0x8 -// // let queries = array![ // VectorQuery { index: 0x987, value: 0x52dd8c0a5ccccb7794f19f0ab5970fcd9f1ac0f3 }, // VectorQuery { index: 0xa7c, value: 0xe2d57dc4618b581f90656bc2d52e5d8dea486803 }, From f4bb2fb296cf53d0e08ca32cb2bec87a9b96c937 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 23 Feb 2024 10:37:46 +0100 Subject: [PATCH 10/48] channel tests --- src/channel/channel.cairo | 9 - src/channel/tests.cairo | 1 + .../tests/test_random_felt_to_prover.cairo | 39 ++ .../tests/test_random_felts_to_prover.cairo | 47 +-- .../tests/test_read_felt_from_prover.cairo | 62 +--- .../test_read_felt_vector_from_prover.cairo | 351 ++++-------------- .../tests/test_read_uint64_from_prover.cairo | 28 +- 7 files changed, 151 insertions(+), 386 deletions(-) create mode 100644 src/channel/tests/test_random_felt_to_prover.cairo diff --git a/src/channel/channel.cairo b/src/channel/channel.cairo index b2a4a3dca..a0801a47a 100644 --- a/src/channel/channel.cairo +++ b/src/channel/channel.cairo @@ -1,13 +1,4 @@ -use core::array::SpanTrait; -use cairo_verifier::common::{ - flip_endianness::FlipEndiannessTrait, array_append::ArrayAppendTrait, hasher::hash, - consts::{ - C_PRIME_AS_UINT256_LOW, C_PRIME_AS_UINT256_HIGH, STARK_PRIME, MONTGOMERY_R, - MONTGOMERY_R_INVERSE - } -}; use poseidon::{hades_permutation, poseidon_hash_span}; -use core::integer::BoundedU128; #[derive(Drop)] struct Channel { diff --git a/src/channel/tests.cairo b/src/channel/tests.cairo index 51cd5d390..d42b0e95f 100644 --- a/src/channel/tests.cairo +++ b/src/channel/tests.cairo @@ -1,3 +1,4 @@ +mod test_random_felt_to_prover; mod test_random_felts_to_prover; mod test_read_felt_from_prover; mod test_read_felt_vector_from_prover; diff --git a/src/channel/tests/test_random_felt_to_prover.cairo b/src/channel/tests/test_random_felt_to_prover.cairo new file mode 100644 index 000000000..167a4f2ed --- /dev/null +++ b/src/channel/tests/test_random_felt_to_prover.cairo @@ -0,0 +1,39 @@ +use cairo_verifier::channel::channel::ChannelTrait; + +#[test] +#[available_gas(9999999999)] +fn test_random_felts_to_prover_0() { + let mut channel = ChannelTrait::new_with_counter( + 0x55c2e30068db90407013a4cfcedee7895b328c6ba64b8bd5e4c71e470af5fde, 0x0 + ); + + assert( + channel + .random_felt_to_prover() == 0x120149e03e4939d3c2a4ca2fcaa6e9cfff0c64fbe115f54c439d76ff09c3dc7, + 'invalid random felts' + ); + assert( + channel.digest == 0x55c2e30068db90407013a4cfcedee7895b328c6ba64b8bd5e4c71e470af5fde, + 'Invalid value' + ); + assert(channel.counter == 0x1, 'Invalid value'); +} + +#[test] +#[available_gas(9999999999)] +fn test_random_felts_to_prover_1() { + let mut channel = ChannelTrait::new_with_counter( + 0xc5952bab5731090a953716ac821ee7374cc6c4bad31d21b7134f62d6e00593, 0x1 + ); + + assert( + channel + .random_felt_to_prover() == 0x2aaadb36d1b43f25fa226bf80910dbf930cde1b14b6fea843ae83ff4ed3babc, + 'invalid random felts' + ); + assert( + channel.digest == 0xc5952bab5731090a953716ac821ee7374cc6c4bad31d21b7134f62d6e00593, + 'Invalid value' + ); + assert(channel.counter == 0x2, 'Invalid value'); +} diff --git a/src/channel/tests/test_random_felts_to_prover.cairo b/src/channel/tests/test_random_felts_to_prover.cairo index 0d9f389fd..7ae02e356 100644 --- a/src/channel/tests/test_random_felts_to_prover.cairo +++ b/src/channel/tests/test_random_felts_to_prover.cairo @@ -1,49 +1,26 @@ use cairo_verifier::channel::channel::ChannelTrait; -// === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_random_felts_to_prover() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// let random = channel.random_felts_to_prover(3); -// assert( -// *random[0] == 3199910790894706855027093840383592257502485581126271436027309705477370004002, -// 'invalid random felts[0]' -// ); -// assert( -// *random[1] == 2678311171676075552444787698918310126938416157877134200897080931937186268438, -// 'invalid random felts[1]' -// ); -// assert( -// *random[2] == 2409925148191156067407217062797240658947927224212800962983204460004996362724, -// 'invalid random felts[2]' -// ); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_random_felts_to_prover() { - let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); + let mut channel = ChannelTrait::new_with_counter( + 0x55c2e30068db90407013a4cfcedee7895b328c6ba64b8bd5e4c71e470af5fde, 0x0 + ); assert( channel .random_felts_to_prover( - 6 + 3 ) == array![ - 0x414b15fa27add0f6811a50e1c8b9f15817894a0bbfe4f7f295197c1012dfb18, - 0x5e0bb5569c25cb8b8836880bab4e2ce6d4a4daa7884f6ca843d68cb2eebec0b, - 0x38a8e373b08e1edebe3a42c2ac362c3677b34831d0d99ae08961fe96518b7d4, - 0x2a56da11e2abe0a267e2ba40166bb50163c182ac042b88f75f681d6f30c8f37, - 0x1824b7b0c6c0036c4998f345f4b34e1548a03dc637480ff0c6f315d4eacac4a, - 0x39a70b321a5d31147bf5c3299bb5946da16db82658b25af58802bfe64d6fc74, + 0x120149e03e4939d3c2a4ca2fcaa6e9cfff0c64fbe115f54c439d76ff09c3dc7, + 0x3639344cc4b04d4c710b812e109e21f43f87c68d8648749cb25d30503037e4d, + 0xeca2849fb4c4c8e734eafe6d9cb7256c0f1bb43a5c4f2d27090cd8df21a699, ], 'invalid random felts' ); - assert(channel.digest == 0x0, 'Invalid value'); - assert(channel.counter == 0x6, 'Invalid value'); + assert( + channel.digest == 0x55c2e30068db90407013a4cfcedee7895b328c6ba64b8bd5e4c71e470af5fde, + 'Invalid value' + ); + assert(channel.counter == 0x3, 'Invalid value'); } -// === KECCAK ONLY END === - - diff --git a/src/channel/tests/test_read_felt_from_prover.cairo b/src/channel/tests/test_read_felt_from_prover.cairo index 18deb03ed..505a0dab5 100644 --- a/src/channel/tests/test_read_felt_from_prover.cairo +++ b/src/channel/tests/test_read_felt_from_prover.cairo @@ -1,57 +1,31 @@ use cairo_verifier::channel::channel::ChannelTrait; -// === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_read_felt_from_prover_0() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// channel -// .read_felt_from_prover(0x3a63c21f32409c9ec7614199b40102547e7f698f903bdbbffe56785684b7e04); -// assert(channel.digest == 0x0, 'Invalid value'); -// assert(channel.counter == 0, 'Invalid value'); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_read_felt_from_prover_1() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// channel -// .read_felt_from_prover(0x5652f216d992bbf255b97dd1b0a4dde72fab97f1bbcc4a4f53fde7fc50293c8); -// assert(channel.digest == 0x0, 'Invalid value'); -// assert(channel.counter == 0, 'Invalid value'); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_read_felt_from_prover_2() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// channel -// .read_felt_from_prover(0x787521b50c17169b9729a4522e1a0e7bdc028fc8ffdd87c70147bd67c5595d3); -// assert(channel.digest == 0x0, 'Invalid value'); -// assert(channel.counter == 0, 'Invalid value'); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_read_felt_from_prover_0() { - let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); + let mut channel = ChannelTrait::new_with_counter( + 0x6844d424314222ee92d547c4acf2e8bef666793a9ac7a87012e6ba2b4c79857, 0x0 + ); channel - .read_felt_from_prover(0x2bfd93b32c219ece244588f15f8aae89867abc7da1a579bf84ca9544f969c53); - assert(channel.digest == 0x0, 'Invalid value'); - assert(channel.counter == 0, 'Invalid value'); + .read_felt_from_prover(0x38eed0024fd52d22f0f2faf86d2a3d79cadad24762ee24ee457470cd6cd79f0); + assert( + channel.digest == 0x55c2e30068db90407013a4cfcedee7895b328c6ba64b8bd5e4c71e470af5fde, + 'Invalid value' + ); + assert(channel.counter == 0x0, 'Invalid value'); } #[test] #[available_gas(9999999999)] fn test_read_felt_from_prover_1() { - let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); - channel - .read_felt_from_prover(0x5ab21b56b09e48e84b089eb21cd476ccb00fa7963b089a9ba9df2a0a5f3e49d); - assert(channel.digest == 0x0, 'Invalid value'); - assert(channel.counter == 0, 'Invalid value'); + let mut channel = ChannelTrait::new_with_counter( + 0x55c2e30068db90407013a4cfcedee7895b328c6ba64b8bd5e4c71e470af5fde, 0x3 + ); + channel.read_felt_from_prover(0xbf526d19978e73141431cd6f0e3131afb7ec700a07f41245aa510c5ea3d2f8); + assert( + channel.digest == 0x54d0627583471735a2948dbe3cf00d8104b8d99a3b3be8a8410daef4aa556f9, + 'Invalid value' + ); + assert(channel.counter == 0x0, 'Invalid value'); } -// === KECCAK ONLY END === - diff --git a/src/channel/tests/test_read_felt_vector_from_prover.cairo b/src/channel/tests/test_read_felt_vector_from_prover.cairo index 872db558c..2a58e8b74 100644 --- a/src/channel/tests/test_read_felt_vector_from_prover.cairo +++ b/src/channel/tests/test_read_felt_vector_from_prover.cairo @@ -1,291 +1,84 @@ use cairo_verifier::channel::channel::ChannelTrait; -// === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_read_felt_vector_from_prover_0() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// channel -// .read_felt_vector_from_prover( -// array![ -// 0x3b844d8df7b26d71ddac95a77283731a044d0817799b93504c961643e7536fa, -// 0x6eb1a5ad1749834b2625684ee4f1fe4cdff6a2bef8433e7e4f0796d10c80cbd, -// 0x75dc13b4e8e554286a11e29269191a31454de9dd8bd1ff74453d3c8282b9c3e, -// 0x5d91e860db3002e93c93ded748b5c69b806914610831b81772a7c3c8582b492, -// 0x41e5b0b819808f3ee71e801dddd9332ce4bfe3344e1c4a1f98ef7bcc175a654, -// 0x68e0292ec793161aaca50432a7eff9844958933f3d1f0ef42ab4d59602eead2, -// 0x12ed5ff38e0af36126ae3dad7f8c9324b6295a4b5575332f1654b0eb5f2ba9f, -// 0xe748c2e562defed30bd2a97ddf372f8cdff72050ef2fb6d198ec7e26393030, -// 0x7f7703acf716b8a8baeea525fd786e6d758499c15543acc9b8b2543d4e9dc97, -// 0x606233fd51fb776eb76395b33de0e5b66363061ea0686173b7f2bd51120ecb9, -// 0x5aa88ea353d5bcbdcd25060e4dc1f543b5f517b13ded7be39f86f4588184f95, -// 0x696e7876c8317fc8c1b64ecd268bca82152ac03e1d67ecf85c58fdd27472eaa, -// 0x229795a82fc1785c5d1bcefc966d2d4327ffcf405a2fadedf006d6efe8f5d28, -// 0x5dbc9dfb4b87deeb82f1c989dab28eb8238bba970ac6d790bd2bd747150dded, -// 0x7dbf60320086c11016809745ab2aca3e78a857cc77adaa157f39e73cebd40ec, -// 0x7683f9ad2d57da120622c1831d2f2bc2a21c6c89db08a8dc99e4e2cb4db0a8a, -// 0x240d9b78177254aa4901e4d020c99f3f8c83800c46645c0d98781c89a889d9a, -// 0x63d07342b1248a884ed81d8ff276960982f30412232b5eb0e82bd2fee795dba, -// 0x138b1c827c50360ee6044e071af128a59244515e6f0d25711520cdcc73137ef, -// 0x3ef3ea7d0ed81a0fb837e9d978cafb1d50d9ff20eb0177cf67eefbf5e094c77, -// 0x644e69300f7345d84329457a43b888423a3d465b303078ad97694882347a708, -// 0xc3ba2e34998f165a1e9b6d39e326b840b9624455617ed6b3ab6797e79e7caf, -// 0x7dcff7dd27d1406d84e194d2a4a514375844327f4657f81c57c0a9780bdec7e, -// 0x5a7f0e7321ed0fd6002caa89e847e828625862739631c23eeb6b1608a6877e8, -// 0x7ec3aa585e55878ec09fc43a4c27fa9c6e1650e3a5f40a3f068a8c1edac55cf, -// 0x4485c63701197e83d82abc2005661d9caaaf16d06f79b554e8497343704650f, -// 0x7a5547e58a3c521e3f1aa05f9fe92ec5b67acf8160412ea40b124cd6abb409a, -// 0x61edcece581dfc7c362d5c68413a318a2a13067056735b6f25efa234a8de781, -// 0x52d5c55126361364bc851e93109aa850fa97b3c52ff2037943b286ee6945f24, -// 0x1874dc6edd4f2907f6d7853dd484138a1ff5dd970345616637b178180f72016, -// 0x5c13969e0080179173365d04a5291827a1867b9bb741bfc79fdeb18bdb127b, -// 0xc313755e3efe95b1719e3673079bb9a8e65abc715f4272c0ec82b05576a5d4, -// 0x70c40cd969fbb58e0ce8fb8156e75ec643198f1655756dd4345731bdda82457, -// 0x1ed92b204747f07d2d7d71b6b0c2c714deffd15630dded2baa4e3cd91d6a6, -// 0x207b8a3383d80b4e472b398348aed1c1d5d297a9f65ae3dcae1db0d6759b2c4, -// 0x54e9862b9031fc989203051d100afac6f79ca47b45b9a8dc7a489631098bc57, -// 0x58bcee8afb1cfa88accd584055bbd789dc3ae2078bc24b707a3cbf3d0b406a, -// 0x3db80e4ef29231ced584222388716ae2f1fe22a2ee2b0e78d7eec08a2fcc617, -// 0x372efeacd11ce8c0baa8181fac21e3a0b81bdbcbe9804fb049b049b157aab3c, -// 0x44cf712a574df01e17dadb8536051e939243d5a09653783fa8df7a2340bb0c7, -// 0x572b6bfa27ee798bc99814d57c0e3a6a3c1271ae0a15f21cfc879bbb0e1447c, -// 0x659e7542be990fd7964775bbb4ffd6312da031a8a75f58619b9fbcbb45ab862, -// 0x307c0e7fb6099f26ab78a02fec97a50ccc5af6f3352b06f95b983bd7d42216f, -// 0x4f3181ab68c2bfeed59c6581be75f03ceb1f75643627f31c0fbeedf86f42eb5, -// 0x19425c4b4d24775ec1d7af92a56152108b62cbb132dee8d55cf57abbe7fbefa, -// 0x4fd54238eb975cbc26dc0df31fbf9578f4343910edaba2763dcc0504ee34ccf, -// 0x6d948775eef790de896d9a2398764cce026083b1230727fb9d0ab1ded7f4078, -// 0x521fe547fd42527e366950ce2e03049be2af52f8014dda1c8c26726c07da0b6, -// 0x79ba9a8b07219cbbdadcc343a88ae06619214a2d889a4288e3803a16d9fa8d0, -// 0x4c02186dfe672284ecb4debe18262098a3d4da503fe0a3faba3b6a1b9cb24a0, -// 0x169cba5fc545966849d5ca4a04c6543274d8ce2062bac7b031905a236d34947, -// 0x5ca15ebaa6a4cabcd2ff1b57104f6016078caa2b7b75359f6dcd6768e20ffed, -// 0x6eebdabdc4004547e4d0b3498e482206e0b53aef4173833cdb9604206df874b, -// 0x73a44590298020a85aad91f4c24dc904858af2a4cb6db5deb48e08737cb6cd8, -// 0x2b730dea711f9e6c71bba2dc6f98a44f8b44ca7ada4def018e19d68523345a4, -// 0x60b9f200e5d6716a88a77906875f3e3bf36b72ce5f68d7daf71779e6b605768, -// 0x62d04931b023c1589b34cae1fb6deb5cfe9e94e1dc55d37dd75b6a3e7422888, -// 0x7cf7edb764e6c56c696a0a309825da406c5544f59a312c5be93b0af3f7b7b92, -// 0x1ff628b40a85fec511117f3b16dd2e4d85a736a27d0d7f3c522c0f4d12237eb, -// 0x531a594ceb7df07524258e025744818b45172044f4630da3af2dd204e45705f, -// 0x6cde7377d376d15ddd1644a4f0a01abd299b014a9d6b371be51bb693e47fba, -// 0x27fdaea9d45e8b4736145c45a1e6f28376aad57522e9db7d2c82b437aef410, -// 0x511cd012f11b52ff77b3176aa6989c1e3717134dbaf4ba25d1ecfddae6d1dd3, -// 0x6f4db519f699a96f0d7c31aed14fa67e5b4cf512b41a188dfd05ef2516d22fb, -// 0x383f290213017ea0c013f1f6f017313484607d086b1d532cfb01c75fa62bfdb, -// 0x63035854e7a9ece60ec27e05ee24b3e8e33fcd66f69f74072029c7cf888a708, -// 0x69687f44312ff1c549e15f217d7a05f5d8b730cf6ba2f0b79469ea2aab44fd2, -// 0x62d482089605df042e99352b47cb7b0b5745ef70f10ded966e8a2d870af38ca, -// 0x6becfa5e1ecf7017ffbc3dd18d59f2c35918bbebb03a8e733bd8e6a8e5a7153, -// 0x2dfdf010e2d014f0a2a0ddd980cf270538d4821737c7cffd5ae35879627c035, -// 0x93732663ebed60e68ede807f8c0376e38e093cbdce185e0e59470aac5b90ef, -// 0x980b7aa5e884a1d9d06c64c3529d7c4f8cd82344f57c58fb8f33e083379005, -// 0x7a01e04e34a5e2d6e1b81e433236a3c997933bd4e24329f2632eab796d14993, -// 0x407cd2e7882070607f7ac384adb97013b42140e2e86be3851c09e38185911a7, -// 0x7c96759b0eefa2ba71c5a83cd18aee4163f1823bfa56703b790c6107dbf8d55, -// 0x5f8b457e268f2c4cdd19e4cfee839de5d54263ca574a2a2c1a8a0fde6f680b1, -// 0xe45237d0e9527b8349ac30395b8b4edb39e9828b377a69fd1b028d127bc3cf, -// 0x4eb254a9333589162bdec968e7342ce56733d0cc3d1119414a38a8ef38f052a, -// 0x7c1ebdacaa499725b5b5066ae78dc73a730b6941aa5f89d9f064af4ead97294, -// 0x5ecbbeb0fd4df85b7a97cc1192dd59dfc5b483cd0d230274cc04e5ca063ca3a, -// 0x6fd5f158bdb22d4ba47967fce9032e20bdafc7f98a58620aa66a69f651be44f, -// 0x17a5acc1b4c2f74c9b7b21873837bfe355edc63b70aa7c748eee11d8de9f646, -// 0x1c111d2c257fb6a6fb826ead1f994971f528105bb2fd04b339759f5199f96ba, -// 0x51aaf4b65bfc8dace07fde3f9ea5966848a1c7ef96ac91dffbe3c6ecf39cec1, -// 0x5e33e6e50fa05337c6aaf111d3371a5869d1f3e418e84a8b92f9f6789bd6a98, -// 0x49ba34c8cbdc2818f4f09c4ca7484d9a0a2c7f8bce743f08ceac127dd17fbdb, -// 0x34b1417dd68894b89cfff52f89642bda9524de53e4fa22103aa3ee7f00366fb, -// 0x7664cbf6da8ad539b0b9ed7b9a86b06cc5f80f639e995c0973e285efdb779a8, -// 0x3108e8a3aa756c138343ae9a9676ed77f5e3da60cf519fe2863baf9f114c004, -// 0x371568ef4831cfff4baeeaa9142f749596b68202c3500fab27993fab77f94bb, -// 0x2013ab48977221f9b9861e0d721f563f7853c20222560ead2717f1d668d8e7c, -// 0x67b389022e2e540b2cb55ebee82d08b218e186c7169d8a4b99815ef7088738, -// 0x275d7eb58495f33c3e03a327146743ffe91eed27b0c7c3501b2c50e0a166ad5, -// 0x2cb9eb5d9cbe6495c048aa1eb6faf9f5c0246853832135009cbbec955027bf3, -// 0x635663b9e2ef0c57ae830064f0bece8f18d3276f6dd1242a91ed45f067918ce, -// 0x73a0767432cddef3e0654942d64bb8b4802334b795250ae4ebbf84200cd226, -// 0x65ee582c948b8c4ae64b2eb31affce5771d3fb6437d60e7e5669a0a12f59d21, -// 0x1ebb003fedab8cebd11c4e7fedffa3937e5888e1be2bf90b163c5392c6d00b1, -// 0x25a290f232a1bafb1c97efbfb4a5a7f6a2c2023b1ab3344b44ccca30f514eb4, -// 0x473aaf24106c820bf7a87d8e781626b0a534d674ed814df151ad31c1a7a2c4e, -// 0x4fd4711443d02452732fe7304ed5367472b24a37404d4203e552699df38e1e4, -// 0x27fca6dd6064dcadf604a7cd878dd6591c2eceacef36ac0f64bcdf8d50bc143, -// 0x51186a24a0768ddec0a2ab60164139499df0022ceab15e480fae9e3678f8a68, -// 0x7c563abd1420f288bf0b7dfb184af9c8c24017fe652d9e58d8caa3784b445cc, -// 0x2a7dff406b5c7b8e910676df491ce42202a037b4b1129b243040fa99a05a81a, -// 0x6f8512bf92c7b4a875abb184a245db46fd43cd2908ce912bda10762fd337d50, -// 0x51530afb2758fa99dafe378aaa89493d8631de864f53f3d423396ba2fc165c7, -// 0x39fe7a0520ea8d4dba51062dee07750a1b77a3e28dc7374f66c6eee8ac846ff, -// 0x6e1f1cd0082420e0c59b2d12d972dfe1d943d66670d4abdd355ce036382a691, -// 0x11aad3cdaba675421e2b3fba375eb2687306e6742cca1d03fe3371a1df217b5, -// 0x7722d41c190586dbc84ec13fdd5ec42d7702f158bc1cc29f08ef3ed19ac862f, -// 0x449eca9e55b688a369bf360d6096751456a33168c9ec38e986447c9895ef98, -// 0x65339aa37351112d383def9d140b3602cb88bb9decda842fdf1208a6a7f0a4d, -// 0x6630d06f5c63e320deafd2c6a4cc5bffbfddb614d347bf1d607d983d404f0b5, -// 0x1a4913a89f0fadaf62bd689eec4e9edb14213aaebfc307aa591c916c54b830a, -// 0x3a79548f79577c04dd286ad1db64b38dbf32f9b6fa937168c46d2e98dd76d32, -// 0x283055e9bf6b05db39cce849f8a6be5419b1ee2106316967b1514f5bea44c45, -// 0xf88adab6614d6d445db04fc7cad589cc19a67d6ba3500f64c3effcecfab112, -// 0x47c09554878d8fc2afcfa0b136cc3adc102cd6c790b7cfcbd4cc33932a720e, -// 0x4c9be49cff06dd947e1f8016f0e65ca839201072bb0ecf54f4e49023d2ca878, -// 0x3a57b0961dc7b48db58921d1f6532fc6ac7bd73b0713a80074c6f6b78cc7219, -// 0x7d2e0924dacacd0de5d7cd1d74e357fc90e83b28c964800011c2d3bb39f6ec4, -// 0x76d089ceb84af74183cf948602f3724a32783a669a61715c12e017ec3eca29, -// 0x7fa727777d52242828b4e0ac59ccabec6939789e90a6109882b57903cb1a88e, -// 0x58803b504852d9baae0acea9b94893808f8428d3f1b66fdc3e95b35e9231a3f, -// 0x32d904eca7ea63e7174ab1f19d0430ca1f8daddf03c7b400cee6380c4f4cd8, -// 0x5dfb739807b4cb1fe4387475630c52f0b44a2f92bdc2718e872273c4b4fa013, -// 0x733caba128dc8696c58e20e8f451c63dc8711ff6d6e4ec498b5de3b07f0bb47 -// ] -// .span() -// ); -// assert(channel.digest == 0x0, 'Invalid value'); -// assert(channel.counter == 0, 'Invalid value'); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_read_felt_vector_from_prover_0() { - let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); + let mut channel = ChannelTrait::new_with_counter( + 0x2b4170a9346779f70d000c57781ae074fbd07a52bfe93af87a2017db08c0a7b, 0x1 + ); channel .read_felt_vector_from_prover( array![ - 0xe2470d21d096af3e052c0acdc6e8ad0536f687a57696ac137bee14abcd9ae1, - 0x1540d17d0d63374f10075560b4abd1e58b0ce51e4d5609fcb7ba1533b8a910e, - 0x23b530db413d54c606ae6d67eaffa00f82543a490a25b46a9b1be73a3915898, - 0x1ddbcfaed0b6e5d0d63a29f77f823c5efe9fa5848b0c11decb0618d35405123, - 0x7cb4933e47bfaa631515a5b8aafd8283770953826dc0f2bcd03b819032dce07, - 0xbcbe93d4fc52d418ec5ec74ddb8f50947773ae9a5b74acde219d0d3df4ce4f, - 0x464b5840ae91979c0a9c07f1e404f6255661ba3a9c0966892f3a51febf66875, - 0x7bb54c81ca82a69e6ca94e9158c87fed83154dccd5e7398ab378e52d1bd87b1, - 0x73a6d999d4cb6782928d93bebf9ca8ecf3f8fc0f45ab5264580a6a0e3265560, - 0x5da0236cad8f9393dc6fe882a7a9485992e34596be496d4b571b8bc3c7149e8, - 0x22e988512ba3c4f4717aa221034e483b5e5f496b7d30837fed2b9011cd5e2c5, - 0x282c1185c0ded55a8bb6529b38836deb3e20b4e63b5b1f3820bbf2a485fb8ac, - 0x774075dfea2cd47e5c13af54e302faf607dff2252fb8d897b8e14d2f6451ec5, - 0x6b51d0297cb76919cc200b2492a29fb38566f4ce7c2efc89329bec401041446, - 0x34daeedff32671c70b2bd41e6d9a3d0c0ec7888d3a46d175105c24e48ecfdff, - 0x74f5386f824e8631d33da4e22527565527b15bfe4a89778afc5ef497ae1be68, - 0x57e419c71b95cc2405897a420ad00c12673c1e473da836e54feafd9cb7887c, - 0x78abac64a4c6dd9e8aaaff1d3bb4583d895fb5eb54db7fccd93f7d852750fcd, - 0x7eed254fcae8bafcf9db87725875724caf8fb5282de32829829112bcea8264a, - 0x4d65a5ba98c375621ad66d3e9883801dac50a5d2adb53ad2bc9eddc463a593d, - 0x155419128de06c3ed2822237f8493fbac2036e7418d4bccc67fe8f8703a3115, - 0x36e3af94fd16884822d78a644df102db224a7cd591c900a1658dbc52c853ef7, - 0x2a2161b2945c18e6d22924a02a5625b6377c0f68c40b61bece7ad55b8fefa55, - 0x26e365d65c76d7f5f5ffd730c4b05518c5b5eb0adbf66273a574e7b395c5f7a, - 0x1733be9c68633950bd3e79c03eea0183777e4866e842b7145938b20bd3c8622, - 0x7e011a436b401ab666b5b0e1ac194bb6454cd3f88d7de70c03e14d84bb2d8fc, - 0x617b1c0f64766c07ffd9bf7c0eed8bec66f8024a0bb309650095110993dbc76, - 0xf5c259c907c9cf111bcdb9050b3e737e5193a5ba65eab0ceff8b1b7edf7633, - 0x223f68bc8ee6cfc58aed327f8c3d33d552fce6defbc11ced1ef4a27c2089a0b, - 0xa7620e3a72ee9ab2663c4a2a6eaf3bef3f24582fc751d3c0f4aee0d000c826, - 0x518b632f274312a3343e95400edceaa0ed79424fdb5bb9108d6998fe8f24aa1, - 0x7470d9bad030a06248d5365184ec6d580dc4e24e1721ecb4f27a9c0e37b6a97, - 0x5f48014b033a2ba83d3f40ea904a530429d606a1854879d19acea79559e8f7a, - 0x4c1ccc9bd3675bbc562232f3a87a94808cbd3bc6a4563dc037c87d55a46a5f5, - 0x3156dd4e5be4c184162716e8097e6f19cf8a5eb454afcd5f36a88c6d9332883, - 0x31cf4462724e6c5f5a7670751e749541acee0e8061c003615582495b941a5f, - 0x59d3ce5574f18c6d817ae40b9f1d909d665645e602e22ff0ca58a864809a36e, - 0x6829d4908042988ab2225227486dd4a2d57fe8c85e818c671e81a8647e07ee3, - 0x79239120db10642b4763ff143b45ceae079f1887a03d375456204b1a252718, - 0x5f6db8b15ebceec528008a65215dcda77bdf3fdba30b82d63af90597d0a5de4, - 0x5446cc62329a7db3e15b2246b7c70697c1686d3d42b869d95d631c4e0842df6, - 0x1a628ed4c50af09f7eb94a763422b4bc1afbfd053ac60f8dbfcd068021e4157, - 0x71d7ffda5d9af0cf6b2937e8299c7a718551dea8478b8a8bea3127179c00340, - 0x3a5f51a8e9642c62078cd68b6492edc96ce1f44698d121de4533ff9d49254ee, - 0x2eaa1f06ee179308e745679a12ff408973822e3fe493fa2f8b231beb1ffe613, - 0x26e3447e6e8e8fbe6704d0181185df5520d3218ae4dc671c95b5619dd4ed7c, - 0x5230378761f39c569474219cc341556b59e8c096c38a1f2d8614b619bc02901, - 0x3256250facf1894391b631ec89e3223a4eb9ae796372d687bf07502b749b18, - 0x1fffa9e348bdb58d0168089d2287c6fc22de12fd1358fcff9551aa3ecbc98e8, - 0x55bf531f3f0ce3d5a17c25bb9b9b2e2dc03e88d2dcb8d4fe7886a1fcc14de81, - 0x3affd70b366743930366e01ceee9b7efd718a9cc832f11e5da3f7537df0a563, - 0x1d00f663e329bb6167998b08afcfa63f5e83a6bfd0b1977e3dca864b515a616, - 0x1de8ac1437154c6819e3bf623fd6c38e7576ad180d745da98e1fa8308ec17b2, - 0x64727d22bd59c565e8396d836e0359c1b61b7b635bab74dbcac8c568cfc4b8c, - 0x5315b4943a98c8d5b10054db7542a19c01cabc5e23b7c3623094a01b3e4956b, - 0x5f0a3930dcabb13f88824a86e255db7599cf02b64e9e927398dc9c2b1695d20, - 0x61610a9f080e6ef8c09bddec81f58541aa278ccc75323bf93486b3f11d0d94e, - 0x10e321e30890755cc72c3c365ba012933b718ca844e918ddca290a649b3f461, - 0x7164979939bd1984c8675f27ebbb00fdba984b5512b9245e7b5a5f8c321f751, - 0x7d75aab6b98d1060fe5e358e53152b968f522b1288a454f719c10e579ef0e48, - 0x71748fbb0feb483ce4bb5fa5cc1cd2099ef37f58086d67a9c660d8147ea6430, - 0x5450937097e3261cb7d8aa271a291ed0b6c876336138a2e6d519f2b5a3a6848, - 0x7c232de2f373d42e531d1b2c898700fcc71962032c5916e1c7068c059b11828, - 0x18c46abcb0fc50c930ba3e1dd9a72f6e9e9d84830cf3a2dba4946c8adac131, - 0x6d952b121991ed0e14635a60c3d13318b3534625a173a646aa1cc031025e315, - 0xd2ca0fdbdd5f2201ddc7a101648db88ae79a81abd3b7e2c1f051efb9fb2738, - 0x49e8b4a9267c87b311cb1ab599d654af51666fec8bc0a15833130d96a67ecc2, - 0x7e906fbfe18804a573e0ea05af609f70e1c273145578116a3b0a07540a0b1ae, - 0x5207931c8b8ec21334a4cd73042ae646d097500b4dd633843feb8b8a09c384c, - 0x492f8ae0750d4293446453a0a848f68c3333827191f481cdc98585a1d40c2f4, - 0x1a1ced13cb334fb0a1203e4e404c47e292f90a231d1fc518ead14bcd2f7d008, - 0x2738dd19736366adc65d640a64cb49a5b5ab42ef8ab573ed8ee81b51384c06, - 0x2c3ae350f80ab38149b81c444371345842352b07a38f5d45f6c56724cbe9e35, - 0x790146e39631a6e53672a06873a65ab363a6c71d9936556adf31206d5c8c2c4, - 0x6d85606d5acb0bd41a46f19c3ee0bbf64370059b48590f9a57961b7e5b457d, - 0xb3eeb58d5468759549e68c224101712be89d38df8e16c7b5ace53c2df8d4af, - 0xa4db0e34f42e699b7e0cac99b5800f95d973000592b24ca6a4d1c5129a2f3a, - 0x53a9633390a0de2152cd8e8a62bb08eadb99419dcf7b11c6b01f0d60e909537, - 0xbaf6a6b22c611b65d6c87d98aeadba821e7b64379d1f471a63dfa48bbd2299, - 0x16d372d6404286120cc07d83cf068fc45ada98a0bb421090a77d93fc615b7c6, - 0x5b80d50ef057a69f33bc09d85f92db3849ea0c8ef71f99cea7d0d31d3cf242d, - 0x5f0f396201501f31b4f3bdf82ba56242ed1e5a1512175f85900344188bebe4, - 0x18d3524c7d0e0d4889cc39dd92bffefa67c7ea2b4910118b76825093d125e7f, - 0x424e4ad45eae02216efe20cdf55944fc6a605c3bd55d845e4314708a72bcc4b, - 0x45cdfa5bf5208066596b18c23b6f73379b7d8e867e5123048997a4f4f59c3bc, - 0x317c94c9d1dff21fb3aecd3289c316a74b6070820feb73a390cc1d4624583b0, - 0x486759706bf98d17d4f66cbb16761f556621090bdf54a1aa657201f28a55a91, - 0x78ac0e52978867a2b9706eef1796584eb84422e087c5b7ba6e56e700ec5a655, - 0x50fb86b7207c24bb973c7b8947152abc189bdf201569b1dd50576d5c4d01cef, - 0xf2500af6e737837742b71b4581d9c7588b106c355888fbb17911b802d9147b, - 0x699b36a65b7d66e812901120f42f7c45cde672b983bbfa76af3e7f775440fc1, - 0x18b30c4d989119776f779750f7846a4b861e544afb960559d6700acfa402057, - 0x83249647ffb25a45093fd1a0f2e310931814ae984a097281733166306070c, - 0x19e04b3288c65971de73c21a19137e19a8edc5da39f8fbd3708a9707245b097, - 0x11020c49a9adddd327413fc28e2522b85209bb053881c3ed1c70e2494ec23de, - 0x399b81a454c0e21e93be8259178a2c8e25e1d21921cc14e29553f9b8bb3fc12, - 0x5521ae2254453e800860ac78f60c93ec9d0ed8f4e0fdea3557e5045663dd3c6, - 0x208e6a2fcb6f0a76649adc9e6d6348df0d4c5b51c41f0e7b6320474327ecb81, - 0x34644fd1c02aaec328c761e37c66c98b6fcdc17b544beae9caeb9d26dc9cddb, - 0x1617af322cd03d0dbd1a989f7ebaab9eaaebbe88b46c1c068ceb4c057c041d4, - 0x5ce69ce2494fa71e81212d9adee86841ebca8e7d104458b14c470038e69f10, - 0x6974cf175b66ecc768f5de740cec11066aa143ea8c7b62b93b6c6d5631010bc, - 0x77d88da87532678899f0b7074e692b92209a343950f650c68d185f49f57c78e, - 0x65a999f1e4252bf8927b45bdf8cc661925a80063b8f45e4661f995b1f25a7e8, - 0x31c92de72f93673fdd6443bbdb421e4263a3ac4cebd3f0bf6aa9ba81e41e0c5, - 0x4cad0b51b59a60ae328ab3f0d4620a508ffced7b6258b76921f40c2128f4fd, - 0x1b00667e875bd41fcfbc1fd6aef4efe33e21155acf1f6258f8146e8027fcaeb, - 0x4eb14632a89687e70a2b171c7d7b24557785cd43fc2bd737901a73d91687bf1, - 0x6c5b3bb23931b9c48f8470a6a83ddd9d851ea7457d84d8d6363a1b876ef6cd6, - 0x3176139413845ddedab8511badcbc6990eb87951dda8849df654addc9985056, - 0x274b2e183f25bd317a45c40f6a561127c05a9123f5fec55ad26c2b165b1537a, - 0x72add6a643545853ed50abba631e40dac037e38f917843d027f0730a1b698a3, - 0x184ca52edfb80c95c3e4700152c8d02f73e788427a026701e646328b80d6bf, - 0x66a4be384e44eed31b91a6931551bbe730ec40bf3a06906b06ec53b0a2fd228, - 0x6fea30bacd1850d8c6dd33f1ec1c5ddeb130a0f6a72f9ff6f8077facf0d1b9e, - 0x55da4dfa3093f5c929a264938d48a0039b139c98aab0b6ed23dad7489f0b00d, - 0x6cad7ffefb4054a2ddc874e58288a572ddfcca78af94ffbb850e5d15f909ce8, - 0x5fe5fe94f98acc1031e592e56a18b63d2086296fd47651b78aed14fb8fd1cca, - 0x408e1057300e85192e944cf8c63d390186d746ce8c14e7f11f76f678bd62d62, - 0x1097e4280c6c639d890e4d43466cb8b2c909de7fb51ebe87d3c8f054527ab1, - 0x6ecc41b7074ae11ea46b74790dda630a6c48f9c04ace3132ca1860952355cf7, - 0x7ec71e10de7f980b4abba830575ba3d316e9f973f417b696abc146e5df4a529, - 0x767607058a3d9552001809e212f5f0241e5775500f5e98987a46fa6a52ef3ae, - 0x7cb50c5134d4b637e21e1e26445c3448a5af48a1aefa5c7342971031bfe6604, - 0x3889243688fdd24aa9dc78343653a8d80752c4d4ea4bd3533a67a34599e29bd, - 0x62814582d3faa55dba44444f567970125450b0090758bbdf94db36e9e1f0f61, - 0x25be9526d70b32814621fbfa200251dfddeb5bfc9acd9ac9239cdef99864783, - 0x1f559f543c297be47f54d8a340556a8d273b4f700eca7a1323c002c9f3088e7, + 0x6e31eac3f7cc4e491e744f119c1a217942ece29276c342d4e8cae80ad08a693, + 0x36db0ccfb4e7ddd8405142deffeac12a35ba6761f84557886e25f3b4cb8462f, + 0x3400922c53d44460cdc93e31d3c638147a32d4bdf0d474e925125c5356ceaec, + 0x42e6c0b05d2b0fa898a962ddafcd945f618aa188872ab0c4de961c68e9dc871, + 0x404f4aa1642d0696b12a19b9c910135c84a9fa3f213e941e5b7138e00efc6a3, + 0x1de776c445faa369b66d0dcb94313bfbff6d8220d8f8353062cbde63d888c99, + 0x72da2d4b0ff8fa4d6a3b2ee343dffdc3d5cc63dc77071f8a0842eaee9e85e57, + 0x623c0f0f2b31af55fa7250ab6414645891db0d70731c86ceec8fce81243d5d1, + 0x162e0fee6ede54ab1d77d1026b39b6e6360d9437770a27d96e8e198c2b123, + 0x25832f9f71220971a1e7e9188f7a40fb82d5a25ccadd6f4aa4b1f5154750d59, + 0x3d4dddd2f14ce4028e9f35e0e1324026b3a56484a22f8f12e0eb00b1d2b4d71, + 0x43d272984d773e1df5c25d9cc829b2ff62f2ef471f1ae5c6dffa2dfc7317e02, + 0x3eb8e84da9c856c4376677d005d3512182b6722f0160ab4d8672f9edc60444d, + 0x3e63ece590fcceb2af8688c1635385bf3ab348917f8a0837ca6de258178d582, + 0x2c880c9a4ab4feaf9bc4ddd2ef528183a6cc530c57eb725a2f4d3d71869dfa6, + 0x3496703d0e69fe638eceb623979e65331c27a002529ed4cfe178aff21d0598a, + 0x3f867c830e022db44d15f5603eafefe518640d64e40a1dfc9d06ce7f423eb29, + 0x7ecd56244436fe404e29be6885395ac552c975ff5ef06b12d554c8c5889fb61, + 0x4801ce989ad7178021c276305b0b36bd6032298ea17e5d89a07efac5835709a, + 0x1831152d8e34609b77b997e752375c2833502e8d0ace7cc69188ecf62fa2caa, + 0x24afbd9639b08e0bd476b29f0b4a2c10c20ec207a314f3c7746b94a3e0488c5, + 0x704fd22ff43e1e88d9ea7dc6095604c2dbb2cb85b0ef6a8baadffdb22734a0c, + 0x73471608cbc8e5513e12b162552f62b3e6d1d9ee991c9ce79ef955737190e41, + 0xea845d2f157aafe2f0b001d5367a9a5489c0ccc66a4cfab0ce5a703c0e982e, + 0x6505ecde93d784e0076f64f59f01afcefc6bc68b7bd430c1261663e1928f0c9, + 0x614bdf5037243bb623b96c21c8baa91c24ff116707738aff257452bf70339cf, + 0x28f4388768d78ac6eadc9536321fe90b4576b4916bc516bc38a0616428d95dc, + 0x6e27ab5cd33aec7ebda5e0df1e8b4cc80868582572e7c779035b8d119a0e5f6, + 0x4f581f20c594a8e4c2c10b424b5478fda6dee52ae6cdc9d926b06b5c6fee24a, + 0x4c5421a1e4cb0cdbea8bbc810bce4abe0333a8a516be8213ae396aee1b3f923, + 0x1faae5613ba475bb7c321929fd5ba8cb0ed3a26f4b2b27c39e20573f50ec0d3, + 0x69960bf9fa92ccacee1e304538008d19f31c0658d2d73d43d021ba186fa6283, + 0x73f633856ac2182f73c124b3bb4ea1ce66f2286aab143548f67e9c84f0e1b1a, + 0x64e3c8e58abdc6efa0ea8804b07b6bdd4b360615fd4345752813f7374bfbd48, + 0x1716993cda0be1d321272473086b3eb88597d70a7f8aeb9374e528cb3053af8, + 0x5d8591f4ba76fdcefe101009e332ebd7ffea0c1008800b2661969aaec519084, + 0x25d6f24e3dc931fabc25aaf745cb66765eb3915eddea6178d9c51013ba54cd5, + 0xe89dd10496bc1b17b7bb071875f635d42f8cb7c6b3e8078020b42680bf4c1a, + 0xf3bf77e961ab4411f3cf7dc91f4f4ddbd92c0d26e76649d744bb58c64df360, + 0x36ec6016a05a87f65fa894d96e031e6a973ca3112d97acd8a8e67c08238d6f2, + 0x5fd3b05784fd661303ba94f0314ad16661b884553887ff72d1b5a49d4fe0e4f, + 0x5f8c3185e68e63192d13315dbc046cbaaa6f83b1918860e3c8869b161a9936a, + 0x22294cea13d6d7c07e792a78bf26a57d949f8393c73aff1d72cac789a35b9a0, + 0x71733ffe7fbdbd755250e1b2276b979f466a6b90ff25c9ed95f13e8dfa932c5, + 0x8dbb0b141c015443a760ee845fc854e0f0bf242eb9edd0ce4c225851d65bc4, + 0x13c3fdc5867870f932e4ae2586750a9ceccfec8fd880fcf8a422c819c859051, + 0x2b176041c66756291d6fa954ce86bc8e8ac5bbd51b336e4fdf7184d8b7e088f, + 0x626f4d47cc10471d94eab38541e87ee2056b7ca0a12fa239458eb3e9b8974f3, + 0x404a3b772ed585d4dc345410f27bfa3a726ba8635f78bedfaae4a13d6de192f, + 0xa392a35f79567ff4f56b139be09e3e9ce8e7ffd9088f69b77bc0dbfbe855dc, + 0x4ae6b4f01a1a7fd73b3c255013baf9591e7fcfbab7b70786e67f721788a3e87, + 0x2bd6b425243d245202bfa31ea1054864273d1a2a35d7be562e8a4de99fb783c, + 0x56425abcadf1aa6181f622653cd125757727b27de0d21b41a96cdea49684e2, + 0x4a9474ccfc1762fbb8066108748d38d1a99e20d23cbbd0626caa29294b1ee8e, + 0x65c4c22574018c07f93d3a1f9851139ec6ea1f1b6cb39e50bb89b1ca4e1635d, + 0x50ad21346827dcf75baf06c5023f2aa1d7109bea05067371535bc7dfdc83a2, + 0x358fd79def3b85c45f0339542e9052410863024d9a8d610ab6d61f8b2cd3e05, + 0x70c439933d2d6993b0c5e290d004f90d7cf59b7114727d147dd61997a414fb6, + 0x7c1a47cb249f382c9078bfb7d884b0adc435487a4af3a6472b16db43142ae38, + 0x1660e82068ed19e2dd824710c93b93d2bbf13cb06444816da7e720a128485ca, + 0x297d27b5ab25b21a551dd69715302102f0db673e13bb4fcc4450e28951d5c89, + 0x44974986f4d0c4bc5681091b65f8fe6541c9b20bb38d7b347289e6d7cbc66fb, + 0x27b0d75dcecef920d1b2c6ef98b493d8fb97d89cab101a4d9a02862ef623c39, + 0x44fd3361c232b9d288c73cb7a1e158a4912091d9bcc9a77ba41b0b7b413095d, ] .span() ); - assert(channel.digest == 0x0, 'Invalid value'); - assert(channel.counter == 0, 'Invalid value'); + assert( + channel.digest == 0x69eb7eb40004d1d7375b1ff9ccff8f7aed629e669b4fc3e11db4e748fdfbb2f, + 'Invalid value' + ); + assert(channel.counter == 0x0, 'Invalid value'); } -// === KECCAK ONLY END === - - diff --git a/src/channel/tests/test_read_uint64_from_prover.cairo b/src/channel/tests/test_read_uint64_from_prover.cairo index 13b34846e..72bad94ab 100644 --- a/src/channel/tests/test_read_uint64_from_prover.cairo +++ b/src/channel/tests/test_read_uint64_from_prover.cairo @@ -1,25 +1,15 @@ use cairo_verifier::channel::channel::ChannelTrait; -// === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_read_uint64_from_prover_0() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// channel.read_uint64_from_prover(0x40719c5); -// assert(channel.digest == 0x0, 'Invalid value'); -// assert(channel.counter == 0, 'Invalid value'); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_read_uint64_from_prover_0() { - let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); - channel.read_uint64_from_prover(0xd65397f); - assert(channel.digest == 0x0, 'Invalid value'); - assert(channel.counter == 0, 'Invalid value'); + let mut channel = ChannelTrait::new_with_counter( + 0x69eb7eb40004d1d7375b1ff9ccff8f7aed629e669b4fc3e11db4e748fdfbb2f, 0x0 + ); + channel.read_uint64_from_prover(0x1e7e0); + assert( + channel.digest == 0xc5952bab5731090a953716ac821ee7374cc6c4bad31d21b7134f62d6e00593, + 'Invalid value' + ); + assert(channel.counter == 0x0, 'Invalid value'); } -// === KECCAK ONLY END === - - From fefa946db2ba8487b63c86949b49c782bdb14ef0 Mon Sep 17 00:00:00 2001 From: Filip Krawczyk Date: Mon, 26 Feb 2024 12:57:09 +0100 Subject: [PATCH 11/48] Fix table commitment --- src/table_commitment/table_commitment.cairo | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/table_commitment/table_commitment.cairo b/src/table_commitment/table_commitment.cairo index 947693af2..56b3c8ae1 100644 --- a/src/table_commitment/table_commitment.cairo +++ b/src/table_commitment/table_commitment.cairo @@ -10,6 +10,7 @@ use cairo_verifier::{ }, channel::channel::Channel }; +use poseidon::poseidon_hash_span; // Commitment for a table (n_rows x n_columns) of field elements in montgomery form. @@ -121,7 +122,10 @@ fn generate_vector_queries( break; } let hash = if n_columns == 1 { - *values[i * n_columns] + *values[i] + } else if is_verifier_friendly { + let slice = values.slice(i * n_columns, n_columns); + poseidon_hash_span(slice) } else { let slice = values.slice(i * n_columns, n_columns); let mut data = ArrayTrait::new(); // u32 for blake, u64 for keccak From 0a9cf37c1a1f9fd0265505cf6888baf95649f8ba Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 4 Mar 2024 21:00:19 +0100 Subject: [PATCH 12/48] runner update --- Cargo.toml | 2 +- runner/Cargo.toml | 1 + runner/src/main.rs | 39 +++++++++++++++++++++++++++------------ 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 6a321341c..55e1fb6f6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ cairo-felt = "0.9" cairo-lang-runner = "2.5.0" cairo-lang-sierra = "2.5.0" cairo-lang-utils = "2.5.0" -cairo-proof-parser = { git = "https://github.com/cartridge-gg/cairo-proof-parser", tag = "v0.1.0" } +cairo-proof-parser = { git = "https://github.com/Okm165/cairo-proof-parser" } cairo-vm = "0.9.2" clap = { version = "4.4.18", features = ["derive"] } itertools = "0.12.0" diff --git a/runner/Cargo.toml b/runner/Cargo.toml index 69d273535..f752027f6 100644 --- a/runner/Cargo.toml +++ b/runner/Cargo.toml @@ -12,3 +12,4 @@ clap.workspace = true cairo-proof-parser.workspace = true serde.workspace = true serde_json.workspace = true +itertools.workspace = true diff --git a/runner/src/main.rs b/runner/src/main.rs index 283a283dd..df99274f8 100644 --- a/runner/src/main.rs +++ b/runner/src/main.rs @@ -4,6 +4,8 @@ use cairo_args_runner::{Arg, Felt252, VecFelt252}; use clap::Parser; use cairo_proof_parser::parse; +use itertools::chain; +use itertools::Itertools; #[derive(Parser)] #[command(author, version, about, long_about = None)] @@ -16,21 +18,34 @@ fn main() -> anyhow::Result<()> { let args = Cli::parse(); let mut input = String::new(); stdin().read_to_string(&mut input)?; - let exprs = parse(input)?.to_string(); + let parsed = parse(input)?; - let result = run(exprs, args.target)?; - println!("{result:?}"); + let config: VecFelt252 = serde_json::from_str(&parsed.config.to_string()).unwrap(); + let public_input: VecFelt252 = serde_json::from_str(&parsed.public_input.to_string()).unwrap(); + let unsent_commitment: VecFelt252 = + serde_json::from_str(&parsed.unsent_commitment.to_string()).unwrap(); + let witness: VecFelt252 = serde_json::from_str(&parsed.witness.to_string()).unwrap(); - Ok(()) -} + let proof = chain!( + config.to_vec(), + public_input.to_vec(), + unsent_commitment.to_vec(), + witness.to_vec() + ) + .collect_vec(); -fn run(parsed: String, target: String) -> anyhow::Result> { - let target = target; + // println!("{:?}", unsent_commitment); + + let target = args.target; let function = "main"; - let args: VecFelt252 = serde_json::from_str(&parsed).unwrap(); - Ok(cairo_args_runner::run( + + let result = cairo_args_runner::run( &target, function, - &[Arg::Array(args.to_vec())], - )?) -} + &[Arg::Array(proof)], + ); + + println!("{result:?}"); + + Ok(()) +} \ No newline at end of file From 8ca378e65b01f772b50cbc7a60b08fa8b89fad9a Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 4 Mar 2024 21:01:07 +0100 Subject: [PATCH 13/48] fmt --- runner/src/main.rs | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/runner/src/main.rs b/runner/src/main.rs index df99274f8..a98df52f8 100644 --- a/runner/src/main.rs +++ b/runner/src/main.rs @@ -1,6 +1,6 @@ use std::io::{stdin, Read}; -use cairo_args_runner::{Arg, Felt252, VecFelt252}; +use cairo_args_runner::{Arg, VecFelt252}; use clap::Parser; use cairo_proof_parser::parse; @@ -34,18 +34,12 @@ fn main() -> anyhow::Result<()> { ) .collect_vec(); - // println!("{:?}", unsent_commitment); - let target = args.target; let function = "main"; - - let result = cairo_args_runner::run( - &target, - function, - &[Arg::Array(proof)], - ); + + let result = cairo_args_runner::run(&target, function, &[Arg::Array(proof)]); println!("{result:?}"); Ok(()) -} \ No newline at end of file +} From 78c236c17e8f5cc7225c6035201f735df03a560a Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 4 Mar 2024 21:38:59 +0100 Subject: [PATCH 14/48] autogenerated changes --- src/air/autogenerated.cairo | 1122 +++++++++++++++++++---------------- 1 file changed, 607 insertions(+), 515 deletions(-) diff --git a/src/air/autogenerated.cairo b/src/air/autogenerated.cairo index d71b7bce1..409493458 100644 --- a/src/air/autogenerated.cairo +++ b/src/air/autogenerated.cairo @@ -15,77 +15,77 @@ fn eval_composition_polynomial_inner( ) -> felt252 { // Compute powers. let pow0 = pow(point, global_values.trace_length / 2048); - let pow1 = pow0 * pow0; + let pow1 = pow0 * pow0; // pow(point, (safe_div(global_values.trace_length, 1024))). let pow2 = pow(point, global_values.trace_length / 128); let pow3 = pow(point, global_values.trace_length / 32); - let pow4 = pow3 * pow3; + let pow4 = pow3 * pow3; // pow(point, (safe_div(global_values.trace_length, 16))). let pow5 = pow(point, global_values.trace_length / 4); - let pow6 = pow5 * pow5; - let pow7 = pow6 * pow6; - let pow8 = pow(trace_generator, global_values.trace_length / 64); - let pow9 = pow8 * pow8; - let pow10 = pow8 * pow9; - let pow11 = pow8 * pow10; - let pow12 = pow8 * pow11; - let pow13 = pow8 * pow12; - let pow14 = pow8 * pow13; - let pow15 = pow8 * pow14; - let pow16 = pow8 * pow15; - let pow17 = pow8 * pow16; - let pow18 = pow8 * pow17; - let pow19 = pow8 * pow18; - let pow20 = pow8 * pow19; - let pow21 = pow8 * pow20; - let pow22 = pow8 * pow21; - let pow23 = pow(trace_generator, global_values.trace_length / 2); - let pow24 = pow(trace_generator, 3 * global_values.trace_length / 4); - let pow25 = pow19 * pow24; - let pow26 = pow10 * pow25; - let pow27 = pow(trace_generator, 255 * global_values.trace_length / 256); - let pow28 = pow(trace_generator, 16 * (global_values.trace_length / 16 - 1)); - let pow29 = pow(trace_generator, 2 * (global_values.trace_length / 2 - 1)); - let pow30 = pow(trace_generator, 4 * (global_values.trace_length / 4 - 1)); - let pow31 = pow(trace_generator, global_values.trace_length - 1); - let pow32 = pow(trace_generator, 2048 * (global_values.trace_length / 2048 - 1)); - let pow33 = pow(trace_generator, 128 * (global_values.trace_length / 128 - 1)); + let pow6 = pow5 * pow5; // pow(point, (safe_div(global_values.trace_length, 2))). + let pow7 = pow6 * pow6; // pow(point, global_values.trace_length). + let pow8 = pow(trace_generator, global_values.trace_length - 128); + let pow9 = pow(trace_generator, global_values.trace_length - 2048); + let pow10 = pow(trace_generator, global_values.trace_length - 1); + let pow11 = pow(trace_generator, global_values.trace_length - 4); + let pow12 = pow(trace_generator, global_values.trace_length - 2); + let pow13 = pow(trace_generator, global_values.trace_length - 16); + let pow14 = pow(trace_generator, global_values.trace_length / 2); + let pow15 = pow(trace_generator, 255 * global_values.trace_length / 256); + let pow16 = pow(trace_generator, global_values.trace_length / 64); + let pow17 = pow16 * pow16; // pow(trace_generator, (safe_div(global_values.trace_length, 32))). + let pow18 = pow16 * pow17; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 64))). + let pow19 = pow16 * pow18; // pow(trace_generator, (safe_div(global_values.trace_length, 16))). + let pow20 = pow16 * pow19; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 64))). + let pow21 = pow16 * pow20; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 32))). + let pow22 = pow16 * pow21; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 64))). + let pow23 = pow16 * pow22; // pow(trace_generator, (safe_div(global_values.trace_length, 8))). + let pow24 = pow16 * pow23; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 64))). + let pow25 = pow16 * pow24; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 32))). + let pow26 = pow16 * pow25; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 64))). + let pow27 = pow16 * pow26; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 16))). + let pow28 = pow16 * pow27; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 64))). + let pow29 = pow16 * pow28; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 32))). + let pow30 = pow16 * pow29; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 64))). + let pow31 = pow(trace_generator, 3 * global_values.trace_length / 4); + let pow32 = pow27 * pow31; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 16))). + let pow33 = pow18 * pow32; // pow(trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 64))). // Compute domains. let domain0 = pow7 - 1; let domain1 = pow6 - 1; let domain2 = pow5 - 1; - let domain3 = pow4 - pow25; + let domain3 = pow4 - pow32; let domain4 = pow4 - 1; let domain5 = pow3 - 1; let domain6 = pow2 - 1; - let domain7 = pow2 - pow24; - let domain8 = pow2 - pow8; - let domain8 = domain8 * (pow2 - pow9); - let domain8 = domain8 * (pow2 - pow10); - let domain8 = domain8 * (pow2 - pow11); - let domain8 = domain8 * (pow2 - pow12); - let domain8 = domain8 * (pow2 - pow13); - let domain8 = domain8 * (pow2 - pow14); - let domain8 = domain8 * (pow2 - pow15); - let domain8 = domain8 * (pow2 - pow16); - let domain8 = domain8 * (pow2 - pow17); - let domain8 = domain8 * (pow2 - pow18); - let domain8 = domain8 * (pow2 - pow19); - let domain8 = domain8 * (pow2 - pow20); - let domain8 = domain8 * (pow2 - pow21); - let domain8 = domain8 * (pow2 - pow22); - let domain8 = domain8 * (domain6); + let domain7 = pow2 - pow31; + let temp = pow2 - pow16; + let temp = temp * (pow2 - pow17); + let temp = temp * (pow2 - pow18); + let temp = temp * (pow2 - pow19); + let temp = temp * (pow2 - pow20); + let temp = temp * (pow2 - pow21); + let temp = temp * (pow2 - pow22); + let temp = temp * (pow2 - pow23); + let temp = temp * (pow2 - pow24); + let temp = temp * (pow2 - pow25); + let temp = temp * (pow2 - pow26); + let temp = temp * (pow2 - pow27); + let temp = temp * (pow2 - pow28); + let temp = temp * (pow2 - pow29); + let temp = temp * (pow2 - pow30); + let domain8 = temp * (domain6); let domain9 = pow1 - 1; - let domain10 = pow1 - pow27; - let domain11 = pow1 - pow26; - let domain12 = pow0 - pow23; + let domain10 = pow1 - pow15; + let domain11 = pow1 - pow33; + let domain12 = pow0 - pow14; let domain13 = pow0 - 1; - let domain14 = point - pow28; + let domain14 = point - pow13; let domain15 = point - 1; - let domain16 = point - pow29; - let domain17 = point - pow30; - let domain18 = point - pow31; - let domain19 = point - pow32; - let domain20 = point - pow33; + let domain16 = point - pow12; + let domain17 = point - pow11; + let domain18 = point - pow10; + let domain19 = point - pow9; + let domain20 = point - pow8; // Fetch mask variables. let column0_row0 = *mask_values[0]; @@ -223,132 +223,173 @@ fn eval_composition_polynomial_inner( let column9_inter1_row5 = *mask_values[132]; // Compute intermediate values. - let cpu_decode_opcode_rc_bit_0 = column0_row0 - (column0_row1 + column0_row1); - let cpu_decode_opcode_rc_bit_2 = column0_row2 - (column0_row3 + column0_row3); - let cpu_decode_opcode_rc_bit_4 = column0_row4 - (column0_row5 + column0_row5); - let cpu_decode_opcode_rc_bit_3 = column0_row3 - (column0_row4 + column0_row4); - let cpu_decode_flag_op1_base_op0_0 = 1 - - (cpu_decode_opcode_rc_bit_2 + cpu_decode_opcode_rc_bit_4 + cpu_decode_opcode_rc_bit_3); - let cpu_decode_opcode_rc_bit_5 = column0_row5 - (column0_row6 + column0_row6); - let cpu_decode_opcode_rc_bit_6 = column0_row6 - (column0_row7 + column0_row7); - let cpu_decode_opcode_rc_bit_9 = column0_row9 - (column0_row10 + column0_row10); - let cpu_decode_flag_res_op1_0 = 1 - - (cpu_decode_opcode_rc_bit_5 + cpu_decode_opcode_rc_bit_6 + cpu_decode_opcode_rc_bit_9); - let cpu_decode_opcode_rc_bit_7 = column0_row7 - (column0_row8 + column0_row8); - let cpu_decode_opcode_rc_bit_8 = column0_row8 - (column0_row9 + column0_row9); - let cpu_decode_flag_pc_update_regular_0 = 1 - - (cpu_decode_opcode_rc_bit_7 + cpu_decode_opcode_rc_bit_8 + cpu_decode_opcode_rc_bit_9); - let cpu_decode_opcode_rc_bit_12 = column0_row12 - (column0_row13 + column0_row13); - let cpu_decode_opcode_rc_bit_13 = column0_row13 - (column0_row14 + column0_row14); - let cpu_decode_fp_update_regular_0 = 1 - - (cpu_decode_opcode_rc_bit_12 + cpu_decode_opcode_rc_bit_13); - let cpu_decode_opcode_rc_bit_1 = column0_row1 - (column0_row2 + column0_row2); - let npc_reg_0 = column3_row0 + cpu_decode_opcode_rc_bit_2 + 1; - let cpu_decode_opcode_rc_bit_10 = column0_row10 - (column0_row11 + column0_row11); - let cpu_decode_opcode_rc_bit_11 = column0_row11 - (column0_row12 + column0_row12); - let cpu_decode_opcode_rc_bit_14 = column0_row14 - (column0_row15 + column0_row15); + let cpu_decode_opcode_range_check_bit_0 = column0_row0 - (column0_row1 + column0_row1); + let cpu_decode_opcode_range_check_bit_2 = column0_row2 - (column0_row3 + column0_row3); + let cpu_decode_opcode_range_check_bit_4 = column0_row4 - (column0_row5 + column0_row5); + let cpu_decode_opcode_range_check_bit_3 = column0_row3 - (column0_row4 + column0_row4); + let cpu_decode_flag_op1_base_op0_0 = 1 - ( + cpu_decode_opcode_range_check_bit_2 + + cpu_decode_opcode_range_check_bit_4 + + cpu_decode_opcode_range_check_bit_3 + ); + let cpu_decode_opcode_range_check_bit_5 = column0_row5 - (column0_row6 + column0_row6); + let cpu_decode_opcode_range_check_bit_6 = column0_row6 - (column0_row7 + column0_row7); + let cpu_decode_opcode_range_check_bit_9 = column0_row9 - (column0_row10 + column0_row10); + let cpu_decode_flag_res_op1_0 = 1 - ( + cpu_decode_opcode_range_check_bit_5 + + cpu_decode_opcode_range_check_bit_6 + + cpu_decode_opcode_range_check_bit_9 + ); + let cpu_decode_opcode_range_check_bit_7 = column0_row7 - (column0_row8 + column0_row8); + let cpu_decode_opcode_range_check_bit_8 = column0_row8 - (column0_row9 + column0_row9); + let cpu_decode_flag_pc_update_regular_0 = 1 - ( + cpu_decode_opcode_range_check_bit_7 + + cpu_decode_opcode_range_check_bit_8 + + cpu_decode_opcode_range_check_bit_9 + ); + let cpu_decode_opcode_range_check_bit_12 = column0_row12 - ( + column0_row13 + column0_row13 + ); + let cpu_decode_opcode_range_check_bit_13 = column0_row13 - ( + column0_row14 + column0_row14 + ); + let cpu_decode_fp_update_regular_0 = 1 - ( + cpu_decode_opcode_range_check_bit_12 + cpu_decode_opcode_range_check_bit_13 + ); + let cpu_decode_opcode_range_check_bit_1 = column0_row1 - (column0_row2 + column0_row2); + let npc_reg_0 = column3_row0 + cpu_decode_opcode_range_check_bit_2 + 1; + let cpu_decode_opcode_range_check_bit_10 = column0_row10 - ( + column0_row11 + column0_row11 + ); + let cpu_decode_opcode_range_check_bit_11 = column0_row11 - ( + column0_row12 + column0_row12 + ); + let cpu_decode_opcode_range_check_bit_14 = column0_row14 - ( + column0_row15 + column0_row15 + ); let memory_address_diff_0 = column4_row2 - column4_row0; - let rc16_diff_0 = column5_row6 - column5_row2; + let range_check16_diff_0 = column5_row6 - column5_row2; let pedersen_hash0_ec_subset_sum_bit_0 = column6_row0 - (column6_row4 + column6_row4); let pedersen_hash0_ec_subset_sum_bit_neg_0 = 1 - pedersen_hash0_ec_subset_sum_bit_0; - let rc_builtin_value0_0 = column5_row12; - let rc_builtin_value1_0 = rc_builtin_value0_0 * global_values.offset_size + column5_row28; - let rc_builtin_value2_0 = rc_builtin_value1_0 * global_values.offset_size + column5_row44; - let rc_builtin_value3_0 = rc_builtin_value2_0 * global_values.offset_size + column5_row60; - let rc_builtin_value4_0 = rc_builtin_value3_0 * global_values.offset_size + column5_row76; - let rc_builtin_value5_0 = rc_builtin_value4_0 * global_values.offset_size + column5_row92; - let rc_builtin_value6_0 = rc_builtin_value5_0 * global_values.offset_size + column5_row108; - let rc_builtin_value7_0 = rc_builtin_value6_0 * global_values.offset_size + column5_row124; - let bitwise_sum_var_0_0 = column1_row0 - + column1_row2 * 2 - + column1_row4 * 4 - + column1_row6 * 8 - + column1_row8 * 18446744073709551616 - + column1_row10 * 36893488147419103232 - + column1_row12 * 73786976294838206464 - + column1_row14 * 147573952589676412928; - let bitwise_sum_var_8_0 = column1_row16 * 340282366920938463463374607431768211456 - + column1_row18 * 680564733841876926926749214863536422912 - + column1_row20 * 1361129467683753853853498429727072845824 - + column1_row22 * 2722258935367507707706996859454145691648 - + column1_row24 * 6277101735386680763835789423207666416102355444464034512896 - + column1_row26 * 12554203470773361527671578846415332832204710888928069025792 - + column1_row28 * 25108406941546723055343157692830665664409421777856138051584 - + column1_row30 * 50216813883093446110686315385661331328818843555712276103168; + let range_check_builtin_value0_0 = column5_row12; + let range_check_builtin_value1_0 = range_check_builtin_value0_0 * + global_values.offset_size + column5_row28; + let range_check_builtin_value2_0 = range_check_builtin_value1_0 * + global_values.offset_size + column5_row44; + let range_check_builtin_value3_0 = range_check_builtin_value2_0 * + global_values.offset_size + column5_row60; + let range_check_builtin_value4_0 = range_check_builtin_value3_0 * + global_values.offset_size + column5_row76; + let range_check_builtin_value5_0 = range_check_builtin_value4_0 * + global_values.offset_size + column5_row92; + let range_check_builtin_value6_0 = range_check_builtin_value5_0 * + global_values.offset_size + column5_row108; + let range_check_builtin_value7_0 = range_check_builtin_value6_0 * + global_values.offset_size + column5_row124; + let bitwise_sum_var_0_0 = column1_row0 + column1_row2 * 2 + column1_row4 * 4 + + column1_row6 * 8 + column1_row8 * 18446744073709551616 + column1_row10 * + 36893488147419103232 + column1_row12 * 73786976294838206464 + column1_row14 * + 147573952589676412928; + let bitwise_sum_var_8_0 = column1_row16 * 340282366920938463463374607431768211456 + + column1_row18 * 680564733841876926926749214863536422912 + column1_row20 * + 1361129467683753853853498429727072845824 + column1_row22 * + 2722258935367507707706996859454145691648 + column1_row24 * + 6277101735386680763835789423207666416102355444464034512896 + column1_row26 * + 12554203470773361527671578846415332832204710888928069025792 + column1_row28 * + 25108406941546723055343157692830665664409421777856138051584 + column1_row30 * + 50216813883093446110686315385661331328818843555712276103168; // Sum constraints. let total_sum = 0; - // Constraint: cpu/decode/opcode_rc/bit. - let value = (cpu_decode_opcode_rc_bit_0 * cpu_decode_opcode_rc_bit_0 - - cpu_decode_opcode_rc_bit_0) - * domain3 - / domain0; + // Constraint: cpu/decode/opcode_range_check/bit. + let value = ( + cpu_decode_opcode_range_check_bit_0 * cpu_decode_opcode_range_check_bit_0 - + cpu_decode_opcode_range_check_bit_0 + ) * domain3 / domain0; let total_sum = total_sum + *constraint_coefficients[0] * value; - // Constraint: cpu/decode/opcode_rc/zero. + // Constraint: cpu/decode/opcode_range_check/zero. let value = (column0_row0) / domain3; let total_sum = total_sum + *constraint_coefficients[1] * value; - // Constraint: cpu/decode/opcode_rc_input. - let value = (column3_row1 - - (((column0_row0 * global_values.offset_size + column5_row4) * global_values.offset_size - + column5_row8) - * global_values.offset_size - + column5_row0)) - / domain4; + // Constraint: cpu/decode/opcode_range_check_input. + let value = ( + column3_row1 - + ( + ( + (column0_row0 * global_values.offset_size + column5_row4) * + global_values.offset_size + + column5_row8 + ) * global_values.offset_size + + column5_row0 + ) + ) / domain4; let total_sum = total_sum + *constraint_coefficients[2] * value; // Constraint: cpu/decode/flag_op1_base_op0_bit. - let value = (cpu_decode_flag_op1_base_op0_0 * cpu_decode_flag_op1_base_op0_0 - - cpu_decode_flag_op1_base_op0_0) - / domain4; + let value = ( + cpu_decode_flag_op1_base_op0_0 * cpu_decode_flag_op1_base_op0_0 - + cpu_decode_flag_op1_base_op0_0 + ) / domain4; let total_sum = total_sum + *constraint_coefficients[3] * value; // Constraint: cpu/decode/flag_res_op1_bit. - let value = (cpu_decode_flag_res_op1_0 * cpu_decode_flag_res_op1_0 - cpu_decode_flag_res_op1_0) - / domain4; + let value = ( + cpu_decode_flag_res_op1_0 * cpu_decode_flag_res_op1_0 - cpu_decode_flag_res_op1_0 + ) / domain4; let total_sum = total_sum + *constraint_coefficients[4] * value; // Constraint: cpu/decode/flag_pc_update_regular_bit. - let value = (cpu_decode_flag_pc_update_regular_0 * cpu_decode_flag_pc_update_regular_0 - - cpu_decode_flag_pc_update_regular_0) - / domain4; + let value = ( + cpu_decode_flag_pc_update_regular_0 * cpu_decode_flag_pc_update_regular_0 - + cpu_decode_flag_pc_update_regular_0 + ) / domain4; let total_sum = total_sum + *constraint_coefficients[5] * value; // Constraint: cpu/decode/fp_update_regular_bit. - let value = (cpu_decode_fp_update_regular_0 * cpu_decode_fp_update_regular_0 - - cpu_decode_fp_update_regular_0) - / domain4; + let value = ( + cpu_decode_fp_update_regular_0 * cpu_decode_fp_update_regular_0 - + cpu_decode_fp_update_regular_0 + ) / domain4; let total_sum = total_sum + *constraint_coefficients[6] * value; // Constraint: cpu/operands/mem_dst_addr. - let value = (column3_row8 - + global_values.half_offset_size - - (cpu_decode_opcode_rc_bit_0 * column6_row9 - + (1 - cpu_decode_opcode_rc_bit_0) * column6_row1 - + column5_row0)) - / domain4; + let value = ( + column3_row8 + + global_values.half_offset_size - + ( + cpu_decode_opcode_range_check_bit_0 * column6_row9 + + (1 - cpu_decode_opcode_range_check_bit_0) * column6_row1 + + column5_row0 + ) + ) / domain4; let total_sum = total_sum + *constraint_coefficients[7] * value; // Constraint: cpu/operands/mem0_addr. - let value = (column3_row4 - + global_values.half_offset_size - - (cpu_decode_opcode_rc_bit_1 * column6_row9 - + (1 - cpu_decode_opcode_rc_bit_1) * column6_row1 - + column5_row8)) - / domain4; + let value = ( + column3_row4 + + global_values.half_offset_size - + ( + cpu_decode_opcode_range_check_bit_1 * column6_row9 + + (1 - cpu_decode_opcode_range_check_bit_1) * column6_row1 + + column5_row8 + ) + ) / domain4; let total_sum = total_sum + *constraint_coefficients[8] * value; // Constraint: cpu/operands/mem1_addr. - let value = (column3_row12 - + global_values.half_offset_size - - (cpu_decode_opcode_rc_bit_2 * column3_row0 - + cpu_decode_opcode_rc_bit_4 * column6_row1 - + cpu_decode_opcode_rc_bit_3 * column6_row9 - + cpu_decode_flag_op1_base_op0_0 * column3_row5 - + column5_row4)) - / domain4; + let value = ( + column3_row12 + + global_values.half_offset_size - + ( + cpu_decode_opcode_range_check_bit_2 * column3_row0 + + cpu_decode_opcode_range_check_bit_4 * column6_row1 + + cpu_decode_opcode_range_check_bit_3 * column6_row9 + + cpu_decode_flag_op1_base_op0_0 * column3_row5 + + column5_row4 + ) + ) / domain4; let total_sum = total_sum + *constraint_coefficients[9] * value; // Constraint: cpu/operands/ops_mul. @@ -356,15 +397,19 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[10] * value; // Constraint: cpu/operands/res. - let value = ((1 - cpu_decode_opcode_rc_bit_9) * column6_row13 - - (cpu_decode_opcode_rc_bit_5 * (column3_row5 + column3_row13) - + cpu_decode_opcode_rc_bit_6 * column6_row5 - + cpu_decode_flag_res_op1_0 * column3_row13)) - / domain4; + let value = ( + (1 - cpu_decode_opcode_range_check_bit_9) * column6_row13 - + ( + cpu_decode_opcode_range_check_bit_5 * (column3_row5 + column3_row13) + + cpu_decode_opcode_range_check_bit_6 * column6_row5 + + cpu_decode_flag_res_op1_0 * column3_row13 + ) + ) / domain4; let total_sum = total_sum + *constraint_coefficients[11] * value; // Constraint: cpu/update_registers/update_pc/tmp0. - let value = (column6_row3 - cpu_decode_opcode_rc_bit_9 * column3_row9) * domain14 / domain4; + let value = (column6_row3 - cpu_decode_opcode_range_check_bit_9 * column3_row9) * + domain14 / domain4; let total_sum = total_sum + *constraint_coefficients[12] * value; // Constraint: cpu/update_registers/update_pc/tmp1. @@ -372,93 +417,116 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[13] * value; // Constraint: cpu/update_registers/update_pc/pc_cond_negative. - let value = ((1 - cpu_decode_opcode_rc_bit_9) * column3_row16 - + column6_row3 * (column3_row16 - (column3_row0 + column3_row13)) - - (cpu_decode_flag_pc_update_regular_0 * npc_reg_0 - + cpu_decode_opcode_rc_bit_7 * column6_row13 - + cpu_decode_opcode_rc_bit_8 * (column3_row0 + column6_row13))) - * domain14 - / domain4; + let value = ( + (1 - cpu_decode_opcode_range_check_bit_9) * column3_row16 + + column6_row3 * (column3_row16 - (column3_row0 + column3_row13)) - + ( + cpu_decode_flag_pc_update_regular_0 * npc_reg_0 + + cpu_decode_opcode_range_check_bit_7 * column6_row13 + + cpu_decode_opcode_range_check_bit_8 * (column3_row0 + column6_row13) + ) + ) * domain14 / domain4; let total_sum = total_sum + *constraint_coefficients[14] * value; // Constraint: cpu/update_registers/update_pc/pc_cond_positive. - let value = ((column6_row11 - cpu_decode_opcode_rc_bit_9) * (column3_row16 - npc_reg_0)) - * domain14 - / domain4; + let value = ( + (column6_row11 - cpu_decode_opcode_range_check_bit_9) * (column3_row16 - npc_reg_0) + ) * domain14 / domain4; let total_sum = total_sum + *constraint_coefficients[15] * value; // Constraint: cpu/update_registers/update_ap/ap_update. - let value = (column6_row17 - - (column6_row1 - + cpu_decode_opcode_rc_bit_10 * column6_row13 - + cpu_decode_opcode_rc_bit_11 - + cpu_decode_opcode_rc_bit_12 * 2)) - * domain14 - / domain4; + let value = ( + column6_row17 - + ( + column6_row1 + + cpu_decode_opcode_range_check_bit_10 * column6_row13 + + cpu_decode_opcode_range_check_bit_11 + + cpu_decode_opcode_range_check_bit_12 * 2 + ) + ) * domain14 / domain4; let total_sum = total_sum + *constraint_coefficients[16] * value; // Constraint: cpu/update_registers/update_fp/fp_update. - let value = (column6_row25 - - (cpu_decode_fp_update_regular_0 * column6_row9 - + cpu_decode_opcode_rc_bit_13 * column3_row9 - + cpu_decode_opcode_rc_bit_12 * (column6_row1 + 2))) - * domain14 - / domain4; + let value = ( + column6_row25 - + ( + cpu_decode_fp_update_regular_0 * column6_row9 + + cpu_decode_opcode_range_check_bit_13 * column3_row9 + + cpu_decode_opcode_range_check_bit_12 * (column6_row1 + 2) + ) + ) * domain14 / domain4; let total_sum = total_sum + *constraint_coefficients[17] * value; // Constraint: cpu/opcodes/call/push_fp. - let value = (cpu_decode_opcode_rc_bit_12 * (column3_row9 - column6_row9)) / domain4; + let value = (cpu_decode_opcode_range_check_bit_12 * (column3_row9 - column6_row9)) / + domain4; let total_sum = total_sum + *constraint_coefficients[18] * value; // Constraint: cpu/opcodes/call/push_pc. - let value = (cpu_decode_opcode_rc_bit_12 - * (column3_row5 - (column3_row0 + cpu_decode_opcode_rc_bit_2 + 1))) - / domain4; + let value = ( + cpu_decode_opcode_range_check_bit_12 * ( + column3_row5 - (column3_row0 + cpu_decode_opcode_range_check_bit_2 + 1) + ) + ) / domain4; let total_sum = total_sum + *constraint_coefficients[19] * value; // Constraint: cpu/opcodes/call/off0. - let value = (cpu_decode_opcode_rc_bit_12 * (column5_row0 - global_values.half_offset_size)) - / domain4; + let value = ( + cpu_decode_opcode_range_check_bit_12 * (column5_row0 - global_values.half_offset_size) + ) / domain4; let total_sum = total_sum + *constraint_coefficients[20] * value; // Constraint: cpu/opcodes/call/off1. - let value = (cpu_decode_opcode_rc_bit_12 - * (column5_row8 - (global_values.half_offset_size + 1))) - / domain4; + let value = ( + cpu_decode_opcode_range_check_bit_12 * ( + column5_row8 - (global_values.half_offset_size + 1) + ) + ) / domain4; let total_sum = total_sum + *constraint_coefficients[21] * value; // Constraint: cpu/opcodes/call/flags. - let value = (cpu_decode_opcode_rc_bit_12 - * (cpu_decode_opcode_rc_bit_12 - + cpu_decode_opcode_rc_bit_12 - + 1 - + 1 - - (cpu_decode_opcode_rc_bit_0 + cpu_decode_opcode_rc_bit_1 + 4))) - / domain4; + let value = ( + cpu_decode_opcode_range_check_bit_12 * ( + cpu_decode_opcode_range_check_bit_12 + + cpu_decode_opcode_range_check_bit_12 + + 1 + + 1 - + (cpu_decode_opcode_range_check_bit_0 + cpu_decode_opcode_range_check_bit_1 + 4) + ) + ) / domain4; let total_sum = total_sum + *constraint_coefficients[22] * value; // Constraint: cpu/opcodes/ret/off0. - let value = (cpu_decode_opcode_rc_bit_13 * (column5_row0 + 2 - global_values.half_offset_size)) - / domain4; + let value = ( + cpu_decode_opcode_range_check_bit_13 * ( + column5_row0 + 2 - global_values.half_offset_size + ) + ) / domain4; let total_sum = total_sum + *constraint_coefficients[23] * value; // Constraint: cpu/opcodes/ret/off2. - let value = (cpu_decode_opcode_rc_bit_13 * (column5_row4 + 1 - global_values.half_offset_size)) - / domain4; + let value = ( + cpu_decode_opcode_range_check_bit_13 * ( + column5_row4 + 1 - global_values.half_offset_size + ) + ) / domain4; let total_sum = total_sum + *constraint_coefficients[24] * value; // Constraint: cpu/opcodes/ret/flags. - let value = (cpu_decode_opcode_rc_bit_13 - * (cpu_decode_opcode_rc_bit_7 - + cpu_decode_opcode_rc_bit_0 - + cpu_decode_opcode_rc_bit_3 - + cpu_decode_flag_res_op1_0 - - 4)) - / domain4; + let value = ( + cpu_decode_opcode_range_check_bit_13 * ( + cpu_decode_opcode_range_check_bit_7 + + cpu_decode_opcode_range_check_bit_0 + + cpu_decode_opcode_range_check_bit_3 + + cpu_decode_flag_res_op1_0 - + 4 + ) + ) / domain4; let total_sum = total_sum + *constraint_coefficients[25] * value; // Constraint: cpu/opcodes/assert_eq/assert_eq. - let value = (cpu_decode_opcode_rc_bit_14 * (column3_row9 - column6_row13)) / domain4; + let value = (cpu_decode_opcode_range_check_bit_14 * (column3_row9 - column6_row13)) / + domain4; let total_sum = total_sum + *constraint_coefficients[26] * value; // Constraint: initial_ap. @@ -486,43 +554,53 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[32] * value; // Constraint: memory/multi_column_perm/perm/init0. - let value = ((global_values.memory_multi_column_perm_perm_interaction_elm - - (column4_row0 - + global_values.memory_multi_column_perm_hash_interaction_elm0 * column4_row1)) - * column9_inter1_row0 - + column3_row0 - + global_values.memory_multi_column_perm_hash_interaction_elm0 * column3_row1 - - global_values.memory_multi_column_perm_perm_interaction_elm) - / domain15; + let value = ( + ( + global_values.memory_multi_column_perm_perm_interaction_elm - + ( + column4_row0 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column4_row1 + ) + ) * column9_inter1_row0 + + column3_row0 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column3_row1 - + global_values.memory_multi_column_perm_perm_interaction_elm + ) / domain15; let total_sum = total_sum + *constraint_coefficients[33] * value; // Constraint: memory/multi_column_perm/perm/step0. - let value = ((global_values.memory_multi_column_perm_perm_interaction_elm - - (column4_row2 - + global_values.memory_multi_column_perm_hash_interaction_elm0 * column4_row3)) - * column9_inter1_row2 - - (global_values.memory_multi_column_perm_perm_interaction_elm - - (column3_row2 - + global_values.memory_multi_column_perm_hash_interaction_elm0 * column3_row3)) - * column9_inter1_row0) - * domain16 - / domain1; + let value = ( + ( + global_values.memory_multi_column_perm_perm_interaction_elm - + ( + column4_row2 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column4_row3 + ) + ) * column9_inter1_row2 - + ( + global_values.memory_multi_column_perm_perm_interaction_elm - + ( + column3_row2 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column3_row3 + ) + ) * column9_inter1_row0 + ) * domain16 / domain1; let total_sum = total_sum + *constraint_coefficients[34] * value; // Constraint: memory/multi_column_perm/perm/last. - let value = (column9_inter1_row0 - - global_values.memory_multi_column_perm_perm_public_memory_prod) - / domain16; + let value = ( + column9_inter1_row0 - global_values.memory_multi_column_perm_perm_public_memory_prod + ) / domain16; let total_sum = total_sum + *constraint_coefficients[35] * value; // Constraint: memory/diff_is_bit. - let value = (memory_address_diff_0 * memory_address_diff_0 - memory_address_diff_0) - * domain16 - / domain1; + let value = (memory_address_diff_0 * memory_address_diff_0 - memory_address_diff_0) * + domain16 / domain1; let total_sum = total_sum + *constraint_coefficients[36] * value; // Constraint: memory/is_func. - let value = ((memory_address_diff_0 - 1) * (column4_row1 - column4_row3)) * domain16 / domain1; + let value = ((memory_address_diff_0 - 1) * (column4_row1 - column4_row3)) * domain16 / + domain1; let total_sum = total_sum + *constraint_coefficients[37] * value; // Constraint: memory/initial_addr. @@ -537,56 +615,61 @@ fn eval_composition_polynomial_inner( let value = (column3_row3) / domain4; let total_sum = total_sum + *constraint_coefficients[40] * value; - // Constraint: rc16/perm/init0. - let value = ((global_values.rc16_perm_interaction_elm - column5_row2) * column9_inter1_row1 - + column5_row0 - - global_values.rc16_perm_interaction_elm) - / domain15; + // Constraint: range_check16/perm/init0. + let value = ( + (global_values.range_check16_perm_interaction_elm - column5_row2) * column9_inter1_row1 + + column5_row0 - + global_values.range_check16_perm_interaction_elm + ) / domain15; let total_sum = total_sum + *constraint_coefficients[41] * value; - // Constraint: rc16/perm/step0. - let value = ((global_values.rc16_perm_interaction_elm - column5_row6) * column9_inter1_row5 - - (global_values.rc16_perm_interaction_elm - column5_row4) * column9_inter1_row1) - * domain17 - / domain2; + // Constraint: range_check16/perm/step0. + let value = ( + (global_values.range_check16_perm_interaction_elm - column5_row6) * column9_inter1_row5 - + (global_values.range_check16_perm_interaction_elm - column5_row4) * column9_inter1_row1 + ) * domain17 / domain2; let total_sum = total_sum + *constraint_coefficients[42] * value; - // Constraint: rc16/perm/last. - let value = (column9_inter1_row1 - global_values.rc16_perm_public_memory_prod) / domain17; + // Constraint: range_check16/perm/last. + let value = (column9_inter1_row1 - global_values.range_check16_perm_public_memory_prod) / + domain17; let total_sum = total_sum + *constraint_coefficients[43] * value; - // Constraint: rc16/diff_is_bit. - let value = (rc16_diff_0 * rc16_diff_0 - rc16_diff_0) * domain17 / domain2; + // Constraint: range_check16/diff_is_bit. + let value = (range_check16_diff_0 * range_check16_diff_0 - range_check16_diff_0) * + domain17 / domain2; let total_sum = total_sum + *constraint_coefficients[44] * value; - // Constraint: rc16/minimum. - let value = (column5_row2 - global_values.rc_min) / domain15; + // Constraint: range_check16/minimum. + let value = (column5_row2 - global_values.range_check_min) / domain15; let total_sum = total_sum + *constraint_coefficients[45] * value; - // Constraint: rc16/maximum. - let value = (column5_row2 - global_values.rc_max) / domain17; + // Constraint: range_check16/maximum. + let value = (column5_row2 - global_values.range_check_max) / domain17; let total_sum = total_sum + *constraint_coefficients[46] * value; // Constraint: diluted_check/permutation/init0. - let value = ((global_values.diluted_check_permutation_interaction_elm - column2_row0) - * column8_inter1_row0 - + column1_row0 - - global_values.diluted_check_permutation_interaction_elm) - / domain15; + let value = ( + (global_values.diluted_check_permutation_interaction_elm - column2_row0) * + column8_inter1_row0 + + column1_row0 - + global_values.diluted_check_permutation_interaction_elm + ) / domain15; let total_sum = total_sum + *constraint_coefficients[47] * value; // Constraint: diluted_check/permutation/step0. - let value = ((global_values.diluted_check_permutation_interaction_elm - column2_row1) - * column8_inter1_row1 - - (global_values.diluted_check_permutation_interaction_elm - column1_row1) - * column8_inter1_row0) - * domain18 - / domain0; + let value = ( + (global_values.diluted_check_permutation_interaction_elm - column2_row1) * + column8_inter1_row1 - + (global_values.diluted_check_permutation_interaction_elm - column1_row1) * + column8_inter1_row0 + ) * domain18 / domain0; let total_sum = total_sum + *constraint_coefficients[48] * value; // Constraint: diluted_check/permutation/last. - let value = (column8_inter1_row0 - global_values.diluted_check_permutation_public_memory_prod) - / domain18; + let value = ( + column8_inter1_row0 - global_values.diluted_check_permutation_public_memory_prod + ) / domain18; let total_sum = total_sum + *constraint_coefficients[49] * value; // Constraint: diluted_check/init. @@ -598,14 +681,17 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[51] * value; // Constraint: diluted_check/step. - let value = (column7_inter1_row1 - - (column7_inter1_row0 - * (1 + global_values.diluted_check_interaction_z * (column2_row1 - column2_row0)) - + global_values.diluted_check_interaction_alpha - * (column2_row1 - column2_row0) - * (column2_row1 - column2_row0))) - * domain18 - / domain0; + let value = ( + column7_inter1_row1 - + ( + column7_inter1_row0 * ( + 1 + global_values.diluted_check_interaction_z * (column2_row1 - column2_row0) + ) + + global_values.diluted_check_interaction_alpha * (column2_row1 - column2_row0) * ( + column2_row1 - column2_row0 + ) + ) + ) * domain18 / domain0; let total_sum = total_sum + *constraint_coefficients[52] * value; // Constraint: diluted_check/last. @@ -617,16 +703,18 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[54] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones0. - let value = (column6_row7 - * (column6_row4 - - 3138550867693340381917894711603833208051177722232017256448 * column6_row768)) - / domain9; + let value = ( + column6_row7 * ( + column6_row4 - + 3138550867693340381917894711603833208051177722232017256448 * column6_row768 + ) + ) / domain9; let total_sum = total_sum + *constraint_coefficients[55] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit192. - let value = (column6_row7 - - column6_row1022 * (column6_row768 - (column6_row772 + column6_row772))) - / domain9; + let value = ( + column6_row7 - column6_row1022 * (column6_row768 - (column6_row772 + column6_row772)) + ) / domain9; let total_sum = total_sum + *constraint_coefficients[56] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones192. @@ -634,22 +722,26 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[57] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit196. - let value = (column6_row1022 - - (column6_row1004 - (column6_row1008 + column6_row1008)) - * (column6_row784 - (column6_row788 + column6_row788))) - / domain9; + let value = ( + column6_row1022 - + (column6_row1004 - (column6_row1008 + column6_row1008)) * ( + column6_row784 - (column6_row788 + column6_row788) + ) + ) / domain9; let total_sum = total_sum + *constraint_coefficients[58] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones196. - let value = ((column6_row1004 - (column6_row1008 + column6_row1008)) - * (column6_row788 - 18014398509481984 * column6_row1004)) - / domain9; + let value = ( + (column6_row1004 - (column6_row1008 + column6_row1008)) * ( + column6_row788 - 18014398509481984 * column6_row1004 + ) + ) / domain9; let total_sum = total_sum + *constraint_coefficients[59] * value; // Constraint: pedersen/hash0/ec_subset_sum/booleanity_test. - let value = (pedersen_hash0_ec_subset_sum_bit_0 * (pedersen_hash0_ec_subset_sum_bit_0 - 1)) - * domain10 - / domain2; + let value = ( + pedersen_hash0_ec_subset_sum_bit_0 * (pedersen_hash0_ec_subset_sum_bit_0 - 1) + ) * domain10 / domain2; let total_sum = total_sum + *constraint_coefficients[60] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_extraction_end. @@ -661,38 +753,36 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[62] * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/slope. - let value = (pedersen_hash0_ec_subset_sum_bit_0 - * (column5_row3 - global_values.pedersen_points_y) - - column6_row2 * (column5_row1 - global_values.pedersen_points_x)) - * domain10 - / domain2; + let value = ( + pedersen_hash0_ec_subset_sum_bit_0 * (column5_row3 - global_values.pedersen_points_y) - + column6_row2 * (column5_row1 - global_values.pedersen_points_x) + ) * domain10 / domain2; let total_sum = total_sum + *constraint_coefficients[63] * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/x. - let value = (column6_row2 * column6_row2 - - pedersen_hash0_ec_subset_sum_bit_0 - * (column5_row1 + global_values.pedersen_points_x + column5_row5)) - * domain10 - / domain2; + let value = ( + column6_row2 * column6_row2 - + pedersen_hash0_ec_subset_sum_bit_0 * ( + column5_row1 + global_values.pedersen_points_x + column5_row5 + ) + ) * domain10 / domain2; let total_sum = total_sum + *constraint_coefficients[64] * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/y. - let value = (pedersen_hash0_ec_subset_sum_bit_0 * (column5_row3 + column5_row7) - - column6_row2 * (column5_row1 - column5_row5)) - * domain10 - / domain2; + let value = ( + pedersen_hash0_ec_subset_sum_bit_0 * (column5_row3 + column5_row7) - + column6_row2 * (column5_row1 - column5_row5) + ) * domain10 / domain2; let total_sum = total_sum + *constraint_coefficients[65] * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/x. - let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column5_row5 - column5_row1)) - * domain10 - / domain2; + let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column5_row5 - column5_row1)) * + domain10 / domain2; let total_sum = total_sum + *constraint_coefficients[66] * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/y. - let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column5_row7 - column5_row3)) - * domain10 - / domain2; + let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column5_row7 - column5_row3)) * + domain10 / domain2; let total_sum = total_sum + *constraint_coefficients[67] * value; // Constraint: pedersen/hash0/copy_point/x. @@ -739,16 +829,16 @@ fn eval_composition_polynomial_inner( let value = (column3_row522 - (column3_row1034 + 1)) / domain13; let total_sum = total_sum + *constraint_coefficients[78] * value; - // Constraint: rc_builtin/value. - let value = (rc_builtin_value7_0 - column3_row75) / domain6; + // Constraint: range_check_builtin/value. + let value = (range_check_builtin_value7_0 - column3_row75) / domain6; let total_sum = total_sum + *constraint_coefficients[79] * value; - // Constraint: rc_builtin/addr_step. + // Constraint: range_check_builtin/addr_step. let value = (column3_row202 - (column3_row74 + 1)) * domain20 / domain6; let total_sum = total_sum + *constraint_coefficients[80] * value; - // Constraint: rc_builtin/init_addr. - let value = (column3_row74 - global_values.initial_rc_addr) / domain15; + // Constraint: range_check_builtin/init_addr. + let value = (column3_row74 - global_values.initial_range_check_addr) / domain15; let total_sum = total_sum + *constraint_coefficients[81] * value; // Constraint: bitwise/init_var_pool_addr. @@ -776,8 +866,9 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[87] * value; // Constraint: bitwise/addition_is_xor_with_and. - let value = (column1_row0 + column1_row32 - (column1_row96 + column1_row64 + column1_row64)) - / domain8; + let value = ( + column1_row0 + column1_row32 - (column1_row96 + column1_row64 + column1_row64) + ) / domain8; let total_sum = total_sum + *constraint_coefficients[88] * value; // Constraint: bitwise/unique_unpacking192. @@ -808,78 +899,78 @@ fn eval_oods_polynomial_inner( trace_generator: felt252, ) -> felt252 { // Compute powers. - let pow0 = 1; - let pow1 = trace_generator; - let pow2 = pow1 * pow1; - let pow3 = pow1 * pow2; - let pow4 = pow1 * pow3; - let pow5 = pow1 * pow4; - let pow6 = pow1 * pow5; - let pow7 = pow1 * pow6; - let pow8 = pow1 * pow7; - let pow9 = pow1 * pow8; - let pow10 = pow1 * pow9; - let pow11 = pow1 * pow10; - let pow12 = pow1 * pow11; - let pow13 = pow1 * pow12; - let pow14 = pow1 * pow13; - let pow15 = pow1 * pow14; - let pow16 = pow1 * pow15; - let pow17 = pow1 * pow16; - let pow18 = pow1 * pow17; - let pow19 = pow2 * pow18; - let pow20 = pow2 * pow19; - let pow21 = pow2 * pow20; - let pow22 = pow1 * pow21; - let pow23 = pow1 * pow22; - let pow24 = pow1 * pow23; - let pow25 = pow1 * pow24; - let pow26 = pow2 * pow25; - let pow27 = pow2 * pow26; - let pow28 = pow1 * pow27; - let pow29 = pow9 * pow28; - let pow30 = pow1 * pow29; - let pow31 = pow1 * pow30; - let pow32 = pow14 * pow31; - let pow33 = pow2 * pow32; - let pow34 = pow4 * pow33; - let pow35 = pow1 * pow34; - let pow36 = pow9 * pow35; - let pow37 = pow1 * pow36; - let pow38 = pow1 * pow37; - let pow39 = pow12 * pow38; - let pow40 = pow2 * pow39; - let pow41 = pow1 * pow40; - let pow42 = pow1 * pow41; - let pow43 = pow2 * pow42; - let pow44 = pow2 * pow43; - let pow45 = pow1 * pow44; - let pow46 = pow11 * pow45; - let pow47 = pow12 * pow46; - let pow48 = pow2 * pow47; - let pow49 = pow1 * pow48; - let pow50 = pow1 * pow49; - let pow51 = pow2 * pow50; - let pow52 = pow25 * pow51; - let pow53 = pow38 * pow51; - let pow54 = pow(trace_generator, 522); - let pow55 = pow1 * pow54; - let pow56 = pow(trace_generator, 768); - let pow57 = pow4 * pow56; - let pow58 = pow12 * pow57; - let pow59 = pow4 * pow58; - let pow60 = pow(trace_generator, 1004); - let pow61 = pow4 * pow60; - let pow62 = pow13 * pow61; - let pow63 = pow1 * pow62; - let pow64 = pow1 * pow63; - let pow65 = pow1 * pow64; - let pow66 = pow1 * pow65; - let pow67 = pow2 * pow66; - let pow68 = pow7 * pow67; - let pow69 = pow1 * pow68; - let pow70 = pow62 * pow65; - let pow71 = pow13 * pow70; + let pow0 = pow(trace_generator, 0); + let pow1 = pow(trace_generator, 1004); + let pow2 = pow(trace_generator, 768); + let pow3 = pow(trace_generator, 522); + let pow4 = pow(trace_generator, 1); + let pow5 = pow3 * pow4; // pow(trace_generator, 523). + let pow6 = pow4 * pow4; // pow(trace_generator, 2). + let pow7 = pow4 * pow6; // pow(trace_generator, 3). + let pow8 = pow4 * pow7; // pow(trace_generator, 4). + let pow9 = pow1 * pow8; // pow(trace_generator, 1008). + let pow10 = pow2 * pow8; // pow(trace_generator, 772). + let pow11 = pow4 * pow8; // pow(trace_generator, 5). + let pow12 = pow4 * pow11; // pow(trace_generator, 6). + let pow13 = pow4 * pow12; // pow(trace_generator, 7). + let pow14 = pow4 * pow13; // pow(trace_generator, 8). + let pow15 = pow4 * pow14; // pow(trace_generator, 9). + let pow16 = pow4 * pow15; // pow(trace_generator, 10). + let pow17 = pow4 * pow16; // pow(trace_generator, 11). + let pow18 = pow4 * pow17; // pow(trace_generator, 12). + let pow19 = pow4 * pow18; // pow(trace_generator, 13). + let pow20 = pow4 * pow19; // pow(trace_generator, 14). + let pow21 = pow4 * pow20; // pow(trace_generator, 15). + let pow22 = pow4 * pow21; // pow(trace_generator, 16). + let pow23 = pow2 * pow22; // pow(trace_generator, 784). + let pow24 = pow4 * pow22; // pow(trace_generator, 17). + let pow25 = pow1 * pow24; // pow(trace_generator, 1021). + let pow26 = pow4 * pow24; // pow(trace_generator, 18). + let pow27 = pow1 * pow26; // pow(trace_generator, 1022). + let pow28 = pow4 * pow27; // pow(trace_generator, 1023). + let pow29 = pow6 * pow26; // pow(trace_generator, 20). + let pow30 = pow6 * pow29; // pow(trace_generator, 22). + let pow31 = pow6 * pow30; // pow(trace_generator, 24). + let pow32 = pow4 * pow31; // pow(trace_generator, 25). + let pow33 = pow4 * pow32; // pow(trace_generator, 26). + let pow34 = pow1 * pow29; // pow(trace_generator, 1024). + let pow35 = pow25 * pow34; // pow(trace_generator, 2045). + let pow36 = pow4 * pow34; // pow(trace_generator, 1025). + let pow37 = pow6 * pow36; // pow(trace_generator, 1027). + let pow38 = pow4 * pow33; // pow(trace_generator, 27). + let pow39 = pow4 * pow38; // pow(trace_generator, 28). + let pow40 = pow6 * pow39; // pow(trace_generator, 30). + let pow41 = pow6 * pow40; // pow(trace_generator, 32). + let pow42 = pow4 * pow41; // pow(trace_generator, 33). + let pow43 = pow1 * pow40; // pow(trace_generator, 1034). + let pow44 = pow4 * pow43; // pow(trace_generator, 1035). + let pow45 = pow19 * pow35; // pow(trace_generator, 2058). + let pow46 = pow15 * pow42; // pow(trace_generator, 42). + let pow47 = pow4 * pow46; // pow(trace_generator, 43). + let pow48 = pow4 * pow47; // pow(trace_generator, 44). + let pow49 = pow20 * pow48; // pow(trace_generator, 58). + let pow50 = pow6 * pow49; // pow(trace_generator, 60). + let pow51 = pow2 * pow29; // pow(trace_generator, 788). + let pow52 = pow8 * pow50; // pow(trace_generator, 64). + let pow53 = pow4 * pow52; // pow(trace_generator, 65). + let pow54 = pow15 * pow53; // pow(trace_generator, 74). + let pow55 = pow4 * pow54; // pow(trace_generator, 75). + let pow56 = pow4 * pow55; // pow(trace_generator, 76). + let pow57 = pow18 * pow56; // pow(trace_generator, 88). + let pow58 = pow6 * pow57; // pow(trace_generator, 90). + let pow59 = pow4 * pow58; // pow(trace_generator, 91). + let pow60 = pow4 * pow59; // pow(trace_generator, 92). + let pow61 = pow6 * pow60; // pow(trace_generator, 94). + let pow62 = pow6 * pow61; // pow(trace_generator, 96). + let pow63 = pow4 * pow62; // pow(trace_generator, 97). + let pow64 = pow17 * pow63; // pow(trace_generator, 108). + let pow65 = pow18 * pow64; // pow(trace_generator, 120). + let pow66 = pow6 * pow65; // pow(trace_generator, 122). + let pow67 = pow4 * pow66; // pow(trace_generator, 123). + let pow68 = pow4 * pow67; // pow(trace_generator, 124). + let pow69 = pow6 * pow68; // pow(trace_generator, 126). + let pow70 = pow56 * pow69; // pow(trace_generator, 202). + let pow71 = pow39 * pow69; // pow(trace_generator, 154). // Fetch columns. let column0 = *column_values[0]; @@ -899,413 +990,414 @@ fn eval_oods_polynomial_inner( let value = (column0 - *oods_values[0]) / (point - pow0 * oods_point); let total_sum = total_sum + *constraint_coefficients[0] * value; - let value = (column0 - *oods_values[1]) / (point - pow1 * oods_point); + let value = (column0 - *oods_values[1]) / (point - pow4 * oods_point); let total_sum = total_sum + *constraint_coefficients[1] * value; - let value = (column0 - *oods_values[2]) / (point - pow2 * oods_point); + let value = (column0 - *oods_values[2]) / (point - pow6 * oods_point); let total_sum = total_sum + *constraint_coefficients[2] * value; - let value = (column0 - *oods_values[3]) / (point - pow3 * oods_point); + let value = (column0 - *oods_values[3]) / (point - pow7 * oods_point); let total_sum = total_sum + *constraint_coefficients[3] * value; - let value = (column0 - *oods_values[4]) / (point - pow4 * oods_point); + let value = (column0 - *oods_values[4]) / (point - pow8 * oods_point); let total_sum = total_sum + *constraint_coefficients[4] * value; - let value = (column0 - *oods_values[5]) / (point - pow5 * oods_point); + let value = (column0 - *oods_values[5]) / (point - pow11 * oods_point); let total_sum = total_sum + *constraint_coefficients[5] * value; - let value = (column0 - *oods_values[6]) / (point - pow6 * oods_point); + let value = (column0 - *oods_values[6]) / (point - pow12 * oods_point); let total_sum = total_sum + *constraint_coefficients[6] * value; - let value = (column0 - *oods_values[7]) / (point - pow7 * oods_point); + let value = (column0 - *oods_values[7]) / (point - pow13 * oods_point); let total_sum = total_sum + *constraint_coefficients[7] * value; - let value = (column0 - *oods_values[8]) / (point - pow8 * oods_point); + let value = (column0 - *oods_values[8]) / (point - pow14 * oods_point); let total_sum = total_sum + *constraint_coefficients[8] * value; - let value = (column0 - *oods_values[9]) / (point - pow9 * oods_point); + let value = (column0 - *oods_values[9]) / (point - pow15 * oods_point); let total_sum = total_sum + *constraint_coefficients[9] * value; - let value = (column0 - *oods_values[10]) / (point - pow10 * oods_point); + let value = (column0 - *oods_values[10]) / (point - pow16 * oods_point); let total_sum = total_sum + *constraint_coefficients[10] * value; - let value = (column0 - *oods_values[11]) / (point - pow11 * oods_point); + let value = (column0 - *oods_values[11]) / (point - pow17 * oods_point); let total_sum = total_sum + *constraint_coefficients[11] * value; - let value = (column0 - *oods_values[12]) / (point - pow12 * oods_point); + let value = (column0 - *oods_values[12]) / (point - pow18 * oods_point); let total_sum = total_sum + *constraint_coefficients[12] * value; - let value = (column0 - *oods_values[13]) / (point - pow13 * oods_point); + let value = (column0 - *oods_values[13]) / (point - pow19 * oods_point); let total_sum = total_sum + *constraint_coefficients[13] * value; - let value = (column0 - *oods_values[14]) / (point - pow14 * oods_point); + let value = (column0 - *oods_values[14]) / (point - pow20 * oods_point); let total_sum = total_sum + *constraint_coefficients[14] * value; - let value = (column0 - *oods_values[15]) / (point - pow15 * oods_point); + let value = (column0 - *oods_values[15]) / (point - pow21 * oods_point); let total_sum = total_sum + *constraint_coefficients[15] * value; let value = (column1 - *oods_values[16]) / (point - pow0 * oods_point); let total_sum = total_sum + *constraint_coefficients[16] * value; - let value = (column1 - *oods_values[17]) / (point - pow1 * oods_point); + let value = (column1 - *oods_values[17]) / (point - pow4 * oods_point); let total_sum = total_sum + *constraint_coefficients[17] * value; - let value = (column1 - *oods_values[18]) / (point - pow2 * oods_point); + let value = (column1 - *oods_values[18]) / (point - pow6 * oods_point); let total_sum = total_sum + *constraint_coefficients[18] * value; - let value = (column1 - *oods_values[19]) / (point - pow4 * oods_point); + let value = (column1 - *oods_values[19]) / (point - pow8 * oods_point); let total_sum = total_sum + *constraint_coefficients[19] * value; - let value = (column1 - *oods_values[20]) / (point - pow6 * oods_point); + let value = (column1 - *oods_values[20]) / (point - pow12 * oods_point); let total_sum = total_sum + *constraint_coefficients[20] * value; - let value = (column1 - *oods_values[21]) / (point - pow8 * oods_point); + let value = (column1 - *oods_values[21]) / (point - pow14 * oods_point); let total_sum = total_sum + *constraint_coefficients[21] * value; - let value = (column1 - *oods_values[22]) / (point - pow10 * oods_point); + let value = (column1 - *oods_values[22]) / (point - pow16 * oods_point); let total_sum = total_sum + *constraint_coefficients[22] * value; - let value = (column1 - *oods_values[23]) / (point - pow12 * oods_point); + let value = (column1 - *oods_values[23]) / (point - pow18 * oods_point); let total_sum = total_sum + *constraint_coefficients[23] * value; - let value = (column1 - *oods_values[24]) / (point - pow14 * oods_point); + let value = (column1 - *oods_values[24]) / (point - pow20 * oods_point); let total_sum = total_sum + *constraint_coefficients[24] * value; - let value = (column1 - *oods_values[25]) / (point - pow16 * oods_point); + let value = (column1 - *oods_values[25]) / (point - pow22 * oods_point); let total_sum = total_sum + *constraint_coefficients[25] * value; - let value = (column1 - *oods_values[26]) / (point - pow18 * oods_point); + let value = (column1 - *oods_values[26]) / (point - pow26 * oods_point); let total_sum = total_sum + *constraint_coefficients[26] * value; - let value = (column1 - *oods_values[27]) / (point - pow19 * oods_point); + let value = (column1 - *oods_values[27]) / (point - pow29 * oods_point); let total_sum = total_sum + *constraint_coefficients[27] * value; - let value = (column1 - *oods_values[28]) / (point - pow20 * oods_point); + let value = (column1 - *oods_values[28]) / (point - pow30 * oods_point); let total_sum = total_sum + *constraint_coefficients[28] * value; - let value = (column1 - *oods_values[29]) / (point - pow21 * oods_point); + let value = (column1 - *oods_values[29]) / (point - pow31 * oods_point); let total_sum = total_sum + *constraint_coefficients[29] * value; - let value = (column1 - *oods_values[30]) / (point - pow23 * oods_point); + let value = (column1 - *oods_values[30]) / (point - pow33 * oods_point); let total_sum = total_sum + *constraint_coefficients[30] * value; - let value = (column1 - *oods_values[31]) / (point - pow25 * oods_point); + let value = (column1 - *oods_values[31]) / (point - pow39 * oods_point); let total_sum = total_sum + *constraint_coefficients[31] * value; - let value = (column1 - *oods_values[32]) / (point - pow26 * oods_point); + let value = (column1 - *oods_values[32]) / (point - pow40 * oods_point); let total_sum = total_sum + *constraint_coefficients[32] * value; - let value = (column1 - *oods_values[33]) / (point - pow27 * oods_point); + let value = (column1 - *oods_values[33]) / (point - pow41 * oods_point); let total_sum = total_sum + *constraint_coefficients[33] * value; - let value = (column1 - *oods_values[34]) / (point - pow28 * oods_point); + let value = (column1 - *oods_values[34]) / (point - pow42 * oods_point); let total_sum = total_sum + *constraint_coefficients[34] * value; - let value = (column1 - *oods_values[35]) / (point - pow34 * oods_point); + let value = (column1 - *oods_values[35]) / (point - pow52 * oods_point); let total_sum = total_sum + *constraint_coefficients[35] * value; - let value = (column1 - *oods_values[36]) / (point - pow35 * oods_point); + let value = (column1 - *oods_values[36]) / (point - pow53 * oods_point); let total_sum = total_sum + *constraint_coefficients[36] * value; - let value = (column1 - *oods_values[37]) / (point - pow39 * oods_point); + let value = (column1 - *oods_values[37]) / (point - pow57 * oods_point); let total_sum = total_sum + *constraint_coefficients[37] * value; - let value = (column1 - *oods_values[38]) / (point - pow40 * oods_point); + let value = (column1 - *oods_values[38]) / (point - pow58 * oods_point); let total_sum = total_sum + *constraint_coefficients[38] * value; - let value = (column1 - *oods_values[39]) / (point - pow42 * oods_point); + let value = (column1 - *oods_values[39]) / (point - pow60 * oods_point); let total_sum = total_sum + *constraint_coefficients[39] * value; - let value = (column1 - *oods_values[40]) / (point - pow43 * oods_point); + let value = (column1 - *oods_values[40]) / (point - pow61 * oods_point); let total_sum = total_sum + *constraint_coefficients[40] * value; - let value = (column1 - *oods_values[41]) / (point - pow44 * oods_point); + let value = (column1 - *oods_values[41]) / (point - pow62 * oods_point); let total_sum = total_sum + *constraint_coefficients[41] * value; - let value = (column1 - *oods_values[42]) / (point - pow45 * oods_point); + let value = (column1 - *oods_values[42]) / (point - pow63 * oods_point); let total_sum = total_sum + *constraint_coefficients[42] * value; - let value = (column1 - *oods_values[43]) / (point - pow47 * oods_point); + let value = (column1 - *oods_values[43]) / (point - pow65 * oods_point); let total_sum = total_sum + *constraint_coefficients[43] * value; - let value = (column1 - *oods_values[44]) / (point - pow48 * oods_point); + let value = (column1 - *oods_values[44]) / (point - pow66 * oods_point); let total_sum = total_sum + *constraint_coefficients[44] * value; - let value = (column1 - *oods_values[45]) / (point - pow50 * oods_point); + let value = (column1 - *oods_values[45]) / (point - pow68 * oods_point); let total_sum = total_sum + *constraint_coefficients[45] * value; - let value = (column1 - *oods_values[46]) / (point - pow51 * oods_point); + let value = (column1 - *oods_values[46]) / (point - pow69 * oods_point); let total_sum = total_sum + *constraint_coefficients[46] * value; let value = (column2 - *oods_values[47]) / (point - pow0 * oods_point); let total_sum = total_sum + *constraint_coefficients[47] * value; - let value = (column2 - *oods_values[48]) / (point - pow1 * oods_point); + let value = (column2 - *oods_values[48]) / (point - pow4 * oods_point); let total_sum = total_sum + *constraint_coefficients[48] * value; let value = (column3 - *oods_values[49]) / (point - pow0 * oods_point); let total_sum = total_sum + *constraint_coefficients[49] * value; - let value = (column3 - *oods_values[50]) / (point - pow1 * oods_point); + let value = (column3 - *oods_values[50]) / (point - pow4 * oods_point); let total_sum = total_sum + *constraint_coefficients[50] * value; - let value = (column3 - *oods_values[51]) / (point - pow2 * oods_point); + let value = (column3 - *oods_values[51]) / (point - pow6 * oods_point); let total_sum = total_sum + *constraint_coefficients[51] * value; - let value = (column3 - *oods_values[52]) / (point - pow3 * oods_point); + let value = (column3 - *oods_values[52]) / (point - pow7 * oods_point); let total_sum = total_sum + *constraint_coefficients[52] * value; - let value = (column3 - *oods_values[53]) / (point - pow4 * oods_point); + let value = (column3 - *oods_values[53]) / (point - pow8 * oods_point); let total_sum = total_sum + *constraint_coefficients[53] * value; - let value = (column3 - *oods_values[54]) / (point - pow5 * oods_point); + let value = (column3 - *oods_values[54]) / (point - pow11 * oods_point); let total_sum = total_sum + *constraint_coefficients[54] * value; - let value = (column3 - *oods_values[55]) / (point - pow8 * oods_point); + let value = (column3 - *oods_values[55]) / (point - pow14 * oods_point); let total_sum = total_sum + *constraint_coefficients[55] * value; - let value = (column3 - *oods_values[56]) / (point - pow9 * oods_point); + let value = (column3 - *oods_values[56]) / (point - pow15 * oods_point); let total_sum = total_sum + *constraint_coefficients[56] * value; - let value = (column3 - *oods_values[57]) / (point - pow10 * oods_point); + let value = (column3 - *oods_values[57]) / (point - pow16 * oods_point); let total_sum = total_sum + *constraint_coefficients[57] * value; - let value = (column3 - *oods_values[58]) / (point - pow11 * oods_point); + let value = (column3 - *oods_values[58]) / (point - pow17 * oods_point); let total_sum = total_sum + *constraint_coefficients[58] * value; - let value = (column3 - *oods_values[59]) / (point - pow12 * oods_point); + let value = (column3 - *oods_values[59]) / (point - pow18 * oods_point); let total_sum = total_sum + *constraint_coefficients[59] * value; - let value = (column3 - *oods_values[60]) / (point - pow13 * oods_point); + let value = (column3 - *oods_values[60]) / (point - pow19 * oods_point); let total_sum = total_sum + *constraint_coefficients[60] * value; - let value = (column3 - *oods_values[61]) / (point - pow16 * oods_point); + let value = (column3 - *oods_values[61]) / (point - pow22 * oods_point); let total_sum = total_sum + *constraint_coefficients[61] * value; - let value = (column3 - *oods_values[62]) / (point - pow23 * oods_point); + let value = (column3 - *oods_values[62]) / (point - pow33 * oods_point); let total_sum = total_sum + *constraint_coefficients[62] * value; - let value = (column3 - *oods_values[63]) / (point - pow24 * oods_point); + let value = (column3 - *oods_values[63]) / (point - pow38 * oods_point); let total_sum = total_sum + *constraint_coefficients[63] * value; - let value = (column3 - *oods_values[64]) / (point - pow29 * oods_point); + let value = (column3 - *oods_values[64]) / (point - pow46 * oods_point); let total_sum = total_sum + *constraint_coefficients[64] * value; - let value = (column3 - *oods_values[65]) / (point - pow30 * oods_point); + let value = (column3 - *oods_values[65]) / (point - pow47 * oods_point); let total_sum = total_sum + *constraint_coefficients[65] * value; - let value = (column3 - *oods_values[66]) / (point - pow32 * oods_point); + let value = (column3 - *oods_values[66]) / (point - pow49 * oods_point); let total_sum = total_sum + *constraint_coefficients[66] * value; - let value = (column3 - *oods_values[67]) / (point - pow36 * oods_point); + let value = (column3 - *oods_values[67]) / (point - pow54 * oods_point); let total_sum = total_sum + *constraint_coefficients[67] * value; - let value = (column3 - *oods_values[68]) / (point - pow37 * oods_point); + let value = (column3 - *oods_values[68]) / (point - pow55 * oods_point); let total_sum = total_sum + *constraint_coefficients[68] * value; - let value = (column3 - *oods_values[69]) / (point - pow41 * oods_point); + let value = (column3 - *oods_values[69]) / (point - pow59 * oods_point); let total_sum = total_sum + *constraint_coefficients[69] * value; - let value = (column3 - *oods_values[70]) / (point - pow48 * oods_point); + let value = (column3 - *oods_values[70]) / (point - pow66 * oods_point); let total_sum = total_sum + *constraint_coefficients[70] * value; - let value = (column3 - *oods_values[71]) / (point - pow49 * oods_point); + let value = (column3 - *oods_values[71]) / (point - pow67 * oods_point); let total_sum = total_sum + *constraint_coefficients[71] * value; - let value = (column3 - *oods_values[72]) / (point - pow52 * oods_point); + let value = (column3 - *oods_values[72]) / (point - pow71 * oods_point); let total_sum = total_sum + *constraint_coefficients[72] * value; - let value = (column3 - *oods_values[73]) / (point - pow53 * oods_point); + let value = (column3 - *oods_values[73]) / (point - pow70 * oods_point); let total_sum = total_sum + *constraint_coefficients[73] * value; - let value = (column3 - *oods_values[74]) / (point - pow54 * oods_point); + let value = (column3 - *oods_values[74]) / (point - pow3 * oods_point); let total_sum = total_sum + *constraint_coefficients[74] * value; - let value = (column3 - *oods_values[75]) / (point - pow55 * oods_point); + let value = (column3 - *oods_values[75]) / (point - pow5 * oods_point); let total_sum = total_sum + *constraint_coefficients[75] * value; - let value = (column3 - *oods_values[76]) / (point - pow68 * oods_point); + let value = (column3 - *oods_values[76]) / (point - pow43 * oods_point); let total_sum = total_sum + *constraint_coefficients[76] * value; - let value = (column3 - *oods_values[77]) / (point - pow69 * oods_point); + let value = (column3 - *oods_values[77]) / (point - pow44 * oods_point); let total_sum = total_sum + *constraint_coefficients[77] * value; - let value = (column3 - *oods_values[78]) / (point - pow71 * oods_point); + let value = (column3 - *oods_values[78]) / (point - pow45 * oods_point); let total_sum = total_sum + *constraint_coefficients[78] * value; let value = (column4 - *oods_values[79]) / (point - pow0 * oods_point); let total_sum = total_sum + *constraint_coefficients[79] * value; - let value = (column4 - *oods_values[80]) / (point - pow1 * oods_point); + let value = (column4 - *oods_values[80]) / (point - pow4 * oods_point); let total_sum = total_sum + *constraint_coefficients[80] * value; - let value = (column4 - *oods_values[81]) / (point - pow2 * oods_point); + let value = (column4 - *oods_values[81]) / (point - pow6 * oods_point); let total_sum = total_sum + *constraint_coefficients[81] * value; - let value = (column4 - *oods_values[82]) / (point - pow3 * oods_point); + let value = (column4 - *oods_values[82]) / (point - pow7 * oods_point); let total_sum = total_sum + *constraint_coefficients[82] * value; let value = (column5 - *oods_values[83]) / (point - pow0 * oods_point); let total_sum = total_sum + *constraint_coefficients[83] * value; - let value = (column5 - *oods_values[84]) / (point - pow1 * oods_point); + let value = (column5 - *oods_values[84]) / (point - pow4 * oods_point); let total_sum = total_sum + *constraint_coefficients[84] * value; - let value = (column5 - *oods_values[85]) / (point - pow2 * oods_point); + let value = (column5 - *oods_values[85]) / (point - pow6 * oods_point); let total_sum = total_sum + *constraint_coefficients[85] * value; - let value = (column5 - *oods_values[86]) / (point - pow3 * oods_point); + let value = (column5 - *oods_values[86]) / (point - pow7 * oods_point); let total_sum = total_sum + *constraint_coefficients[86] * value; - let value = (column5 - *oods_values[87]) / (point - pow4 * oods_point); + let value = (column5 - *oods_values[87]) / (point - pow8 * oods_point); let total_sum = total_sum + *constraint_coefficients[87] * value; - let value = (column5 - *oods_values[88]) / (point - pow5 * oods_point); + let value = (column5 - *oods_values[88]) / (point - pow11 * oods_point); let total_sum = total_sum + *constraint_coefficients[88] * value; - let value = (column5 - *oods_values[89]) / (point - pow6 * oods_point); + let value = (column5 - *oods_values[89]) / (point - pow12 * oods_point); let total_sum = total_sum + *constraint_coefficients[89] * value; - let value = (column5 - *oods_values[90]) / (point - pow7 * oods_point); + let value = (column5 - *oods_values[90]) / (point - pow13 * oods_point); let total_sum = total_sum + *constraint_coefficients[90] * value; - let value = (column5 - *oods_values[91]) / (point - pow8 * oods_point); + let value = (column5 - *oods_values[91]) / (point - pow14 * oods_point); let total_sum = total_sum + *constraint_coefficients[91] * value; - let value = (column5 - *oods_values[92]) / (point - pow12 * oods_point); + let value = (column5 - *oods_values[92]) / (point - pow18 * oods_point); let total_sum = total_sum + *constraint_coefficients[92] * value; - let value = (column5 - *oods_values[93]) / (point - pow25 * oods_point); + let value = (column5 - *oods_values[93]) / (point - pow39 * oods_point); let total_sum = total_sum + *constraint_coefficients[93] * value; - let value = (column5 - *oods_values[94]) / (point - pow31 * oods_point); + let value = (column5 - *oods_values[94]) / (point - pow48 * oods_point); let total_sum = total_sum + *constraint_coefficients[94] * value; - let value = (column5 - *oods_values[95]) / (point - pow33 * oods_point); + let value = (column5 - *oods_values[95]) / (point - pow50 * oods_point); let total_sum = total_sum + *constraint_coefficients[95] * value; - let value = (column5 - *oods_values[96]) / (point - pow38 * oods_point); + let value = (column5 - *oods_values[96]) / (point - pow56 * oods_point); let total_sum = total_sum + *constraint_coefficients[96] * value; - let value = (column5 - *oods_values[97]) / (point - pow42 * oods_point); + let value = (column5 - *oods_values[97]) / (point - pow60 * oods_point); let total_sum = total_sum + *constraint_coefficients[97] * value; - let value = (column5 - *oods_values[98]) / (point - pow46 * oods_point); + let value = (column5 - *oods_values[98]) / (point - pow64 * oods_point); let total_sum = total_sum + *constraint_coefficients[98] * value; - let value = (column5 - *oods_values[99]) / (point - pow50 * oods_point); + let value = (column5 - *oods_values[99]) / (point - pow68 * oods_point); let total_sum = total_sum + *constraint_coefficients[99] * value; - let value = (column5 - *oods_values[100]) / (point - pow62 * oods_point); + let value = (column5 - *oods_values[100]) / (point - pow25 * oods_point); let total_sum = total_sum + *constraint_coefficients[100] * value; - let value = (column5 - *oods_values[101]) / (point - pow64 * oods_point); + let value = (column5 - *oods_values[101]) / (point - pow28 * oods_point); let total_sum = total_sum + *constraint_coefficients[101] * value; - let value = (column5 - *oods_values[102]) / (point - pow66 * oods_point); + let value = (column5 - *oods_values[102]) / (point - pow36 * oods_point); let total_sum = total_sum + *constraint_coefficients[102] * value; - let value = (column5 - *oods_values[103]) / (point - pow67 * oods_point); + let value = (column5 - *oods_values[103]) / (point - pow37 * oods_point); let total_sum = total_sum + *constraint_coefficients[103] * value; - let value = (column5 - *oods_values[104]) / (point - pow70 * oods_point); + let value = (column5 - *oods_values[104]) / (point - pow35 * oods_point); let total_sum = total_sum + *constraint_coefficients[104] * value; let value = (column6 - *oods_values[105]) / (point - pow0 * oods_point); let total_sum = total_sum + *constraint_coefficients[105] * value; - let value = (column6 - *oods_values[106]) / (point - pow1 * oods_point); + let value = (column6 - *oods_values[106]) / (point - pow4 * oods_point); let total_sum = total_sum + *constraint_coefficients[106] * value; - let value = (column6 - *oods_values[107]) / (point - pow2 * oods_point); + let value = (column6 - *oods_values[107]) / (point - pow6 * oods_point); let total_sum = total_sum + *constraint_coefficients[107] * value; - let value = (column6 - *oods_values[108]) / (point - pow3 * oods_point); + let value = (column6 - *oods_values[108]) / (point - pow7 * oods_point); let total_sum = total_sum + *constraint_coefficients[108] * value; - let value = (column6 - *oods_values[109]) / (point - pow4 * oods_point); + let value = (column6 - *oods_values[109]) / (point - pow8 * oods_point); let total_sum = total_sum + *constraint_coefficients[109] * value; - let value = (column6 - *oods_values[110]) / (point - pow5 * oods_point); + let value = (column6 - *oods_values[110]) / (point - pow11 * oods_point); let total_sum = total_sum + *constraint_coefficients[110] * value; - let value = (column6 - *oods_values[111]) / (point - pow7 * oods_point); + let value = (column6 - *oods_values[111]) / (point - pow13 * oods_point); let total_sum = total_sum + *constraint_coefficients[111] * value; - let value = (column6 - *oods_values[112]) / (point - pow9 * oods_point); + let value = (column6 - *oods_values[112]) / (point - pow15 * oods_point); let total_sum = total_sum + *constraint_coefficients[112] * value; - let value = (column6 - *oods_values[113]) / (point - pow11 * oods_point); + let value = (column6 - *oods_values[113]) / (point - pow17 * oods_point); let total_sum = total_sum + *constraint_coefficients[113] * value; - let value = (column6 - *oods_values[114]) / (point - pow13 * oods_point); + let value = (column6 - *oods_values[114]) / (point - pow19 * oods_point); let total_sum = total_sum + *constraint_coefficients[114] * value; - let value = (column6 - *oods_values[115]) / (point - pow17 * oods_point); + let value = (column6 - *oods_values[115]) / (point - pow24 * oods_point); let total_sum = total_sum + *constraint_coefficients[115] * value; - let value = (column6 - *oods_values[116]) / (point - pow22 * oods_point); + let value = (column6 - *oods_values[116]) / (point - pow32 * oods_point); let total_sum = total_sum + *constraint_coefficients[116] * value; - let value = (column6 - *oods_values[117]) / (point - pow56 * oods_point); + let value = (column6 - *oods_values[117]) / (point - pow2 * oods_point); let total_sum = total_sum + *constraint_coefficients[117] * value; - let value = (column6 - *oods_values[118]) / (point - pow57 * oods_point); + let value = (column6 - *oods_values[118]) / (point - pow10 * oods_point); let total_sum = total_sum + *constraint_coefficients[118] * value; - let value = (column6 - *oods_values[119]) / (point - pow58 * oods_point); + let value = (column6 - *oods_values[119]) / (point - pow23 * oods_point); let total_sum = total_sum + *constraint_coefficients[119] * value; - let value = (column6 - *oods_values[120]) / (point - pow59 * oods_point); + let value = (column6 - *oods_values[120]) / (point - pow51 * oods_point); let total_sum = total_sum + *constraint_coefficients[120] * value; - let value = (column6 - *oods_values[121]) / (point - pow60 * oods_point); + let value = (column6 - *oods_values[121]) / (point - pow1 * oods_point); let total_sum = total_sum + *constraint_coefficients[121] * value; - let value = (column6 - *oods_values[122]) / (point - pow61 * oods_point); + let value = (column6 - *oods_values[122]) / (point - pow9 * oods_point); let total_sum = total_sum + *constraint_coefficients[122] * value; - let value = (column6 - *oods_values[123]) / (point - pow63 * oods_point); + let value = (column6 - *oods_values[123]) / (point - pow27 * oods_point); let total_sum = total_sum + *constraint_coefficients[123] * value; - let value = (column6 - *oods_values[124]) / (point - pow65 * oods_point); + let value = (column6 - *oods_values[124]) / (point - pow34 * oods_point); let total_sum = total_sum + *constraint_coefficients[124] * value; let value = (column7 - *oods_values[125]) / (point - pow0 * oods_point); let total_sum = total_sum + *constraint_coefficients[125] * value; - let value = (column7 - *oods_values[126]) / (point - pow1 * oods_point); + let value = (column7 - *oods_values[126]) / (point - pow4 * oods_point); let total_sum = total_sum + *constraint_coefficients[126] * value; let value = (column8 - *oods_values[127]) / (point - pow0 * oods_point); let total_sum = total_sum + *constraint_coefficients[127] * value; - let value = (column8 - *oods_values[128]) / (point - pow1 * oods_point); + let value = (column8 - *oods_values[128]) / (point - pow4 * oods_point); let total_sum = total_sum + *constraint_coefficients[128] * value; let value = (column9 - *oods_values[129]) / (point - pow0 * oods_point); let total_sum = total_sum + *constraint_coefficients[129] * value; - let value = (column9 - *oods_values[130]) / (point - pow1 * oods_point); + let value = (column9 - *oods_values[130]) / (point - pow4 * oods_point); let total_sum = total_sum + *constraint_coefficients[130] * value; - let value = (column9 - *oods_values[131]) / (point - pow2 * oods_point); + let value = (column9 - *oods_values[131]) / (point - pow6 * oods_point); let total_sum = total_sum + *constraint_coefficients[131] * value; - let value = (column9 - *oods_values[132]) / (point - pow5 * oods_point); + let value = (column9 - *oods_values[132]) / (point - pow11 * oods_point); let total_sum = total_sum + *constraint_coefficients[132] * value; // Sum the OODS boundary constraints on the composition polynomials. let oods_point_to_deg = pow(oods_point, CONSTRAINT_DEGREE.into()); - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND] - *oods_values[133]) - / (point - oods_point_to_deg); + let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND] - *oods_values[133]) / ( + point - oods_point_to_deg + ); let total_sum = total_sum + *constraint_coefficients[133] * value; - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND + 1] - *oods_values[134]) - / (point - oods_point_to_deg); + let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND + 1] - *oods_values[134]) / + (point - oods_point_to_deg); let total_sum = total_sum + *constraint_coefficients[134] * value; - assert(135 == MASK_SIZE + CONSTRAINT_DEGREE.into(), 'Invalid value'); + assert(135 == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); total_sum } From 4e3ab24fcac50cfd6f9e11e7db10cce369320f12 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 4 Mar 2024 21:39:14 +0100 Subject: [PATCH 15/48] composition changes --- src/air/composition.cairo | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/air/composition.cairo b/src/air/composition.cairo index 30436398f..b9acf3262 100644 --- a/src/air/composition.cairo +++ b/src/air/composition.cairo @@ -55,24 +55,24 @@ fn eval_composition_polynomial( initial_ap: *public_input.segments.at(segments::EXECUTION).begin_addr, final_ap: *public_input.segments.at(segments::EXECUTION).stop_ptr, initial_pedersen_addr: *public_input.segments.at(segments::PEDERSEN).begin_addr, - initial_rc_addr: *public_input.segments.at(segments::RANGE_CHECK).begin_addr, + initial_range_check_addr: *public_input.segments.at(segments::RANGE_CHECK).begin_addr, initial_bitwise_addr: *public_input.segments.at(segments::BITWISE).begin_addr, - rc_min: *public_input.rc_min, - rc_max: *public_input.rc_max, + range_check_min: *public_input.range_check_min, + range_check_max: *public_input.range_check_max, offset_size: 0x10000, // 2**16 - half_offset_size: 0x8000, + half_offset_size: 0x8000, // 2**15 pedersen_shift_point: EcPoint { x: SHIFT_POINT_X, y: SHIFT_POINT_Y }, pedersen_points_x, pedersen_points_y, memory_multi_column_perm_perm_interaction_elm: memory_z, memory_multi_column_perm_hash_interaction_elm0: memory_alpha, - rc16_perm_interaction_elm: interaction_elements.rc16_perm_interaction_elm, + range_check16_perm_interaction_elm: interaction_elements.range_check16_perm_interaction_elm, diluted_check_permutation_interaction_elm: interaction_elements .diluted_check_permutation_interaction_elm, diluted_check_interaction_z: diluted_z, diluted_check_interaction_alpha: diluted_alpha, memory_multi_column_perm_perm_public_memory_prod: public_memory_prod_ratio, - rc16_perm_public_memory_prod: 1, + range_check16_perm_public_memory_prod: 1, diluted_check_first_elm: 0, diluted_check_permutation_public_memory_prod: 1, diluted_check_final_cum_val: diluted_prod From f0d53d2861d17db2d6114cd64f8057ef5f108a14 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 4 Mar 2024 21:39:30 +0100 Subject: [PATCH 16/48] constants changes --- src/air/constants.cairo | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/air/constants.cairo b/src/air/constants.cairo index 800936c56..b8e6ce8d4 100644 --- a/src/air/constants.cairo +++ b/src/air/constants.cairo @@ -1,8 +1,10 @@ // Recursive layout const BITWISE_RATIO: felt252 = 8; +const BITWISE_ROW_RATIO: felt252 = 128; const BITWISE_TOTAL_N_BITS: felt252 = 251; const CONSTRAINT_DEGREE: u32 = 2; const CPU_COMPONENT_HEIGHT: felt252 = 16; +const CPU_COMPONENT_STEP: felt252 = 1; const DILUTED_N_BITS: felt252 = 16; const DILUTED_SPACING: felt252 = 4; const HAS_BITWISE_BUILTIN: felt252 = 1; @@ -14,20 +16,22 @@ const HAS_OUTPUT_BUILTIN: felt252 = 1; const HAS_PEDERSEN_BUILTIN: felt252 = 1; const HAS_POSEIDON_BUILTIN: felt252 = 0; const HAS_RANGE_CHECK_BUILTIN: felt252 = 1; +const HAS_RANGE_CHECK96_BUILTIN: felt252 = 0; const IS_DYNAMIC_AIR: felt252 = 0; const LAYOUT_CODE: felt252 = 0x726563757273697665; const LOG_CPU_COMPONENT_HEIGHT: felt252 = 4; const MASK_SIZE: u32 = 133; -const MEMORY_STEP: felt252 = 2; const N_CONSTRAINTS: u32 = 93; const N_DYNAMIC_PARAMS: felt252 = 0; const NUM_COLUMNS_FIRST: u32 = 7; const NUM_COLUMNS_SECOND: u32 = 3; const PEDERSEN_BUILTIN_RATIO: felt252 = 128; const PEDERSEN_BUILTIN_REPETITIONS: felt252 = 1; +const PEDERSEN_BUILTIN_ROW_RATIO: felt252 = 2048; const PUBLIC_MEMORY_STEP: felt252 = 16; -const RC_BUILTIN_RATIO: felt252 = 8; -const RC_N_PARTS: felt252 = 8; +const RANGE_CHECK_BUILTIN_RATIO: felt252 = 8; +const RANGE_CHECK_BUILTIN_ROW_RATIO: felt252 = 128; +const RANGE_CHECK_N_PARTS: felt252 = 8; const MAX_LOG_N_STEPS: felt252 = 50; const MAX_RANGE_CHECK: felt252 = 0xffff; // 2 ** 16 - 1 From c7b00342fa10272c324140c02b39940dcf615e28 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 4 Mar 2024 21:40:04 +0100 Subject: [PATCH 17/48] global vals changes --- src/air/global_values.cairo | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/air/global_values.cairo b/src/air/global_values.cairo index 802815ff5..81685b0de 100644 --- a/src/air/global_values.cairo +++ b/src/air/global_values.cairo @@ -14,10 +14,10 @@ struct GlobalValues { initial_ap: felt252, final_ap: felt252, initial_pedersen_addr: felt252, - initial_rc_addr: felt252, + initial_range_check_addr: felt252, initial_bitwise_addr: felt252, - rc_min: felt252, - rc_max: felt252, + range_check_min: felt252, + range_check_max: felt252, // Constants. offset_size: felt252, half_offset_size: felt252, @@ -28,13 +28,13 @@ struct GlobalValues { // Interaction elements. memory_multi_column_perm_perm_interaction_elm: felt252, memory_multi_column_perm_hash_interaction_elm0: felt252, - rc16_perm_interaction_elm: felt252, + range_check16_perm_interaction_elm: felt252, diluted_check_permutation_interaction_elm: felt252, diluted_check_interaction_z: felt252, diluted_check_interaction_alpha: felt252, // Permutation products. memory_multi_column_perm_perm_public_memory_prod: felt252, - rc16_perm_public_memory_prod: felt252, + range_check16_perm_public_memory_prod: felt252, diluted_check_first_elm: felt252, diluted_check_permutation_public_memory_prod: felt252, diluted_check_final_cum_val: felt252 @@ -46,7 +46,7 @@ struct GlobalValues { struct InteractionElements { memory_multi_column_perm_perm_interaction_elm: felt252, memory_multi_column_perm_hash_interaction_elm0: felt252, - rc16_perm_interaction_elm: felt252, + range_check16_perm_interaction_elm: felt252, diluted_check_permutation_interaction_elm: felt252, diluted_check_interaction_z: felt252, diluted_check_interaction_alpha: felt252 From 8ce15004d20035c1110b84f17270e1787138445a Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 4 Mar 2024 22:13:49 +0100 Subject: [PATCH 18/48] public input --- src/air/public_input.cairo | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/src/air/public_input.cairo b/src/air/public_input.cairo index e7f1b6193..c8bc4339b 100644 --- a/src/air/public_input.cairo +++ b/src/air/public_input.cairo @@ -3,7 +3,8 @@ use cairo_verifier::{ common::{ array_extend::ArrayExtend, flip_endianness::FlipEndiannessTrait, array_append::ArrayAppendTrait, hasher::hash, math::{pow, Felt252PartialOrd, Felt252Div}, - asserts::assert_range_u128_le, array_print::SpanPrintTrait, hash::hash_felts, + asserts::{assert_range_u128_le, assert_range_u128}, array_print::SpanPrintTrait, + hash::hash_felts, }, air::{ public_memory::{ @@ -11,7 +12,8 @@ use cairo_verifier::{ }, constants::{ segments, MAX_ADDRESS, get_builtins, INITIAL_PC, MAX_LOG_N_STEPS, CPU_COMPONENT_HEIGHT, - MAX_RANGE_CHECK, LAYOUT_CODE, PEDERSEN_BUILTIN_RATIO, RC_BUILTIN_RATIO, BITWISE_RATIO + MAX_RANGE_CHECK, LAYOUT_CODE, PEDERSEN_BUILTIN_ROW_RATIO, RANGE_CHECK_BUILTIN_ROW_RATIO, + BITWISE_ROW_RATIO, CPU_COMPONENT_STEP } }, domains::StarkDomains @@ -29,8 +31,8 @@ struct SegmentInfo { #[derive(Drop, PartialEq)] struct PublicInput { log_n_steps: felt252, - rc_min: felt252, - rc_max: felt252, + range_check_min: felt252, + range_check_max: felt252, layout: felt252, dynamic_params: Array, segments: Array, @@ -60,8 +62,8 @@ impl PublicInputImpl of PublicInputTrait { let mut hash_data = ArrayTrait::::new(); hash_data.append(*self.log_n_steps); - hash_data.append(*self.rc_min); - hash_data.append(*self.rc_max); + hash_data.append(*self.range_check_min); + hash_data.append(*self.range_check_max); hash_data.append(*self.layout); hash_data.extend(self.dynamic_params.span()); @@ -230,29 +232,36 @@ impl PublicInputImpl of PublicInputTrait { (program_hash, output_hash) } - fn validate(self: @PublicInput, domains: @StarkDomains) { + fn validate(self: @PublicInput, stark_domains: @StarkDomains) { assert_range_u128_le(*self.log_n_steps, MAX_LOG_N_STEPS); let n_steps = pow(2, *self.log_n_steps); - assert(n_steps * CPU_COMPONENT_HEIGHT == *domains.trace_domain_size, 'Wrong trace size'); + let trace_length = *stark_domains.trace_domain_size; + assert( + n_steps * CPU_COMPONENT_HEIGHT * CPU_COMPONENT_STEP == trace_length, 'Wrong trace size' + ); - assert(0 <= *self.rc_min, 'wrong rc_min'); - assert(*self.rc_min < *self.rc_max, 'wrong rc range'); - assert(*self.rc_max <= MAX_RANGE_CHECK, 'wrong rc_max'); + assert(0 <= *self.range_check_min, 'wrong rc_min'); + assert(*self.range_check_min < *self.range_check_max, 'wrong rc range'); + assert(*self.range_check_max <= MAX_RANGE_CHECK, 'wrong rc_max'); assert(*self.layout == LAYOUT_CODE, 'wrong layout code'); - let pedersen_copies = n_steps / PEDERSEN_BUILTIN_RATIO; + let n_output_uses = (*self.segments.at(segments::OUTPUT).stop_ptr + - *self.segments.at(segments::OUTPUT).begin_addr); + assert_range_u128(n_output_uses); + + let pedersen_copies = trace_length / PEDERSEN_BUILTIN_ROW_RATIO; let pedersen_uses = (*self.segments.at(segments::PEDERSEN).stop_ptr - *self.segments.at(segments::PEDERSEN).begin_addr) / 3; assert_range_u128_le(pedersen_uses, pedersen_copies); - let range_check_copies = n_steps / RC_BUILTIN_RATIO; + let range_check_copies = trace_length / RANGE_CHECK_BUILTIN_ROW_RATIO; let range_check_uses = *self.segments.at(segments::RANGE_CHECK).stop_ptr - *self.segments.at(segments::RANGE_CHECK).begin_addr; assert_range_u128_le(range_check_uses, range_check_copies); - let bitwise_copies = n_steps / BITWISE_RATIO; + let bitwise_copies = trace_length / BITWISE_ROW_RATIO; let bitwise_uses = (*self.segments.at(segments::BITWISE).stop_ptr - *self.segments.at(segments::BITWISE).begin_addr) / 5; From 73d543b5dbbf2d411591fae94fbcf061ea07a0dc Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 4 Mar 2024 22:14:09 +0100 Subject: [PATCH 19/48] autogenerated fmt --- src/air/autogenerated.cairo | 769 +++++++++++++++++------------------- 1 file changed, 357 insertions(+), 412 deletions(-) diff --git a/src/air/autogenerated.cairo b/src/air/autogenerated.cairo index 409493458..229aecbd2 100644 --- a/src/air/autogenerated.cairo +++ b/src/air/autogenerated.cairo @@ -15,13 +15,13 @@ fn eval_composition_polynomial_inner( ) -> felt252 { // Compute powers. let pow0 = pow(point, global_values.trace_length / 2048); - let pow1 = pow0 * pow0; // pow(point, (safe_div(global_values.trace_length, 1024))). + let pow1 = pow0 * pow0; // pow(point, (safe_div(global_values.trace_length, 1024))). let pow2 = pow(point, global_values.trace_length / 128); let pow3 = pow(point, global_values.trace_length / 32); - let pow4 = pow3 * pow3; // pow(point, (safe_div(global_values.trace_length, 16))). + let pow4 = pow3 * pow3; // pow(point, (safe_div(global_values.trace_length, 16))). let pow5 = pow(point, global_values.trace_length / 4); - let pow6 = pow5 * pow5; // pow(point, (safe_div(global_values.trace_length, 2))). - let pow7 = pow6 * pow6; // pow(point, global_values.trace_length). + let pow6 = pow5 * pow5; // pow(point, (safe_div(global_values.trace_length, 2))). + let pow7 = pow6 * pow6; // pow(point, global_values.trace_length). let pow8 = pow(trace_generator, global_values.trace_length - 128); let pow9 = pow(trace_generator, global_values.trace_length - 2048); let pow10 = pow(trace_generator, global_values.trace_length - 1); @@ -31,23 +31,36 @@ fn eval_composition_polynomial_inner( let pow14 = pow(trace_generator, global_values.trace_length / 2); let pow15 = pow(trace_generator, 255 * global_values.trace_length / 256); let pow16 = pow(trace_generator, global_values.trace_length / 64); - let pow17 = pow16 * pow16; // pow(trace_generator, (safe_div(global_values.trace_length, 32))). - let pow18 = pow16 * pow17; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 64))). - let pow19 = pow16 * pow18; // pow(trace_generator, (safe_div(global_values.trace_length, 16))). - let pow20 = pow16 * pow19; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 64))). - let pow21 = pow16 * pow20; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 32))). - let pow22 = pow16 * pow21; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 64))). - let pow23 = pow16 * pow22; // pow(trace_generator, (safe_div(global_values.trace_length, 8))). - let pow24 = pow16 * pow23; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 64))). - let pow25 = pow16 * pow24; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 32))). - let pow26 = pow16 * pow25; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 64))). - let pow27 = pow16 * pow26; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 16))). - let pow28 = pow16 * pow27; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 64))). - let pow29 = pow16 * pow28; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 32))). - let pow30 = pow16 * pow29; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 64))). + let pow17 = pow16 * pow16; // pow(trace_generator, (safe_div(global_values.trace_length, 32))). + let pow18 = pow16 + * pow17; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 64))). + let pow19 = pow16 * pow18; // pow(trace_generator, (safe_div(global_values.trace_length, 16))). + let pow20 = pow16 + * pow19; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 64))). + let pow21 = pow16 + * pow20; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 32))). + let pow22 = pow16 + * pow21; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 64))). + let pow23 = pow16 * pow22; // pow(trace_generator, (safe_div(global_values.trace_length, 8))). + let pow24 = pow16 + * pow23; // pow(trace_generator, (safe_div((safe_mult(9, global_values.trace_length)), 64))). + let pow25 = pow16 + * pow24; // pow(trace_generator, (safe_div((safe_mult(5, global_values.trace_length)), 32))). + let pow26 = pow16 + * pow25; // pow(trace_generator, (safe_div((safe_mult(11, global_values.trace_length)), 64))). + let pow27 = pow16 + * pow26; // pow(trace_generator, (safe_div((safe_mult(3, global_values.trace_length)), 16))). + let pow28 = pow16 + * pow27; // pow(trace_generator, (safe_div((safe_mult(13, global_values.trace_length)), 64))). + let pow29 = pow16 + * pow28; // pow(trace_generator, (safe_div((safe_mult(7, global_values.trace_length)), 32))). + let pow30 = pow16 + * pow29; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 64))). let pow31 = pow(trace_generator, 3 * global_values.trace_length / 4); - let pow32 = pow27 * pow31; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 16))). - let pow33 = pow18 * pow32; // pow(trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 64))). + let pow32 = pow27 + * pow31; // pow(trace_generator, (safe_div((safe_mult(15, global_values.trace_length)), 16))). + let pow33 = pow18 + * pow32; // pow(trace_generator, (safe_div((safe_mult(63, global_values.trace_length)), 64))). // Compute domains. let domain0 = pow7 - 1; @@ -227,86 +240,76 @@ fn eval_composition_polynomial_inner( let cpu_decode_opcode_range_check_bit_2 = column0_row2 - (column0_row3 + column0_row3); let cpu_decode_opcode_range_check_bit_4 = column0_row4 - (column0_row5 + column0_row5); let cpu_decode_opcode_range_check_bit_3 = column0_row3 - (column0_row4 + column0_row4); - let cpu_decode_flag_op1_base_op0_0 = 1 - ( - cpu_decode_opcode_range_check_bit_2 + - cpu_decode_opcode_range_check_bit_4 + - cpu_decode_opcode_range_check_bit_3 - ); + let cpu_decode_flag_op1_base_op0_0 = 1 + - (cpu_decode_opcode_range_check_bit_2 + + cpu_decode_opcode_range_check_bit_4 + + cpu_decode_opcode_range_check_bit_3); let cpu_decode_opcode_range_check_bit_5 = column0_row5 - (column0_row6 + column0_row6); let cpu_decode_opcode_range_check_bit_6 = column0_row6 - (column0_row7 + column0_row7); let cpu_decode_opcode_range_check_bit_9 = column0_row9 - (column0_row10 + column0_row10); - let cpu_decode_flag_res_op1_0 = 1 - ( - cpu_decode_opcode_range_check_bit_5 + - cpu_decode_opcode_range_check_bit_6 + - cpu_decode_opcode_range_check_bit_9 - ); + let cpu_decode_flag_res_op1_0 = 1 + - (cpu_decode_opcode_range_check_bit_5 + + cpu_decode_opcode_range_check_bit_6 + + cpu_decode_opcode_range_check_bit_9); let cpu_decode_opcode_range_check_bit_7 = column0_row7 - (column0_row8 + column0_row8); let cpu_decode_opcode_range_check_bit_8 = column0_row8 - (column0_row9 + column0_row9); - let cpu_decode_flag_pc_update_regular_0 = 1 - ( - cpu_decode_opcode_range_check_bit_7 + - cpu_decode_opcode_range_check_bit_8 + - cpu_decode_opcode_range_check_bit_9 - ); - let cpu_decode_opcode_range_check_bit_12 = column0_row12 - ( - column0_row13 + column0_row13 - ); - let cpu_decode_opcode_range_check_bit_13 = column0_row13 - ( - column0_row14 + column0_row14 - ); - let cpu_decode_fp_update_regular_0 = 1 - ( - cpu_decode_opcode_range_check_bit_12 + cpu_decode_opcode_range_check_bit_13 - ); + let cpu_decode_flag_pc_update_regular_0 = 1 + - (cpu_decode_opcode_range_check_bit_7 + + cpu_decode_opcode_range_check_bit_8 + + cpu_decode_opcode_range_check_bit_9); + let cpu_decode_opcode_range_check_bit_12 = column0_row12 - (column0_row13 + column0_row13); + let cpu_decode_opcode_range_check_bit_13 = column0_row13 - (column0_row14 + column0_row14); + let cpu_decode_fp_update_regular_0 = 1 + - (cpu_decode_opcode_range_check_bit_12 + cpu_decode_opcode_range_check_bit_13); let cpu_decode_opcode_range_check_bit_1 = column0_row1 - (column0_row2 + column0_row2); let npc_reg_0 = column3_row0 + cpu_decode_opcode_range_check_bit_2 + 1; - let cpu_decode_opcode_range_check_bit_10 = column0_row10 - ( - column0_row11 + column0_row11 - ); - let cpu_decode_opcode_range_check_bit_11 = column0_row11 - ( - column0_row12 + column0_row12 - ); - let cpu_decode_opcode_range_check_bit_14 = column0_row14 - ( - column0_row15 + column0_row15 - ); + let cpu_decode_opcode_range_check_bit_10 = column0_row10 - (column0_row11 + column0_row11); + let cpu_decode_opcode_range_check_bit_11 = column0_row11 - (column0_row12 + column0_row12); + let cpu_decode_opcode_range_check_bit_14 = column0_row14 - (column0_row15 + column0_row15); let memory_address_diff_0 = column4_row2 - column4_row0; let range_check16_diff_0 = column5_row6 - column5_row2; let pedersen_hash0_ec_subset_sum_bit_0 = column6_row0 - (column6_row4 + column6_row4); let pedersen_hash0_ec_subset_sum_bit_neg_0 = 1 - pedersen_hash0_ec_subset_sum_bit_0; let range_check_builtin_value0_0 = column5_row12; - let range_check_builtin_value1_0 = range_check_builtin_value0_0 * - global_values.offset_size + column5_row28; - let range_check_builtin_value2_0 = range_check_builtin_value1_0 * - global_values.offset_size + column5_row44; - let range_check_builtin_value3_0 = range_check_builtin_value2_0 * - global_values.offset_size + column5_row60; - let range_check_builtin_value4_0 = range_check_builtin_value3_0 * - global_values.offset_size + column5_row76; - let range_check_builtin_value5_0 = range_check_builtin_value4_0 * - global_values.offset_size + column5_row92; - let range_check_builtin_value6_0 = range_check_builtin_value5_0 * - global_values.offset_size + column5_row108; - let range_check_builtin_value7_0 = range_check_builtin_value6_0 * - global_values.offset_size + column5_row124; - let bitwise_sum_var_0_0 = column1_row0 + column1_row2 * 2 + column1_row4 * 4 + - column1_row6 * 8 + column1_row8 * 18446744073709551616 + column1_row10 * - 36893488147419103232 + column1_row12 * 73786976294838206464 + column1_row14 * - 147573952589676412928; - let bitwise_sum_var_8_0 = column1_row16 * 340282366920938463463374607431768211456 + - column1_row18 * 680564733841876926926749214863536422912 + column1_row20 * - 1361129467683753853853498429727072845824 + column1_row22 * - 2722258935367507707706996859454145691648 + column1_row24 * - 6277101735386680763835789423207666416102355444464034512896 + column1_row26 * - 12554203470773361527671578846415332832204710888928069025792 + column1_row28 * - 25108406941546723055343157692830665664409421777856138051584 + column1_row30 * - 50216813883093446110686315385661331328818843555712276103168; + let range_check_builtin_value1_0 = range_check_builtin_value0_0 * global_values.offset_size + + column5_row28; + let range_check_builtin_value2_0 = range_check_builtin_value1_0 * global_values.offset_size + + column5_row44; + let range_check_builtin_value3_0 = range_check_builtin_value2_0 * global_values.offset_size + + column5_row60; + let range_check_builtin_value4_0 = range_check_builtin_value3_0 * global_values.offset_size + + column5_row76; + let range_check_builtin_value5_0 = range_check_builtin_value4_0 * global_values.offset_size + + column5_row92; + let range_check_builtin_value6_0 = range_check_builtin_value5_0 * global_values.offset_size + + column5_row108; + let range_check_builtin_value7_0 = range_check_builtin_value6_0 * global_values.offset_size + + column5_row124; + let bitwise_sum_var_0_0 = column1_row0 + + column1_row2 * 2 + + column1_row4 * 4 + + column1_row6 * 8 + + column1_row8 * 18446744073709551616 + + column1_row10 * 36893488147419103232 + + column1_row12 * 73786976294838206464 + + column1_row14 * 147573952589676412928; + let bitwise_sum_var_8_0 = column1_row16 * 340282366920938463463374607431768211456 + + column1_row18 * 680564733841876926926749214863536422912 + + column1_row20 * 1361129467683753853853498429727072845824 + + column1_row22 * 2722258935367507707706996859454145691648 + + column1_row24 * 6277101735386680763835789423207666416102355444464034512896 + + column1_row26 * 12554203470773361527671578846415332832204710888928069025792 + + column1_row28 * 25108406941546723055343157692830665664409421777856138051584 + + column1_row30 * 50216813883093446110686315385661331328818843555712276103168; // Sum constraints. let total_sum = 0; // Constraint: cpu/decode/opcode_range_check/bit. - let value = ( - cpu_decode_opcode_range_check_bit_0 * cpu_decode_opcode_range_check_bit_0 - - cpu_decode_opcode_range_check_bit_0 - ) * domain3 / domain0; + let value = (cpu_decode_opcode_range_check_bit_0 * cpu_decode_opcode_range_check_bit_0 + - cpu_decode_opcode_range_check_bit_0) + * domain3 + / domain0; let total_sum = total_sum + *constraint_coefficients[0] * value; // Constraint: cpu/decode/opcode_range_check/zero. @@ -314,82 +317,64 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[1] * value; // Constraint: cpu/decode/opcode_range_check_input. - let value = ( - column3_row1 - - ( - ( - (column0_row0 * global_values.offset_size + column5_row4) * - global_values.offset_size + - column5_row8 - ) * global_values.offset_size + - column5_row0 - ) - ) / domain4; + let value = (column3_row1 + - (((column0_row0 * global_values.offset_size + column5_row4) * global_values.offset_size + + column5_row8) + * global_values.offset_size + + column5_row0)) + / domain4; let total_sum = total_sum + *constraint_coefficients[2] * value; // Constraint: cpu/decode/flag_op1_base_op0_bit. - let value = ( - cpu_decode_flag_op1_base_op0_0 * cpu_decode_flag_op1_base_op0_0 - - cpu_decode_flag_op1_base_op0_0 - ) / domain4; + let value = (cpu_decode_flag_op1_base_op0_0 * cpu_decode_flag_op1_base_op0_0 + - cpu_decode_flag_op1_base_op0_0) + / domain4; let total_sum = total_sum + *constraint_coefficients[3] * value; // Constraint: cpu/decode/flag_res_op1_bit. - let value = ( - cpu_decode_flag_res_op1_0 * cpu_decode_flag_res_op1_0 - cpu_decode_flag_res_op1_0 - ) / domain4; + let value = (cpu_decode_flag_res_op1_0 * cpu_decode_flag_res_op1_0 - cpu_decode_flag_res_op1_0) + / domain4; let total_sum = total_sum + *constraint_coefficients[4] * value; // Constraint: cpu/decode/flag_pc_update_regular_bit. - let value = ( - cpu_decode_flag_pc_update_regular_0 * cpu_decode_flag_pc_update_regular_0 - - cpu_decode_flag_pc_update_regular_0 - ) / domain4; + let value = (cpu_decode_flag_pc_update_regular_0 * cpu_decode_flag_pc_update_regular_0 + - cpu_decode_flag_pc_update_regular_0) + / domain4; let total_sum = total_sum + *constraint_coefficients[5] * value; // Constraint: cpu/decode/fp_update_regular_bit. - let value = ( - cpu_decode_fp_update_regular_0 * cpu_decode_fp_update_regular_0 - - cpu_decode_fp_update_regular_0 - ) / domain4; + let value = (cpu_decode_fp_update_regular_0 * cpu_decode_fp_update_regular_0 + - cpu_decode_fp_update_regular_0) + / domain4; let total_sum = total_sum + *constraint_coefficients[6] * value; // Constraint: cpu/operands/mem_dst_addr. - let value = ( - column3_row8 + - global_values.half_offset_size - - ( - cpu_decode_opcode_range_check_bit_0 * column6_row9 + - (1 - cpu_decode_opcode_range_check_bit_0) * column6_row1 + - column5_row0 - ) - ) / domain4; + let value = (column3_row8 + + global_values.half_offset_size + - (cpu_decode_opcode_range_check_bit_0 * column6_row9 + + (1 - cpu_decode_opcode_range_check_bit_0) * column6_row1 + + column5_row0)) + / domain4; let total_sum = total_sum + *constraint_coefficients[7] * value; // Constraint: cpu/operands/mem0_addr. - let value = ( - column3_row4 + - global_values.half_offset_size - - ( - cpu_decode_opcode_range_check_bit_1 * column6_row9 + - (1 - cpu_decode_opcode_range_check_bit_1) * column6_row1 + - column5_row8 - ) - ) / domain4; + let value = (column3_row4 + + global_values.half_offset_size + - (cpu_decode_opcode_range_check_bit_1 * column6_row9 + + (1 - cpu_decode_opcode_range_check_bit_1) * column6_row1 + + column5_row8)) + / domain4; let total_sum = total_sum + *constraint_coefficients[8] * value; // Constraint: cpu/operands/mem1_addr. - let value = ( - column3_row12 + - global_values.half_offset_size - - ( - cpu_decode_opcode_range_check_bit_2 * column3_row0 + - cpu_decode_opcode_range_check_bit_4 * column6_row1 + - cpu_decode_opcode_range_check_bit_3 * column6_row9 + - cpu_decode_flag_op1_base_op0_0 * column3_row5 + - column5_row4 - ) - ) / domain4; + let value = (column3_row12 + + global_values.half_offset_size + - (cpu_decode_opcode_range_check_bit_2 * column3_row0 + + cpu_decode_opcode_range_check_bit_4 * column6_row1 + + cpu_decode_opcode_range_check_bit_3 * column6_row9 + + cpu_decode_flag_op1_base_op0_0 * column3_row5 + + column5_row4)) + / domain4; let total_sum = total_sum + *constraint_coefficients[9] * value; // Constraint: cpu/operands/ops_mul. @@ -397,19 +382,17 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[10] * value; // Constraint: cpu/operands/res. - let value = ( - (1 - cpu_decode_opcode_range_check_bit_9) * column6_row13 - - ( - cpu_decode_opcode_range_check_bit_5 * (column3_row5 + column3_row13) + - cpu_decode_opcode_range_check_bit_6 * column6_row5 + - cpu_decode_flag_res_op1_0 * column3_row13 - ) - ) / domain4; + let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column6_row13 + - (cpu_decode_opcode_range_check_bit_5 * (column3_row5 + column3_row13) + + cpu_decode_opcode_range_check_bit_6 * column6_row5 + + cpu_decode_flag_res_op1_0 * column3_row13)) + / domain4; let total_sum = total_sum + *constraint_coefficients[11] * value; // Constraint: cpu/update_registers/update_pc/tmp0. - let value = (column6_row3 - cpu_decode_opcode_range_check_bit_9 * column3_row9) * - domain14 / domain4; + let value = (column6_row3 - cpu_decode_opcode_range_check_bit_9 * column3_row9) + * domain14 + / domain4; let total_sum = total_sum + *constraint_coefficients[12] * value; // Constraint: cpu/update_registers/update_pc/tmp1. @@ -417,116 +400,97 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[13] * value; // Constraint: cpu/update_registers/update_pc/pc_cond_negative. - let value = ( - (1 - cpu_decode_opcode_range_check_bit_9) * column3_row16 + - column6_row3 * (column3_row16 - (column3_row0 + column3_row13)) - - ( - cpu_decode_flag_pc_update_regular_0 * npc_reg_0 + - cpu_decode_opcode_range_check_bit_7 * column6_row13 + - cpu_decode_opcode_range_check_bit_8 * (column3_row0 + column6_row13) - ) - ) * domain14 / domain4; + let value = ((1 - cpu_decode_opcode_range_check_bit_9) * column3_row16 + + column6_row3 * (column3_row16 - (column3_row0 + column3_row13)) + - (cpu_decode_flag_pc_update_regular_0 * npc_reg_0 + + cpu_decode_opcode_range_check_bit_7 * column6_row13 + + cpu_decode_opcode_range_check_bit_8 * (column3_row0 + column6_row13))) + * domain14 + / domain4; let total_sum = total_sum + *constraint_coefficients[14] * value; // Constraint: cpu/update_registers/update_pc/pc_cond_positive. - let value = ( - (column6_row11 - cpu_decode_opcode_range_check_bit_9) * (column3_row16 - npc_reg_0) - ) * domain14 / domain4; + let value = ((column6_row11 - cpu_decode_opcode_range_check_bit_9) + * (column3_row16 - npc_reg_0)) + * domain14 + / domain4; let total_sum = total_sum + *constraint_coefficients[15] * value; // Constraint: cpu/update_registers/update_ap/ap_update. - let value = ( - column6_row17 - - ( - column6_row1 + - cpu_decode_opcode_range_check_bit_10 * column6_row13 + - cpu_decode_opcode_range_check_bit_11 + - cpu_decode_opcode_range_check_bit_12 * 2 - ) - ) * domain14 / domain4; + let value = (column6_row17 + - (column6_row1 + + cpu_decode_opcode_range_check_bit_10 * column6_row13 + + cpu_decode_opcode_range_check_bit_11 + + cpu_decode_opcode_range_check_bit_12 * 2)) + * domain14 + / domain4; let total_sum = total_sum + *constraint_coefficients[16] * value; // Constraint: cpu/update_registers/update_fp/fp_update. - let value = ( - column6_row25 - - ( - cpu_decode_fp_update_regular_0 * column6_row9 + - cpu_decode_opcode_range_check_bit_13 * column3_row9 + - cpu_decode_opcode_range_check_bit_12 * (column6_row1 + 2) - ) - ) * domain14 / domain4; + let value = (column6_row25 + - (cpu_decode_fp_update_regular_0 * column6_row9 + + cpu_decode_opcode_range_check_bit_13 * column3_row9 + + cpu_decode_opcode_range_check_bit_12 * (column6_row1 + 2))) + * domain14 + / domain4; let total_sum = total_sum + *constraint_coefficients[17] * value; // Constraint: cpu/opcodes/call/push_fp. - let value = (cpu_decode_opcode_range_check_bit_12 * (column3_row9 - column6_row9)) / - domain4; + let value = (cpu_decode_opcode_range_check_bit_12 * (column3_row9 - column6_row9)) / domain4; let total_sum = total_sum + *constraint_coefficients[18] * value; // Constraint: cpu/opcodes/call/push_pc. - let value = ( - cpu_decode_opcode_range_check_bit_12 * ( - column3_row5 - (column3_row0 + cpu_decode_opcode_range_check_bit_2 + 1) - ) - ) / domain4; + let value = (cpu_decode_opcode_range_check_bit_12 + * (column3_row5 - (column3_row0 + cpu_decode_opcode_range_check_bit_2 + 1))) + / domain4; let total_sum = total_sum + *constraint_coefficients[19] * value; // Constraint: cpu/opcodes/call/off0. - let value = ( - cpu_decode_opcode_range_check_bit_12 * (column5_row0 - global_values.half_offset_size) - ) / domain4; + let value = (cpu_decode_opcode_range_check_bit_12 + * (column5_row0 - global_values.half_offset_size)) + / domain4; let total_sum = total_sum + *constraint_coefficients[20] * value; // Constraint: cpu/opcodes/call/off1. - let value = ( - cpu_decode_opcode_range_check_bit_12 * ( - column5_row8 - (global_values.half_offset_size + 1) - ) - ) / domain4; + let value = (cpu_decode_opcode_range_check_bit_12 + * (column5_row8 - (global_values.half_offset_size + 1))) + / domain4; let total_sum = total_sum + *constraint_coefficients[21] * value; // Constraint: cpu/opcodes/call/flags. - let value = ( - cpu_decode_opcode_range_check_bit_12 * ( - cpu_decode_opcode_range_check_bit_12 + - cpu_decode_opcode_range_check_bit_12 + - 1 + - 1 - - (cpu_decode_opcode_range_check_bit_0 + cpu_decode_opcode_range_check_bit_1 + 4) - ) - ) / domain4; + let value = (cpu_decode_opcode_range_check_bit_12 + * (cpu_decode_opcode_range_check_bit_12 + + cpu_decode_opcode_range_check_bit_12 + + 1 + + 1 + - (cpu_decode_opcode_range_check_bit_0 + cpu_decode_opcode_range_check_bit_1 + 4))) + / domain4; let total_sum = total_sum + *constraint_coefficients[22] * value; // Constraint: cpu/opcodes/ret/off0. - let value = ( - cpu_decode_opcode_range_check_bit_13 * ( - column5_row0 + 2 - global_values.half_offset_size - ) - ) / domain4; + let value = (cpu_decode_opcode_range_check_bit_13 + * (column5_row0 + 2 - global_values.half_offset_size)) + / domain4; let total_sum = total_sum + *constraint_coefficients[23] * value; // Constraint: cpu/opcodes/ret/off2. - let value = ( - cpu_decode_opcode_range_check_bit_13 * ( - column5_row4 + 1 - global_values.half_offset_size - ) - ) / domain4; + let value = (cpu_decode_opcode_range_check_bit_13 + * (column5_row4 + 1 - global_values.half_offset_size)) + / domain4; let total_sum = total_sum + *constraint_coefficients[24] * value; // Constraint: cpu/opcodes/ret/flags. - let value = ( - cpu_decode_opcode_range_check_bit_13 * ( - cpu_decode_opcode_range_check_bit_7 + - cpu_decode_opcode_range_check_bit_0 + - cpu_decode_opcode_range_check_bit_3 + - cpu_decode_flag_res_op1_0 - - 4 - ) - ) / domain4; + let value = (cpu_decode_opcode_range_check_bit_13 + * (cpu_decode_opcode_range_check_bit_7 + + cpu_decode_opcode_range_check_bit_0 + + cpu_decode_opcode_range_check_bit_3 + + cpu_decode_flag_res_op1_0 + - 4)) + / domain4; let total_sum = total_sum + *constraint_coefficients[25] * value; // Constraint: cpu/opcodes/assert_eq/assert_eq. - let value = (cpu_decode_opcode_range_check_bit_14 * (column3_row9 - column6_row13)) / - domain4; + let value = (cpu_decode_opcode_range_check_bit_14 * (column3_row9 - column6_row13)) / domain4; let total_sum = total_sum + *constraint_coefficients[26] * value; // Constraint: initial_ap. @@ -554,53 +518,43 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[32] * value; // Constraint: memory/multi_column_perm/perm/init0. - let value = ( - ( - global_values.memory_multi_column_perm_perm_interaction_elm - - ( - column4_row0 + - global_values.memory_multi_column_perm_hash_interaction_elm0 * column4_row1 - ) - ) * column9_inter1_row0 + - column3_row0 + - global_values.memory_multi_column_perm_hash_interaction_elm0 * column3_row1 - - global_values.memory_multi_column_perm_perm_interaction_elm - ) / domain15; + let value = ((global_values.memory_multi_column_perm_perm_interaction_elm + - (column4_row0 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column4_row1)) + * column9_inter1_row0 + + column3_row0 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column3_row1 + - global_values.memory_multi_column_perm_perm_interaction_elm) + / domain15; let total_sum = total_sum + *constraint_coefficients[33] * value; // Constraint: memory/multi_column_perm/perm/step0. - let value = ( - ( - global_values.memory_multi_column_perm_perm_interaction_elm - - ( - column4_row2 + - global_values.memory_multi_column_perm_hash_interaction_elm0 * column4_row3 - ) - ) * column9_inter1_row2 - - ( - global_values.memory_multi_column_perm_perm_interaction_elm - - ( - column3_row2 + - global_values.memory_multi_column_perm_hash_interaction_elm0 * column3_row3 - ) - ) * column9_inter1_row0 - ) * domain16 / domain1; + let value = ((global_values.memory_multi_column_perm_perm_interaction_elm + - (column4_row2 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column4_row3)) + * column9_inter1_row2 + - (global_values.memory_multi_column_perm_perm_interaction_elm + - (column3_row2 + + global_values.memory_multi_column_perm_hash_interaction_elm0 * column3_row3)) + * column9_inter1_row0) + * domain16 + / domain1; let total_sum = total_sum + *constraint_coefficients[34] * value; // Constraint: memory/multi_column_perm/perm/last. - let value = ( - column9_inter1_row0 - global_values.memory_multi_column_perm_perm_public_memory_prod - ) / domain16; + let value = (column9_inter1_row0 + - global_values.memory_multi_column_perm_perm_public_memory_prod) + / domain16; let total_sum = total_sum + *constraint_coefficients[35] * value; // Constraint: memory/diff_is_bit. - let value = (memory_address_diff_0 * memory_address_diff_0 - memory_address_diff_0) * - domain16 / domain1; + let value = (memory_address_diff_0 * memory_address_diff_0 - memory_address_diff_0) + * domain16 + / domain1; let total_sum = total_sum + *constraint_coefficients[36] * value; // Constraint: memory/is_func. - let value = ((memory_address_diff_0 - 1) * (column4_row1 - column4_row3)) * domain16 / - domain1; + let value = ((memory_address_diff_0 - 1) * (column4_row1 - column4_row3)) * domain16 / domain1; let total_sum = total_sum + *constraint_coefficients[37] * value; // Constraint: memory/initial_addr. @@ -616,28 +570,30 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[40] * value; // Constraint: range_check16/perm/init0. - let value = ( - (global_values.range_check16_perm_interaction_elm - column5_row2) * column9_inter1_row1 + - column5_row0 - - global_values.range_check16_perm_interaction_elm - ) / domain15; + let value = ((global_values.range_check16_perm_interaction_elm - column5_row2) + * column9_inter1_row1 + + column5_row0 + - global_values.range_check16_perm_interaction_elm) + / domain15; let total_sum = total_sum + *constraint_coefficients[41] * value; // Constraint: range_check16/perm/step0. - let value = ( - (global_values.range_check16_perm_interaction_elm - column5_row6) * column9_inter1_row5 - - (global_values.range_check16_perm_interaction_elm - column5_row4) * column9_inter1_row1 - ) * domain17 / domain2; + let value = ((global_values.range_check16_perm_interaction_elm - column5_row6) + * column9_inter1_row5 + - (global_values.range_check16_perm_interaction_elm - column5_row4) * column9_inter1_row1) + * domain17 + / domain2; let total_sum = total_sum + *constraint_coefficients[42] * value; // Constraint: range_check16/perm/last. - let value = (column9_inter1_row1 - global_values.range_check16_perm_public_memory_prod) / - domain17; + let value = (column9_inter1_row1 - global_values.range_check16_perm_public_memory_prod) + / domain17; let total_sum = total_sum + *constraint_coefficients[43] * value; // Constraint: range_check16/diff_is_bit. - let value = (range_check16_diff_0 * range_check16_diff_0 - range_check16_diff_0) * - domain17 / domain2; + let value = (range_check16_diff_0 * range_check16_diff_0 - range_check16_diff_0) + * domain17 + / domain2; let total_sum = total_sum + *constraint_coefficients[44] * value; // Constraint: range_check16/minimum. @@ -649,27 +605,25 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[46] * value; // Constraint: diluted_check/permutation/init0. - let value = ( - (global_values.diluted_check_permutation_interaction_elm - column2_row0) * - column8_inter1_row0 + - column1_row0 - - global_values.diluted_check_permutation_interaction_elm - ) / domain15; + let value = ((global_values.diluted_check_permutation_interaction_elm - column2_row0) + * column8_inter1_row0 + + column1_row0 + - global_values.diluted_check_permutation_interaction_elm) + / domain15; let total_sum = total_sum + *constraint_coefficients[47] * value; // Constraint: diluted_check/permutation/step0. - let value = ( - (global_values.diluted_check_permutation_interaction_elm - column2_row1) * - column8_inter1_row1 - - (global_values.diluted_check_permutation_interaction_elm - column1_row1) * - column8_inter1_row0 - ) * domain18 / domain0; + let value = ((global_values.diluted_check_permutation_interaction_elm - column2_row1) + * column8_inter1_row1 + - (global_values.diluted_check_permutation_interaction_elm - column1_row1) + * column8_inter1_row0) + * domain18 + / domain0; let total_sum = total_sum + *constraint_coefficients[48] * value; // Constraint: diluted_check/permutation/last. - let value = ( - column8_inter1_row0 - global_values.diluted_check_permutation_public_memory_prod - ) / domain18; + let value = (column8_inter1_row0 - global_values.diluted_check_permutation_public_memory_prod) + / domain18; let total_sum = total_sum + *constraint_coefficients[49] * value; // Constraint: diluted_check/init. @@ -681,17 +635,14 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[51] * value; // Constraint: diluted_check/step. - let value = ( - column7_inter1_row1 - - ( - column7_inter1_row0 * ( - 1 + global_values.diluted_check_interaction_z * (column2_row1 - column2_row0) - ) + - global_values.diluted_check_interaction_alpha * (column2_row1 - column2_row0) * ( - column2_row1 - column2_row0 - ) - ) - ) * domain18 / domain0; + let value = (column7_inter1_row1 + - (column7_inter1_row0 + * (1 + global_values.diluted_check_interaction_z * (column2_row1 - column2_row0)) + + global_values.diluted_check_interaction_alpha + * (column2_row1 - column2_row0) + * (column2_row1 - column2_row0))) + * domain18 + / domain0; let total_sum = total_sum + *constraint_coefficients[52] * value; // Constraint: diluted_check/last. @@ -703,18 +654,16 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[54] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones0. - let value = ( - column6_row7 * ( - column6_row4 - - 3138550867693340381917894711603833208051177722232017256448 * column6_row768 - ) - ) / domain9; + let value = (column6_row7 + * (column6_row4 + - 3138550867693340381917894711603833208051177722232017256448 * column6_row768)) + / domain9; let total_sum = total_sum + *constraint_coefficients[55] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit192. - let value = ( - column6_row7 - column6_row1022 * (column6_row768 - (column6_row772 + column6_row772)) - ) / domain9; + let value = (column6_row7 + - column6_row1022 * (column6_row768 - (column6_row772 + column6_row772))) + / domain9; let total_sum = total_sum + *constraint_coefficients[56] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones192. @@ -722,26 +671,22 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[57] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/cumulative_bit196. - let value = ( - column6_row1022 - - (column6_row1004 - (column6_row1008 + column6_row1008)) * ( - column6_row784 - (column6_row788 + column6_row788) - ) - ) / domain9; + let value = (column6_row1022 + - (column6_row1004 - (column6_row1008 + column6_row1008)) + * (column6_row784 - (column6_row788 + column6_row788))) + / domain9; let total_sum = total_sum + *constraint_coefficients[58] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_unpacking/zeroes_between_ones196. - let value = ( - (column6_row1004 - (column6_row1008 + column6_row1008)) * ( - column6_row788 - 18014398509481984 * column6_row1004 - ) - ) / domain9; + let value = ((column6_row1004 - (column6_row1008 + column6_row1008)) + * (column6_row788 - 18014398509481984 * column6_row1004)) + / domain9; let total_sum = total_sum + *constraint_coefficients[59] * value; // Constraint: pedersen/hash0/ec_subset_sum/booleanity_test. - let value = ( - pedersen_hash0_ec_subset_sum_bit_0 * (pedersen_hash0_ec_subset_sum_bit_0 - 1) - ) * domain10 / domain2; + let value = (pedersen_hash0_ec_subset_sum_bit_0 * (pedersen_hash0_ec_subset_sum_bit_0 - 1)) + * domain10 + / domain2; let total_sum = total_sum + *constraint_coefficients[60] * value; // Constraint: pedersen/hash0/ec_subset_sum/bit_extraction_end. @@ -753,36 +698,38 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[62] * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/slope. - let value = ( - pedersen_hash0_ec_subset_sum_bit_0 * (column5_row3 - global_values.pedersen_points_y) - - column6_row2 * (column5_row1 - global_values.pedersen_points_x) - ) * domain10 / domain2; + let value = (pedersen_hash0_ec_subset_sum_bit_0 + * (column5_row3 - global_values.pedersen_points_y) + - column6_row2 * (column5_row1 - global_values.pedersen_points_x)) + * domain10 + / domain2; let total_sum = total_sum + *constraint_coefficients[63] * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/x. - let value = ( - column6_row2 * column6_row2 - - pedersen_hash0_ec_subset_sum_bit_0 * ( - column5_row1 + global_values.pedersen_points_x + column5_row5 - ) - ) * domain10 / domain2; + let value = (column6_row2 * column6_row2 + - pedersen_hash0_ec_subset_sum_bit_0 + * (column5_row1 + global_values.pedersen_points_x + column5_row5)) + * domain10 + / domain2; let total_sum = total_sum + *constraint_coefficients[64] * value; // Constraint: pedersen/hash0/ec_subset_sum/add_points/y. - let value = ( - pedersen_hash0_ec_subset_sum_bit_0 * (column5_row3 + column5_row7) - - column6_row2 * (column5_row1 - column5_row5) - ) * domain10 / domain2; + let value = (pedersen_hash0_ec_subset_sum_bit_0 * (column5_row3 + column5_row7) + - column6_row2 * (column5_row1 - column5_row5)) + * domain10 + / domain2; let total_sum = total_sum + *constraint_coefficients[65] * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/x. - let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column5_row5 - column5_row1)) * - domain10 / domain2; + let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column5_row5 - column5_row1)) + * domain10 + / domain2; let total_sum = total_sum + *constraint_coefficients[66] * value; // Constraint: pedersen/hash0/ec_subset_sum/copy_point/y. - let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column5_row7 - column5_row3)) * - domain10 / domain2; + let value = (pedersen_hash0_ec_subset_sum_bit_neg_0 * (column5_row7 - column5_row3)) + * domain10 + / domain2; let total_sum = total_sum + *constraint_coefficients[67] * value; // Constraint: pedersen/hash0/copy_point/x. @@ -866,9 +813,8 @@ fn eval_composition_polynomial_inner( let total_sum = total_sum + *constraint_coefficients[87] * value; // Constraint: bitwise/addition_is_xor_with_and. - let value = ( - column1_row0 + column1_row32 - (column1_row96 + column1_row64 + column1_row64) - ) / domain8; + let value = (column1_row0 + column1_row32 - (column1_row96 + column1_row64 + column1_row64)) + / domain8; let total_sum = total_sum + *constraint_coefficients[88] * value; // Constraint: bitwise/unique_unpacking192. @@ -904,73 +850,73 @@ fn eval_oods_polynomial_inner( let pow2 = pow(trace_generator, 768); let pow3 = pow(trace_generator, 522); let pow4 = pow(trace_generator, 1); - let pow5 = pow3 * pow4; // pow(trace_generator, 523). - let pow6 = pow4 * pow4; // pow(trace_generator, 2). - let pow7 = pow4 * pow6; // pow(trace_generator, 3). - let pow8 = pow4 * pow7; // pow(trace_generator, 4). - let pow9 = pow1 * pow8; // pow(trace_generator, 1008). - let pow10 = pow2 * pow8; // pow(trace_generator, 772). - let pow11 = pow4 * pow8; // pow(trace_generator, 5). - let pow12 = pow4 * pow11; // pow(trace_generator, 6). - let pow13 = pow4 * pow12; // pow(trace_generator, 7). - let pow14 = pow4 * pow13; // pow(trace_generator, 8). - let pow15 = pow4 * pow14; // pow(trace_generator, 9). - let pow16 = pow4 * pow15; // pow(trace_generator, 10). - let pow17 = pow4 * pow16; // pow(trace_generator, 11). - let pow18 = pow4 * pow17; // pow(trace_generator, 12). - let pow19 = pow4 * pow18; // pow(trace_generator, 13). - let pow20 = pow4 * pow19; // pow(trace_generator, 14). - let pow21 = pow4 * pow20; // pow(trace_generator, 15). - let pow22 = pow4 * pow21; // pow(trace_generator, 16). - let pow23 = pow2 * pow22; // pow(trace_generator, 784). - let pow24 = pow4 * pow22; // pow(trace_generator, 17). - let pow25 = pow1 * pow24; // pow(trace_generator, 1021). - let pow26 = pow4 * pow24; // pow(trace_generator, 18). - let pow27 = pow1 * pow26; // pow(trace_generator, 1022). - let pow28 = pow4 * pow27; // pow(trace_generator, 1023). - let pow29 = pow6 * pow26; // pow(trace_generator, 20). - let pow30 = pow6 * pow29; // pow(trace_generator, 22). - let pow31 = pow6 * pow30; // pow(trace_generator, 24). - let pow32 = pow4 * pow31; // pow(trace_generator, 25). - let pow33 = pow4 * pow32; // pow(trace_generator, 26). - let pow34 = pow1 * pow29; // pow(trace_generator, 1024). - let pow35 = pow25 * pow34; // pow(trace_generator, 2045). - let pow36 = pow4 * pow34; // pow(trace_generator, 1025). - let pow37 = pow6 * pow36; // pow(trace_generator, 1027). - let pow38 = pow4 * pow33; // pow(trace_generator, 27). - let pow39 = pow4 * pow38; // pow(trace_generator, 28). - let pow40 = pow6 * pow39; // pow(trace_generator, 30). - let pow41 = pow6 * pow40; // pow(trace_generator, 32). - let pow42 = pow4 * pow41; // pow(trace_generator, 33). - let pow43 = pow1 * pow40; // pow(trace_generator, 1034). - let pow44 = pow4 * pow43; // pow(trace_generator, 1035). - let pow45 = pow19 * pow35; // pow(trace_generator, 2058). - let pow46 = pow15 * pow42; // pow(trace_generator, 42). - let pow47 = pow4 * pow46; // pow(trace_generator, 43). - let pow48 = pow4 * pow47; // pow(trace_generator, 44). - let pow49 = pow20 * pow48; // pow(trace_generator, 58). - let pow50 = pow6 * pow49; // pow(trace_generator, 60). - let pow51 = pow2 * pow29; // pow(trace_generator, 788). - let pow52 = pow8 * pow50; // pow(trace_generator, 64). - let pow53 = pow4 * pow52; // pow(trace_generator, 65). - let pow54 = pow15 * pow53; // pow(trace_generator, 74). - let pow55 = pow4 * pow54; // pow(trace_generator, 75). - let pow56 = pow4 * pow55; // pow(trace_generator, 76). - let pow57 = pow18 * pow56; // pow(trace_generator, 88). - let pow58 = pow6 * pow57; // pow(trace_generator, 90). - let pow59 = pow4 * pow58; // pow(trace_generator, 91). - let pow60 = pow4 * pow59; // pow(trace_generator, 92). - let pow61 = pow6 * pow60; // pow(trace_generator, 94). - let pow62 = pow6 * pow61; // pow(trace_generator, 96). - let pow63 = pow4 * pow62; // pow(trace_generator, 97). - let pow64 = pow17 * pow63; // pow(trace_generator, 108). - let pow65 = pow18 * pow64; // pow(trace_generator, 120). - let pow66 = pow6 * pow65; // pow(trace_generator, 122). - let pow67 = pow4 * pow66; // pow(trace_generator, 123). - let pow68 = pow4 * pow67; // pow(trace_generator, 124). - let pow69 = pow6 * pow68; // pow(trace_generator, 126). - let pow70 = pow56 * pow69; // pow(trace_generator, 202). - let pow71 = pow39 * pow69; // pow(trace_generator, 154). + let pow5 = pow3 * pow4; // pow(trace_generator, 523). + let pow6 = pow4 * pow4; // pow(trace_generator, 2). + let pow7 = pow4 * pow6; // pow(trace_generator, 3). + let pow8 = pow4 * pow7; // pow(trace_generator, 4). + let pow9 = pow1 * pow8; // pow(trace_generator, 1008). + let pow10 = pow2 * pow8; // pow(trace_generator, 772). + let pow11 = pow4 * pow8; // pow(trace_generator, 5). + let pow12 = pow4 * pow11; // pow(trace_generator, 6). + let pow13 = pow4 * pow12; // pow(trace_generator, 7). + let pow14 = pow4 * pow13; // pow(trace_generator, 8). + let pow15 = pow4 * pow14; // pow(trace_generator, 9). + let pow16 = pow4 * pow15; // pow(trace_generator, 10). + let pow17 = pow4 * pow16; // pow(trace_generator, 11). + let pow18 = pow4 * pow17; // pow(trace_generator, 12). + let pow19 = pow4 * pow18; // pow(trace_generator, 13). + let pow20 = pow4 * pow19; // pow(trace_generator, 14). + let pow21 = pow4 * pow20; // pow(trace_generator, 15). + let pow22 = pow4 * pow21; // pow(trace_generator, 16). + let pow23 = pow2 * pow22; // pow(trace_generator, 784). + let pow24 = pow4 * pow22; // pow(trace_generator, 17). + let pow25 = pow1 * pow24; // pow(trace_generator, 1021). + let pow26 = pow4 * pow24; // pow(trace_generator, 18). + let pow27 = pow1 * pow26; // pow(trace_generator, 1022). + let pow28 = pow4 * pow27; // pow(trace_generator, 1023). + let pow29 = pow6 * pow26; // pow(trace_generator, 20). + let pow30 = pow6 * pow29; // pow(trace_generator, 22). + let pow31 = pow6 * pow30; // pow(trace_generator, 24). + let pow32 = pow4 * pow31; // pow(trace_generator, 25). + let pow33 = pow4 * pow32; // pow(trace_generator, 26). + let pow34 = pow1 * pow29; // pow(trace_generator, 1024). + let pow35 = pow25 * pow34; // pow(trace_generator, 2045). + let pow36 = pow4 * pow34; // pow(trace_generator, 1025). + let pow37 = pow6 * pow36; // pow(trace_generator, 1027). + let pow38 = pow4 * pow33; // pow(trace_generator, 27). + let pow39 = pow4 * pow38; // pow(trace_generator, 28). + let pow40 = pow6 * pow39; // pow(trace_generator, 30). + let pow41 = pow6 * pow40; // pow(trace_generator, 32). + let pow42 = pow4 * pow41; // pow(trace_generator, 33). + let pow43 = pow1 * pow40; // pow(trace_generator, 1034). + let pow44 = pow4 * pow43; // pow(trace_generator, 1035). + let pow45 = pow19 * pow35; // pow(trace_generator, 2058). + let pow46 = pow15 * pow42; // pow(trace_generator, 42). + let pow47 = pow4 * pow46; // pow(trace_generator, 43). + let pow48 = pow4 * pow47; // pow(trace_generator, 44). + let pow49 = pow20 * pow48; // pow(trace_generator, 58). + let pow50 = pow6 * pow49; // pow(trace_generator, 60). + let pow51 = pow2 * pow29; // pow(trace_generator, 788). + let pow52 = pow8 * pow50; // pow(trace_generator, 64). + let pow53 = pow4 * pow52; // pow(trace_generator, 65). + let pow54 = pow15 * pow53; // pow(trace_generator, 74). + let pow55 = pow4 * pow54; // pow(trace_generator, 75). + let pow56 = pow4 * pow55; // pow(trace_generator, 76). + let pow57 = pow18 * pow56; // pow(trace_generator, 88). + let pow58 = pow6 * pow57; // pow(trace_generator, 90). + let pow59 = pow4 * pow58; // pow(trace_generator, 91). + let pow60 = pow4 * pow59; // pow(trace_generator, 92). + let pow61 = pow6 * pow60; // pow(trace_generator, 94). + let pow62 = pow6 * pow61; // pow(trace_generator, 96). + let pow63 = pow4 * pow62; // pow(trace_generator, 97). + let pow64 = pow17 * pow63; // pow(trace_generator, 108). + let pow65 = pow18 * pow64; // pow(trace_generator, 120). + let pow66 = pow6 * pow65; // pow(trace_generator, 122). + let pow67 = pow4 * pow66; // pow(trace_generator, 123). + let pow68 = pow4 * pow67; // pow(trace_generator, 124). + let pow69 = pow6 * pow68; // pow(trace_generator, 126). + let pow70 = pow56 * pow69; // pow(trace_generator, 202). + let pow71 = pow39 * pow69; // pow(trace_generator, 154). // Fetch columns. let column0 = *column_values[0]; @@ -1389,13 +1335,12 @@ fn eval_oods_polynomial_inner( // Sum the OODS boundary constraints on the composition polynomials. let oods_point_to_deg = pow(oods_point, CONSTRAINT_DEGREE.into()); - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND] - *oods_values[133]) / ( - point - oods_point_to_deg - ); + let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND] - *oods_values[133]) + / (point - oods_point_to_deg); let total_sum = total_sum + *constraint_coefficients[133] * value; - let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND + 1] - *oods_values[134]) / - (point - oods_point_to_deg); + let value = (*column_values[NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND + 1] - *oods_values[134]) + / (point - oods_point_to_deg); let total_sum = total_sum + *constraint_coefficients[134] * value; assert(135 == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); From daeb83ea4fa37099f2ff2d8f6e21daee5084410b Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 4 Mar 2024 22:14:41 +0100 Subject: [PATCH 20/48] queries fix --- src/queries/queries.cairo | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/queries/queries.cairo b/src/queries/queries.cairo index 99650e721..5ec6ad9e8 100644 --- a/src/queries/queries.cairo +++ b/src/queries/queries.cairo @@ -17,21 +17,15 @@ fn generate_queries( } fn sample_random_queries( - ref channel: Channel, n_samples: u32, query_upper_bound: u64 + ref channel: Channel, mut n_samples: u32, query_upper_bound: u64 ) -> Array { let mut result = ArrayTrait::::new(); - // Samples are generated in quadruplets. We generate ceil(n_samples / 4) samples - let (mut n_quad, rem) = DivRem::div_rem(n_samples, 4_u32.try_into().unwrap()); - if rem != 0 { - n_quad += 1; - } - let query_upper_bound_u128: u128 = query_upper_bound.into(); let query_upper_bound_nonzero: NonZero = query_upper_bound_u128.try_into().unwrap(); loop { - if n_quad == 0 { + if n_samples == 0 { break; } @@ -40,7 +34,7 @@ fn sample_random_queries( let (_, sample) = DivRem::div_rem(low128, query_upper_bound_nonzero); result.append(sample.try_into().unwrap()); - n_quad -= 1; + n_samples -= 1; }; result From 715cf5e9514396979ca423a9d576e14075bba39a Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 4 Mar 2024 22:15:32 +0100 Subject: [PATCH 21/48] vector commitment --- src/vector_commitment/vector_commitment.cairo | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/vector_commitment/vector_commitment.cairo b/src/vector_commitment/vector_commitment.cairo index 01d86b0ac..1baedc59f 100644 --- a/src/vector_commitment/vector_commitment.cairo +++ b/src/vector_commitment/vector_commitment.cairo @@ -6,6 +6,7 @@ use cairo_verifier::{ }, channel::channel::{Channel, ChannelImpl} }; +use poseidon::hades_permutation; // Commitment for a vector of field elements. #[derive(Drop, Copy, PartialEq)] @@ -112,7 +113,7 @@ fn compute_root_from_queries( let next: VectorQueryWithDepth = *queue[start + 1]; if current.index + 1 == next.index { // next is a sibling of current - let hash = hash_blake_or_pedersen(current.value, next.value, is_verifier_friendly); + let hash = hash_blake_or_poseidon(current.value, next.value, is_verifier_friendly); queue .append( VectorQueryWithDepth { @@ -125,10 +126,10 @@ fn compute_root_from_queries( } } assert(auth_start != authentications.len(), 'authentications is too short'); - hash_blake_or_pedersen(current.value, *authentications[auth_start], is_verifier_friendly) + hash_blake_or_poseidon(current.value, *authentications[auth_start], is_verifier_friendly) } else { assert(auth_start != authentications.len(), 'authentications is too short'); - hash_blake_or_pedersen(*authentications[auth_start], current.value, is_verifier_friendly) + hash_blake_or_poseidon(*authentications[auth_start], current.value, is_verifier_friendly) }; queue.append(VectorQueryWithDepth { index: parent, value: hash, depth: current.depth - 1, }); compute_root_from_queries( @@ -158,9 +159,10 @@ fn shift_queries( shifted_queries } -fn hash_blake_or_pedersen(x: felt252, y: felt252, is_verifier_friendly: bool) -> felt252 { +fn hash_blake_or_poseidon(x: felt252, y: felt252, is_verifier_friendly: bool) -> felt252 { if is_verifier_friendly { - PedersenTrait::new(x).update(y).finalize() + let (hash, _, _) = hades_permutation(x, y, 2); + hash } else { let mut data = ArrayTrait::new(); // u32 for blake, u64 for keccak data.append_big_endian(x); From bb56c2d588b2393357d10d7f9d9478edc8faf3bd Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Mon, 4 Mar 2024 22:15:42 +0100 Subject: [PATCH 22/48] traces --- src/air/traces.cairo | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/air/traces.cairo b/src/air/traces.cairo index 208986c23..d3b4e6c66 100644 --- a/src/air/traces.cairo +++ b/src/air/traces.cairo @@ -59,8 +59,6 @@ struct TracesWitness { } const MAX_N_COLUMNS: felt252 = 128; -const AIR_LAYOUT_N_ORIGINAL_COLUMNS: felt252 = 12; -const AIR_LAYOUT_N_INTERACTION_COLUMNS: felt252 = 3; // Configuration for the Traces component. #[derive(Drop, Copy)] @@ -106,7 +104,7 @@ fn traces_commit( let interaction_elements = InteractionElements { memory_multi_column_perm_perm_interaction_elm: channel.random_felt_to_prover(), memory_multi_column_perm_hash_interaction_elm0: channel.random_felt_to_prover(), - rc16_perm_interaction_elm: channel.random_felt_to_prover(), + range_check16_perm_interaction_elm: channel.random_felt_to_prover(), diluted_check_permutation_interaction_elm: channel.random_felt_to_prover(), diluted_check_interaction_z: channel.random_felt_to_prover(), diluted_check_interaction_alpha: channel.random_felt_to_prover(), From fa9d048cb8e0391ae84a7f4cf638cf16e0a7a986 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Tue, 5 Mar 2024 08:29:07 +0100 Subject: [PATCH 23/48] fmt --- Cargo.toml | 12 +- runner/Cargo.toml | 15 ++- runner/src/main.rs | 79 ++++++++++-- runner/src/vec252.rs | 118 ++++++++++++++++++ src/air/tests/test_autogenerated.cairo | 10 +- src/deserialization/stark.cairo | 4 +- .../interaction_elements.cairo | 2 +- .../stone_proof_fibonacci/public_input.cairo | 4 +- .../interaction_elements.cairo | 2 +- .../public_input.cairo | 4 +- 10 files changed, 218 insertions(+), 32 deletions(-) create mode 100644 runner/src/vec252.rs diff --git a/Cargo.toml b/Cargo.toml index 55e1fb6f6..780c939ad 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,17 +7,17 @@ edition = "2021" version = "0.1.0" [workspace.dependencies] -anyhow = "1.0.79" -cairo-args-runner = "1.0.1" +anyhow = "1" cairo-felt = "0.9" +cairo-lang-casm = "2.5.0" cairo-lang-runner = "2.5.0" cairo-lang-sierra = "2.5.0" cairo-lang-utils = "2.5.0" cairo-proof-parser = { git = "https://github.com/Okm165/cairo-proof-parser" } cairo-vm = "0.9.2" -clap = { version = "4.4.18", features = ["derive"] } +clap = { version = "4", features = ["derive"] } itertools = "0.12.0" num-bigint = "0.4" -serde = { version = "1.0.196", features = ["derive"] } -serde_json = "1.0.113" -thiserror = "1.0" +serde = { version = "1", features = ["derive"] } +serde_json = "1" +thiserror = "1.0" \ No newline at end of file diff --git a/runner/Cargo.toml b/runner/Cargo.toml index f752027f6..7abb8a725 100644 --- a/runner/Cargo.toml +++ b/runner/Cargo.toml @@ -7,9 +7,16 @@ edition.workspace = true [dependencies] anyhow.workspace = true -cairo-args-runner.workspace = true -clap.workspace = true +cairo-felt.workspace = true +cairo-lang-casm.workspace = true +cairo-lang-runner.workspace = true +cairo-lang-sierra.workspace = true +cairo-lang-utils.workspace = true cairo-proof-parser.workspace = true -serde.workspace = true -serde_json.workspace = true +cairo-vm.workspace = true +clap.workspace = true itertools.workspace = true +num-bigint.workspace = true +serde_json.workspace = true +serde.workspace = true +thiserror.workspace = true \ No newline at end of file diff --git a/runner/src/main.rs b/runner/src/main.rs index a98df52f8..35664c144 100644 --- a/runner/src/main.rs +++ b/runner/src/main.rs @@ -1,11 +1,23 @@ -use std::io::{stdin, Read}; +mod vec252; -use cairo_args_runner::{Arg, VecFelt252}; +use std::{ + fs, + io::{stdin, Read}, +}; + +use cairo_lang_runner::{ + build_hints_dict, profiling::ProfilingInfoProcessor, Arg, CairoHintProcessor, RunResult, + SierraCasmRunner, StarknetState, +}; +use cairo_lang_sierra::program::VersionedProgram; +use cairo_lang_utils::{ordered_hash_map::OrderedHashMap, unordered_hash_map::UnorderedHashMap}; +use cairo_vm::vm::runners::cairo_runner::RunResources; use clap::Parser; use cairo_proof_parser::parse; -use itertools::chain; -use itertools::Itertools; +use itertools::{chain, Itertools}; + +use crate::vec252::VecFelt252; #[derive(Parser)] #[command(author, version, about, long_about = None)] @@ -15,11 +27,14 @@ struct Cli { } fn main() -> anyhow::Result<()> { - let args = Cli::parse(); + let cli = Cli::parse(); let mut input = String::new(); stdin().read_to_string(&mut input)?; let parsed = parse(input)?; + let target = cli.target; + let function = "main"; + let config: VecFelt252 = serde_json::from_str(&parsed.config.to_string()).unwrap(); let public_input: VecFelt252 = serde_json::from_str(&parsed.public_input.to_string()).unwrap(); let unsent_commitment: VecFelt252 = @@ -34,12 +49,58 @@ fn main() -> anyhow::Result<()> { ) .collect_vec(); - let target = args.target; - let function = "main"; + let sierra_program = + serde_json::from_str::(&fs::read_to_string(target)?)?.into_v1()?; + + let sierra_runner = SierraCasmRunner::new( + sierra_program.program.clone(), + Some(Default::default()), + OrderedHashMap::default(), + true, + )?; + + let func = sierra_runner.find_function(function)?; + let initial_gas = sierra_runner.get_initial_available_gas(func, Some(usize::MAX))?; + let (entry_code, builtins) = + sierra_runner.create_entry_code(func, &[Arg::Array(proof)], initial_gas)?; + let footer = SierraCasmRunner::create_code_footer(); + let (hints_dict, string_to_hint) = build_hints_dict(chain!( + entry_code.iter(), + sierra_runner.get_casm_program().instructions.iter() + )); + let assembled_program = sierra_runner + .get_casm_program() + .assemble_ex(&entry_code, &footer); + + let mut hint_processor = CairoHintProcessor { + runner: Some(&sierra_runner), + starknet_state: StarknetState::default(), + string_to_hint, + run_resources: RunResources::default(), + }; + + let RunResult { + gas_counter, + memory, + value, + profiling_info, + } = sierra_runner.run_function( + func, + &mut hint_processor, + hints_dict, + assembled_program.bytecode.iter(), + builtins, + )?; + + println!("gas: {}", gas_counter.unwrap()); + println!("n_steps: {}", memory.len()); + println!("return: {:#?}", value); - let result = cairo_args_runner::run(&target, function, &[Arg::Array(proof)]); + let profiling_processor = + ProfilingInfoProcessor::new(sierra_program.program, UnorderedHashMap::default()); + let _processed_profiling_info = profiling_processor.process(&profiling_info.unwrap()); - println!("{result:?}"); + // println!("profiling: {}", _processed_profiling_info); Ok(()) } diff --git a/runner/src/vec252.rs b/runner/src/vec252.rs new file mode 100644 index 000000000..33444d891 --- /dev/null +++ b/runner/src/vec252.rs @@ -0,0 +1,118 @@ +use std::{ops::Deref, str::FromStr}; + +use cairo_felt::Felt252; +use serde::{de::Visitor, Deserialize}; +use serde_json::Value; +use thiserror::Error; + +#[derive(Error, Debug)] +pub enum VecFelt252Error { + #[error("failed to parse number: {0}")] + NumberParseError(#[from] std::num::ParseIntError), + #[error("failed to parse bigint: {0}")] + BigIntParseError(#[from] num_bigint::ParseBigIntError), + #[error("number out of range")] + NumberOutOfRange, +} + +/// `VecFelt252` is a wrapper around a vector of `Arg`. +/// +/// It provides convenience methods for working with a vector of `Arg` and implements +/// `Deref` to allow it to be treated like a vector of `Arg`. +#[derive(Debug, Clone)] +pub struct VecFelt252(Vec); + +impl VecFelt252 { + /// Creates a new `VecFelt252` from a vector of `Arg`. + /// + /// # Arguments + /// + /// * `args` - A vector of `Arg`. + /// + /// # Returns + /// + /// * `VecFelt252` - A new `VecFelt252` instance. + #[must_use] + pub fn new(args: Vec) -> Self { + Self(args) + } +} + +impl Deref for VecFelt252 { + type Target = Vec; + fn deref(&self) -> &Self::Target { + &self.0 + } +} + +impl From for Vec { + fn from(args: VecFelt252) -> Self { + args.0 + } +} + +impl From> for VecFelt252 { + fn from(args: Vec) -> Self { + Self(args) + } +} + +impl VecFelt252 { + fn visit_seq_helper(seq: &[Value]) -> Result { + let iterator = seq.iter(); + let mut args = Vec::new(); + + for arg in iterator { + match arg { + Value::Number(n) => { + let n = n.as_u64().ok_or(VecFelt252Error::NumberOutOfRange)?; + args.push(Felt252::from(n)); + } + Value::String(n) => { + let n = num_bigint::BigUint::from_str(n)?; + args.push(Felt252::from_bytes_be(&n.to_bytes_be())); + } + Value::Array(a) => { + args.push(Felt252::from(a.len())); + let result = Self::visit_seq_helper(a)?; + args.extend(result.0); + } + _ => (), + } + } + + Ok(Self::new(args)) + } +} + +impl<'de> Visitor<'de> for VecFelt252 { + type Value = VecFelt252; + fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result { + formatter.write_str("a list of arguments") + } + fn visit_seq(self, mut seq: A) -> Result + where + A: serde::de::SeqAccess<'de>, + { + let mut args = Vec::new(); + while let Some(arg) = seq.next_element()? { + match arg { + Value::Number(n) => args.push(Value::Number(n)), + Value::String(n) => args.push(Value::String(n)), + Value::Array(a) => args.push(Value::Array(a)), + _ => return Err(serde::de::Error::custom("Invalid type")), + } + } + + Self::visit_seq_helper(&args).map_err(|e| serde::de::Error::custom(e.to_string())) + } +} + +impl<'de> Deserialize<'de> for VecFelt252 { + fn deserialize(deserializer: D) -> Result + where + D: serde::Deserializer<'de>, + { + deserializer.deserialize_seq(VecFelt252(Vec::new())) + } +} diff --git a/src/air/tests/test_autogenerated.cairo b/src/air/tests/test_autogenerated.cairo index 0824509d4..89f8f0733 100644 --- a/src/air/tests/test_autogenerated.cairo +++ b/src/air/tests/test_autogenerated.cairo @@ -34,10 +34,10 @@ fn test_eval_composition_polynomial_inner() { initial_ap: 0x25, final_ap: 0x68, initial_pedersen_addr: 0x6a, - initial_rc_addr: 0x1ea, + initial_range_check_addr: 0x1ea, initial_bitwise_addr: 0x9ea, - rc_min: 0x7ffa, - rc_max: 0x8001, + range_check_min: 0x7ffa, + range_check_max: 0x8001, // Constants. offset_size: 0x10000, half_offset_size: 0x8000, @@ -51,13 +51,13 @@ fn test_eval_composition_polynomial_inner() { // Interaction elements. memory_multi_column_perm_perm_interaction_elm: 0x46ecc57b0b528c3dde60dbb870596694b2879c57d0b0a34ac1122ebea470a8d, memory_multi_column_perm_hash_interaction_elm0: 0x207a232fb05d8c8261c44be98177c09634d23e7aaaf4838d435a4423e3a025f, - rc16_perm_interaction_elm: 0x2984c71a0d0a47b1d9a406f6c7be890100941f67f5db0656970832e51d48ca6, + range_check16_perm_interaction_elm: 0x2984c71a0d0a47b1d9a406f6c7be890100941f67f5db0656970832e51d48ca6, diluted_check_permutation_interaction_elm: 0x7793f70cbb5b4ae3ac72e5bce7cd46d62cbe169227257e6925e5564e595ff88, diluted_check_interaction_z: 0x3c48e3094aeca888fe6781ad7594d14d7f88062bbe320c6d6913f44b116810, diluted_check_interaction_alpha: 0x1d7304763d588fc98a927959788ad2f21d76121918994f14fc417617e6e9747, // Permutation products. memory_multi_column_perm_perm_public_memory_prod: 0x222cf8713d938af4954d6e3c98921720e296d5e9d21d5cc9b562245a009af1d, - rc16_perm_public_memory_prod: 0x1, + range_check16_perm_public_memory_prod: 0x1, diluted_check_first_elm: 0x0, diluted_check_permutation_public_memory_prod: 0x1, diluted_check_final_cum_val: 0x77236c66f48bc3c27dd07478f276be52b473a7ecbda1b8e6f672824e4627da9 diff --git a/src/deserialization/stark.cairo b/src/deserialization/stark.cairo index 94d15a7f4..8c747f1ee 100644 --- a/src/deserialization/stark.cairo +++ b/src/deserialization/stark.cairo @@ -129,8 +129,8 @@ impl IntoPublicInput of Into { }; PublicInput { log_n_steps: self.log_n_steps, - rc_min: self.range_check_min, - rc_max: self.range_check_max, + range_check_min: self.range_check_min, + range_check_max: self.range_check_max, layout: self.layout, dynamic_params: self.dynamic_params, segments: segments, diff --git a/src/tests/stone_proof_fibonacci/interaction_elements.cairo b/src/tests/stone_proof_fibonacci/interaction_elements.cairo index ee73c79d2..f8c59a443 100644 --- a/src/tests/stone_proof_fibonacci/interaction_elements.cairo +++ b/src/tests/stone_proof_fibonacci/interaction_elements.cairo @@ -4,7 +4,7 @@ fn get() -> InteractionElements { InteractionElements { memory_multi_column_perm_perm_interaction_elm: 0x46ecc57b0b528c3dde60dbb870596694b2879c57d0b0a34ac1122ebea470a8d, memory_multi_column_perm_hash_interaction_elm0: 0x207a232fb05d8c8261c44be98177c09634d23e7aaaf4838d435a4423e3a025f, - rc16_perm_interaction_elm: 0x2984c71a0d0a47b1d9a406f6c7be890100941f67f5db0656970832e51d48ca6, + range_check16_perm_interaction_elm: 0x2984c71a0d0a47b1d9a406f6c7be890100941f67f5db0656970832e51d48ca6, diluted_check_permutation_interaction_elm: 0x7793f70cbb5b4ae3ac72e5bce7cd46d62cbe169227257e6925e5564e595ff88, diluted_check_interaction_z: 0x3c48e3094aeca888fe6781ad7594d14d7f88062bbe320c6d6913f44b116810, diluted_check_interaction_alpha: 0x1d7304763d588fc98a927959788ad2f21d76121918994f14fc417617e6e9747 diff --git a/src/tests/stone_proof_fibonacci/public_input.cairo b/src/tests/stone_proof_fibonacci/public_input.cairo index 7e71b09b4..3601583b3 100644 --- a/src/tests/stone_proof_fibonacci/public_input.cairo +++ b/src/tests/stone_proof_fibonacci/public_input.cairo @@ -3,8 +3,8 @@ use cairo_verifier::air::{public_memory::AddrValue, public_input::{PublicInput, fn get() -> PublicInput { return PublicInput { log_n_steps: 0xe, - rc_min: 0x7ffa, - rc_max: 0x8001, + range_check_min: 0x7ffa, + range_check_max: 0x8001, layout: 0x726563757273697665, dynamic_params: array![], segments: array![ diff --git a/src/tests/stone_proof_fibonacci_keccak/interaction_elements.cairo b/src/tests/stone_proof_fibonacci_keccak/interaction_elements.cairo index 9ae5e8865..32c498c19 100644 --- a/src/tests/stone_proof_fibonacci_keccak/interaction_elements.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/interaction_elements.cairo @@ -4,7 +4,7 @@ fn get() -> InteractionElements { InteractionElements { memory_multi_column_perm_perm_interaction_elm: 0x7421a548380f80540c8ca0a4c71b753ea6f6b147b0dbee1419d4b63e3be6340, memory_multi_column_perm_hash_interaction_elm0: 0x5215c179c61f16ab368ce9433917ebc9be815d9287b8c1c65d517fd95cfc1f2, - rc16_perm_interaction_elm: 0x694cc62d87990a943c788a1391fd4ef2642b95950647de4c83e594007f82817, + range_check16_perm_interaction_elm: 0x694cc62d87990a943c788a1391fd4ef2642b95950647de4c83e594007f82817, diluted_check_permutation_interaction_elm: 0x5c631ff31394cfde22d9f6093ca97d1e6e2bda13beb181f0a32f8a994428c4c, diluted_check_interaction_z: 0x3cb987f2a7e9e3075799f5eca856f562807d1169a720e369b8a263a563388d5, diluted_check_interaction_alpha: 0x347c055bc6fe4bb41a31080b14a62d033d7cfefbbd8fa310b1db5b8d5f0b6fc diff --git a/src/tests/stone_proof_fibonacci_keccak/public_input.cairo b/src/tests/stone_proof_fibonacci_keccak/public_input.cairo index 7e71b09b4..3601583b3 100644 --- a/src/tests/stone_proof_fibonacci_keccak/public_input.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/public_input.cairo @@ -3,8 +3,8 @@ use cairo_verifier::air::{public_memory::AddrValue, public_input::{PublicInput, fn get() -> PublicInput { return PublicInput { log_n_steps: 0xe, - rc_min: 0x7ffa, - rc_max: 0x8001, + range_check_min: 0x7ffa, + range_check_max: 0x8001, layout: 0x726563757273697665, dynamic_params: array![], segments: array![ From a65e85375b4a3433dba2dbb1cef996cb1f7f6d25 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 6 Mar 2024 08:35:33 +0100 Subject: [PATCH 24/48] FriConfig --- .../stone_proof_fibonacci_keccak/fri/config.cairo | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/tests/stone_proof_fibonacci_keccak/fri/config.cairo b/src/tests/stone_proof_fibonacci_keccak/fri/config.cairo index 59bfaaae8..05cdfb7b9 100644 --- a/src/tests/stone_proof_fibonacci_keccak/fri/config.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/fri/config.cairo @@ -5,38 +5,38 @@ use cairo_verifier::{ fn get() -> FriConfig { return FriConfig { - log_input_size: 0x16, + log_input_size: 0x14, n_layers: 0x5, inner_layers: array![ TableCommitmentConfig { n_columns: 0x10, vector: VectorCommitmentConfig { - height: 0x12, n_verifier_friendly_commitment_layers: 0x64, + height: 0x10, n_verifier_friendly_commitment_layers: 0x64, }, }, TableCommitmentConfig { n_columns: 0x8, vector: VectorCommitmentConfig { - height: 0xf, n_verifier_friendly_commitment_layers: 0x64, + height: 0xd, n_verifier_friendly_commitment_layers: 0x64, }, }, TableCommitmentConfig { n_columns: 0x4, vector: VectorCommitmentConfig { - height: 0xd, n_verifier_friendly_commitment_layers: 0x64, + height: 0xb, n_verifier_friendly_commitment_layers: 0x64, }, }, TableCommitmentConfig { n_columns: 0x4, vector: VectorCommitmentConfig { - height: 0xb, n_verifier_friendly_commitment_layers: 0x64, + height: 0x9, n_verifier_friendly_commitment_layers: 0x64, }, } ] .span(), // Array of size n_layers, each entry represents the FRI step size, // i.e. the number of FRI-foldings between layer i and i+1. - fri_step_sizes: array![0x0, 0x4, 0x3, 0x2, 0x2,].span(), + fri_step_sizes: array![0x0, 0x4, 0x3, 0x2, 0x2].span(), log_last_layer_degree_bound: 0x7, }; } From 6c886de897d85cd84f6ffb3c1ce5ddf7cb6af9de Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 6 Mar 2024 09:23:10 +0100 Subject: [PATCH 25/48] Fri test data --- .../fri/commitment.cairo | 32 +- .../fri/decommitment.cairo | 56 +- .../fri/last_layer_coefficients.cairo | 256 +-- .../fri/unsent_commitment.cairo | 8 +- .../fri/witness.cairo | 1756 ++++++----------- .../queries.cairo | 19 +- 6 files changed, 779 insertions(+), 1348 deletions(-) diff --git a/src/tests/stone_proof_fibonacci_keccak/fri/commitment.cairo b/src/tests/stone_proof_fibonacci_keccak/fri/commitment.cairo index db8befe77..7f6ad7086 100644 --- a/src/tests/stone_proof_fibonacci_keccak/fri/commitment.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/fri/commitment.cairo @@ -13,65 +13,65 @@ fn get() -> FriCommitment { config: TableCommitmentConfig { n_columns: 0x10, vector: VectorCommitmentConfig { - height: 0x12, n_verifier_friendly_commitment_layers: 0x64, + height: 0x10, n_verifier_friendly_commitment_layers: 0x64, }, }, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0x12, n_verifier_friendly_commitment_layers: 0x64, + height: 0x10, n_verifier_friendly_commitment_layers: 0x64, }, - commitment_hash: 0x279143db565360bb784ae426d9c99b535716a7faa9fb12b6fb041135129a1c6 + commitment_hash: 0x31b917291bbb3d38f7bc196dee1f3638ca197512162a4bdeb1ce814619c1625 }, }, TableCommitment { config: TableCommitmentConfig { n_columns: 0x8, vector: VectorCommitmentConfig { - height: 0xf, n_verifier_friendly_commitment_layers: 0x64, + height: 0xd, n_verifier_friendly_commitment_layers: 0x64, }, }, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0xf, n_verifier_friendly_commitment_layers: 0x64, + height: 0xd, n_verifier_friendly_commitment_layers: 0x64, }, - commitment_hash: 0x27485d2bc1d16cad6cbac91f39fa94cb794aecf8c4f3e04330ed982a11937ab + commitment_hash: 0x6945b2895872a701b3451cdf93dca9cba3cad8f250d5866ca5c263e41c8f2b2 }, }, TableCommitment { config: TableCommitmentConfig { n_columns: 0x4, vector: VectorCommitmentConfig { - height: 0xd, n_verifier_friendly_commitment_layers: 0x64, + height: 0xb, n_verifier_friendly_commitment_layers: 0x64, }, }, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0xd, n_verifier_friendly_commitment_layers: 0x64, + height: 0xb, n_verifier_friendly_commitment_layers: 0x64, }, - commitment_hash: 0x664b97e07c1d2d52c314eb9887912695e34e404d3aceec5f340dbfd2e1750c4 + commitment_hash: 0x786c3ebbd4cab0c782d36860cd51887712953c48ce72c8d10acf5698c5a1213 }, }, TableCommitment { config: TableCommitmentConfig { n_columns: 0x4, vector: VectorCommitmentConfig { - height: 0xb, n_verifier_friendly_commitment_layers: 0x64, + height: 0x9, n_verifier_friendly_commitment_layers: 0x64, }, }, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0xb, n_verifier_friendly_commitment_layers: 0x64, + height: 0x9, n_verifier_friendly_commitment_layers: 0x64, }, - commitment_hash: 0x6fb12bd48b9888a8e658379b2bc292a24683ba58ae04cc3f88ccea065cd1e29 + commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 }, }, ] .span(), eval_points: array![ - 0x398fb2dd5ae945fe667e632daa36e90868f8b9149fe91da928d5826d553621f, - 0xc355b79eac98b46a9c0c2e3d85819db1dd32e74d4bf6aa6cdce5290f11ea61, - 0x24efdb5bb443555985c49d03f7e4ababfbd8005b102babfa8731652d664c275, - 0x77e29eae6c87e2e7924d5d19b857dfe7de9b682aacdd2ed75999cc4272d685c, + 0x3fa22931f1e5f47eb6273e90ee38c37a21730bb432f6ef09c7c8f8c4e7b7fff, + 0x72089def6cbdc9a9ad42dab128c499727e36b05d40df74bbccff39650569bd, + 0x311de180838f0ad6e82a20d03978ddefb1c73bcee966471479a6c70fdc05f34, + 0x18e241a9c138d318daa567510ba31c4ebeecdaab9076b3a8828dbb4b3303e3 ] .span(), last_layer_coefficients: stone_proof_fibonacci_keccak::fri::last_layer_coefficients::get() diff --git a/src/tests/stone_proof_fibonacci_keccak/fri/decommitment.cairo b/src/tests/stone_proof_fibonacci_keccak/fri/decommitment.cairo index 1d12a230d..ede6d8fbc 100644 --- a/src/tests/stone_proof_fibonacci_keccak/fri/decommitment.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/fri/decommitment.cairo @@ -3,45 +3,29 @@ use cairo_verifier::fri::fri::FriDecommitment; fn get() -> FriDecommitment { return FriDecommitment { values: array![ - 0x5da598d95db8b07cf350aa39cca61057708ea2d80faa35f297c3d8d3f208b4b, - 0x4fe37ee3cdd0814dfe5282f5e3d609112c635955b5c8a0b65e8bf82ea9e546e, - 0x3e50e6ad9877d06e1299cf431b301de9d77f61d85ff2060db13a432bbb1b68, - 0x526589bf735c8c649366f768fbe4cf43d651cb612947cdc7aca5dcb4ea2489d, - 0x48a5565a04fabc72bc9089de58d655538a48d6ad72ea33877630cff435dc996, - 0x7d3159c637f0e8c9e9ae112292bf385e6c5185bef536d4535e3d448468c8e3f, - 0x4a8de0bbfae730c7df589f32322a2a67e851a23ab282941ed1269459204b05f, - 0x183413a3a412062fc295825c7793eb8fa93510e165876ace228c650d3a9f520, - 0x793de8dd744ace3ee151b9dda80f3f0774077b0e051961b046e6967928e7f5e, - 0x5561fb2bd9be9670dd0c69940ce276a4aad5ba6c1951d7610f78151b599b820, - 0x7978798f35c5396160764ce394652cab8847bcbd1d50d22f5847d8a4f2e3fc4, - 0x3c0f439e53d5cc76bc134e9d79587cb38579084bf43fbff0da57c1f13095092, - 0x5eed419e0b79617a6d8fb5c0d4fd8957dfcbcd980d9f29f7298cbcd7133bd7d, - 0x6349a917a005436699223238213ce3f7112130541417977e2464bca4bfd39c6, - 0x7ea8503c10b97b45c8b3a5e2b11dd99f90ba7b4473d89cb7f9fae72ecd0f25d, - 0x7d722b456808379132a170c7c2194b95966c2609b88a79692037dc1dea7d07e, - 0x6d26fca6d57bef3196ec78ee430d3641f9aaed8e6caedf4ea250f560d8f447b, - 0x64d11c33d371f6567e40267d8bb191bf41037ba3c4ce841524ac869d39d21bf, + 0x2523e038745ae98d2f3963c4fa90874759a0000f48a39df5c4265c31dbb69c3, + 0x62f6ce7fd1cdb1cdd21d4cab536d6bdf765d3a13855db4bed360fcbc300fc8, + 0x291fbdae4ff4477ec9436c1867d8593c75bd757a3b84a311f4e94d6fa6b3010, + 0x79f2106549802941006268dfe95ebd6531d317cdd34aa8aecfd06b99d25ca9b, + 0x80aa04db0dbb3c0dd25dacdf2d9d0b3bf71cee929b3b9c095628bdb6e8a575, + 0x3ac89659239ccc2865b4ba2c7fdaa3ee6e4d2538460478066ca9d0accaebdff, + 0x5d3cf08593cd22d3c65a6f23400aca936c7f4afa0c7929d57c2b457bb580dda, + 0x166b3d8f007049b60a78ecb13ed41e23a6262a7a7bf69c7697e028009acdb45, + 0x5812ed90c9cd6fa4d385db12c7c831948d406a5bbbb66b55cbdf0640aea896, + 0xd88dcd7e06e18358c5ef3b5cf46d105c4e3f9dbe524cfc4259166b655357e4 ] .span(), points: array![ - 0x75a4803c8fe98d1fa37a2347b2e0d34a2f37d153b4280799c259c38a1cdd164, - 0x5f43c0282e9e6ec7aa9804f7e2778f6d0584a885a400cf648314a0ad2d892fe, - 0x4f0191c481b7b3c256a145e22327d89eb57e2c06c77f33cb7f00bc365c0458a, - 0x116ba14e21bd8fa185c66aec6d67117423d578e031141c4ec6f3d97ca5508d2, - 0x4b160ffb43c2aa93d9e4b37239c0c1b240757a5b53b55101322b8bd966aece4, - 0x71ff403a21a78edf7261ffb07e1f3decaed2135c4af853f9099591d4fcc7a52, - 0x554b19e7ad2d11389eec3df1ee43c67865531889d86564e8e501f822ddc0c5b, - 0x1a8adda6fb4cda7cfaa9be2c186a7727410545d6ecbae14675f4dea6ef3692a, - 0x5f50b4be0a11611e28e93d0cf0746a527fa03ffcb3af2df11a0af719a8d97f3, - 0x461a88c65d219f7fa60aa9ec3b9147f3289f3a16ae7ae92dc22775f2911bc79, - 0x54013b555b98a2faca3c311bb47df06fa9e21f8235f4228611be2d5a51b6555, - 0x60bab2d06f35aa2e1494043ad662d9c975cf835d2237df5e34110712ab99cce, - 0x6d1ccb9725e68dae1da2a4ca3811ec94d30fa15c245855b2b3aadec0fa4b40f, - 0x166f271c55f6295ac44020f6c7453b6a20d56752d02efdf74e7c80170a9501, - 0x37fee4903e1528a1120c1dac7808c65a28c281a7b96a7e4e29aaa02062dd372, - 0x51ff36396670d65651ab607db69f6d350e4aecd13a0da715e164e0a4da8079, - 0x7ef29b405a512116ac8b8ad327be1127ec036c6bed9924d88e5a8a8c5a7f2d9, - 0x2a6bbccafdda6130fe0e837933f0df6f30ceec3845f6424aef0b2de03e1f8d5, + 0x3a119fd1841a8ef246e57f4d032b68478c70a37d3123c33bd64c0c54089e514, + 0x5da4bcc019551c39dc34fd4483f168b545269fa891b0e2ca4c3c6a69dd1d305, + 0x9759d599ac9f731ba53147b79ddeaf088ab96d01086fc399955e8031de4fa8, + 0x1c58f9691b4f2abfc46f294fe67507e3aa0217324094d45488e2bae824672ee, + 0x5112a612ce5cbb33064cb34328633bde8e4a2c55d7c05be4e9c0bc6adc72b07, + 0x17e4df1ddebe3e7b885853937a59abb6b421cefc69f3bc64896c35bb634a1e9, + 0x71c6ec19f50a45c581cc22b9d5497fe5ffc66459241ed61b1ff8c9d775e9a5f, + 0x605c63ee4cc9f161c6be17577eec2a2237c3ecaef3ab677c428efed277d1ccf, + 0x7e29ada6f5b8162ffacfe3bb308b4e0b84582e70ae82c7bf535f22261d7f569, + 0x626101361327b0d051875a300ffb0024bab7246783d59692044490eb78d7ba2 ] .span(), }; diff --git a/src/tests/stone_proof_fibonacci_keccak/fri/last_layer_coefficients.cairo b/src/tests/stone_proof_fibonacci_keccak/fri/last_layer_coefficients.cairo index 6ee2ff25e..164476e51 100644 --- a/src/tests/stone_proof_fibonacci_keccak/fri/last_layer_coefficients.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/fri/last_layer_coefficients.cairo @@ -1,132 +1,132 @@ fn get() -> Array { array![ - 0x7326b88340a92a99d24171713e56bfb995ee5fe523fb563d648c39254cb1f38, - 0x3d557234736c898a08ee39b881fda9d7dfa6daf7ec8ea010b8c8d4247502e07, - 0x660b51ad645356e62a7c68e18ba67a05b4223cca30a77d33d631329917f5376, - 0xa86196fea5cc0fcbdf43ecc672571bdc348d1ae5b92f797eb4cc13b78a789e, - 0x4e011f64fdd65877023f7c1daa7f1655c61f396b7479b3013ee2d0d82d8f7e5, - 0x94fd88ac439b9cec8fe0cf7227aefcb078777848ca66eaa77fac85e9a57f, - 0x2f0f6d0512ca3d1edff1286ef899de10860ab6f8434ed84acf7d54d422b93a4, - 0x5d383f440c4e807095b863c9d05768d6201062762a8049b585ad0384d07df6b, - 0x598e478da26a3bb785b83073caaf3d7e766cf2adfbe6dbe29baaaafcb3d8f7a, - 0x9a4f3fb0ebfb5ebd0c5fec4d3df565144072ed74dc1cde4e74bc3b483fd4f3, - 0x477d54be2d486f111a5eec8f0ac5f62776cd4a02e4e26abdc7a381dee3fcb4c, - 0x3ce8ad0d843f6c691f2fd9811d2481098418c65c6d62a067c957f8b001364b0, - 0x11756d978b2e6b32a0cdf265729eaa8952bca7523cfd5969d3b57215ee25e11, - 0x747a125f8f370d03505115c761f27707c580408857ccca1fd4a78b523ad53a3, - 0x7527f9f2a10474c90da6b09f7b6f0d085deaa587469728c263b1a4f75dd4434, - 0x7425d19a7681e23e1b2073322d9d62afddd52d5a1aae4304219b4c6649529cc, - 0x7d962487644cbe41964beaa9559e69189ac7940e9609f2b99f450ba04ad6630, - 0x27f869d5c66ea4c1d7f7f09cb621acb11cb9225de987d841643da210e2ab123, - 0x160efd93814e62578a28e4f27db9779f67e5409c4b979a5164a18d963818918, - 0x446c41575ad12138fbfd59b2e2c47853fab19ce17613834048e19826e73fd7a, - 0x3aecc87159ad2515868b78ef9846c755fa55b854944e84e5421e890c709921c, - 0x7de01b11fb4b449a1ee9cd376b49b1038e1861b226bd00b1e23b864ed332fc1, - 0x4cd567d660fd9e5ffb68ae84a6c6666bc3d1972b269f558c466447d33b553c5, - 0x233aefa163c8b7119f5f58ace334ccc038fab4d42a75afdb03db60638602416, - 0xc7df487e05c7140555a7238bd0783d97ebc651343f9181219bb9efc38ad917, - 0x599c1c709a79fe745203d6021572460e764da86e77490a6109a5aa80dea2823, - 0x54caab49636def16a23f8a52b4436d339da315952455d5540dc9c575118d808, - 0x210be605c0556d57eda98e6f8a1500f1a0c3bf0405f4196255c6d9dc7290113, - 0x3015934da92844b4d85ddcc45e89e388b519306ab49e89f13873d9473f1e863, - 0x688d301362d1edfb118f9a217fc64150d205b10d08c2f5c51672d2813c1e347, - 0x7ee81acdaf760ca9d248ba68541e45c946e33a829f61fa8454cecbf46634f95, - 0x3cf9aac63935248f070b02df2f1b6b62a3e41ff13fd359f61d3081f80130e79, - 0x884a98a01ad357ccbb47c7db853be7a302eacaeda3e0a585c90d57f1766a1a, - 0x70bc2835ede3a6152ff9323f4bddce77ce6c6d73923df89346310dd0c71c526, - 0x1a45cd59ddec925d245697e34d08847120c29229f38526580b93cd784df903f, - 0x751c48b959f8861c5fa1ce530e8fba54363770591e7ffa963f53a25c3b65a4e, - 0x62c89b5fd8233e4e98d2352d755293e03f0aa2a848cf7a3b5f997f9b284fcd3, - 0x1421abbf23bdfc016bafc51715cc27a35c3f6e2a8296dd0200a7f4123dd03ed, - 0x389f4e6d28faa45d3b57c7860669d81c998b9177ced8cefd3e1c827a54b3615, - 0x46df38356c8cff9e76399bc8edb7c6644028f744fd3b269ac35bd7d7b7ae72d, - 0x2c18957b470cfa07f99fa386c79cee272190350592787db51acf83f6f9b37a1, - 0x5e74ff650287bba4b2de883511a50d401a183c622432c69d147e19f6c2d8e34, - 0x3be89039a7d568206e6425a02233b8a7e79a0e39799275a564110ece7957f43, - 0x41fcc5efb6455ad56c58bf2e3bf1beb5dd882b85d8e49fe0a8ee58cf8272c4d, - 0x1fcd329a38a8e4d85b71359cf3cf1a19a579fea185553b4f26c1af288ff526a, - 0x171dfc9eaa7f4087dad8e766778e47bcb46b6fcdf4be4c057c4a25d2e171992, - 0x49c9cae70986a10ed96281602c137f6553cc5cf52d1c3ff788d981ae788b9c2, - 0x92f3c32497db964725caefff64f9514febdffdcdcf0566f172b1cd64489c60, - 0x3a2f969477603e643123c8dd428ede761f72a0f024d390701f5fbc6c8128f40, - 0x4cdaefa1a6306d9c07d04a7ef6547f2f62a15a689ff0395aa89c2fd6b5162a6, - 0x3d2be2a12a99f410645a1acc3e269a5726481ec7e2518b83606459476d34969, - 0x4f79a1266b083d9386809842a5ee2039ae38f0a75cc0355678ee6f06ccc81e8, - 0x1b051df02e34cc11d020cb3c28554051ab239ff53453573929cc29557e903b3, - 0x31ecd53f4bc25612cd39c942479be92e41524ddb2fcbbc4e18038b7f3e6216c, - 0x6d5197e4c0ebab9ad008b04d4898a0409f0f17aca0068db25ba747a68224aaa, - 0x115cfa41bfc0bc45c617f98123f0a066c2163da0c42f5a227bfb696aefdde1, - 0x873a1e5976b7f23cf9beb11329688de5a8c7ef8edfe4f38b006cd5feb60aed, - 0x1a6fd03bf637536193ec68e15e0c87d7bf8a0b1df646c1c7c69406a20616fd8, - 0x45329adbf7d193d995bd8ee0b08858b2e41a5ae4936a1489ccb85b9fcbb287b, - 0x4146ae0c227c204dcde03d6e37ee6c10f7d25a3b23bfb2d6409e79b9dfad420, - 0x10a955f71279aa8f8d2d69747c3e0504353912df9dedcdb2e32bc5b5aec32e4, - 0x60a7bc5ad1ece71b8e4020f7d12d31c9cfa88866459e7d35d9a0fb496e01dc7, - 0x234bf352f210dc0f48070789bb6e9591f383d5caabc190c3582bfc12c2ca4a8, - 0x2fd11260f8b7c9478eeb7b394ae36a0dd3f129e7bcec741bbf2408fa03982f2, - 0x4f16d55615d9de7eb34ec7fcd6b724dea8a6eea61a0e6bbddf7ca53be574c22, - 0x7f7cabffa97f5f85ccf1c0cb0071ca87a998e46843e6940a1054ce30c9569d2, - 0x6c11b0ad035aa011699c6c939363ee6a4d24ec399254c86396076d016acde7b, - 0x298f312a1568d1f7ae67979a80afb713758323cfca55d9ed53ec3b135564802, - 0x478fc881fffb33ae32a0a1c441fc02d9aee2053cc6e2a31260abd2fa215d585, - 0x230466b0b7dfaadf1d01c29c4aaa5f3cdf5b392f828de99f8899eb8ca657220, - 0x6005c97a92061a4dccc46e0520ee5b6222ecbc1560dfe8d32590b259f93eb25, - 0x473836ee76e2945dd9fd4adef396aa9d0fc4734ca47162b429bf7e32615202e, - 0x1feab720386dd073f0c5d251a746de9e27ec7f904b28a8df850db15ee325d4c, - 0x7bd77e8d1e485cd309f754bc7b4ca4411056c9ad56e7b70aa7e482bd8abbf9b, - 0x43d8c46e46f754f162e6ca7535d9f36e454fce85b7212cc46c3cffa48467794, - 0x17e3c43f65ff55299062fe14eeb02eab58416681d839e520807c00b53b467b2, - 0x69139653a224cb6532b666934f1e2bae56a962321e3934f81e9df683b63e140, - 0x384f4ce09d423d78f9ad6e6e1b99a8cd7e2c46f8b8246a9775ccd721f2c37c5, - 0x21c7e0a49be24e3633aba0aa8b40d845c1e0dbd25fc81b6f27f4f17bc685cdf, - 0x5f364e0e83fb404c555dcd1dcba85d34beb299c98b73787c39e5ca065f3615a, - 0x7856ba2bee2d48097bb0153f2469acbb8a8b56225bdfb77ddd73479c7a0fef, - 0x6a91208d4577cac19167d07dddd17f262612dab2cfa1fbe61af5a008df76457, - 0x66d42374cb4a59c92f656a59f83b634b253111b4d7ea19d7404cc65315a1bfb, - 0x3f58c6bc844e8ed4543a645c38620e3580a89b2f6fb93af840ca68d21043a64, - 0x7f8096a7a861da2e648db3eb178423b1232c432ac9255828637719ce3c78b1f, - 0x2e87d016000e8a51a26d55597733097994bd7073228cbfdcf60c8a9fcf6fb15, - 0x1585d4ef1959baa6f6b84d98e5c1c7e95adce6a1c274daf830740223bb4b15b, - 0x969244ce6a343707584fc0350efebc3a9a999cf2694e20faf55c8a472f58ee, - 0x3fed4e4fd2ba7a19db10284f899adcd1ab5b4e56e8d778af6d7c1a9da090f9d, - 0x7967826192fc4f8508b6627d601e64abe39609873ea6e168e42fe5b82ddb5da, - 0x422aadf2020fabf04f9acb51c3849116d340acafb54545663869609492db838, - 0x7c61c0b6abe39044898952798f5d2793ebaa793b79d0314a7ee4f86366c064, - 0x3a0ed3567865f3c6fc170dca903314edad16521fa0a4b6f3040dfb3ad776628, - 0xc9e2ceee9cfa130163d37def1a30f8d3fc5626b258e09393b27890513bff6d, - 0x1e86b186f2cde348e06f0f03a1663c94e25407bd78223b0b72d8e787b6a8a06, - 0x2bc2755e492f4dc19b12235d98b7a4950411b55188c1e71a661a8ed1049076f, - 0x592f819c482349fd70435630c1b7e7f25b2702a2ad8124af6b45f24acb14f1f, - 0x6d5eccbd3645aa601acf18f3f9a53d47e928b2f4c2596f7afc055c80fffcd2a, - 0x144bc658747ff2a0095be09042ecd6fe3329d4ecbe4161599079b6c1035ab41, - 0xc3abcf015e36b9ca9e8a6e6d1863a48e5e355d810d7ccab62e8d083981ff07, - 0x4165e023bd21825496e98c3810b09f99f123f8e86358cc77cf2e4286fb0131c, - 0x198aa610509570551159287b8657159e279a7a14037870327a8bc718e94cc0f, - 0x7e75dd38f3fbe406d4549841cf3a960f0f2d2ef27bb9906cf8af699f087af19, - 0x37d98af242b742e4e74218eacdf1b946f36545cbce2b728b41727826d8896b, - 0x13ceab4a3f6d48299bdb457f8e5676425beef080fa580066cb1b3ca02054bb, - 0x3dcd828ad883ae327be0a3b690da8867b7707d85df8062fc1c96914d96a3558, - 0x7b431ba6ea4577cf191370588c19d0a40db97005e4373b7951eed150e9aa7d1, - 0x4d5e68c842865c2a803e5a1dc5c4ecdebb006a642683590e90f02a48167abc0, - 0x13352cdfed59298e6d4c646c467c970809ccf525635270d3d3596c97c234f5b, - 0x50719dadcf868f8c3a054887a8a45839fbaeee75a7feb617c1a2e05fff62f5d, - 0x7c5fc4774502a97c10162d61782de460c5ca835da0f9bf787746c2b4fcb6747, - 0x32381a3cfebfd34b3c8896921c75198c0e10d7824e58cd90ea60c798d3d6b99, - 0x18eb6b4b54966911c637ff368d4f697133827fec513b194f3137f24b8d7bd2c, - 0x103a16ba34ed494231cedc87077a2385ff694a7202f6210c4d95aefbdb5f3ee, - 0xad87cf0d9c534e5ddc881e7e1e1c56387316a06701701820de8c41924e4d76, - 0x42d80ddda26ae8545751f3cba8507d0b5ac837f48a4bb13ea45e1c0e6cd50fb, - 0x4c4e8ea6a31620d482af4cf54fbc32c5af929740c72e381a8b294528afa1616, - 0x4d489badd353b485fec4455b632651474c96e121a8f6642471b4a149ae6c850, - 0x546856a1cc1656ad7847251d4df40187f2248ce5bcf784915b106bc7f407659, - 0x1cad8c99f6d358756ce376e3e7527d5224494836cc84db8398d68d38a80a7d2, - 0x27359477f1bbb15ab7de963370bfdba640617a09441972da8698c97fb433b66, - 0x1b145e9873d3412805e488c0d68e1eece684639857b8b36bfdaf50dc4d6a350, - 0x618dc0f2fc20b036dc583413edbcadc925313b59b4d7c78553f46373f54464c, - 0x49f7a813ad2ce14c24497460af2e9ab866c7532f14926bdd4f3674fe0ce6b89, - 0x229a85ca160745e99f7ecd453c281310cf3b414c7dbc380ee13979889826f7f, - 0x43c1a98ca4aca46a293b3d859739eb10417518f2b645c909b90957c608eedf4, - 0x1fc34e4559b416755e978521fc62e2da3aa1c951cec1c4629cc5d17614be18c, - 0x1c8e784906dbda55ec9fa3bdcc5fa3b56fc579faafc4bec436d8a093a6cbeb2, + 0x6941a93343d0fd81ade2e819b1ae68566ef80fb395641e8aa6c06ec5447b177, + 0x5fbcb82412fa24abc26fe1832696dd0ed8a80ff3c4a663938fd437b5d81ce3, + 0x3c8dd619b4d99925a1cd396f9ae026b91637e4fa461a3d0f03631d32468b96c, + 0x2470e6f572dc854afea72b5a7f9047229bf427e298a743ffd2a1bc1b5f40eb, + 0x31fd68df1cd80fd9ccfbc388fa418f88608753d1a7bc34f78bbbcacf48034aa, + 0x519b77cefdee5f7f7144645b386493f21b85b162fd35df9fbec7f919f3e063d, + 0x4f47066c4cd421a7ec1bb0867d9080dc22dca08b8e82e98d075aca89a908fa5, + 0x30f255e37775bafd2a09c4b246e8d5a13d48889dfe769325931abda001b9e72, + 0x6f04b106d2db6e8b71cf6ae9d4715e9dc7b8f2bd0aaa64043d2b705663e0e68, + 0x743abbc6f56856ed661a8e3b20c506b4cece681d246a58d887dbcc741f912b9, + 0x1311f043905d5624912fc38bb9a50f5895d3c0655e49169de5e9f056c5a53, + 0x6f67d8c8e41df84736932a4826f1cfe8d9684f4be42d9d5e791bacd5ddd3bbc, + 0x39c71754e4f444187bcc05be10dfa0cb7f08a6bb8fc73212a23397ebf9cd1b1, + 0x16e18d7ae271baf9b1f4edc5c653185deeaaffaa91d9ddcd18c548c248c82f8, + 0x5a8e97bb7b658d6e7ad1f9bd7f2bb6c9a879ee18ead93f6c5bac85922af236f, + 0x33cb6a5ea465e680525c3d3dd7929692b83bd3272697ca80d2992bd954621bf, + 0x2a2f4dc498ffe80a5569c884b3721d9c50fc2ab6de3c0b788252fb688debd36, + 0xfbfd3e53746a5015ff7d0d09f38b460665f30b8c5e0b8f58a4225ae494eb82, + 0x21f90d3bffaab12acbace536fb1fb2f086de968aa45e5837a0185a29185afa9, + 0x259d7444a36296a6973067d5966ada7a586280080215027c5a63b1f816e1de1, + 0x5bd38fe35f4f53e08f62afc698b5d577ac416c520be60f159b49942d0c4987f, + 0x7ee38bc6dbfe4bfaae780c305576f832944d89f18a8b90495867156c297cc0f, + 0x6fef7507ee6c2e79a090d26c819236c8f3dc244bd984d14dde9d1ed0ab0a990, + 0x31b5ad1284877c267e9fd768be5ea13edc7ac3d333e59f82048411cceff0c28, + 0x2b1e49575690a90a4516fab31c23a4acb4563fda921a4fa39866e58829afd39, + 0x62e029f2bf850c91cbbacab4bee8668a415d9bd688e2e53f2b94cabf1208b6c, + 0x271dd1bff618916927029a3ddb25e5767b49a24c9fa3487d3cb06f0c1f053b6, + 0xe831a3f4b58836a96ece4aa2ef509650d708ab7f88777f3df82451e5a820a0, + 0x6c9eb3e99d45533f8226bd83f4906e25a8c8b9de27d6a0c2ec917d2630365e8, + 0xb48d45a3125021d62a0633f19bface0e1bbae598b3a4a1657e61f53c5a83c3, + 0x3972e95029706f0a128414e368dbd8947d2dc9939e6d95be37c19c6ad2d699f, + 0x3080c04c35bef712753f7f5ae51b7254238317c5e5300ab634798655ffbbeec, + 0x4687393433fbfb28bf3f639e2c799e9aec264cfd23a5212062729f13dd350cd, + 0x3b703d64a34e49dbc5f7cf096bfdb5795ed83e40e56bfa579de3117016e06f4, + 0x6ec675e1e57b707083411eb65a1225a037946bc989629428f5d81e324f7053, + 0x7d7700030cfd434a4ccd6c51be14c62d9bd5f7eda699377d0902cbcf3cfad9e, + 0x24b6606a3105d80b1c74488cbf93b7884b72d4b1b343eb5e4214d76780bc4bd, + 0x586282f2ef88a6e30cd4e4d59b18d960d76c9b46b01a58503c55917b39139c3, + 0x126e2903676c0c8e9a7120831ab374e4ed8e9ba866abf1d2c24d3bdbd20d2f0, + 0x30d664b7904f1fa5b8a3732d8d9ae451bae683c9484350f7bd21d8c7c853fff, + 0x16ddc2a2973831423895befc12630bf67123cb894f67206b8069e33f74593b8, + 0x656a60984e9f9049f7230531a96bdd7c42c6ff14d3a4d7f936555168780c317, + 0x494108eba7ca282dbd0d4dcd483aaa6add595956eba408e9fca9ae112eeced6, + 0x1755a80daa5033617f6a9d6c2d55c11d77df28024485cd20e405fdc1a05167, + 0x4c8acdcc258acba4571d62762d949443d18949c98f4480fe221d25c0dc36b57, + 0x7e22a481fc3e158baa2ccf58b9e2d28072bd5d4bead1b653ff4cadf3f5cd914, + 0x395728bb2b2bc71ac89943e9dbb6bce86709e5e3a837a2be63ea930fb85d02, + 0x154ed29bdbb29510479d4848ebcfbec5e0833b340b072d56b893bf454c87e1f, + 0x69ec99523c444b2bb97a0c9c2dbd44a0837daacbf5fb671c115546523fc5ccd, + 0x64dad8a61a13b51e33b44a19118b16c0ccadbfa8d54b1f4574af9405df52ef3, + 0x8940347cd6329e0c2d5b51926fcb74dd21efe9c7ec43d12eee8645d1a6638c, + 0x44f0dbbab208b6fb6ccae4ae76024b9603813d045a2aabccbf65089e7afe2c7, + 0x65802c4ac8934ba0ad679bbd27436a53496fd4d3c360c0f10da57da1dc5bd32, + 0x1c3bd67b83a6addd84173e2c2d1ec5aef787870a2c8e5ac36581dfbe8680e9, + 0x145a4a9c4b31b8b820ea968ef283f921829449f5212632d4664f37ab3b21fb5, + 0x23b31a415752266662de10951cd77a13748443576e7f4f454353ab6e22f9b45, + 0x7b70615f00a50f0a9e409320632ccea88cc630340a422d04816c7415b439fa8, + 0x2e8ca47dd99d262eb4fc31eddbce7849a2b7106646440d614f7d1fcff6564f3, + 0x4877139f4be966d0b5f1c639ab2a4767e943d968d285083a23b344d26a4b7e0, + 0x2b639cbb541e190301fc7053a1988b601bf8a893f9b10e090138692e9773a6, + 0x62b24c7c01920bad289e09d129f6b12f59e84c2835ce46e8ac53968cc6ac256, + 0x427a59a36529be08b60ab576bcfb3357bdb0b08e3207aab21f7063cf3187efb, + 0x677147bec29e2b730faa90842c11be38c2671c9085e5693c41808a70c5df58f, + 0x95454f47fa5082c2cb704074e744605e8605f641dba556569a0a662cea999b, + 0x54741faee3d357938c194821379b3302c495e9ee7496dafdcb904098f0128d3, + 0x3176fb29fe6ac9be1db0a5098183d6536a92f962338c63ed607626681e1b35a, + 0x4a52e04c05ec0cf7e71915afdc387d51a90f3d4bbbcf2e045f051d73ad10090, + 0x48f5aec4465815948faa86fd4ef02f14329b635f349fb37e308340be186c51e, + 0x2bbd34b7b0723a48bbaa417832c344a20a7e92b50500e68e6436a7dd4dc8994, + 0x25a13efa83b3001566671837e46948bb566e3ceba8d585329b435be43a8b728, + 0x3bbb58bd592ccfd005279cb6ec1c348aceee95ae45af9a6f2318d6c37daf867, + 0x7dfd6e7ed067c74393600e5eef1f661491af769717de80e3e00224cc7fe4e3b, + 0x796d55c239dd89fb68921154a64ada73c6c6ccedc1d5c22fb49d2b0fde670d7, + 0x78f066282c9c732a1e4a3aed3dfb9f1ce0ebfb9721a66a227e84c93f85ecad5, + 0x37c1fd0eb78a9d8c075f59bd61f612bd32b72489710d9afaa682c3d0343c92, + 0xe6b299cceddc1ea2661be2a9e908dd05752db500efb4130f037cffdbb9c39d, + 0x46f6349c939d2db2601bbf7eba1d880de9bbbef08a8c202b1f67c047b406d1f, + 0x644d0987150874e7b73a8854f88b191265ba8767ad4e2f81f29ac0fe3360f2c, + 0x77c2a45ace6b09bb59e7b3977d3de9cafe0ed6c34798f6fb313aed7363a3e81, + 0x6ac07135bad1997cc12b2db37ab118332ce759d34f45b54a15641c59a89f413, + 0x14014466f85d38c43e42d5899e4a0c0402b0179ac6a0bee8fe09780b319a84d, + 0x6e23cd3beddac094b31b51637afe591eb4c138f77a501e2a17652c91684ae8, + 0x43d31d1bd7cb81ca009e7a4e7060d25210dc6119d37dde86e8de310a832778b, + 0x3abb659515d348d1a7240ed4d6a15c8d6c2d7b9df6749761256a67abb234d2f, + 0x2ddee93b2cdf39daa47b3237f114eabc989c5c7804788d22f2d675c704a106d, + 0x4f50a970402337946ad09971d632f5d88d073e2ce82359d235368b62e4fdeaa, + 0x72abce782a5ad5bbca5ee0f6b4fa63530b55029af1a2bf1f16e47b0a7d8c42a, + 0x26ce949e4568ec346cbbf00119612c172bcdcfae3f826de5e695b2afe91c77e, + 0x381c3c6ca4cd735288628e0404c5c5dd90ea327654f157c36991e45cd8482eb, + 0x3b357022e6ea13dec14bd293f38eb0169e2c532d65a2de8c2861d921f1af5eb, + 0x369407531954511abab373e2c1ea7fa5e31418e2151b68a55b79ccbdd58bc2d, + 0x7a44467efcbc0e449a5f7e50b7c6b80cfc499619ce191247f491ddbf27e004a, + 0x632d1f0d836e0cd02bb5c9730e9e45cccee15f344fa26bea2f1cf6859052f75, + 0x51c8617c044214bb880d94c3f7cb82d16540b4f662ee98db0d0d209fe0e3deb, + 0x637af67a96f4172da4e5ae9e7b4be37138c564eb1d399cbb6724c542a08794f, + 0x3662dc7d5dc04739b12d4e5fe560316ee09a83cadb585f6a2dbb1c48706300c, + 0x32cfd04156d47d583fc69561552d3b21898c1d37e573b3ab58d868f7d499b17, + 0x1fc7740f3e433101592139ae15a43e8425ef4c4337a656e33d2df020b6db12f, + 0x52c4276660707491ca98a2c7ef340c81c90ac6376099f36cc0723c1512ba36a, + 0x2e8339a3c53ada702f74cf665047791d4c5ed255c957c44cca4e462ef03138e, + 0x750fefcbfbe90c659600a944fd714419d4849bf4a61d32ecf6ef409270afc2b, + 0x1355ba033a7d3de5c3c3f9182f860df0f8221b7e0f82ddd191146c6ce9a022d, + 0xe2014f54036c9c508eb3537313a734e339d44457ec5fe4a5a08a6483370f58, + 0x717f45c9e82c5006475de324430f9a78824b2055bb38ca81bfa757de04b4342, + 0x29ad87e21ea3e24941567910d16b33ac39071d6125733741a9f1073a9642c60, + 0x56d73e5d4a9e37505ee7b780931f1c0e06566e5134a2beae6562070edebed83, + 0x62a70a3d5f22becaf2470cb849ceccc10a252bb45272677b3bc48e12d1a5f81, + 0x76ec29ca8d65854de9e286d3767fbb092924c8cb2806ec41e360aa6f0012077, + 0xc8d3643aa158cbffe3b4959ea244c0caa8fe2c79d5c810670a8c8cd32cb8fb, + 0x5cdc78954befd42c9cd8add559c83115dba4661df534d49f763429ca7f78724, + 0x41949d3462bf855903561ac747276b8ee9fc7048dfc56ae4438abaafa045b14, + 0x6e4c322dcfea29f0df24961ce188489d3606ed856cbf4fe66428c66a9d20cc7, + 0x197155cfc0bfb026ee34b339cda8b1a67f335a9ebf89544c0fca32fba060483, + 0x1fe58a64e1eca0dc2ebb81024394918f6f3ae03f29cab5e04860fd6f36a09b1, + 0x30448f6e656829d3fc4d501aa9653975caf32c1b626f1433d297f1fbdcfaedd, + 0x3f37b5986d17808d5306015f286687e41a0e7a27eaff4e244eb18a6dc72bc94, + 0x7f74f057dbf7f2e36def6db9b1c9d6cbeb881356fc326d7281251b6cf45bae2, + 0x6b3b573168cb93848f03874d1a27735783f6f70a8c08521a00583f305488cee, + 0x1eb880a292c84e350523ddd4622e88c7d7edcd39032afeced4134d16779a9b, + 0x79fb4ef5da73a39ba608bcf249a8308d3c4b2f25b3788f452dfcf5c1fe5102c, + 0x7721d970803cfc3976ffa86981e0703c24419c30e208192de61401265d96601, + 0x619ea2f2c228b3440481a5fe239e0f9c522ae7b4656de9474da10b9e89a95b2, + 0x2f2c99abb1869f10559249295ba924d9f8edd01b9aecd90c2e0f30f5e331131, + 0x2f55d5dfcd8cc1d47758e64334c8305115c3b8a144d5c44792e477dfa7b4512, + 0x7ae7c3e5b90234d7d0300b7e41aa380a09307a28f6afbeeddd3887d488ec694, + 0x68908ab4c2e20bc459a3358e93608429f9bf185ee7e58c63004da7bb7e0f51, + 0x66fe1941a61b8da3eb7b4e7db5e76628986542ebeb957b19fe677ae95f85339, + 0x38eccc03d4f88d02405296ceecd40e11106618e30aa9db7e924619ba3c096f3 ] } diff --git a/src/tests/stone_proof_fibonacci_keccak/fri/unsent_commitment.cairo b/src/tests/stone_proof_fibonacci_keccak/fri/unsent_commitment.cairo index dc51488bf..a610f6c2d 100644 --- a/src/tests/stone_proof_fibonacci_keccak/fri/unsent_commitment.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/fri/unsent_commitment.cairo @@ -3,10 +3,10 @@ use cairo_verifier::{fri::fri::FriUnsentCommitment, tests::stone_proof_fibonacci fn get() -> FriUnsentCommitment { return FriUnsentCommitment { inner_layers: array![ - 0x279143db565360bb784ae426d9c99b535716a7faa9fb12b6fb041135129a1c6, - 0x27485d2bc1d16cad6cbac91f39fa94cb794aecf8c4f3e04330ed982a11937ab, - 0x664b97e07c1d2d52c314eb9887912695e34e404d3aceec5f340dbfd2e1750c4, - 0x6fb12bd48b9888a8e658379b2bc292a24683ba58ae04cc3f88ccea065cd1e29, + 0x31b917291bbb3d38f7bc196dee1f3638ca197512162a4bdeb1ce814619c1625, + 0x6945b2895872a701b3451cdf93dca9cba3cad8f250d5866ca5c263e41c8f2b2, + 0x786c3ebbd4cab0c782d36860cd51887712953c48ce72c8d10acf5698c5a1213, + 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269, ] .span(), last_layer_coefficients: stone_proof_fibonacci_keccak::fri::last_layer_coefficients::get() diff --git a/src/tests/stone_proof_fibonacci_keccak/fri/witness.cairo b/src/tests/stone_proof_fibonacci_keccak/fri/witness.cairo index 2aa175eee..bd284acf0 100644 --- a/src/tests/stone_proof_fibonacci_keccak/fri/witness.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/fri/witness.cairo @@ -10,510 +10,282 @@ fn get() -> FriWitness { FriLayerWitness { // Values for the sibling leaves required for decommitment. leaves: array![ - 0x60cbfe92c3b3743fe2376f0b00b1012914d60468682aa71ac6bd6279a7f27be, - 0x6dc443df01752ad914c25aab9af3a501bd85cbb79d4fcb713ecdb9bcf903cb7, - 0x7dbb4a868b789ca04e8460bd129249cd1e0666f469ec7dee0503414c5bf76e7, - 0x5660840aac73ed6a13962504c205d481ba4c36b7c1d20c3c8ad9a928fb68e56, - 0x2c0f2edb5637e89b73fcc82fdb3795bd78e4eb995c4198886a46eea14623b8c, - 0x1449be450e77d99e890882173d64d6a7bec83dbe11aca25111d01c83495b05a, - 0x61e3c145f258171aa03b171b4a541da2aab054a3278588c6f6ca15337bfbd80, - 0x625a7389cf0d280bf02ff2e69e821473af00967564985572a135ff1e58a0780, - 0x7112cc8f4e42c53a5b21f031222948e1b044e44a40da04fac10d3c381ee0de3, - 0x3d053624e33437bb8f90f3c2c962b57b8685401858b069a76b22a91d53a95a0, - 0x52938d2a9d6d00ae068516ad75fea37d06e774afc97aff077358bf883b01618, - 0x784a3725a7b1b9cc2132d13109bf67271707e69c2fdc7554f14d5a05c3ce344, - 0x4ef2e1f6058bd24ba3c58cf4c3c4024658768c55b49bc9e9737f0312d5347e7, - 0xc6a49cae44846afc7380d8cb2bf61587a0d2fcdf1e56ecf1456b77bfeef141, - 0x3ef7b99da94317b6e254b71913da0274fb891b894581e354ab7af7fd95c16f8, - 0x4c6f9c152a6d396fbcc9505e37a64a6631826ce23652c36827c67740fa22ea8, - 0x7d6b3f27f377a75e9994ea612181cd6d469fd32929cc8b5ae4531f28d45eba7, - 0x52596cc43635b1ef817684849cc9f68d40538574686bc0276da5f472774a8b, - 0x285da732ae5c19a145310f2735d21b242f1397f7cf0005a2bfe4449d815b595, - 0x7122582cf5a944f6b0ddabe1bcac4b5d7be5843ead0e5a14693e907bfbe9019, - 0x4d82f305d350f3f15b5ddb1bb4c6d122b2c2d920f9b78d8929ac6dc1847abd0, - 0x148cdd09e24aa77eb94251a86599454e912d84fcea9ea9dfa8c64be7020522b, - 0x5b19eb58647d231977982fd9233dd1de4ce1fe25d5847b63cd09b2ea34c1553, - 0x1f2917a6e4fba640c7856f3fe03515c9a37946dcaaae0ecec930838848b864f, - 0x5c70ec7ab9dab722177489e64e0a84fd9660c25cd937989c8257d2e6dab0a42, - 0x4d70047c7a844ba895b287c182fba98d30e7e00eefc9e3eb93d2a9b3ad6c6f8, - 0x437077079cedbc202b70a4c0a867bcfea81b0868fcadeee3ba299a6fa4a3a55, - 0x7add3046552843fede871a507ffcad787f4f726e22b93afece5d462b54571cd, - 0x278756300b9c88235be2c445bb5ca50805bb4400b4a8effb351bb666e98f795, - 0x5b9b69bdcae875fe2da15af78d09d2444e7fe129abeda36e2291667310c75af, - 0x2fafea38edcbd6c79e1adb35875484c4d6d646a5962526d0b8c9f3769ebad64, - 0x39e1367f578b4acbda1a8d267ff0edfcdc8c6d638898e8b301d57f4752db248, - 0x7a69561a261c53889e5dc4496f0df6331e3319789957bedec557b62628dbe11, - 0x7db3aac7acc82b4a503f030cabc62a69ff2f5718f9592d8ab61fdbaba1e299a, - 0x1df233c87638618c4646739c157f345ea89fc815588fd8b6b593d32e8411703, - 0x5d1002012cc9a6d281f69fb570c34f77232b621c75896e982b28c16286d37fe, - 0xc5e8152bb08cb596bacba5a26541cd05caca7f45935f919e867d89c4856656, - 0x64c4c4b4ca54dfd360c95961d0221d29fb6e54c7451238b3bf8ff5519d1ddc9, - 0x2a591fd8fde1cbc3646ec9d3d4d5e8adfaeb59120bae4b5122c877a371ce879, - 0x13f84034f771dcd2240179364d1ef343bc27c053f2b05c5e477d286fe42e6d9, - 0x6cee0e1d9e93ad07d7d7f5e98cdeed10ec9eb0c26e0c4900b9e0d754ea4754e, - 0x274067c98777d6c001f0aa62fea0adbde6d47f59d303385e2cfe0fd9448afa6, - 0x35664ddd2b48e027eef097b775e513778de52c26ad5938f8753deddecd319f, - 0x20ff0d65c93ae2ec14957b55869cb9bbeae5215c1041891033d679f9e984f7a, - 0x19c56f7e0bd3ce4d056cc616c328c2e2634fd0d431e7e601d26872e5e5a5474, - 0x28161267c3bdc82d269f4b990e9d81359d4d24584ab7f3dc975e31b1a9a4871, - 0x17265d8612a569a0f11d6a4b70708323ad092f7786a03a9653f19248d4ce85a, - 0x2ba9f842dead09263eaa37c6a06b60c8ff4deebf0c08e77a2e1d1d68c72dc40, - 0xdecb773625fc792f78c20766d8129934fe19a50aedc90043bef4dfa2111801, - 0x24da24b53150cc946ae6b1be5f7f2e8f852004d9dfc7536adebdaf7dcc099d4, - 0x317ded800d2fbc6510296f2c396fe0d77f1588304f8107e07662ed2381bcc3a, - 0x47774d3aaa04f03905ab604e76160490bfd15075dce0675ccefeab3113b3b95, - 0x483da88696978514e9085d85647ebfdd7a4615a5c34646ea44b6b2ef964c221, - 0x41e388f889aed0de9a5635238213592caee3eb156032803285acad9b72c19cf, - 0x68ee6dea411a9d05f943dfd5ce6cbccfa1f6f14ba17a5bb942b8b0ae1f19347, - 0x28322249d73c035b4cca8bacb74d207874ccb115810b49d281f97628b5656ac, - 0x5fafe4666e60ceba19733263c8c37e4942149eb123649a66c62a60fadd4acc3, - 0x2b9f95fa55ff5cdc9610e71c6bc2b998a2544a315497d8d2b63b7f6068ad3a6, - 0x758dbc32e2e546e123a77511069cbb2d975cd5e8dab0f4fd683bb6fa8e6acf8, - 0x664a9b2cef4ce45921510138bdcec982918358495c46655d7a72010d8804c2b, - 0x1f6870a66b5696a000cc3eaccd7dfc9e3538757afc4e4d04bfc72ad3aece0e7, - 0x2744a380fd37de605467cd5d8c8a7c47b368d87da4853051cfd5de795a0ccde, - 0x1e50cdc4385abb3334f56667d8f05203130f66db30d4b10f21de69a467829c5, - 0x3ae767bbb7c5afa844933c2b69b1257f06a2e9e228eb9333ed9b8e1aab21923, - 0x5c0716bc889696541724af32360254fe9749f3b8a3cd876ff9fce922b3712fb, - 0x56a41e34aed2b8642d2c7f162ac3a8122a04a0a5dc777ae10b771fb2c58a5c9, - 0x4be389041a68010f3007af064ad692bb3cb896738e2af123fe40023b15518e9, - 0x1e56218532a0e1b3be9130c24756d86e70acbc0689f5240b6b964d56c462627, - 0x52dcc33d38034595c464d08f630185983d46b325aa777df47f6962769fd406e, - 0x21ca490b5c680ab34ccab20f031c8a93aee39fcffa3d14872e6704abef92c47, - 0x45416cd0df409a6b681d6a6bd73d5354500a66b61f0a8662e04d6c1d06c70a5, - 0x7698491ab2ead7fda2d6c3ceddf4890543f80bac98c3f3d5cf46976a3bfefea, - 0x15b9ab0e4c1da6e5320c341642f1ecded3bbc518901769dea76062481b45a6b, - 0x1ad3277ec435240dff5358f4fbac8a6d5d4cc1426297a984154c3b948c322f, - 0x1f78dcf48f560fafaa0d0e25b69bdd1e5fbb107fd6db50e1d298b4e24a2d4c0, - 0x4b0867648d912b14b0953db4fab78fd189ae9a2517606c2ce4ca7af6119901c, - 0x3f26f178fe48c95b94299a9b63e6427cbe8a778f24bff14aac0dcefcf698e14, - 0x358b876d8cf2afcb473cde94b4a9872db16a0d4f140d2437d882eb3a2c5b198, - 0x3e7cc4bc378be9b71178ae10c9e5f322c2329a880ad078299d84228f48970a1, - 0x778a2439da582ee6f6a27a8c240c35fa6ee7307c0c6594ebb2a9fa407553486, - 0x7a69b4b06e402fedffddab5b131d8a0975a43c713c0f6ee52a9d1d0eacda4ce, - 0x265d155b8f9accbf88df9596a41b5fe1c8e347ef80a2b27bea158fde0e0b277, - 0x7ebcf3a24e78efd010535f3f799ebd671c2f7e5542bed59f6d3b1cef64fe4ae, - 0x515005a656f194b0ef37a9d76198f3f75514fd2b90baf5df76cf2273f22afc5, - 0x6f48aad67245ba33f76fcc4393b389fd0a9d5d0cc609a6ab0198cf06014036b, - 0x322d9443b44adf597e4e2698aa9541fe5b0f4ffab56826770a08de006b9dd0c, - 0x55da54a1087ebf4b9b787739f8eddc1ca4fa7d320e4fa2cbf85efae096ac74, - 0x7c88655ade6c47a19ad6372427c94c143e306c82bc223d80f88b339af2a9679, - 0x3d197f4e1dee26992b4fd2b260e5ee66f943be306439f8aa025c153cca01248, - 0x6d583dac327a451fafcefcc4be60c3e20d2271dd7fbaf5786761db2f4e31aaf, - 0x6df9b7af843798842506fcb770a54ff001461684dae46e2d5a8d5a51b6770e0, - 0x3e7fe1457de32dbc68f866009623ff8e912cd97dd43ec266246f485dc769fa9, - 0x73f0006adf3df29a0d3b9e8216bceb76b081b94d08267b263cd7747f0c73ec9, - 0x41d94c88a93e09cbe6351cb50be2819678e7410f0ce00d8ba84e6db12511044, - 0x5054076f9e1e0972ad3e49e2b79f0a3197043d2d5b53bbe45d1f7652fb0fedb, - 0x19b472df760252f60f24d57b8e0da1ff30a7e82d71420d255bcba88548443f1, - 0x635002156011ec51c9b9b83fe4aeb88b29756ce8789e2a10b5ef1ab7d6f8b55, - 0x7d1af31e87c4a704679f26da47ace4674495e051ef2379571972356fca86b0f, - 0x4d8c18944a3a5cef121814a3e437eb6ae0d72643520fad834396c14b75fe859, - 0xde9143e4dc7c4d9889b166c3bb23f1242f8e80fc33253c6b9a8eeb09c27b4f, - 0x211a9e741d7790a9008149faddddc992ae277b9a1ff39d9dfac809e2438ceab, - 0x61a5a7e82b8227c799582c44ef647eba2ccc1f630b6084a64dcd4a29156d8a4, - 0x32c0a72c98e6c2c9106653ca42bf850f88cf55cf0bca3b4dfe88dfff28ef3fa, - 0x46cc9d51764f3e5f6ae896607e4c4a457e5912d9ca47430615c62765d745a9a, - 0x3743ad29c8f1a6fe0ce5f255a35b283905bcfaf6df825aa2c07d6e5b11cf32b, - 0x3e9805e917d28bdc487fe1d12a253b4a8d418fa6525f9c53122b5c5c0a06b61, - 0x69517acaa10b2385e99d1676f27e40b937fbc1738f36d6d8a285f9d9646a0e5, - 0x42464974aeaeaf470eff02dfafca09f3742fd6fdc831de767754054c4e9cf38, - 0x1778c3e02526a6ed031e19901d8907d8f89c595c52594156162c266c0c091b1, - 0x574c444fccc550f7f117dc9e56815a493f3950a9a368f8144bb8fe0c88f4839, - 0x236ab701c170253e452ffdb27da6dd466460cd8fc084f61fd1f13fae3397919, - 0x6a344f1af7726fcb47604dbf48fb478cd2d91d46010679f52278b7d53293ff0, - 0x7e04685d16a83f0dbde8b8649c8118cd2e4542efce1abd6cf49fad2de917053, - 0x784feb9d2df031c21603f7592a2f896fe1314347596a40065792d78c448d5a9, - 0x4cb74f614a5111bf0be71261ef66cb1bbed8f0aca1486fcf8eb5249a55a5f35, - 0x6ae7c5519d642d477ef6b7e63d68e6155177298308bd1b1616709905281f978, - 0x313ee6619d44c7ae5694baffff8c231bd028e642efe1aa4ed591f6e3ff9c30d, - 0x5fb1a34f8cc6affda5ddad59ae5187e1d86f0384ebb2c0e72f38b957e023a22, - 0x5a46d66344654b045b3e5518364c0e7940171dcb7ab47a5e64eeaeea1bb1497, - 0x32d14a608729846f042fdbae5a676997b66fb773a132c6dbd8f3a051a19d91b, - 0x6e6b8841e9714422dcbf8357a672d5d320c6d4a63fe80d8dc8b959dc20c98f2, - 0x732383d3c2c641527c43e618c2626215442698c428a229383abd70a65448e61, - 0x65836136b3f95f0b4306d0ef1f8a9143d471447db48921f7a7b5a423ff2e01, - 0x1908fd7317619c1932735e53a2e2d23a9e923a0090c735736a563c7fee5ad7, - 0x32c4dc9f1a4a9e9976e3d7046b9721bc5541965cdcb7f7b1cbca3e16ca1ff3d, - 0x3c37c436102afa50e0868551304a0bce6e1246eb64b9027cff58e2c05379e56, - 0x308af7245358cd2b4887703fe056ba3559cc2213a9b45be38532bd93a71a10e, - 0x55630f6ae70e1b12cb7bb06bc7359765d0d5336bebe1f9def2bd0c9915095a5, - 0x4a7498dc9de9e0d4982a85d7d83e6e3cc272c8ecd9af03592b09e159c938e84, - 0x14452acc9e255915f23b24340455e16eea623485e3d859a1916af95a8dfc8f0, - 0x77c29e4d5014f25ec43bfb94e0347eb7b6559b48173e93a9a5b4f4d559836c9, - 0x6b6875ab4917a07ad72025767da4ab54a910872aa52b197d7093a3069828a8c, - 0x52c2734f2424f27e6e77b1eac19da57aef47874467b2bb7406dc2cfa4ff216a, - 0x7c29e477eb5d728445585d916b21c1623649146ccbecdae610c97a01bdb2393, - 0x69fa8d50200531f9914e08e34e047ad7fbb4e7ad4494936414bdb0e7f64245b, - 0x36082f1931f44d9ce45fb8dcaf04b89ac9c3220b4c7df8f8726691b170f0776, - 0x10f6e850dd2fbdb33d87df9712a2bc6320310ba2cf90af601885210a0f29e3, - 0x33a205ad6371376c4890d942b0c6875db32f83ee61f26159da657fd5c89c1d6, - 0x33cb63c2fa6824630e09275d9f917d6aa8dbcbebaf4daa0a4717487824ff2f6, - 0x57fa6b431050b5e31f66956add134e8df1ab2a4f8cae7d75f55a3bcb1e0fa00, - 0x44176bafe225f5b850537e8ec4139cfd8634a7620d9dd5e44ddf3bd668ccde9, - 0x65e1521cd6d88727bd171ca4d316c634892bdcbda06f41289790d1a68f226b0, - 0x1488fdbcb5e5bb7fcf883a1148ebf45fb9a272d31eccdcf0a622cc18b3bfa13, - 0x39f0d9bdb1b5f69107eca6dd2c521803b47953858c834a97515995664a6f59f, - 0x1ed52a83560e7b431978e11151e484b91e83be84e9baaf14212f6169fa8001, - 0x6585dc5e7b57d08b244403305f4203a302ba92dbfda0bee332ed046b39eb0c3, - 0x14da4810483c0818b0e0dd62abb3fbca063ca5a609b4c6c306ceb4a16f31aa4, - 0x35a2d445aab6e0449619c2ea392d9f7f908cfde9b2e8e80bab23e5308d54f9, - 0x51c5c6b01a54fbb92141a329296ac9676cdbc1fd53e00acefa1ec1705437af, - 0x5e821a52e26409615bfa36b2811b77f84c7ff1427d308125016565dc97f23b, - 0x194eccfd1ac69a96257e7981e1cce86b3d6c69cda4be6c2544232df682b478, - 0x1cc8e27340a351e27b772e4b901f2667d3b75e58231f3f92c3e240345e8240b, - 0x4012a1b91218749e3aa52ce376785a5f227d9b7270a000c4ee37fbcad1e89f9, - 0x43893d1ee566983f0aea4879ee7029428044813bb8b78d32c10779bbe4bca90, - 0x45faa5c509e686e17b7bb870d5dac5501ed9fef0f73e5ce8744688f2cba18e, - 0xfb56f4c454cfa53cc604e6da85bc6daa989b243529a2ba87f878a74610d201, - 0xe2f63cfbda0776194c26554eabac52d339cb83bec79fac8a66bea4acb7dfe, - 0xecc691f9042dca508eb73ea8f5716f1796da9e9ff7812e9d45f1455524295e, - 0x246268b2111ef9b0a7ae142a690fcae9bf6a7a24ebd31199e8e37715f93f723, - 0x4031d694224d90494ad71507e90b1a6fb8bcef15a08463f257e5dd637a5241f, - 0x4e043f268c422905430254793a4d38d846b6c17fa1654d55b9f73a6270997e9, - 0x77b89fb0e1576a29bde8cac1eaa8c8e83c93db767de075982e39b8fcb63383d, - 0x1448ea3ee558a98f652b8ea23532648b297ec2e91999d553829db85b3177fb3, - 0x1235b2c2f7e2f0d4a366e05417781b287ac09b3b5a00fbdc55a62847452d886, - 0x7994ca36198d4059e2c421ee0801ad58ecc8aec4c0d15c533c784160d42e8d3, - 0x66c624697d4f2d771c12992c047c5d532b5d52f36bd95eb05a976f995155e1b, - 0x4a84f8f38e87212e5e22ebcdf715ee017457be48f3ac243959a84890d21077e, - 0x5bea3a6997cf974bf7f6eb946310b7d02c6f3ea5383229120512ad2a52c8808, - 0x7e38f75adf5acfee70eafe42092546ef6ead4668b0cd37ab9f5839eca30f0b, - 0x136359e10d91343b55f05161ec98c668f4d73635c278ef5efe8aecbcaa1eb49, - 0x7c33b0462f735fa25c2798b74a0e65638084545b0b5caa36b493d9f9b82d022, - 0x6abd2ab4d3217ebe2bd53b47dc990e49c9caafcbe7e11c3c44153909893f78e, - 0x26a2d1204fad9f0e4f98b8723656f509fe965882d7d897706ba6c59f4baf268, - 0x33735143eb196ac977681ba425cbf57393f473a452247efcb953ea5d75488ba, - 0x7cba67634424e52cd9c6c46a3217577917299abef2f697d5a7e141c19759c9b, - 0x144a7c1b65c97e11c69b4c32ee385c151b6f2aac4c3dfb97209f482ef232a13, - 0x46567930329c7cf02285491ccd1efef4a38271cf290bd64bfc5ef95779f6836, - 0x7eb46fac5218613aefc5683995eb2062d9445e70cb884527feae89fba3f9576, - 0x19b8c850c57b4704e29d4996613f3f59132852c353bf5df6e0c29cd469b9c3b, - 0x6a8298cd036046286ae7563f69b972f261153721eccd5dc821348aca2d9bec8, - 0x7fa30527e8f7719694e768d9502909183af5fa4006f2c9efc5b264e20742c52, - 0x25376ae4f62c7483ff40c7b2ee174a47cc7c2239e8420df9411e0173ad73100, - 0x6f7147269cf49817fb25ed3fea7b985b3cc0b759e671445374969c8df7f2805, - 0x431b3418d865cfeaf40a4e2753195af98ecd1d81f55caba455732c3c72dc973, - 0x535168a9391c8ceb550c2516ad3a9428c74f10ae6c21e255ec3dc0e2b6a4fb2, - 0x74ab96b1018ef8f528d64978c583eac989ba7cb4c8904dcbe71e99b49ca5650, - 0x23278679360e56f0149624dc4405ace7dcd7322c0ceff02bebe157ac5ae19d9, - 0x244526163baa8844a30c05f84c4f7e27605d0f6c586e6e504b16651c554f1b4, - 0x30147b921f1f923a2817a3043b304e83bdb8e4be109ada8d694dcef4aaa9be5, - 0x6a928c67ef39473f2e86b7a1ec23892e016fe9def589ed5e631d7ad62e4c3c9, - 0x3d907c977a41cac47ee59b24cc46bcde61ec28224498028b719d3d0d12b9f8, - 0x2562418bb07cbac63d3b48b2ae594d891aff38c5f49375d317f720774445f75, - 0x7ec49a97cad94768e2de658030d1abea56589c0e293e1754b590cdba31c913b, - 0x1fe0854cc94e3187d141b5f36595a2373cd22b38a7f2575ca0caf0625effc26, - 0x60c4851b0907b9e6e7aa7c1eb568236c5dfe53892c93280ce1a2605b11ad5c0, - 0x727ecd8eccdc06b40b8de5934b2848583081357840f75e3ef41f49907303b66, - 0x6b7d6e1e6d95efb95e3c487eb1f241d1e7d7936849e81114e6007d30fbae2f1, - 0x2148f6589585b9f46f2dc4efb0a09d789a50a60dcfbdd5efe1ab8c47f99b4e, - 0x5825adffc41c6ee335929d06eef963dca584355469a118196aef4433cff28ca, - 0x5d9e49579bff446f30777ec0af62663b40ebb94ba855aa53629a89a1fc4e834, - 0x294c578aead237f4640a4ebf847900b80aaad547fd9876186c6b600f7e4c14e, - 0x4d68520718bb1dc698513ee83c115c5666dd07b48cab82e6461ff747b65a190, - 0x38c3120bb73c6616fd21ca807884fec52e327fb958c16ea112dc907d11bd035, - 0x416c7130f52bf8daf08fbff57fbc7b93be70872ac62ed750a5a704743343ab5, - 0x21dafa01282aa117cc861b6a5779244e59eaa576ed233dcaefb104fe30edea9, - 0x7c8bb6a2647e122aeafff44fb4400d03c45a956d06fcf2632a1fd46bb686171, - 0x34599c607b12f0e438e08e6887d3f6b0eaf1394475c02fd8dad21e184b0f3d8, - 0x1ca1f7108b2dca0182d62f812f711b3df6111fc5f7b7abd12760c6bd6bd01b0, - 0x61f93eb5effe4619425cee6d1e6e1de1323734024825122ff130843ad5c4bbc, - 0xd7598c11397fcd06e2cf10b25a8f5bf1868944b67c3a9feb9d377280ef081a, - 0x6bc409a063b1480aa8ba63b96686ec6ed07ea2770c4c60dbb4f52df57b4a9cc, - 0x6945348c7cd896be040dcb2cde912dc6f33943917ca2ca71e377a4c18ada90b, - 0x403c4d7d236d82de79b6ca23ca8b268071be5ee1a2e19b719cf5853cc06fd2a, - 0x249d6c9d3e40cb7c1b2807ee3bcb2ee8673143ce7fcc6a965c9299b02439b51, - 0x3be674023aabf15153b94da072a7cc058306ae96e2e9bb287a9a2e63c35b57a, - 0x5c71e4bdc32141d559b80a5a4ac5597d66ffda3e57c79badeff6864d8a37acf, - 0x43470dd48508f667ec8d9d30d28212beb96ccce5c81fc890223f849ba348ed3, - 0x348a69dc5e05060df9841516a2b90351896a6ef378499e103415d8b65f9b9ec, - 0x734a2fada2065debd7a29f48bd94e570d58473e142d99f72c84118c0f6c7323, - 0x164083856c241619ebbebcaac945ad5b13e1546c57a6d295dc28e402cb66258, - 0x6af5941383da6affc971fc3e4ab97aac629b91b532162afc389fa165855244f, - 0x47a17bdaedac6f7f1b0924e496db94c5cf384437e6586b3d3e31ae8224b8483, - 0x11d64330b3d5a6fc066c3f8c16dfa1249ef36920bd649c998fafbc5389c941f, - 0x193bb56bba5974b6e63e3723f1884b1821da82dfd3e3c35038b5faa19a94e16, - 0x139b6924920da148f2258dcec1cd6a8f012dbfb6d1777d7593a6722305197d1, - 0xdebbaf2e8578215ccc96e0c796c267aab3ea18883749d3afc3e6ac55670204, - 0x3100338d364a19cd898a4a9721051e91c8bc05269dc18b6b69cfeb32311c56e, - 0x6d230a1c3a4f4315c24f38439af2c5801d2b41e137e160ffea169629ef2308b, - 0x567c4b3e33633f13855ce801a1d1c51dacd86fed285c1b2f2883d00b41c617c, - 0x6126121883b367ac29b4b072a3383e284a6cdd45ef43705ff352e8b0e1e90aa, - 0x78fab4cef630255a803f6f1b2d36d7cf60d8ab71ca4d2fe6303871c9abe129a, - 0x1ccd6479c015ea220967c2a32c438d0c59e4d9a2d4e81f92b41bed6c191246c, - 0x6034be4bd378ffcde361ac265c0d3231ca9ddf32e728de59bc733713138bcd4, - 0x15f20b839b86d862c444badb75bc3702ccb4a7d463cdbc7e34775ea821a04ee, - 0x4c5dad5d3d4b43f16aab2f7a535e4104f2138c5861ae7655005fdad35e70218, - 0x15cd05d6e1bd02a6bfd9b5a74a577d4dd2a7d2d6c005f7dda63b440e834a819, - 0x1c0dce54c36c5e2def6c31c452f5e511900c03da5325e83b38b6cd8167ebe7d, - 0x4de569f4b9e49180a41f71cf1bae9d4e3faff2d16aecd275f3e3e4d169a6d24, - 0x31dacf641b67b5e7b2a679e32bdf35c3324f14a8138811447121bbb30520e9, - 0x2f4480b11b567a34c2a2b09e000c748b1a9c810a77c77d113efcf75f8406e4, - 0xcdade9e267c61d020a0dc11b36c1012afd6dbb0df65baa36a72135e6f8796c, - 0x464517b4066f0612bad1108144cef0a1bcf334de32a7d3df46220353c1b378d, - 0x50b9b252d7bee7113821e90ed8036b59a1e3d63616d9493609e19c128c34a48, - 0x3cd178076b68bb2f5d616f5f62e6f068c6330ddd9145f9c1838cbd2b58188e7, - 0x5e7c5feff84dcd90d173b2324266a3a4a68af204806be4715014a61febbef22, - 0x3ec2ad2f07d3f3889337db6157e2b7167b583858acc854790b8583e663f97c3, - 0x317600c8cba522a9e52de6c8fe8a49f67371b63b3cb167c63baace9e8ed2c68, - 0x23771f5afa194449b11fae720627b7984ca3e60d0029976186f0e9fac931ade, - 0x724aaeeeb490f52303324fcff8fb0e496bbef48d729e2a53cc76720ecac2094, - 0x78ab727f7e01ab78617b16a03625047d25f916771a8d90f63d248a3ed1ac334, - 0x695636a87c8c88caf35311ab0b1e343b046770c78f29ad922d797f71d139e1f, - 0x557086fb6c38e8d53023f7e60ac64297c284316690dce942013117865ea81a2, - 0x44e10e976c95d3d37112935a7afd814afd9f3ea43afbdfae0a3acd13f365902, - 0x6776cd46088916f9f8af5ac28a1c3e7f53242854a4847f02c1bb6c742260a1a, - 0x52c12dcda271d1c598240818eed5cef807c79f6c279be76d28d669a028b00af, - 0x57524f5a89caac3ffc4a4f8cd903f1df45b613d8d98ef2cbbdc5793abfef7b2, - 0x42f55fd82d07d90d8f570b28fb0bd42e0c2294cebdb04172a6c4f5bc1a18029, - 0x4e7ae0bb7384a4ed174ce17031dad650360ca189464cf204cb4a99c911ba2f6, - 0x3ab5a0499c26a77fe6fd16fda814deea5a534b1336a4d4b2a58a4caa38a10c7, - 0x5d24ee8357482899763651dd0a24a102ff84232d259cc935e82f321bc1f6b70, - 0x3ea7c7aad8c519bfc0bec20d980c5e06e6b0a91093acb0a60596201972153d0, - 0x1e3401f3a00c149249df36ed3d7b4fda32619f00baed289b0ef22db9d6996e, - 0x54ce851cfa71092082db00c910995619a87d51bedeb468505de4f7d304cf55d, - 0x611ba84057f2ac5c80fb99ca1cbdf86f38f41ee99409efcaab21a9eb89c418a, - 0x7b7042b8817a5135519fd7e33f9f435bcde49a9bb8b3014823432b0cd0ee09b, - 0x219aab2c745d0265cdd1ffa1925e45649b72f395c2af2bff9e5ecae05dfb830, - 0x2e8b6961991a6e76034ace67a0f9e0f2b2a6ac31dcd86e6cfcc7481d6949457, - 0x104595970d5b98bedb4ff6c5075179eac856aa9e30cf9a1ab167a17a1690ba, - 0x519937d91861f62ab4e285e197b36bdb0516c2f87bcbb2040fc313c04357fd0, - 0x3d1cfdc63b7712321ac70254a467505dd2c26f4b8665bd2a9ca87e3163098e, + 0x1d3ad0b704196dffcec14a46fecff3982a1fb70c9bc9da48516b993105d50de, + 0x28db48098716a665ed033ba11f29601e6b84aa8b1e526b6f63dd6ddb4d2b6b9, + 0x9a92597c6d0c494be0a098f11cca0663b2f9f85561e3d6a37b6d26f1401d0e, + 0x2660b5c85cf8a60d28edd793638767bc32e06828e8d83b516755c4f8c9ddbf8, + 0x5b422f551a3591863a41c5d76a775cb61b409794226aae2872a8fb18b23623, + 0x74bbd562f38095173cb8396601d887b3d3ad4439f1c676c0a67769b5ca6155e, + 0x18637d523895f9978cddb75589799b5569c3f2b8ceb848d12489849483483cc, + 0x129611ab5a0e3866c05319714aad22d5b2cd355737ef736bb0d4caba663552f, + 0x33dc12cfae4b59c2fda90b08e46198df37e32b63c144a622bc1f033428bec35, + 0x439861c3887c89c5aeb82c914c1936f5dba773cf3767e7e8a4f9cd91b6c8ace, + 0x26a9a267b9245fc13146c08c0b620785b33282db791508b00ef7bd399400dc, + 0x7508226b7a25bffa9c58a70544d3e1fb1ab5ac0b84d7af56ff0cbf10aaac554, + 0x760b15b11403336fd3095f16937e0a496f67465d629af54ad3cfe5c950cde6b, + 0x683c74447972ce5f0db78aba422f9337ee0f3d1f5e8c885ac999ca845eb37d9, + 0x17ffd0178476e1ef9eccbd81416554eb4f56c0d73e080f03f0f46bd3f592d82, + 0x7fa0c47aca357a436f2ce5501311ac1a10fa2d8627c0dfd19aaec0d752d0c78, + 0x54c9fce640f40c88befe616247248d60bddfe832ffdce1fb341ba86f9a751d0, + 0x4c7c507da0915cd826c9996398251ee7632c76a7a5d18ed1a81198d9dbd9482, + 0x1ecbb1bf240fc180d081814ce7a1c8c47ebe103081720d98e8651f9f6a91d01, + 0x27a399423ac4a7299ed3425aeb19c344d217fd9cc720c5b64580449fec0f1e8, + 0x7df9e694532d386df0cf2c423b42257e7592c2dab5397e16e1124c1eb8eb0d8, + 0x4ad97c3cc11e03a82f0585aa9af5969a0ef262c351f6a9ba1ce15520dfa4ff9, + 0x24adc28f63f510ef3f5ab8e547ae74a6fc70af199772b315b802c8a5a42321, + 0x4d2d1940409bf79d65abb29757248a9c67e8a59125793f2378a736e7d6ae85b, + 0x2925144789b764b908548a9d871a01d862f8815bfd9466d0ca7388c49375d8e, + 0x5cb1d15b7759285e4aa47b1dbd3cf5a5def9908a9e2392f61cb74c2cac08efe, + 0x39e07bb931d051e8ce308cd0fb9314a984da6f3e88f8f34ca23799fba6027f9, + 0x34da1ca59c953c37eca1fb4a0983361a49a25305df4bd0958b06bf2d96357b9, + 0x3349082213ac647a5a97fc5039a3b29db23d16a0a41f6364ec4368b0873f89, + 0x27816dbe7d9df750b01095caa244d000b169b791018f489cb9d2abb9dc69f15, + 0x7aefe0de3c7b82f9587d6c611ab4563bffd94d09eaae62917a2cd42bd86421, + 0x2f8a24580da3e13a7b14fb6cc7db514fff5e1b800062cd357f664124006cb81, + 0x36ed4a9f02c16d022fedeb74582f357e53cea90e9a91d179ec71efa19f83a53, + 0x5d676b7ae9bf8305586faa9d6eba9799da1322e808427d1e0263c535e4e5556, + 0x5adcfbf2b689c4ce7366261f3cc4f113f6f04b3c4bd9a0144735b7abb01392f, + 0x2d3eae1d660cbafd5a775372e4a73476fab43aa748814d228e84329dcafc332, + 0x67519ba064f5172fbf5583b10689d3b5b822cf02703e2398de17b9a5bf6e9a3, + 0x2ff523b6946a24a5f71a6f8f85997f237c1873a3789c856cca12ddc63674950, + 0x15cbd8d16404026a6f45a78cc1bef0defb477d5394c9e86d91a8bb4fe2b2ee1, + 0x7ddcad6e699d3ef374084b4b4574ad5f41fa37b4a9b9b4fabb92f2f0187c1e4, + 0x60c842eb169bb3552785fbd45726e5e95763d3f23b9cd3afe3655edbc0612e5, + 0x716b41f0b8aa75204d94a62f8aaf3a76c68d56d8902622c8f3ff0e154c603db, + 0x783589abfe73fff2ff8bb76dab29b44c12094a539ebd527301ad07941f907b3, + 0x2136f53ddcaa85285a51d49f973aecf048c958badd2367a29ed599a615a9bb1, + 0x1b9539b6a373c0330b9bb31e6b2b8fd7fa9d45a4a589f7fb4b2e782b111d7d, + 0x5e7a5761ff2c1a09f09120bc6e3bfae487086f377948c5a8155a5ccdf77c61f, + 0x6ab340dfc6f8c4003f65f64834a27cfac0f87e36f7b95f120d3f88c84992d0f, + 0x1f86148df31270e868035264cfc2de2daf2ea582cc5820de0ecbc5ee8187bb6, + 0x995d3b01e2dc72f00be7d4937b3422eb8da7e6453292664143ac8b7df3ff9e, + 0x3c89cfee298f5c859e74ed5ad0ade1ca0c2673e48f8e8f9a3988148e1969abe, + 0x636989f41519474c56a0be97badac67129d716bf09a9903d03edfec8e633790, + 0xc5506c7439bb925a2377dca0df196d3b9785e8fa89844826c0693d75cf7b0f, + 0xbd0e663b8de94400ea37f50059baf2cc24782e8000d9c1bbfe8241aaf40796, + 0x8bbdeef2ff7922fa48145fd9509956c649411002617d3e1b4b9e37b7633e01, + 0x7273d0a81877c13d90108e117f7001a5db50c78828867f401c35b9b9dcd4e69, + 0x35e449fc3df9b8e282bccd35c4cd115932c31a77ed35f9707cd70c9f0fc7158, + 0x35e291c57d0eed9700b0ffe872a848f7a5431403f3ff13acf0c08c2c8d87321, + 0x510bb8bd27038fc84f73117833fa0672b43a95320fbb92e943c302bc024fe0c, + 0x47ffc6bf5a871cf17630fad10f9a77d15c64b76fae9423514b7255cf0fa1a0d, + 0x1249d2bc09af1ecf9bd4196c82e95497bc42347ab1d1388694442e819e5fd00, + 0x243987658f3f90d436b689c0c9b93abc91650184f0fbf7eda97668fc93be48f, + 0x1cc60acf6c8eada0f1f113f6e74ae6f5aa8ca8e7d178699e711ab8edbc27ee9, + 0x4d563a7a5e0ffe5e5acca7299371fc26f635fb48400993b4f1ef013576f04e7, + 0x607591de4d6574937361ec37aec05db7cd19d35a953902ab2d67958e0c24917, + 0x6d07cbd484dcd5c6c831d29c66429fe1fdff83070e5e13cfb90608e58c7cc74, + 0x5e15f8fdc9e173fc273e7e11801998bdb378daf1c2bd032f62cd6b0a0e54b5e, + 0x782f5f41329a59d1d672babfe07c50851fec4c729b292d3895f690602c78865, + 0x7dabfbbee578eeca0784169414b06491aace1486a2c7d9eb00f9e6f5745809, + 0x7ed73e6614ee840b4c210e46c4af4d2f875b3dfbe4085ce968527483e05f824, + 0x7fbfe1a0d7b0fa7d16176489be2e1949a1996e4cdc40f1f0e7e0a83c3023f44, + 0x665112ef94c5cad5a9986f2011f2b668f424cd94fb12d55683c8a7bf9c0c308, + 0xccab572a9b239832e7f775f3a65445b1766195bbf1741b788ea298816c9ef3, + 0x7e36d5be940f7c4ce310f5ae3c16eebda748393cee4bd238cb8f258d0684b29, + 0x5ce81f3dab409085e1999737b7be706d149c67269253bcfe5090f69fb718933, + 0x22e8180c0ad98a3fb8afac900727ea03dde785ea52e4c45bc053a8689e53039, + 0x5381e4bccf67c9df2da28a2c50782f0bc574a0f6255208d6312a5061611ddee, + 0xe25feb86bb767b31840224dbb389290e733b480dee4838e43d8a04d7f034bb, + 0x74d156f8062507ebec54b40f09e71794e00525ba80c29eb8802827f112a9b0f, + 0x4af29cd41a01fc47bb7fd9a450dab917f9d0b12120484bbfe7be71f417128a9, + 0x48a292c95a70dd77b2a6bf92bf3851eb57a4e365c4ef521224d5207a2049337, + 0x4d53c633f56eae4fcaa6588b002bdec75c6d49aa38018a2dfd14ce183c14ff9, + 0x5fd08ad462eef7210670567f22705a0caead16b0419aa42eae25e4cf1b7b792, + 0x7e675914668cb6dd1147a5376f08bf35cdff03846fb7ee29cd74a09a5cb77dc, + 0x6c012807a0f811cd560d84cb01e2a5dff1a21e4625eb3ee4c046332342cc422, + 0x6dca8cf38224c3c8739278872b2c7226dbfe3d76b12afbefa0e5d9e3a4ee3c, + 0xc4d824509e4ea7efe7cfb55c4a6c6869218673cd753111fe8a410d22676163, + 0x76949581a609adb32c51af4ccbb943f817efecd83e461998a11252bd0775fea, + 0x9006806499bdb2cde52a189aa731577a8cc627815a8d6de1bd176fbf28d0c9, + 0x547b691c3c06668452796063d82e369efd3a220f3b8bc27d4124e73a68559ab, + 0xcfb3393fb324f08fa32b84bf36b5d7f568be8e9dca3b4fc96e29ad4be45ae5, + 0x170478b03235e6095ca6e31114c6ca6fa7d59de954a74b57e9cf28d6ed48e63, + 0x2cfbc904b83021bc480b095eebd2308541590d715b87b578fe384c712bd1aa7, + 0x2b3af9014da9e220a5e597991b5444efd6f94cb897db6821fceff13ec588401, + 0x44118cf9abdae092906d9fa43d0271b48f6d27deb3d9e7e87775175496b65e7, + 0x5367a734862fade2ad0fde1f3595e45a166e8f07dbf797a88e70becbc05093c, + 0x403f6cec36692363366acc7cea8affcab19543715e6b29453572ba44c204c6e, + 0x56b311b48570da23ff6e94272a088be3eafccc411a843a2be8f855eaeeef7d5, + 0xcf5ee8f3fd1301e6df069cabbd6d578c8ec5a6e584d912b0c1ecaba7025d72, + 0x1e78ecbe49df8d0f844e519e0feae1a428e8fc2186d32bc2067893514f2018, + 0x2921d575f5bae1b6c547f0d4a6f49900e4bfa0a467d0c88e2f9e6e7a5f6aa62, + 0x119278761e46a9849f2c34c58b5a37344ff19845cef4f5e3f74fbeae771d032, + 0x17940b8cbfcd6b10ea74117b73c7e2c3bcf0d638612058375be1bbdd91dceb5, + 0x660de6e6b21637b4bc3ab753f8c3e3c1b4aa7aac21cdc5b9824c80491bebe53, + 0x59a8e12fd2f389519c4c6cedd1cd8db9bcc7b718b042dda1e53ab619cd59498, + 0x6cf278a2821e0fc56bfcc191479fc94e7a9106e2697c7a362778c281f57c029, + 0x50f7ce4429837971530cb4d5e04e6b679bf6519d53d4998707e44e20f35822f, + 0x77104c050d09e9e649bd3965733db9a08cdd457f7a1d9aa03c5a1f8af72c9fd, + 0x6df669113080b06c0b02340c24285acf9c930831f7ded4de1f2ca40f137dc9f, + 0x121b132fc759c13677973e82a2d5bb9ef73c1f1b56deb6a2466cb8b56e1ded6, + 0x2803fcc77f19c4bd1802b47d599bfc5e39432410500d1e131fee4aa34d91330, + 0xf72ed2b4ce770db8579fcf5d69ded00663358496360c49d355c3cf268aa3c1, + 0x7207dc771325e496b8a8393f8860f5d35e525323138145036c3a29798666100, + 0x4f1075870e1406d788a328d71901d09e5eeed5d422642769f051a7ddce1b747, + 0x1b9de60ba45d28b3b5e162cfdd462085865e73efeac78bbd0bd9e154f4c0a92, + 0x5abda76d4f0817cb204b2ab6ce568268eb031b3d41b5cb9084faa6596ffdb5f, + 0x6095ac38c80868ce6d7e785c35d59e2c2df572f50a6b2e0a2e4cf44a7a75282, + 0x155a1dae47a15b999f224a3eccc41485b5e3291d384fef93cc452f59fd1df16, + 0x2eeb99a302541782ceb5174e9a09ee35657b1363352a3802e4cc695a8a921de, + 0x440ab5ab9d8153a326baba1a2c2e68fdf9528fdae31e4d8bb0a8dfce63fa7b8, + 0x1dab6cb829f374d8bc0387c4b825fd1095d4a99796d07018ceadb5658daaca3, + 0x276b89c7049b91bf9b1f02d0ff35249e739befeeb5928dfda40e481f007eff7, + 0x4d3b61ed3ff041c7a28761ceab003cfebaf692e9930c4c85ac9bf370da9e076, + 0x21414d1a32fff3e0e8d60e00692bbaf12861aba563eeb06d06cfe2d9ae4d8f6, + 0x4648449cf70e2f7d202840affe9229add65a279e9aeaecc8fb47817a4175c41, + 0x12508462f81b9bfa82ad75f15c1164127fdc203cd95b84fc6fcafb270c328ef, + 0x61bcc7ef15985b4c66bf6acbf02e559fcab61f55cbb29bc89cc808189a7a6b1, + 0x3826ca9171ad09c95f677e05c13657ab35266c7a2df45c5e4200a91aad44280, + 0x4b8e4f33fce44faf1cbf86fb8f8ef540770f332d154743f654fc5b614bafc51, + 0x6adc5e00b05abcba04ddeaf5bc1de7153cfac20d13e380d98406dc3a5ce11fe, + 0x52e97a0d378dcbba6315d29ea009663e6d9a68023e07afe2cb5426345aab362, + 0x9779a23801d703aa89b379d92e375ed71aeb9617aafbfda0285e035a29251f, + 0x496b997ada14dc170e4ba7690cc358da7e706cda1715d6b5404bd278863827, + 0xd0cebff6beee498c3038a321ea8034f685bd817b982727f6bf5a76a2f7604d, + 0x2158d632a1d4acd9797226ac76f828eac3d7df0bd3f4cc66d0362b7438dab02, + 0x5b5544483a39d8088be7784010cb1cf8f11ec9b7df68f700d323f44bfe59aba, + 0x582e27e996889321c90ac8459593a5687c7e23e261e2a416d7592319623811, + 0x90a62dd57ab908c091d18ef31a20d73077a0b2ffd742e61589273006eddbd8, + 0x11a060f7fc05d3cc132de2e943d9d97848356bab1846cd067362a717cf0dcbc, + 0x5fc9d1d4a5b8d76af0e97bdfd54e1406e80d0c0ac371c50b55e7777817b0f0b, + 0x5bdc34e4ede0f6f15fa78124840c608d54d9da1a6a678c724b24356865da6ee, + 0x69489837424a044d834ad5ec0cc0ff96debded4b034700b84efb7fa87060f8, + 0x5778d0311f2a97491db25c50368da3fa6d381ed0bba81403df432a71366fe00, + 0x6d2905e246dfed8c29a9dbb993dfbd7d0ef0403a56623727d6ae813e7f657e8, + 0x1e554760fce47eb738a03309e11bed0d99f86a3ad513b00b9e61dffe2845650, + 0x5a256ba28a74f769b714b2fea19b8ba0bcbcb5fe1dea015b043b929764f0c14, + 0x60ec16475df850516255e772ddbcbbb14ac418ace5fe6b04338459113dcf441, + 0x3e72a4f5ea0bba98abc52a46dc96b1e994705e4a60d3585c015ebe42b509ef1, + 0xc32664d2b6df80dd0ce80bccc302811828da83afa95673b15674aa0e19b921, + 0x593723715418cb8ee531a120c9e882a3fd67f65d33ec953e71be23afa44c319, + 0x609698b0a6889f23c94cbf4ce29e7687474688bc9e2494964023b7b26de3800 ] .span(), // Table commitment witnesses for decommiting all the leaves. table_witness: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0xae3777d87215ea258132696617ca789c72f933e, - 0x2f2720d8cacbbea51bbff0320f511045100dedf5, - 0xeb0dea523ec2a63f5d3573cee569dd2c053ac72c, - 0x308be9695917f32bc1ed100a9736f8351fa7162a, - 0x69cf2e23b88dcf6c6deb99e8de93e78f5cbd9039, - 0x1542b4188e3785f2cfe12d2d3bc6f259db767ca6, - 0x97d45b5b0d2b23f5003f889174e377d13507e035, - 0xd93d7a28055cc74618dca1682c3604800551b7af, - 0xf5942ead33c5a24c1191416c46cbbb199bb63869, - 0x9102bc6c3b63ec4323c5029132705c1c2e00984f, - 0xdb30c341cafffe909bb4299cf0970306116bc278, - 0x6ecc5aaa3c67cbe117033458c030facb06223b6c, - 0x445b85d08af9b82fc2d3663354d598fe471aaf2f, - 0x843c757906ce803121b2074fcb3d2031d3fedf00, - 0x7cd9d94cf02ffd9f9b93abe3b294846768d54d2d, - 0x4429abeb42f28dc60a72eb2016cca1fad06ecd4a, - 0x5ca00367525b133cbd2221867b720be5a68abc7f, - 0x2b887f470ee51aa2d95aff4c08a925cffdebd140, - 0x2a57ad219d26ab881aeddde639f357bd86ebad2b116127171fd22ecaab77361, - 0x4bbaa0465dcf21b6b4dcdd02d4e86b9df40bfaa6caaa2a8a0b27115ea5ce6c, - 0x895f8698a860d10d85676b00cc6c371c04f465cf0656b4cf16dd085da13063, - 0x4cea51c8b21ed24be4ebcc722bbd899c4f6d8e422d1e9e1e557ed862862e4df, - 0x67b4dddc3854e2af57f94ea2a26722ce5ff2d13d5b5c8ca11efd55a39c74f52, - 0x45d4f587fb824e9cba4b47ba5ddd3b9fa0310ebbe81069c4d10029c95dc5a77, - 0x6a314fee6f7e5de97950d1b5be77dad25141c0d91bb6fb759ab8e6f01da587b, - 0x5daddeb18070a22e5bafbb98798c0d9da8f07aae449539fe2bde77484cbf276, - 0x671d3b6fcfbc52096461ebce0ad740b07cba0125af8c9158b315a1e50694d52, - 0x3e9da33f3873c117c192ef95b78f9ecb39d30e5d860bcb5d0d2059d31320442, - 0x7ff4e7cc6c87e0749f838aa78cf847d4ebc2b7087c73a6dfdd019eaeac9de8f, - 0x1e2b02f8f53b117b032331c09668d22f37938641178c3fc8bd622acff20a4c1, - 0x670d8c9419998c03a7d9b9810748315cae1b8a7a322a8eb4bd25a3e34ce4d99, - 0x1f9c164be9a9c98b159e7249df8911cb2a5504184b056dfa5fe2a2248e7b145, - 0x4a9f220962e02747eab6b09fba0dd073d1f3b2942a35a9410fa2eca43e1505c, - 0x78e5e64dfefac5b493181093a013736b82e120719e9b8fd4121049721fb4371, - 0x234fadca592867649b3e595697a8c6a761fa370d0dae358a53667d36b1baf6e, - 0x1d41eadc9b2c2b1c3dc82582b1ff67926405ef93f9b884da73adf5afb315cec, - 0x59569458388690678f56432632bf0e3cf4eb2dafb58a6b1dd7cfb49b9b58822, - 0x291a6d08dfd6124ce732607d3fa83f740d3318e64e90f2a8593fa3fc1d6b6d1, - 0x111a8b1c05e82ad8b300496ebe4d606d071998d39a9ad0eadceafca4897a9ab, - 0x3eff2725fd626eb92a7d282fc438ffe87e553b7e593a74cee845e2f83db9819, - 0x692e4ef2ff1818d4bc65470da9637ab4fc45d932c2dee3a5738f82bab1e89a, - 0x48979d497e3b9551a4d0ad21d688fc87ae7705b44b3dfc4f9d237b0fefd0839, - 0x62d8a69dca9a23c977391ac1564d688e32c1abd31220a4dd97933aadf236730, - 0x6d4b06d5af83d7778101ee6af2a85bdf63690afbf04ac433309f452c578b672, - 0x1ee88b8a36f552c90e8e0188b62e7e59646ed481d4966fa94eaf466a307cb27, - 0x128364fcc69ee6b92573163e0bb93f31d65b5f18ac9a6d6951bf390708f5c6b, - 0x499a42ea2e2b8422b9fa000b498b9f373e627f3310a78b96280b0dbf4014b35, - 0x2ddf9b0231cf0ed16eb14440a92971d362a82eb8083f6b6faf194b96b2ee3e8, - 0x7084a4677cc31bf6fbac393a7383d23f26031ff05992f55a68d59abbea28e5a, - 0xd3dbf8927724d75bb36e7b1d2816b1be4106233cd6f773e866f4d16e800320, - 0x538cf2c1cf492b18a1a2d91e39ba610973f75bad76d8b9fbd93d7735a2dac81, - 0x423aa7a1d41061d100c09ad499b4a8210ff23f589c1627450abb7abf591bbc0, - 0x4fdc858c409b36b189497e1d5fd653b81649836696da531e4f3c3beb867b0e2, - 0x4f96d8c326ad2d4de7981bdfd020ba9d1ee8194d4a59511f0b8794d1684b533, - 0x315c275f65a1e9ca0fb131321df36ed78c3bdf30b8b784219c2bd5cac81a755, - 0x3f6b6f84dbf938fcab8bb861426e9c6ce337e13f76d7dd497b00645fb309d05, - 0x7befc7c35b3b6ab3fb3b276f46c3977717f71cd7a66ea3e5252a55c6e57510f, - 0x382b47abb293dd7b5631b969ee9b30a64b5f74d6219b42be2bd4c5efd8aca34, - 0x76f37d4e04f6ff71aff85a83e7d3a81c6278c9f9ffc2ee21990a4848bea3629, - 0x584a04a76f7747f617d221b30b25ff95e47251ebd4add149d9cf42f06b3987b, - 0x1ffc6496346ad831f9706f484629c1cc56da9f323d35dee856770fc07a94535, - 0x54e9cda7afc3e9ed2f96776279f93e5231004227caf923b2c3d810a290482e, - 0x78b01c66c86d48f1ac1aeec7caf489fe8a7182bf36dd3c5c0acb64d2d6f79e7, - 0xdb54a0fa68b58186d92784936fa506f96685f144f74a55dfcbf083d7d4f42, - 0x4cd10922c5976d0908ccb31a95018d8ac81ac1cc824a72aa8a3717d3d250c07, - 0x1726723aee9ed805504a7f4998f5fd7ed8b5e37a67a4dde659c84e42aad75a5, - 0x4a4b6f4420ff8341c2349292d4e7036997d9ad2386d6ef33ecd0aabe6956309, - 0xaa0ff8e6e7ddd8278047f331b5df2a97ebc697848319def365fc2c9b9760ac, - 0x4a121da44285d17674a3812eaf7a960c80edc604f6211baa45f8d3ad4d50e47, - 0x5113a5c170e6920e3618b26937265df08006e0783433dfc01293df5f57556c, - 0x7acf3708f86c1685436b0edbc6dcdef71df16d7f5a5e6847b095a26538326a, - 0x1c62fdefc529a5a3a24ac2243396c0d52d73dda36c14c26e6820924f88f0669, - 0x33c48b25e9c8841f80a73594de31b32d47dc706621f4fa84dbf905704d815e2, - 0x1767eca0cb5ec5aa7dbdd2c56d3cdb65f601247a7d44ef5f2aeb8445866d05d, - 0x12e10e1e330b3605fe2fc4fcdac8a7293942938742d96b6369f3429c102bc16, - 0x4a7ade039c51f96977de34fe8b6145464626af83bf99f9cee53ba8ebbcbc8a0, - 0x347efc705b735ae2957939caeded6e440dcd108514931bd656b3ff2d6dc8c93, - 0x68c4268fa8739e71c96c6d1fb88dd582d80e5c261a0b473359be3153ecacc7a, - 0x6c95421815696db16fe8afa9c24b9dca238fee4efdd555bfcd93f3ba989b7ad, - 0x2126925dc2529956c95c44494c2831faa59643f522f2d286f50086769853e63, - 0x4d8eb6103c8c6293edfc7659bc90f8aadc6a6395cec813cd7f2e14ac570fef8, - 0xbf74d82150d1a020f956ceca90baa001ffd2689b585110e8aab902782a0156, - 0x1be7dc63a955ffd364f60e04fcf349c182b7a5a0f7062124c03bb3dca5c37d5, - 0x5b93a1f5932e0f7eda944afa06f7f551a4a96630584c513bde75b608879831c, - 0x6a4ce8eb700da983850ee017bc0fe9cfd75433ee74e5e9ab56e79653c6b59cc, - 0x7fc6e9c27c560409b686789b3af765534035f1c85e792ec32b8e857d7ff0a6f, - 0x73d5229fbba6302aefc40dbdc4331b56fc55b1664bb7a14f2cb595ed04c77a7, - 0x21ed0319bd487aead92d65c465d3972ce94853f310ec0d67b7d3ceb7a178634, - 0x5657f79202a4f738e9dad98d6f59e78bf57a1af7372d08b46800754722ee6d1, - 0x25bb2fdd2d8140aacac3acfd0f0a282bac02e395c26d823fa62dde5b069dd79, - 0x6b3c00cc3e7600cd0d0881f5fa4513b7b9c59b5413595b2759e89e8bfe4f0f5, - 0x2c1afbe38a08ca08631ba57443c33fb88da0e1d8b7a1a70b716cda04ce01db7, - 0x6e9c0201b5a771bdd8e1e3813053a9dbb302657c38d850cad7d0afb7b9ef2ff, - 0x3f6a438128eecd96432034a581e7520ece456a626cf2b21b66672d95c837198, - 0x4dea946d139232d0b267dbff4dc58c56107b0efd1226639e5297c52fe3468c, - 0x7144b70414c373cbbe29fc14ae6f07d81c581f3ddfc269d33bf10c7086a0cbf, - 0xe87372976f45b43f1fa387a6413714a2785f85c8e98bf4da3920a7a70fea10, - 0x5f4ba5ee9f035a7eb68611ddfafe28cfab0a655cc4918432265fa0a75fe1fec, - 0xb8858d1a956c987effbdefd78f0dfdf92533ad4a9a651a47148d0c4be56bc3, - 0x3e62d278decc2fc47430100ff4d7c4a024f45d1fe212854021ac5e60005ebf8, - 0x4c4b1b8b15b151df93fafe030e08fcb26a856f4477e1b83a141ff62e50e38f2, - 0x2da8178873356c50d2484ebbc020f01b5e3e4aefa83bafdae1af451dcfc53c1, - 0x5dcf61776b0aee826d25622b3b99544616a3a2e210dae3f9905c1ee80025e, - 0x379e1b92f0c404a125d5b08f6e5ede40cb771897e5daba9113824dd659dbde4, - 0x37c298e57aa14cc09d25e2711bb2d682c090a9585357f0c26c1751e2c989676, - 0x1ca0435d33b4e929908619c5f07d00827c6e0021a8c3c68c858863ac9952b77, - 0x71c23f61a9cd6176c667a24c54efade162236f8da614de69ae3123ed2d76783, - 0x1f1d26fa4559fdb7fba877c7a8535639dcf8e68f8d3563aec1d1c718d5abd61, - 0x2bf67d939fec5057d3b68f431aef2ec3888ee54514d91f83435269d9eb83219, - 0x20138b0f006f79501254801bc21e71e536de5c739c02f5a37e6fadbf42dc183, - 0x1d31e1d0d42b202aa5f0af76fd78c8dc3f5f8683b7bad725b5d2b4b3a9f65a4, - 0x2816112641292e8cd6ada1e4cdf0bde32413b07996a418e1dda49a7e85bf922, - 0x208332080fa8335ebefc6e96744a5b3850ca12dfbb6f614c066d66a39bc75ad, - 0x6348a987418657aefc2cd968b2b8a2609c0b2e3ae308139791f367640e2e4a8, - 0x505788917cf940ed7797f4b3edc9715a1ee537dc724be1acb7fa1929034fa2f, - 0x59a70d8765e475beda0af4dbac8768b0244f2338f1f2bbff65a57cddee8ff8d, - 0x4e5a51121d4f27d1f85596d786b29b9f7c2bcb0859f2d334ad630f3851991d3, - 0x7fdb5e320ade668b1065ed6a9030bd9217249073f068c82dcb3c4d52837717, - 0x58f4d767d58d1b653f650c04f3cc62b4331f9281f8e0b7919f5d0fc58a8a4c1, - 0x795dd2df95a21001fe23ccb15436be3a3cd2d765f84b8fb05c4cc311ccc5d23, - 0x4025d50171cd03aa0f3af085776c46856fe7eb7ac23772980d9cc5b8ef2ca6f, - 0x40c85023ff0ce0fc5ab46b0c8a40412b4753e4d1b892148e29f9888ef3e1c9f, - 0x57d1e529d01d58c81559f11952fd2de447f2a4682fade4f54ae45fd343d42a1, - 0x3be43582b9ea27c12ed97a42af96a27cafee786d8b1673c08df7d37dd631f0c, - 0x2651f45670558c251ffab8433f3172def5729d1eb09ffe971897072eb65590, - 0x1e6932370ef49bea706b06c637415ae2c453776de16c150eb0369a562527a5c, - 0x6bd1151f24d4bcd8833000a2a5763ce248f21bc65f2b9a94c2cec8655f2caea, - 0x54912af92ee0cd94b405b3d55f62e63dd422dc6860a03e223026b45dd0b8a04, - 0x3ac17809aa6ec6b9ab65a0ed31e69443963db0bcf78859f21b7c6331cfeccb1, - 0x4d4de906a10913fedebf21249706befddcb48def475fa98cbdd0e039a10f301, - 0xf8f1ab6f2ac93c3aec0eba9dbe51da818bd47e71dd2e252f26159f324a32bc, - 0x5a687d38fc1b7f7328099f06b0ddd0f90cd2c02271da1101947dd75a905427e, - 0x5bceb34e8b639e2cde7aca0a1444ddb23a4dd1159ea770f88a2c1f1cec2c21b, - 0x4ca7c83e00da6c2278fb6351a137dffe2bf9a93d9e665b3dec66695212d5948, - 0x4ab5354249975ef0bca89dc1ba67f7ef91ba270c32874b0263de53f94bbe8f6, - 0xe8e74179fb5567bd216b0d3071040bef97e4d3380709c5ae1f605f4f422af9, - 0x7b3f90480b273ccb9c3b3e01812aa46236f2767523dca81d24a028b3ab4d691, - 0x2585e5cf01cf20bbefdcfcf098d3b2372c2d6be5470c64224b0814279e2ece5, - 0x2647859b66293b1fbe6967e260536bff4f78b3c1580d6abfe3b3869fe575298, - 0x450810963a4a1eac5e05a989d4d4a21c18a787b77e317f978c560e72c48a0ae, - 0x214d626b190045a358f9f50c4e474b26240cf1a505fa7e5327ed55581052433, - 0x725cc417c8dc47d0917c2a54bab309ed616a256767cb69cada0b2ddecd89010, - 0x479d0a31066867bde15a9d29ce96f699001654ad8972e9e327a86cf29874f, - 0x3d98b805327f14cbbaf42569aa81b349676c69d7a864b12444ccb4fc2cb642, - 0x2a8dad132f86801d561f63211bf76f2287dbaad6644ee4570bffdb1c89323e5, - 0x389af882af6170d2ac593e7e9685a19aff20c4d82cae0841ee237bf03736ef2, - 0x6e9ef2fc3fc0ce3659f2c132721bbd185262c63be84515652fd4405c1bb1f94, - 0x18d1aa7afd8cbc1d9d6bd161eb85bde6acf9e8be842fce3963ce686c877cd4b, - 0x56069d0bc1dd9092323654d3400e6fd9319f3cd7f6a584f8d303c98bc1fd5a7, - 0x24e0c347687beae77cbcb6566209adc4de011c0ef0e977d1794d1dc47972044, - 0x7e991fbcdbc0ffadc2dac39adfe058f3bd1a3ff3fdc7baaf4d6123475d02386, - 0x27f51155c090f17981b68aa5f88e43c498a898409aeef8d3422d63b9e58e934, - 0x65827201a3cf7a9715a829a21785c5772f919445f223fe97347f7421c93948e, - 0x23adb741a7519171b04c7b810237654987a56dbdfd9e280502edbd3ad776585, - 0x54500df3eca3249ca7ef11a2678870b1862eb095425eeb3e13eefdb31a08fb7, - 0x5f9d9877b46cdd0d7ddf0d6f59ce9b21fbe71b905b8f83624d658ae8c966a5, - 0x38969dbcc32b2fe02a7d901d208ae5e7f83197002eddbef65680a79fb2e2c95, - 0x50c959416fd98a6c0b66cb8e29c1e102bd67b7d2796864dbb10fc9a743433be, - 0x6235a86e66080837d10942a68746e97c1f0b2668ebb03ab7447136a72f7da06, - 0x5477f906bec2bffd9ed2458dd6d76b7a18cad23463cc2faf429ec779315d342, - 0x62196c40e445d859e1471b6fd85b6196d460b6870f0a6d95dbd8f52f3c03b3f, - 0x6701f19be4a0e7c98709b8e60af1f093b36dc3f0a1761f8f5abb6c8c75af581, - 0xad86225db07f3ad4ef5aedb3d631d35f4b2013f4b0f9ef9e6548fba1b01016, - 0x5182207f924c3a73ad3bbef60b4c6c2444f97d9e07e517e3e41d60b45a3bba9, - 0x6024fe4c97a07022d5b8df3459c57c25211eb773ff16086cf2fd778e6728bf1, - 0x6a6df85645eb619523cc7a954b1e8c401dae429e41f89099de2261c79c9eb5b, - 0x171bc0ed8d1c6beca211552e6aaa35cd5251a019e7ff14c7a305d777d737d3c, - 0x1ddf576234aa98864cb6d6954d82921038c133bde37872fc7bc94c6cebeb2d6, - 0x7a4f9cda09f0f26effc38793fdcf705d1dfe88c6a9bf309a5d6161354b3456f, - 0x3036268e521a6afaebf62de9d97698a39e459007b519d0074e59843337c0a10, - 0x383746a3376f5686292de979206ce69fc1f57fbabfe360f7407cefcd4a5258b, - 0x44590709a49f801a89c11c232e86c56e42da4af90f7debbda92537d4f524c5, - 0x2bfc810ced72911a4baddfe46bb32500be759852e1af419e6e3d0cf8e710e5c, - 0x308b778b6e6c9643c078590f4891a5aa064a4f2c504e9d1023cafb4d16d367f, - 0x5c0112713ddf2a683fca4ec05d0170ca979bfed28bcd334431f2b0d5b6f0efa, - 0x6edafc361b5d4eff15abd8497d0a506f576524ec842965b46c8508d2d41795c, - 0x3522cad458eef6c69121b4b29289fd38d878b0295da6e621c5d24c423443f48, - 0x475fb6381e895f16fbf8319882358f32851cf0cb74ce4ae25889b44aa09762e, - 0x3a9d43ea046809d4d243f8dc65625a13eb7669bc21db495e281e19f1dda9d21, - 0x6174785db1e1a58796af32eb4fb9afe36ab0e1efb5c0a45209e8b63b3419a2b, - 0x7f9fcafc1516d72480603769e80bf983ee0a6a2f7f24d96f3bcfb2520cb8cd5, - 0x51e92418f3544b7b953c0ea3775e04d115fa29b2e96cc641c93d8eac329d8d8, - 0x52831155630ee635df0633a12cd7692f802043028aadd11ead5e22fe63c5273, - 0x155598695b1600ee63ba009f13e32f72b5c7095ca4b61ef0bb0b77d271fffde, - 0x7e360ad6e84b36f4305b394c409483402e6a3f8be41e6fe7d12875efc7151c1, - 0x73fb0a2d8bb18424476fc3d04d2b583b3a9eb3b2923257dbc1e200a65c266dd, - 0x55d70b15ad89a0382eb67db8408dc5c4ad18b3f4c6bed47630bf7893816418d, - 0xe59ca487b2509bd01c0f75c6db6c6ae6f6e939dfb921968c7514dd4910f102, - 0xb030dee26df5d3fafe0d7d47718bb16c62a9148cc2ed717043c863704fe555, - 0x7ef00208b8ceeb5b690d976fd718d09148607aa41c3c17d4e23f40c68e99aeb, - 0x62bd1f18c7483c30d86d9e56ac7ced893e85073436746ec95e3a3293616e82c, - 0x6b3899b53784b94c4f5df763b5c584d86e56d87ad8aa8f9e51f229c17af1e, - 0x6852d8ee7d407e8704e3b088edecfb9574dcd70777f4cc31fbe7a71f731cf4f, - 0x6ee21400735e9b5ef55d83909612611a5e04eaabdcbfa3e203b0a70380f5094, - 0x1ca9d671eacbf10baf23eefe2b5e4a29243eb3ac5c764c6d88c1333070f3495, - 0x6a80af84420423f4945177c2eadf60b7153f0233c3b1753966f99aadf1b112, - 0x9ca99d6749071e61220392d20e1a6d88c168468e2dc5668420c26c15446cee, - 0x348385f765626f8699a08936841275c6c397abc7df4126e4a1d6008482a4942, - 0x2f0c930d6f242f0a411112eec1c8f7bc51da3931691a8da1895f40dad112b17, - 0x185b6d16c4d7ffa8ff412adc915b18c17448f78e635244b789ddaf7c7fbd3c3, - 0x260c6abc335d91139d71b427f54752c2a667cb20e34482e562f637394480298, - 0x120dd0beab3121bba5166b269d29153e2f45ca6c85b5bdf12ca24e470c7ee0, - 0x21cab6491a60cb06cab6622c470c2b1cdf0911709b48387f92bae639406f72a, - 0x64125340e1d7e541ce5626cb49421c76fa4d82d41da915eeed0d14bf6ca244a, - 0x703940d2e46549be1744d31e73ef3bbe65f59c790fd9b9537c4934cfabe9ce4, - 0x198f37672add4625a14bb99550e5e1bd90ba54353a6a37e4ba55f34858f9ac0, - 0x7ce23dbe68b1ed4e2725c29a4ec6694ab478e5b140b37aa188900777966f8d6, - 0x5614f7f0dd59eb71646a08681fa4e054c97c5e960888d3d8789e5bd46f3420b, - 0x4940b25d794845e4592051af248f9f09cc52f1811e61e93171754d623527a47, - 0x2728e5c190f0137ada4e9af3274e1dac3a31102f352c0b4172b359c5d860e03, - 0xeb29c6bd4d78c0b34ef2b5ba24c9c8f20be0e0f3fd429599a3b53acd7dedc1, - 0x6768174e42768e143bb2737666d893083d88d8b30ac9e4e36ceb05513aa049a, - 0x4a0b85e32ee218926411e9bb8e9ad6e92dbeada6f42712218515c0a332cc846, - 0x14bb1d289047a31de442d2a4b6bf9569b22fe4b5be33fcafe40b69cfe7b9c80, - 0x2ba9869257f0334dbd1d6e3d1465537a782b8e494ffea4c78af74e93845f185, - 0x255e7218f4e6ddd19e9d2a093e56a21f91009715ca79c9a542abc056c478d04, - 0x182853a51e69a572170aa88bd72371d691f5d84a671b64e874f19bedecccf7b, - 0x60fa3b2c04247d258ee5749a57433bf9162bdb6e751ac0c917b2289e1d88ff0, - 0x15aa4dee0c740852f6e4f2cbab8355760dfe54f9d60d4ce0a78e92f897263e5, - 0x1c098f52a1327b26da0e502bf25b85f0f7c62e79e3601b89b074884722eb60c, - 0x6ff83fe33112bb822a4bb0f320a99acd4fea2f7623d4f0a7627d3fba1ea212e, - 0x5b99062ebab617640fa20915861273b65a0d359e34df57a7b7b078fba41bb9f, - 0x4e619c1c358225590675ddde86f47ee7812c9bdd336b3a861109affbc92839f, - 0x5aa04fba2095bc9078dfd8776e53ed3f49e5d1007c4dd8e5313f30644166312, - 0x12c9352b648e60e46eaf0f95d5b635880145b486056ceb53c04646da44af0a0, - 0x6e97b1db47433a72508453c1c56f065491b6fa924869d5a3cba9f01f54d512d, - 0x240e81595e1775fccae5530af1e0192ca77019b2cc4096eef725ed8e9e95920, - 0x497d442ad8c4938a0fa3fd8f0c3392969aefa9488fa116126a65c321947ade0, + 0x482b4ad723f3b3ee98152d387a6d49dea9d785684ea749c082fa896eb11ede5, + 0x41b4bd883f3e2572ffacc419c0f03721c8e7117f59aa72eb4001fb051e9942f, + 0x307974d9af341476a2112f57b2f744e8e685202ea3e6e62853d29f304e91da1, + 0xeb856cdf905e53b12cee50b7409bdb15a5facf6e1c008a8e6df497ac055d7a, + 0x5898c24943b833c0d880ff031cb9e8f9205d171b512db4adc74c785583be53f, + 0x2fef944161bcced2164d238fafbd04f6f6dcb2569a1938f60b526513c087423, + 0x2cb2f5ba00366bdfc65cc9a5463238ea3a13a8ce48a35f8369cb9040cac30f, + 0x8a8e4ed3c865d38fe8679bf2bc666b75265712a4bf6e32eb1982ff48ac09a4, + 0x6c22ddf33f5e04b8011af790dde1355283c38ac0862cc5cb3021c8e18ba6d80, + 0x655cb6f78bbd79ed67737b6b1301d25d936faac660df19b8ee95881381f1142, + 0x44dddea7edc7b21845bfa1a155dbb0ef930be93f5864efb2ccd781208a3d35e, + 0x7a3b2a53d433897677fc73c9897c18ed071528555ed31897f909da9433cf83d, + 0x62bb88776087e1b93c95964cd03dfeef93d5af4639dba06beb08252adf25664, + 0x492c9e05c7777dffc9af1e2b884df126bd648de1d8bb717778973ced07d48ed, + 0x2c91cee109d9197a8aa30e3afb5657fa127a89357747b5821d3f08e8aa26801, + 0x4c644e2ad818a6ceb392c4b7ddd46a2dd814a05997a8f7aff4d26efa800c2ec, + 0x1331e2f902910b26489e1a0c06e8d438d8f1eaf834d26adf82fa04dc38b1db, + 0x22a2ce334bbaf9881428f58b9b162720817288086bc3cb9661c646764e1e3bb, + 0x3355ca34ab25cf156c22fed0760b9012667dd984349c5a597f4ab829249548c, + 0x1d7cce42edbdd9b3ec235a630c52eb1158c1bd0ade3b1277472b942cea18c4, + 0x11415f4d2deec2ba4446a2cf17b6351f16e991b0cf8116531bd22c402d2ac60, + 0x114ce5c4ba9eca1efa9b0c934fa3c0d0155ae5fd2299f345eab50aa4695fe34, + 0x4263d0f9bf38485db11f895309ba7b768b562d30e14c5d6a410221dc4b1d9b4, + 0x29d54fbf06208b4a51ab9a86da264bae2338c027188ac3a4feaf3971f9ceec6, + 0x1bba151f33108e9963c80fd2fcb11669b771d3e80bb492a0695b6bbb44c10ed, + 0x557fc41fe7985645bcfc11a580b1069cc7c42ce60389d338fd86e6f5307294e, + 0xe2eda9941db8e1e3f0509d575f5e504bacec31c7bd7ce4517d529326c5bcc9, + 0x72dc77385f072203519d0da3c271401333799e8eefaeb48906a4edc49013e4a, + 0x49cdee57aff49e4185ff62462f292cbc212c63724b31fb35ca6aaebf5da39d7, + 0x72465ceb505d9210581ff7c6f77945d398d2e2cb0318262f8ddbb9d6d1017ec, + 0x2ff5f90001fd5400fe40a94a4220618244a22b5ba8eb045641e0c04421e0f09, + 0x193e009b6be0f18653c614df7032ac1ee118f01725a00f7317eb63204922f5b, + 0x58f8df7b75fd1940a83b61c666cebdbf1243ee1d55f887590b15fecec52e237, + 0x4ce4f6448ee537d8db906015e92c6a70cc255894033e20238f1f132a0a35f32, + 0x4e86f893cac3e92811f2ebd7de139665a5d8ccc9bc884a6dc9a9f25ffd82f26, + 0x1afdbc13904785a342922e6bff7d76930026f11531368b4e002a3c567642923, + 0x7db7d5aff3e1760177acc42911efa01fd6499445c171263fa17826cbfeeb855, + 0x74ca1ece8bcbdf4be85c90873614725ad6dd07a5879a7c2c730c9dd9af034eb, + 0x7030a0e219362a0b05f921619c675a16a0142f9db9bfc5d935ba56fefe1923d, + 0x67aeb0a4c3cfba675777fd22653b970ee1311ecaecf0007fd9162bc1a75557f, + 0x60688a9de29f8d202cd9de81b43242175b0fffe85897d5b7ac10a829f010a9e, + 0x3806daa3e43adfdb93316fea39a229a3fb1e6a4f54dece436ff96b78fdebce8, + 0x2c0375d703f0cf3ce0b78fa7438bdaf3f32c381279d0400db66518d4fed4d1d, + 0x62bd2c0e5477da7908b880c1d8394f12dd7fe2781b3d37eaa6c1d606fb10ad4, + 0x6e9bca659e6f299e665231eecd9c4c0350193b164bce212ef55b009b4096bbe, + 0xbd4a9bbeb3a1bf9ba53593f3b9e3e439cf6cf3ab52bbff99a0e71c06fb5b23, + 0x551b7ebbed7b1b5078de998c56f0628c0bffb2c41bcfdc89215ffe4a47ed7ba, + 0x99bc91235fc1e9b7e08884a39d3204e663ac3be68a5b9ede14f49f2e0b3874, + 0x655b64ba92d1e404414aeb3111f8adfbedef2d64dca9dcfe022f1094557077f, + 0x86248966a002ece3f253c66b94619a58ff9797231a5869af0c351ab9a2a363, + 0x5cb1e329e74b3395a745623e125350765a9a473e79f6779092cfa8eb5e7e8d5, + 0x65cbe0d7a48cb9cb377992dacb410b4fcd33d5a29b0583027ae022644436f86, + 0x66ba3325c578ce3000ff83713f7768c47ba77a7caf5f4613d151c7e78f1f1d8, + 0x3afcefea61d4c15e5626a4918e271504d1f6c82421db6a5d384b18fd183bdce, + 0x3f00c81eca48e32929be925f89fd62944723276269c8de628f58a627c6b4891, + 0x36f9707d64aa72072e05c9c033fdd54293f4368232853e6264d245701c28f4e, + 0x278ba749267fb12dd7cf6742b0282776ec7d68c97a10b996369499c0409f76d, + 0x7a0daa76abbb520e050fa6d224cea1485d1c0e8af1c9f6dcbb4e4afe6bd6e29, + 0x13845a6599ee37b6233add6885e723b895ae2e496a0e9d74bf44a05fb2e2152, + 0x3230ee5ba611c00b1aaa559a57d8e42d5885bc831edfd434dbd5af8c1c807a6, + 0x29cd4c7e3f0b66491150b79535d0c3f2192483ef16673df14d075d88aa41c7e, + 0x122874d4d98ab95d852f824bbd15ecce411e1c5f363e90618de0969502b894c, + 0x361898a8d50c361173f7aea81203a579c6471753ceddf3ef57bdf5134a50d2c, + 0x584753ac1a03a4d8925828bf27e40fffa5cbdd3119a2a8f27e1d5c028e08b60, + 0x25a4aaea83963af8eee12670327f913feef0c83640c5c73afc03be34468e3d2, + 0x636fec4f9994463358b80f033d433681cf5c22ba8ac83034b917677ad6fe4eb, + 0x7c3ebeede7a4268cff7422198e5d972aa238b850adf5de5e24cce630d380612, + 0x7fa5b29df926331848f3d9e33058d6f40e95f554bc9034b0aa6e19ade16d92, + 0x9c855452a7e619c7d88ae659fbdfd0b83d932edee516b2aadb382bdcada28e, + 0x20f6e97e82eca1279bcd88bc6c62ddde971046e2d89286b73985dfeec50b0c0, + 0x319d36bf1a5b0bdf89d951c5a23170092beac3dc4f831763fea494170032404, + 0x1d251b7915cbe31f77908cb2a96390210bb6d2ab9ecd060d7591d2e009a2fb9, + 0x64ac51ff422070395844e4f9cd3545368b3d935328264ccdb028c4aec240bf8, + 0x735e9b3f6d7a7cac05154c4870e8ad4ef6d477b6bae850232b45b9104ff0353, + 0x3c077ad21edda721204ce3d6931d8ab9755c1116279fbddc74479f7f0644354, + 0x628c5a5c901325af97e1e0e9bbdc7a3c2fd527d6b517add74e13076cc4f5c9f, + 0x26d297befe6dfc84550a8c54759ac4c942366850f725fb589ad6af4ff044fcb, + 0x422288e59ddfc675f88cf2fe3426127dbe6feedfd0f8a084b3107cd43407fcb, + 0x691a305b5e4cc55c8d207364ee0955946a1b4bf9381d9150ff5333fd1355540, + 0x717946eb064f0d0a74f79215d0c3fa89c7a353ed092d2b86cec61affe60528b, + 0x24fb7f11e847f0a549e88653dd7f964cad67292be45f4210e9111400ef5b125, + 0x7463abc8db8ba49d29480e54b6b5f5ea3af158cd44d84c1cec9d8c7770ddf63, + 0x7823638e7ffe0e080386a876813ef6299bbd565a7bdcafbef5fd4b5e176d007, + 0x5a45cf4565d2d77bf220f4b1551f32a8ce0ff47eb85ca9cd63261b0909c4dec, + 0x737417145ca720e445d8bbde92b151ba7a312b901dbe4f87deff349b214c487, + 0x79a9251356b9634ef33fbe9556eb578232145732d139d1f412bea1cb186c6a1, + 0x2aa7aeb1574916a0c166e236ae09371effde9dfea45b79edb4665deaa7e7355, + 0x78ae276f015f8aa8e81054be7c53142d3f133540869a511303af728258b6aa9, + 0x5394be2bef2d5e11aa0c72926462cdf7514524f02ad78f13c49bdfd995ab786, + 0x56b63644625b3ebaa756279b835ae2b099fb2bed2667014d97b3a0b82924e50, + 0x4d7d8f9e2e90d9b295ad4650ef53618e3ef883dc2047f261e8ac9a113e0128c, + 0x31ae5ddcf25f964a410a53364569a83140aab803caec2516ff5e5bf089587aa, + 0x7abf0df3cc4cca67898922aa1be71b0be50515f32231a2c43fcdd59efd4f1d8, + 0x6cc3c6b8ed960f88886800915988e99dfbff59f5299e3e67f0c2e46bb50a203, + 0x427aa69f193f5c632930c3bc01d5cdb42c7e66d51b8d42c328f0e1c54434bb1, + 0x64e1221a64c4c23d1376a1833c7afa9a5948bff774b819064af3de22486f1d9, + 0x67263784c506c03e8cc356505b24e100a2096e836111466f62fa6f76249354e, + 0x37ea0f75261a861d83ced4eb5e018c88d11aae822b47996deea703b2d7bd8f3, + 0x5d882972a23905610597167586c6c1bcdc0f99eaf23ef625df5f8329d6611c6, + 0x61c5fea727f63b6799ed2d25f15d64bfe3668037b369db0c546d5892cdf5d5a, + 0x4e90e76b66335695adb9f96c0e42f72108f0aee4328ce2d1ad5871d79babaf5, + 0x5219566be8053e5b9c8856342623138783f2d89ab12910e8d0bb1df39ae3164, + 0x4260152d3d63efed2353bef6faf7550135c5f5a714cccd4a5ae158446b35aa5, + 0x15d73609f8f79e8e3a336f1ab22021d3f0b5aa84a4ea5e48bc0508f93b68659, + 0x23ee4a56bb25a92511e9e5396e3009ef316877812f2606fa1e9db919e6ddcf7, + 0x248de3b533bf7191a59e2d42a3ece87f4d740e11e068873d19c0be9b325989d, + 0x409b7c29d987cff711b4dfc4379fc83d28bcc105a9b09ffa7d1835fed883747, + 0x317bc4ddfa209dd03135554fe25dbb947e961b4a0c2839a88b975d224563dce, + 0x1f4ba866b64bb5afbf4b49196d6b3d2fbef914be56f05ba537ff4716d5bf9a9, + 0x73323c602e1c003ca5da1073492f570c7876a44193997380aa3a0f6c52effa8, + 0xcbd731342fab8975ee8a718b2088e54e878b072b23ff58a940221d1fde9690, + 0x2d2fe75a91fa56eb2e8a951133fdc4962bdc4c02b0b65f043e85cbb23fca1ad, + 0x16d8983fa813e36eb8615218f2924cbbbde002d21fec3ffbbee60bc5b39d513, + 0x8d8d216edbf0fff22900488476dc98ddc3e908a7661c1a391f2d238447481f, + 0x40a33d9276e35ef3d61d982967431fd8278c2e65e09ce16232b4c5cc6af280f, + 0x5b7d1e93037269051ab1c27468248804a9f0f23daf5f95b2ff97e2a49b8b391, + 0x25a928b8586af1d1cc8a5ee78fa483285d896222123a9ff94edfde93101f1e4, + 0x1d00bbd1bf6f53f4268bb5d44d7a3fb8db921b84166d3bb17e935c49be19798, + 0x41e4d17be205cc9fa97f4ec99cd141e933c843864691d244662fd676bf463c5, + 0x112cd1570bc3000b0eb6edbddd50ffc2f535c4600a80a12dea2abd0294c9a38 ] .span(), }, @@ -522,312 +294,172 @@ fn get() -> FriWitness { FriLayerWitness { // Values for the sibling leaves required for decommitment. leaves: array![ - 0x259d51ed2d404657b2f02a026283c94d7f1923d8062759c055a3f0d5b6b4d19, - 0x11bfd68cc80db29d8170fca8cde175f397908785dbcbba3be65c550faf089af, - 0x339d02d13bcb484a5171e7a085eaff27d7ee933b0d1f0cba02bdd4e3f6676e0, - 0x165775df94dd0137cb2e1af3decb5f2820ce9b41e7cf5e09e8e49d316ce9938, - 0x43c691ffc15c195457fedabde78d63725ec650cc26ae5b6526b20a03ef71d8e, - 0x38be260e6a19ab7fb6cfaa2f3d985f03cfddb79d412c0d252bec254511c6092, - 0x24e12b92f4676ed60a16d7cdb7f87df0e3477b7203c217ec6e8af5b0b3171a1, - 0x4c19f8f9d1efdb2dba94af80c23c204e5693472823c709063d829a9d0c8f846, - 0x35ff21394096bf18864120553e892b77c1a44751f18eefeb5aa130937740523, - 0x3d3e1f72a7f57cc5810c17b11599ddefc2515d115999870af349bf4305afc17, - 0x43a0ec99e2e9a66c416d564e93e6f846b6706612674b24e6d5cf89f9df784c3, - 0x62a65bdc7c7b2ea7600839afe7b2e447f9c33a6c8cab2b7bfa0640d9f35d3c3, - 0x45eb49348712ebeba5e0dd09549e37fab888cbe6215347647819b6b4cf1e2ca, - 0x659cea9a241841698b324255ddccdae626bb3b2da4f3783864fa7af30b47d39, - 0x30617b10eb88aefc10c45b094059f833df7051d1f68aad29d53d6aa23a56af9, - 0x33e572593ba32942a800b9af690be1f78cf7b3786abc518cfaed311e8919254, - 0x61a1c87e5a8418d6c6026ede3f817b28b07135bbbf5c4005e51f9f93d0e2b97, - 0x54f8baf28b02fca13f8b46b9a1964acaec90f799cef25da6ea46d33833cf3b6, - 0x130401cad60a8167db58c5b356977a98f449b09a8dcff28d997039eb3cba2df, - 0x32ce4ac497132489acb67aeca175fc69f947cf58d7bb16e5398ea0dc657a6c1, - 0x3dafa198a7a33afd1c98b5eec7ff7e3acf2902d4a864ca49cea9b32e66fe6e3, - 0x7c894347855330850c8ab3f2f396021df8500ff670eedea4cab45192e4f5515, - 0x1a652fe413d497990b788c900cfdec8f47b9f5ba3c2c6c82c35b4e7465deb39, - 0x7b44e1cf9cba3770f769bcdcc8ffbefa9aba6a11e0fe9ba60a217af1268787e, - 0x10a032a0f50b1a3c9d9fead5743266479b750eb31ff46886e7dbc14fb9b3c2f, - 0x73fb741b07caa058447d2bd02470c9b05da412644aea72a93a2df3a9990bd76, - 0x24a7f302a2a6faeaa6b74f23e4acb21bdfb508be9d51222f158b15329442a4d, - 0x198717ca0ffbe3c70ed598f902502ab0b3054d3ebaf39d55215b034d7c95a37, - 0x27e850b265dbe1bc5a6830e66e12e4bb865a581b13bb2982b94cce63a80fc28, - 0x7bd6184c10ccf57502980de3209dff19f5d7cad6453e2a5403bf329bff9ca37, - 0x109bf5e588297e5596e617d9e63846688625c0f532a22c89114d1066195fab5, - 0x779077ff2432c3b0edbc65d46c12e2632d70dbd4ee8633c69bdced5815ae378, - 0x395e311117e54a4faa942e5661c45345bdf84cefa893e4362a4b210b9b4cdca, - 0x12492f3c37278d434fa965a8cafb5880acb9bc7c9f0e05a0a49560d8b43638, - 0x2e943d72a4e2f94f8abfca6655b70b708789f6a635d0ce4cf83611ff54a263f, - 0x4b67ada2ff85f9b6b8c37352ea998f8e757bbf7a2a0ec7bf6e595dd7e6a70a3, - 0x36e675d20deb9cbfcc296fb6f357045ac17df5c84b27688680c1596496bbeb8, - 0x49e387d8caadc1ebc1f9081677600d7407725b418f67ff51f13b5a1f2ddbbdf, - 0x3b6de75cb9f7a2d435fbe45631e2d343101c8786bc38c36b4157276f6c95040, - 0x112ce2fcf04e09d205b206b9050ccf19d981de22a9da35ee9b1724e32877dd2, - 0x31cb42b015e74bc1d2668ebc7ee0d13d34e30c50a338ffe5ad437bee00ebd3f, - 0x6eaa59cebff32a935ab1215563dc0d439377f42bce0ccaa0da89a0fa4a0c8f5, - 0xd33de4bc7dc0a49dea4344331e7b928bf77bc997624e11d316ad4cdc07b7fd, - 0x3cb62e2e36a48db7c0d1ad8908057d21aa54ac171bf1f30b00210407ce1f137, - 0x17f2f796da5ba082b2b399615918d045a194eb39930eb53571c0e975aba8627, - 0x5bf188c46fe476dddb42d71fa42cc814faa535987abaf94ff1a01c517b78d02, - 0x3c86b979cfb7e48b9b2ec1359a1babf67e2376877245643e2a8a24094be9bb4, - 0x6665ba03492b288ca12b7ac6bc7349d6349999ecf2fa4a2232965fce89de297, - 0x404a906e1f989b701cb9c605bced4d4a288c2568af13efc7040a917d0982f96, - 0xd3585137c125d4a2e8e5eea0117a9f7a44e4de19d678dd1a3e205e09145dd6, - 0x2f70be4d1ed518af99592b0196ab1738ec0edc8f3651d8259620455b2206acc, - 0x26cc69d1e2a5fc93d6f140aa0522b657e6503d2d4d0ba01bfc8d2aff9482649, - 0x501ab71330ecec951200978162d067595cf9c4bd3d32c5e66c2d0c0869c0011, - 0x2b9f95dbf0b1d4ee8ad8d01720d890e6feb3a85f008048219feaf0f79a8d99d, - 0x2d00ad1af4fd1fc89a211dffba9ac4cebbd068e91603a53b8dfa1a9ff305ffc, - 0x54eefd63ee4610c58777c20db992345c502d3d0cf7e359d066fc5ae12f98a98, - 0x62ba1045b9f36be2de3c13dfe4383c6a90117a17be02c995cdfab46903a67ca, - 0x72437489d3a010cbdbbe3fd5e867635004fd0389fb2a6aa95ed4bc615b260ac, - 0x523bd9da38a7af67cf040a7cef6def53e4c49211c89f18a566b6dbf6353e976, - 0x6b262ed2224d5a8e7896f1206cde60f680cb989e1035a54390692225b9cf0ce, - 0x723d5431347b65961c70940c04f9259d3259b758c29ed737c3a71b491329f94, - 0x1650f1e435f7342b20288d681da14b83f524c0bf057bbcc7856f21d75af11a8, - 0xa3fac72ec302154b9e30ede0f3b167ef10e3f70f279d8e473580e487872c16, - 0x2148263fff71fb43579946abe7ca716ea03cc401232539e8b471bdc46242768, - 0x5ee10f635799b9d91c36f336f6f97dbe91725d953a1d2095139dbd2ea773978, - 0x2ca97fb085e8d93e085d27d60408dbbf50342d557266c2c34ed7effdb3c307f, - 0x271be14ba1bb583a7e4f988a4172c293b2f56e3c3ebf970859056d13ca72e97, - 0x3e93e80cdd60df36276a0931198ec8787f4e90b588fcebb8367c09bacfb932, - 0x1cf12d9b70225da28f1b9ccb106a84f21a74cd65708c5dc1cb124470955b198, - 0x9a1d1d8383e2160279276b9e71d96279f7d7f16c3597e5d3d34a4f6364753a, - 0x428b870c04246b81f8888a5f883a22b7007e8090634fb7e5a3f97d5f266cdcc, - 0x27d695fe7ad3f285adce5551a94e37bd70d6b8044eac3bfac484ac5249a4402, - 0xc5bb4854be4cae5503dbcb83a26bc5cd479cee6afe6f1dc5231f61e0ab8f39, - 0x7147f02315c70fd9db416fc209cb0c978e34d98f8fb924d39a2eea56c9d6ce, - 0x9c6ee36168d3d4be8241f5e834b18847bd71f9c25586347185cc417ffbb480, - 0x2c3d26b012a703a5709498ae280927a6e14a73839d5cc56ef1892a5129dfb09, - 0x61717a819a5cdb1ba98beae733b4b0c780ec1f2aa3ee345af5db07e09ce361f, - 0x76a8baf8792bb9716b3e9489002aa767a64fce5e0c3b5e0361039a57fae3524, - 0x546ef2021f0457bf34d957dd8ba02cc7950eec0fe513f1abbce426edfb1d748, - 0x2ff38e612a295112f25966991d5d0e4a82535824dc01b1b71ba7c3ec3f2495b, - 0x2529d513867cbb7d3f7b2a3e8b413d3fa4af27d2d471b9579560374eb221239, - 0x294b56785f3ab71bb4a5abf2f3deb0cb6790e0dc07462cbe34d45fbc1127998, - 0x3efaff7c7d01745ba658f456f6b8bc418a7f8687372fb4a78104fa2973955ef, - 0x3b37325c5899037912c9c47c6e43e7938e2967dfb3d17287659b36b89071c54, - 0x64ef37883c51ba87862b98c4402eeb8df28e6088ccedf6196c1297caa794ca0, - 0x7a8f1bb343281b7f47f089d289fb171b19369c26d155111860a21455c1ad039, - 0x1640cea8e239844a20951c1281c3e0e1ccdd7ea82f3c72d0b7f66a5bdf8c4c2, - 0x165ee1ee846cb6903146308531e1c8e43ba0f33bbbc2cf3ea09db3d2f391771, - 0x29daeb6efc53746409d4dd911f762bedc975b1f131b88b3893d7094a63b0cda, - 0x7a62f116ca48641fc5f431df1988578d4f9f35078d3fddd75eb0ef381c3015, - 0xcf68115dddd01020853ec7744ef43e12ecad24f7f1dbe068a6eb198994eb64, - 0x63df753358ab1734325b5a00d0af6e570a345fb0ad2359e6e20a9ff56b8b5f2, - 0x1bf45a4a988b7291c61650077ce104ef83284cf2cfeb80cab2c12876491b784, - 0x31e6f58c1ed838a5f46bd43be26b31b05910c3dd00845dfe0ad534be48177b1, - 0x744b2a6b3e918d3d0259f266da1642ad91c3440f1093a83b3c1c8ebad608c89, - 0x330b21a1ab465fcad14691a778f5bd75fb079643833de170fbeda14aeed0a1c, - 0x764e5e36f6de33611a8e6116485ff7a7337c4393b95564f36556c812ce99ab4, - 0x2d01037157d434dca0a975a069994fb896337d36beeaf90e77bcc81ab5f6788, - 0x14cc1a5ac7ceca5be475bcc40bc37800913169a5325c1a5f8c14e9d06b9ae0, - 0x79cd513afda53e0b8f4cfd5a0b9a59b2f251ff2954df68642c355016d93c9e5, - 0x358201aa2d11059c3a524ea310c2409307036dba0f7baed6e5dfd54622303ec, - 0x58232c0a5ffda8619818818a599e217ad88223f46bd450358626d1317b54642, - 0x327272ce190ea8756f7163430c54f1c29a2b1d60aca378a129b6f7dd3c8fa74, - 0x6449c8609314e45df9a24bff479debf8a1e67808a5fe74158209daefccd3755, - 0x5331bad4a62124b59fb734e6b6ae3f093a48c199a52e15eeb4f6afd4ad6ec74, - 0x6ecd7fd3cba9e183d4bda0aed9cec7e32608d5e97dd8d7d66a315ddc1f777d0, - 0x94185c67dd702f0ab3d14f4a567f072315b4944e3943d33779eaf8103125bd, - 0x227356cc42a7a2d6b24cfa194a14536b38d3641ca03254558943effc6a678fd, - 0x70e5434345846c2a8ab35b27450cc7ea6c99083eadeea1536afa5fa99b367a2, - 0x5c1308c138ee59147b96da5dbdf0bd1ba1a74fd9e92167bcb668fc80e5c316, - 0x2b0dbc0eb59907ca9d83d776c39df897ea37c3a8d0bfc8ce2bd3e2edd48b6ad, - 0x7f897a14205e04e3be2bb9069555704e00010a86da24d99311cccd2abc997bc, - 0x6c6d5518d1278a1c827914238b50c60bb25cb89a1e6ea4c1dad2b9ce605f99e, - 0x46a1c42430452c1acafb60257a098017a1c83a3bc0ab4aa5a6d04415b3f65eb, - 0x440d1b374c6782db1ab9913f43acddb03aee54de2b1faa4c871c639f98b88a2, - 0x96d06914e03d4f3fb15e1568a5a4c4d33f80c75916ecd192de7b6df013225c, - 0x425c8ad920b139747854f00464cd3080c31884f26a150ecf5a41668e1443d66, - 0x66eefc1fe9d233897b1159ccb4d2e3ef6d514e3ea32df6091c5fd3c22c322fd, - 0x3342c2af16c0df918fcbd72d1fca3161ce8292b816e2cfd5879f4f289a73e66, - 0x1193959acf17f39552b63c1d259c38065c1bd3d3681894e5c20f5c1b0c2bc35, - 0x2b2be7086db23a90d351927c61d814382c756aa5cd6c2d47e4406101810fe7, - 0x2146ce6d80f104a18d54d73934163dd3934ceecd4ba10639fe29c6eccf44edd, - 0x54fc8c70b12494c70cccceb8399f8fda89af7be586c444e3fd2323017340d89, - 0x617a3d92000e25c3732ba8d2125c0147aabdb8b69a703cb5e27879878e0dc45, - 0x14380498ec17f768a57737633bbe3847583c431b3757aa45cc7f6d0f8733f6c, - 0x45498a31ed0b01a1cd8864e065dd34c6b11aacd316b427268b03328dc1dbe75, + 0x61aac3e5564be91456bd196eac62085407c23b25c2e5146fa49cca554b871cd, + 0x66ee682ef94c83c25dfb4dce6c94151963fe5cb2c1eff03e163c91634c95020, + 0x333638066504cf058a4800c64a46c046f17cba60870337db8e3dcad6dde9793, + 0xd39d2ab8c67eae18258a51e1935e59e7dc7a1f5bd4aafa24dad8dd08bc1384, + 0x4de64cc9a6cc19b8b2628bcf43f9e807c2c869e02a35060e78d088e01bf36d9, + 0x7708552919ade87f991f0cf7e14ff4f2fe8f088dfe7188aed53fa10c5b63dd5, + 0x15be822b65bb1582360b882a03826e165c8db8f7a1ef201ad88c6cb8793be49, + 0x738b555fa477636506b5b481a49f1f1e10a68cf41acf18d5f90934ffc4f58a8, + 0x650d6acdb553a281f823ddfa8031979a03e17cf55035d0480289a5b80efcb0c, + 0x25f61d830c6e184f87bad16455069972581d1c9585e3aadd540dae4ce5c5f81, + 0x1d0b7c2bb7c5eb588613a9c4594fd173dcdb1aca18c24f397504947a7a3d158, + 0x5c75ca62a60c5542ecee1af448986727127e220a27ff74f437a9e2ce17dd5b8, + 0x4e861ecb695993aeff07ff61ba92d3c8d08cd69ab29aca5e17dc6d85e435009, + 0x65a04a360f1ce62c66e03574b540ecd394bbf138f787ce5d4c67b543e9f2736, + 0x1b834c5870f73a09b258b68d415df92d9c616b021a4311cd1ae51305be565e3, + 0x128956a379f41e3fccb87c018ff5d1875364dcbd2b52a1f7d0456ebfd1bec61, + 0x6cb99be5cd1a2910005bcc6c9f9d30154a8608a3f2e87d6fd110db7d4999b86, + 0x2943daef2cfb9560006fbfe32ef34a36dc1442026763a9410d584c1509b412e, + 0x61a969aa4fb939363b1251b8ef15876aece6313ce98549f487251f76d826387, + 0x4261225f8fc3476308b19258fc0a598d832022ab4cb2f47d1534974888b621e, + 0x48367402722095b795d70342f64f93f5f9224632555d55255e5f4eaffcae697, + 0x5a2811bc834d2488fabaa6070a802ec3bfe89e42a7c4a36b04aa3858bd4bed0, + 0x63472d3ee2f44554171b30a92e6bb39acc87d4ebdff5c870cdd21a0018f26cd, + 0x6de176f08bf3a6592e7297fff492f69b04e9ffac33ae0bce68f3178ec550e3b, + 0x4b1ee9a27670f98d9d4e11daf17028d663c6ec36e56b454de437a7dc2414cdd, + 0x1ef5b266000d6bf2af26839f3f16e6bfbb3fe403dc5d179f0c1e15fc6b7ae94, + 0x559e2b14484cbcf67872a17c5272d07ac1724e57d9d3c8d47025a45487b7238, + 0x7e5c627723555166c746172cce047593f5126f71e5f8e8d4eadf8a78ea8bff3, + 0x1634f9ff7195b2b0e92a650f960d8720788b50ea1e98de6e3ed03d929871b1f, + 0x359c2efd089b722c620cddcca0a637e2509d26caec1fb44bc76a37047425f9f, + 0x7903fb9d925bc9227d7cbf366af2dfd18ca50a391150ca79c8cdd51e1a7fb01, + 0x3ad1ef5d3a5eb16b9c2e6e6a93b67eb00622e234c8a2e71dc66ef1eebb416cd, + 0x2210a223a524668f630946b8b744741b08acbb05b22008c9dfa89e982e5cea2, + 0x39323350550d5c3546f058e4a06196e57412be7161bfdf7c3533fd0efab328d, + 0x3ce34df019bf89850c7379d46444a4ca68a64f1d8573d5b1266adaf4187aec4, + 0x3f59d197a7e9d06867d66640e9085f54c9f3f90e218b3ea21e5623c13cae61b, + 0x5ce6aaa3ebe810cddb5fe01ad6deed62aeea4b1b3698e9fb104ceeb0f487382, + 0x51df1e02b8e14a57e8e9e6e42d659a8a45f798cdd89bfead670c8bda56f9c6c, + 0x267394960e5cab7a9d51c9058d1bffd28b17dff649cc2e973dae692dd2261f7, + 0x64d8b726800f336e99ec48e46c55cd8e54e6e7c39b4a250d6edb39979dec29c, + 0x48aabf019b4c8f6ae72bb1d2d2f55699bbf0c1a2a4cf30178856916ba58e0bf, + 0x4ad73b5a6e1417e783b99fe21eed0c038f42f2c01f7ec041b8011f81ab6d27d, + 0x49dfd63ac7a370ca96a33d9562e0e146f32cda7aa0d835bc43f2b4aa31c76ae, + 0x1ea76c32d051dcd783ec1018d9e6addfe6446557f395c814ae6b6fb0dc5b2e0, + 0x4bc82dacdc81b8b45772b555b1fcfaedfebf7a32ebb806ae9b8125c1aaf128c, + 0x542ab3c4d9e88c87c6a7c3b2fbc012fe134170aec77e7240f61dafa91b9dbb0, + 0x514cd9ce911655cb9ea938c73dba93c21e3b8b17069cbccca344c1bea8adf81, + 0x29ba16ab95cb946a7d84b428bd2b804c3aeb6ad6c201dc9f071affa7abc7b28, + 0x486038474b43b105588759325b38879b054d95b66f0aecd013cd8cc44bd5099, + 0x6290da5256ff41b6b0e3a902021985f9a6d7672620635282f9c37bb43e9c392, + 0x13b5e9b4c605a805c76e78a0b2620391989a0c1a507dd1c652ca68f5e8e1518, + 0x48a60d0c32dd1d61f55b5b19b95e4a9cc794c283283379ac4729947d56833f1, + 0x7f544b897ca99aafbe637b97b34da723a374be51048bfcf9a50661d88a3ce0e, + 0xbe235447e702c8dd54b780150e25c36fdd858765ed3d99589e45763b0e0606, + 0x2398b8ca78703514baaa14a5549f0841c4a15359c53558d61e70d2b13a2f927, + 0x61121b3d6a04f8af9e1cdccbafd85034b0724a9ca5deb89df2fe7407b5ab74, + 0x1d461bbff9fc704d322d7881dd4fd6c809239db77c269ae9eabe0125aa9868a, + 0x1a3cd427041487326331054d83e13457ad37237dc6e2122f247ba93f6145cf7, + 0x1cefa52b4108002d399caad2739f557ecd657c8112b28c456406def5bdea4fa, + 0x1ca6638880b89d9e3a4679c2505f1b0b4ee391e4f28870b0d4028706eba6282, + 0x1c4b5e99c5d2218273b16dc7e77a98f3c9a2083fb7e8e7a506101acfbd39d38, + 0x6541af6c244cc232bbb930b2acc17ffc75ea1a9421a1e5c7dffeb0813a6fbdc, + 0x52e013b3e2786530c5d72cf88eb0c608f54880d10b8beb60423f7d46434b8f2, + 0x3a479b9dc1e9258fe41a624d3d1786b365afc6fdba0416d6914eef51b2f92c0, + 0x3d2cc924265137dfa6f0504dcad62f19d0546265a10fdb3fdd2721721c16e39, + 0x2ef4e539d601e7a21e1c3bcc4366641fd96697e1efd0030a2c5be835281616b, + 0x566eb0036635b47eb697d95295a80acf5e9d69d055eb69271d93bd96fa36628, + 0x122ad38eb2c8e08aad9c2daff5bc03bb765a8d6b412dd310d2e6e57df1b469f, + 0x2727f17d5df9ace295e3d8f9d933c0e007fe40c29da24d89a6a639a88deb4b5, + 0x3b82d657c8b34ec6c0e112d6dbf56a1374ae89884de90d6eb66e05a7eb7c425 ] .span(), // Table commitment witnesses for decommiting all the leaves. table_witness: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0x44e8ae3a6504d5be6f2faebebec07be8527a3e61, - 0xf949b3ad9d94c996afc89312de0077d63f6309b7, - 0x337bb604c72ee893ea002e3b7fed54b35474b62a, - 0x2768af716c37a9a8294bdf512e6ae51d43672e01, - 0xcde874ce560f0e622b653c97c017d1a877e0d6a6, - 0xcf7a3141561fb4caa53a0761d9a6ceba0a8e908a, - 0xc28784e7cd1e25343a9bf4cb6df5a32c0595fc99, - 0xb41a66f9c7b2ac32a31ab59183041664a3492c9d, - 0xa64906938c1de041bc0463c6a646679b87759a9b, - 0x7b144d718ebd5c482c159c8cf7f3c10549c5a783, - 0xaeb3dc4bd8844a8419fcc8e3cc3627914afec82, - 0x6e2043dde25b14a91b321395b21e9119e8ec6830, - 0x2c816ff1b5dc4e0219d4b1c92d42acf621efb77b, - 0xf00cc3bfc0301941a2e2699a631977b057a8f154, - 0x6b8cbbadb85fdce0a3d65a8dec04968c0ad3d16f, - 0xe587bf555fd8bf5e07a6af5c3ee0ee8a2f737fa, - 0x1fa937345c4b22dd79831f35aeef1c275f5cc42d, - 0x1833d5248cf9d31af6c21108edea428819be066e, - 0x40c4d68e9bc2e86469a3a21473e7f12dce60e6abf47573650e8c12b91ca2be1, - 0xdfee0e8f49fd3173dce971ed1885843f228087cf3d4ca5592ca605af43a2c4, - 0x58c9c679163f33f5ac3cd3cd4df1faa86de9cdff820bc70a476ceb235024bbd, - 0x88734f3af707cb57ed61a4a21e5181d3c3ac39e7af757c2737a27f0d0a157c, - 0x7081d0ce87080af3aa8156079aac4007054034a1408820e3d520fdc85af448c, - 0x7bb80ca46f94857ee4b180f4d10214a7f6b4ec344041fd405f98d3a94559c81, - 0x2e6fbd71c5fe36a8d24cfd12c8b0cda7ed94d469a06b7938e76ff8ffdf95e6b, - 0x1254f3dc9fbfdd4200fae0b5cfac12b696356b420257bd52df6bd13115f9472, - 0x1b47a301f340b34bf3f7d880a17ce165a35f85e5c0dbfa6f0d2c0c71359cfae, - 0x17f858dcce454204d74aa3db0b5dab24d953de1e9fcc77115b2defe40a49ca5, - 0x1398ddeabbe8498945e5035901627df19348fb8ef6188d8363eb9a9e78e4014, - 0x4f37e928f81ca6b432f2ab9d68efbe3cd8d55bc3109417529e5f2896d20c80c, - 0x7c77048b0936b395cee41008e78f0d97db67dd56967da5a5ea3c879f610139, - 0x48d3f24ab7cd13379570780c8852f77f39cf88d02ed111cec610dcdd99ab86a, - 0x39452dd03e05f869eeb85c91cbc1de9756902d8ecc98cbe185ac46d6b6ccd18, - 0x353fa0e8e4060031174cde8db9fdcfc43441a0500fd42ff5a36a0801c471b14, - 0x1b8ba378dcb481c052a6ed4b3d7632bad94ec24768e99cc68c2721616f06ee, - 0x52c970ef7b9d213d047927b78a88b8b780f7281583b80c980372a02aa2c77af, - 0x22e281bebf8a9ca96f1cba9a541189dc3e0092752405d62e8e4ebdcae9d2711, - 0x5236823b73c7eade48f62ebf14f431ec622f5b68ef04f1fee249e12540463c8, - 0x110a963d1dcd3ea4dfc19965aa57092c12833f4ea387e065880a14dc659e395, - 0x475d5f79421953459ff8e9d996cdb234deb712810e90786aff90718d948e96d, - 0x4143f170c7ceeb02246e55a914ae47f2ffc9c08d5b037a48bf26a985c28fd41, - 0x35f93998ba5c50d2ed36cdb618a36b6fa0475e9d5a95d8361301471a0e2bf5e, - 0x4d95e3f8facb1f2854a5491503720edd16eb8efc1d7061fbf48b77300597f2d, - 0x56ec1715ff9d915b31092d72b5332bbb838de452a20adcd279980667ff6fbdc, - 0x11e38d9a83a1398bf34fa584f84062718dcdf16672f93e03464c28ebd01426d, - 0x3a9571ba797ce3aa6dd1299ebe893c00f1b03349cdbaacb43e8d814a28d135c, - 0x57115a1649943d79cdb7ac940bc84b715e982ee05d40003397fce34f9261ca3, - 0x4fe566cf86c53c49629e0374ae6aa7fdc721868dee12d7234f821b624dfc1ba, - 0x678ee54d30bde39992ddc762f0ec10d7e708574f7e819ececadd659cac2e3cb, - 0x4e508d5f99df39b0e1fdd9e7f68cdf3e6efb37568e98437a23ba99c699c6032, - 0x6b012974af94d0142af47aeb029407b42cdcea0da95699081bcbf58bfb5327c, - 0x56687e6fd2a53a2222a4ebee8fd9a9ac081c1b2a184c793091a6029adbb3b90, - 0x3a040353b8a7ce53fa5e125a8b8b9dd093c18b1183bf692f8c3ba963eaeb971, - 0x391859f3e8d95b1f533a95eb47a80f0b1c4aa37c74cc14befafb033159339e0, - 0x3125cfda129c71103cde052c9f034072c372b799d54b165062ae26785b9821a, - 0x73f106e9846a10f0c032dd11f49ba914c0e2f4b5db50d32bf0230d91e6f94e9, - 0x3ffc313d2a8367d1e5ae3e031f40a1ff2cf6f6da6a136d7819e57a6b95009e1, - 0xd9a207a52f2f4ce53501dc1e7a8e0f56c0074c6675722d6afe2f458e09aac1, - 0x6f1517ba82195d6c41eac4b0d9d1f0ee51add7420c7b146c53c31df457d6f41, - 0x2f3503fb1bacbbae81189f1f2627b0ece3392d583dedd5e9944f613bd4aafec, - 0x24ff07811e0930aeee47f251e477b5c8453f8c106c6ec6a04e29608116e40e5, - 0x33ad32d8c613785394b04cff984741a4a4a0ba3a40ad7a62d89f81e9033e070, - 0x7d43248339e9423617452868af6f4cfb353cbef860ec67d5e1487a475e4b9f4, - 0x425ea63b57aea3371bf32298925a220b5d0424524a7cdee1afcc969a0bbd65d, - 0x21a0e2fa0e1322f41a735cac707547546ea07b34d85dc7bc2bd3c8408f07503, - 0x59108273cfc03c71faae71b159b148c96b2970009a8ddfc14e6e7cfdedbf3e0, - 0x8b81a4b2bd4639a05efd5c14fec8f8ae7431b35d19d6a78fe070236b4e4ac5, - 0x3ae84ef7e6409c23e75674822526ff08e22411d1868b721afc9270fcd201dd7, - 0x41497c1fcd763ca6cd088275703c8741d6c47602bf3fdd0131b7a80f81bf46d, - 0x5ba0cfc9a3d38eaa593565736195a1154ee1265da2c1af1b264813acddeda93, - 0x7735d247c25a7f95f354d4691c19ef19278a034a1d09e3fc400be6908cd27c8, - 0x349b7292c3f69ed4790260442df3921ef0d7c8ccfca6ab9f412dab06b0986ba, - 0x146c6842f1f8476aa9fce8675590d38b0e398b9ea11b8de7783a9140592c683, - 0x65d53d7e51158b006f5aea8083aacd955f17329bbf99cda3339f3fa7d158fe0, - 0x1b93a27b16d340c51feb890a3e6ff4f932d8dab3054d20b54c89ea2c6e8327c, - 0x7bcff290730517b9206e889ca8a091d179411e4728b4ce8087cc3c861dbf46a, - 0x1c4dd680aa7f274b3d6f2159492c1b16bd42fe17152fd43aa11d52077cc49a7, - 0x5c3faa2194a3ce755e1c9f2786c15d1e9bf26b1f8c69bf8fcb440d0c4903b6c, - 0x3f4c426d01d28a538e7cfb657505529746bfc9246c8b2597c86c5c855d0a68, - 0x52e5a1b5bd500b6a0a3fd17ccf6171e2be672416a4c0ad60e5c058fab1c9059, - 0x53672f1cb6ac2c81bec5983320d771eb03dd829854c4ff70933b81111eb51b4, - 0x24f9535681f97351d8dc46f0fabe41c7db655b12d92f176d83894316fc77ce4, - 0x46fba0052675687ab8eb31a7769e61a1b88dc570771c77d0a1a85d342bc0f60, - 0x61a8aea6ee2fda1647b6ecb5cb0584a5d711082a72d14e2cf0049e7bbd81b74, - 0x49dfa58653ec1cfa4764c515c0406b9d1ab02b9aeca13e30391a7044e2e94b9, - 0x6e1b23c76fd4b9340fef42c22a6a265ce3590a4f9486a31a763faf4cacdc66a, - 0x6928978598911550ec31b057d62e7a5169bea14f83e340aa5a9405bfa7875c5, - 0x3830ff4b720a67381bbe884064ff7b0c146bbe20ef39b2ecd6ce6e26c73fe42, - 0x16823c70e8f573c9097d31928e6a9c0349ff8f5ccdd2b01069e886f929aa01d, - 0x42300ae97d1ea18f8e7d0ebf23ed27d866e9b6f50344fc5c65f0ba840e3aaf2, - 0x12eb6c51abbbfb56055bf28ac7d085c55b9e5277e4d75d47f024a44c765685f, - 0x454ff19d474d1456a43791a4ae6adac9a00a232cce7b5f299df45a5489c7cc3, - 0x24fc19eb93e560470713cb39b4150181e4d84a4af43041afe23ca8a3347c1c0, - 0x8a8d21f58540f04d3be903f83d1b6afec410afbaf3591f5e0db9f13ff44a77, - 0x5e6bdcf825ab04da817621e84c527c74e6f0dd1826ef382b468fcc1a1a668bc, - 0x10ce41e7ad1c39dc53ccfb21490214d4c95856a347721d6d555503e9850ba48, - 0x3ef948f08a2552fa0bcfe61572355a5f69df274f704adfbbf19e4da6238e2e3, - 0x6e946c493b1bec444d291db2bd87902125e2a2d9a17aaad5492185816b501d3, - 0xd953f17412b2e2236906848e1207dcb3dccdb873af9b93094c291fb97c95d3, - 0x774f61ade61b1f24779f54334b696c1fdfc2da5be77d8af860f292071722160, - 0x4673e47c1a8dbaea8c60672717536bda3ff76dc3844db48633e5dc8daf07219, - 0x599525bb5b27fb790d1d0bc425294cc1b7f3a8fa34b7e439228f65dba00693f, - 0xb5ef0ac45097169f091866d5cbfb8ffc363b26f187050d1db0256f2f6db6fb, - 0x1a64093f664d36fd5a615a257cab78d36af5d5ab7c5adba1f9c9b7a81e2d676, - 0x36d8e2b078934d98c10c660b054661472edda19ff001f7b763769cd2956a1f8, - 0xd6cf40d24a153711563a6182b7ce7cc294672479d470ee7e6cff7a787ed703, - 0x630fec89bc96188d3ed4c12a3a11124032e883cb47a81655b347149875600f, - 0x19dd115b41ef8232ecfdb539325df2117151a1970d6f669eb0e5395ddfa0515, - 0x6314cf49e4170443b0acb3128bf90ed53d68a5fb2f828a229a4becdce6c9bea, - 0x5c862f458cdb573f831a4ccbc07a2dbef40d9e126bb5c6e9db21e66223d78ec, - 0x3dbe5f5878ba30909a53413402584ff5d5d1eb2757d52b5cd8b12b10e1ed2b8, - 0x2cced1100c45d0b3057198aa2811b869d77c4af64a322ba11cbd4c7e1852da7, - 0x175cb69a7ab9fe80e49f82f40841199da02d0f749c4d747bbb091a4aafad406, - 0x5003a74b5387c8c7a74b951f0ba946b6ddc6f8f0016c4adcf0b5c9111c7d8f4, - 0x908c1337ff272a6ffb033f8f14e6e7d50fd8915edbe74d7c13217f735620dd, - 0x51d4c70b1cf372bfd91aa82bda9c04e8e0d7c904014bbf9bc5b78264e9fc342, - 0x30a5674b3b5d8977b1d993e3f8e1759f19c5af11d0f4129ec0dc1e66d4feb40, - 0x1588c39c9649d91356974ee445c06fe288cca884859eaa3c8e84de3cd06bebf, - 0x17caa81e9a9f37840e4867da00bdd52ecd92b877d885fdb22747d91f18210d5, - 0x764357f5b4e9b8fb01c2479e8626a708709d5464d0377fcc813b604d88dbb49, - 0x53aaf7e9e1b0e2a1c95f4910459a02d02ee14f702ce5fe64d5b1e6aa97288c6, - 0x54a032f2528a5d26efa1dc41e6709ac254b7340339103df60816fb304fd637c, - 0x2728776d6c265af6826811dae4c1cc0ade84a748ec1196bda5134a94a74504a, - 0x74ff20ae51b4c4399c71fa8e003375da21b5374d8d2836f8493bc532405818b, - 0x59a00b7fdc5a5db9839be9522d94c75ef06755cc067c3155b2e216f6ad605d9, - 0x4caf02c22a01b1de314dc6b6c82048abea55ad844328fad696fa040256a87f8, - 0x4d1a4526a76c7656328ae2c4c3788d199222295b084d7370af6528fe5b9e43d, - 0x363ca730170fa6903ecc19bc138df8ead82ad4c0e8ff05a01de5860d73bcafa, - 0xbc5396b98ed2e87c580d908125491688b324d4cc4ef164551a52292fd64055, - 0x558eae9582754ff69b1628f84aa13a95a7c99de33b971a77ee0dda99ffa0a93, - 0x63f13c232cbbda37fb139f7b96d62698d28d7b64a2bb4055eb287e0283041e8, - 0x1a697780ae96ca452b7b9551508d895e3b50be5ba561f76b6840a510b60f435, - 0x46aa11428685537172b9cea82a0755a2271fddd34964a8cbdb3bfc4517eb456, - 0x1f5ed257f7f6020cd7c47960a681bb51d39cf7ac3729b040fdab7a5870c918c, - 0x52bcfe6ca2a2eee07ca16bd3729e478284929f2d7d7ae6cee7f17f3f967b146, - 0x3a138a19fb3201c830478bbe47233541917b4f1606207efd0d0220a622c5663, - 0x31b6dcb493e0bfc85d120846afcab9261721c1887867d01764d9124db4df66f, - 0x6bbc5ae5bb1eab6a5b551fcfdac9be2614cd73711a3b68c0f42bb7193f26c0b, - 0x61efa47e93b477b24dc8f2d614997a3d8f559e203ab4083b1ec2dd7e095859, - 0xc79b36c96756b8bb8efeb383cb7fd7f89ff0b6e214d01bc373186b8b4dd670, - 0x78f625be74b7027a62e9bb5062a59825353d9c3caffbea608f93bb566f32141, - 0x7c52f3ef2794c39f2ef7aab2691cca2466500ccf3bd99115985c56e3d279936, - 0x6ab3a4539436a066bb5b3576b3976ea78aade0669cbd731e5f6747e0d49e35e, - 0x62f1fc1695123cf5a8e8b7c96e278833d0c75acac7a8658dd23f1e3832daa74, - 0x126a07e8ad2ac8c52f5fcb3263acca6af50aae230a30f6efd5056d8490971d9, - 0x7963ab0a3e4bfab4b6a89536724191078fc916c0ed354b3c0d9dd1f9ab4a540, - 0x1b262ca1c77365a01b1d57095d819658b035e40c413012d36e5e2df8aaf1f0b, - 0x47bba6ec70a6535d1e7425058b33c1aacbf05bc0cd3a57e241998cd0455a2f, - 0x19d4e48eb21af625b61dcbc499a83eeda05c3258886ab5091159a1a88b32dba, - 0x4b2df2c4bd1956eb70c5db3a59ab1ae1f2c7dd63063d32d93420041f3857fdc, - 0x1ed50af5c61f679ab555e16ff98fbac922bfd1f056477e76b77059930738670, - 0x1e111556428c33c4964c984ef501cc6dded1dd54e0720f38cff5ec462344822, - 0x79079166f953d55c9eef9a549de49a86d96988e0c36fd7c66caeaa3acaa5718, - 0xc74b977f7939ba7bddd48727c6f686f499743bde0e9809194ac903686f2aa6, - 0x3299dd84ab494aef08f114a8d0126c9a33ec2c02a48f38c47ec02803f9d55b6, - 0x771acab7cc592e4acfe677c6cd7bad4efc7fc55a34cd41a9f4b51d0505b451d, - 0x6a91567dd9cd818bf1c030fd881f293e49d1ef2b6bf2dbba5132e807830aabd, - 0x31de36f1fcbd5e5fccd782b16da835079b795172ee176dca304b49f0cfa6862, - 0x30b94c96b59f362bc3bcce28ddf8af25457faf3212b4e68c2f5df5da687237d, - 0xd757065b7d41a85acc9a876154c6d0111c6c6f9b4ca0cf067bc284307b6467, - 0x27a958bd5f034711d0de4d0a0ade372a6251060ee6dcc70c08349d04d7274cc, - 0x72668952e940306e7f6c10013738716913ff2426016b847c660cd8c14364594, - 0x34b034bdb99c0b32230e975eeac58c9140c9c7286b0c053e3d67654fbe6a08, - 0x72ba2a1b3953ac34a961e4b7ca7bd2a16131f2cbcaf28bb12e0829a597c92e1, - 0x3bd2070e45864155d7482ea71af3e887fdaab086c2e4b3b536e24c06d5e2621, - 0x3d8b8407047417bff91e017ea05a7455da7a8f8a6fc543a4dedc8c6ca924f73, - 0x726be656957aa39557a89542e1cbd4006788c5f22eaac859f37a72417f48623, - 0x7a28ba6181b49d48b66a07b8a5af4771957a7b8146a9a4e20bff7844b9c251b, - 0x11d2986639b4c5f8727ec693e634c29895df24932d8352845c7b129da1953ff, - 0x7d05b1df191af0ca6fc7d109295775d1670e19bb99010a059aa57e4cc3e80d1, - 0x3635eea933a9310d6c10143c050854c6dfb65b3846313a9101c94d194f5fca, - 0x26aae23c91542af2e73ac7a46f5e33d61024447178d7ef183d972179bee67a9, - 0x2cfb610fd50e951f8996ac77dc747a309cbec9b1b15976b197ad80c656c6d35, - 0x168b2b339174e8a1e356963e57a280822adae232c167c3433c50dc90cdc8f46, + 0x8dbc83acf21ddcc7cdb62a6863573dec66c6b2e48e9df939dd8a9d965d061b, + 0x7c9c4e708a5625017bfb1e942817451b9372b92001398e0d6c6d8f0418c57fe, + 0x578fe84314e8b2fc7fe89e108fb9ee0aa8a03ce4675169742eafa7fb9f77356, + 0x1b7213f48af82a64ccf57aface42f7747749926297dacfe8ff0696ce7b4ba22, + 0x7a1b6ebcaa20556c86a0ab07be10b5d0e26c28386be1a8493bab45f1ea6c892, + 0x4b065164cbb63b05fe5a01f87c4cc1495397560eede56c563989a0288969029, + 0x2304d5345e2a9e40d3d9d627f102f44dfe114a0c2ba16a18226bd5b74a7bb2f, + 0x6941638a63e2c824048209f6071aed925d1880d63689b5f8d724459d0c366c1, + 0x4f3902753dc5c66588ad953ba4b1cb6d8fa1c75c148bc8fddf68a8feb52e1bd, + 0x3e849d9a3090a2ae5168de99b314f53868b6c7136045d946ded261f7087c80e, + 0x6fef0864ebbfdb6b82552e26d5f97cc9dd28cd29db2839576d9b9377db74bd2, + 0x64abfdfe1647f98b33b8c023d0b457c75c726037541eb7ec3b27c009facb97c, + 0x2b26a740d3f3b42b6c0d69eb38a4232032ce4a37ec4367c5553a1dedcb896dc, + 0x26fccb2dfddf6fdd6e9b6d3e7ba3c23bcebe1a1e759abeeea347ea9038d8e5a, + 0x5623a451906d23656e4ce25de76692b262e4a2cedef94558da324ec57ecb405, + 0x45a2685ff0d95293841082bbcf49d7fc3fe20e9527a3120b981e6d8ff11718, + 0x4c98c0d795bd552421baf262cf138830cd5716f2e7a7a60f47c244826a2ca2, + 0x6f46905fc0fcbc07bd05d911512278e2bdd84b7f9064de51382b4520b8f53c, + 0x3f10f743f3cac2d9e5e4f2c81cf9944bd6d5c66cd6119feb3947d2f7debd82d, + 0x27e1140c64c0fd1163f8460582e4fdafec2faf431f2280ee1908f0bbe70901c, + 0x6e55001509721e83bdaff761e24095be99501ba5c32739e246836ce00e906d6, + 0x74c2d2073e5287f2e44aed87abb28f65136b004152dc5194892d4a0a7da35b0, + 0x77db8750a43395a87b56c5e905e6c6546f6ee205333401f8cf395384a4b1e96, + 0xa4d50521d856b4a27e8f2a2bdf8d3ba107e992d38f41e6d61f692526704919, + 0x3bf6b12dd0dbf323309e679114aef655a94b811438d75c34a82fa0ca840c6d9, + 0x122f4c67d1fc7092076024d4f0106d660a4f93b3a91b51f80c20c926eb5a58d, + 0x2f065863a31c1acd763270943c28cd0f8a13493cedbbba8265346ef05332bc3, + 0x579d5b8eda94167ac6f6fc244a844d473e2d828f23b7dba4893282e761844ee, + 0x72922a1b4d96ebe3f24b8d7a6d2c62d72fc287eac5f56af2d0d5d2b339b781b, + 0x2cac06ee9069fcd9e3651438f076da674ea13a419d50c8b21faded4025307bb, + 0x14d51f2355fdbc02a81d496a9a60a5e59b2e8c99b1ec0891e3b525c5bab04fd, + 0x5dd08724a1c139e4317b2f5706fc45b82c35e460ffd3d1abdcff1ad9a2a534f, + 0xef2e9d114aef4f0a2ccd550417f36ef410fde348c55d2e5b370ba72134d7cf, + 0x6fc2d9bde7b72e8cea5f70b5d747ac2ce8f58c7e414453172575097b544cc44, + 0x506a27cd5f77f3f21942444114b2e59a6aa7148822a613140e727e0692b7c68, + 0x3d29c5e27eb9fdd3b7fb22b3dc59c835d1bba2bcac4228ee295f071296ac5e6, + 0x25a9c2ca141a4b8ca7dc9af520244633af07679753f788d8f907eda705e94e0, + 0x7e99229abe1570fb438917e9d694c4136aba63219816cf48550c1d745f9d1a4, + 0x6a8d16f72042cbb915ee6ca0291feed20e62f86f94456a942ff67f0b34fdb90, + 0x7a22e90f9f6a77089f194b4e20d9878f3162760eca75eba38b47758f6a5bf6a, + 0x9d7be60bc01dc87f023d72c546d7a09c0136383eeffb0f6b1016020c2f286b, + 0x6858c0202e8ffd1dc150674e11b624a04d2ae26135b1eafea59b63501de5cf4, + 0x7dfaf82a57c204e78a036f4233280cd1583702424f6c4b65ae167cd2c6f4ac, + 0x6607d70d8f31ea9f36a7834ab79a45992628e28210013b24f0d81c95fb69da0, + 0xf69db0c95f2dc8bbcb0a1024d0081408df4a087e6dadc2710590e046d1b47e, + 0x55062b4c1741c37e139097f47dd7b3da1d314fe96bbbfbc35072de0cfc27806, + 0x77b53f8a719592d7d12f9eeb976ef93accf38a26e33f1242138e1fd19d4da23, + 0x1821833b99be84601c52594f83cc59b8386a6e103e4d32bfdfe0e523be8426f, + 0x7749e793de4342721b0036448d1f90d97454c3e338d887db5449c632dc73e9, + 0x52936b0b39d4af8357388f6c674f3a4583e81a19dcf45d524fa299e24613f3f, + 0x5506164aab11b0994499bc8ee29b4488f8563322060e76ab30fc55a22525314, + 0x60ddc9411769eabcc30f10096e553cf9afa723a3b3a9b49e993bd4ece8e31e3, + 0x2bdf8e68db1a4c654d4ad9b8a1eac977f4a209e5d14acd98348bae8e4b52429, + 0x7669d5f44fc6697d0079682c91f22dbc7b1555c72fa0b5ec9ef1d6409d2d3c4, + 0x38ac37236dcc66300118509cd6d08790696797a8aad0fa4f4f0204209e1b7e0, + 0x340f599ced786cfb56736e70e4edb23a85d5be33e88fd0a1f43c9f31bc903a2, + 0x5a66c38eadfbced290aecd325bb8219fc51ac343f94aa9c82f3ea2c9dff3d95, + 0x7df1d2a0c537e27571b08fba523df94912a73dfe0f318aa7de37cc74dcbc661, + 0x37d0fb2e32e9a6cf94de7c7a6f1454dd19215e77ccdac257b1bf574e2ae50b1, + 0x31f1e2c32b46b43699a374c89aa4a124d3995f5a1d011444d780172859bb5ce, + 0x1d7b2a354ca1705f9e03d18112ddad5c69fbafc69ff43b5998e81df168ffa29, + 0x4a31ebd3797e69281b4ea990ee1f412713b4dbe6f65bdde07373ea2bd292b6, + 0xf0283938499f7b35fcff5e99761a00fb0cb10b36f0b4bceffe8f709849f999, + 0x3fb6b8530a9005a55d4069d6a7af908bbf5f3c11ac189dab1833e251d74c307, + 0x75d88b732da84362156a81d72a81f48965c366bacd0b2510b08fb9a6623f3a7, + 0x2b0d9d152a48f43df8696aa99b36c01efb2c34e92d92b927b68a2961d8428f0, + 0x31d090d9beda6429765ef42dfe4085af293b7a0402a1d1f555a2648c10c2b6, + 0x3808c09e65fb53d203b055f299e5bc2eaa414644bc7a74d083bab022ff6f2e5, + 0x3cc4a7218d947e9dcf546d5a0b7676ad821f865399436ddb60b697674868f6, + 0x3ef813f21c5a85e7d08aec3430ccb60b49cd0c96185c895ed4927c2e7bab79b, + 0x328ee61fd340cf30f0973902c934e2e05d5e9b61eb8e7cc96ca657fe6832994, + 0x67c5b8bf859a85b7d03fffa139dd385d3a2b2bdbe753a405cbfd770b36207ae, + 0x6f3e881474bd411726179f4cb12019a40c2efbb59a601ee20cdf57a974e3641, + 0x774e82498daae28a1ca178053b67466b228884c51ebe5e3dcf2cee89f1a8449, + 0x6f84b8769f70380dc827bc58315d937fd1d4020ddeecb19fabb7943384a5f38, + 0x33e99fcd33c01fe5aa196400883c3ae934010da9df24edffe66325be6185d30, + 0x49f5bdb2a6cf142597473ebde1bd55ed73cc5c07aa309a4f62ecc64dea7978a, + 0x49dfd9c7b1707fcf959beeff58ede8644cbe1a39396a81ba0e90a6739f1781, + 0x24e6b4cdb5706f844c97294560994d814d3f1e9c38b7ffe314c59797e7f0762, + 0x7221b527b16f12987f976ecfa234309890b65caf7f3d30831594c413c0e7052, + 0x783797aa993bc93347ba561cf5d5427b9ad974f9c280e467ed31e02aea4e5a6, + 0x41ad9806923ecdddd829a60e6304476fe8f1a06fc70fc62991a134d5e9e34be, + 0x3694a9cd5c4225f743fde3dd15a59d1ccabbe4fb0192628c6d1ed4d85329325, + 0x7d860cde26c7d131732ba5d6433cd915c9bf5038035d88431f5f0b97c7c57f6, + 0x236e3e3e74a01dc191603a841703da62385ca9f7a48efea781df3acc7c131de, + 0x40cf1394e9fd85984c7c6916011c1b59c95f7a64f87e0425853ffb795af3b3c, + 0xd09d948e45b1fc82e31375862c09b6618a1eb0e779971df386a088ea3b9589, + 0x49e1cb3bb0cb87a4f13f68a28a0c77ecda3432fe5c7803c906311b5ee947254, + 0x7ff3e2710ac26fe054506462164ab915e5416ded803a9e70f5fdd7f44e817e4, + 0x746d9bf1e584a4c3425d2388110ebe1157282bffc58ce653d8c196ed452e245 ] .span(), }, @@ -836,204 +468,112 @@ fn get() -> FriWitness { FriLayerWitness { // Values for the sibling leaves required for decommitment. leaves: array![ - 0x1b96b543599e854ea774424095de281625bf8c9ef5cf1b56af023ba1822304a, - 0x4ab203be61965c4c5f6e0e3160bb34b70d3b5a16d5d67d53e0c01eb4490f683, - 0x690545e0a2bc1eb4e071f41a6fdce14d9f56520f9477fd73de1b3f8775ce5c, - 0x724438c7b1f62460dcdb6dc3bf0f15ad7eadad6433d7dc69d86192634e8f544, - 0x43fa1cdf830d5dd91ba1cc506fb6dd94e1382d950c502d59ab2baeccae369a4, - 0x3434c52bf633b66270138b185b0a3ce075b41f5b4598bfbbb4602e5035a13ab, - 0x6b1e91d03915c2eb066b17939db4e7e0ebbb0307b84cbee70cb71bb92a1ff9b, - 0x25734c2b23b707c16921ec7e824f5e5be0a7bf1f33a96251c85bf47204aec77, - 0x3a9746e6a4d8c1f23f2d79f5c8506c90a3f6e5ed0ff11e66bd00c460fa3823c, - 0x190f45bb7e2aec0fed9e655134ba242a29ebbd59a24a4ba026fede6dc5318c1, - 0x7fb3daff096e253a477395524c6cacb794afdcce82d3b812d66dffa048a5de6, - 0x5e62bcbc9dbdf11facc99cd019677e849735819b3267535662dd0162d41c1e5, - 0xe49aad515139333811f63b8081a03772dead6de4bdc619de298199a80102aa, - 0x2c8f00afee612275b539b275966fd6fb0fd63ae65d4cf227ae1130c94c5774d, - 0x3c2341182133ece50ba77ee1905c0a8c1a20c8edb0e830d6d21bfa2eae37408, - 0x1b8675ac080c55ad179634cc44f35045ae8850055d77c4e88912d9fc0738245, - 0x4bde7017864f95c0c2a7932230b2fcd8ed1835c80cb1b683b40477fc4e1035e, - 0x125b3fc53ab0a858b8a1e704287bd537fdc22cb605aff74209c1800ff1458f6, - 0x6f97823ea5e501aaafebaec9c371900f8ddcea9400df0979ff8ff56bdc8530d, - 0x38e9ba578beafb4c563e76a0e90379b4788203ea1678ae71d58c5e42065feff, - 0x178f793cbe9d31891ea7a19d969064245023232c0f80d138f79da47e5f03396, - 0x3666fc751a1ee87ac8bf1ddfa42c8b852eb414a466858d528415a1748810fd0, - 0x520813ca68e4c266b653c9d00791f2dd47c2ba7dba0e69a8e65fd6cf2641eaa, - 0xcd921a67c30656e2799fbe7446fababeeda4e5d28c459fcd709ebf7554aeba, - 0x67138d148cb07e65b05da5821de7abe574afd2daf509b57c7ee81d52be31232, - 0x1fcfc821ba198ce9ca478094b35fba375a3e950cce6dc153bfdc3e30fcc0cab, - 0x63678e2f228be3fb10eb158e79b12873290c86c257e4b9caf98f0882eee4066, - 0x7efe169398a095e296cfcb5fa61c7a764bd02e6552f989efd779e87738868ee, - 0x5735e947c8565a24c86c6d6f20510429dbe21580189eba8bc76659fc5d076dc, - 0x4f97c68d0083f85d52e072ef27e6e6b46d430cb261d585f74bac520e00a5dda, - 0x336b010d5ee6616ffb95ce42e7f515c8859d233aa64c2e78b4a7a4c4d3a55a6, - 0x59ea7e75fa6caa50c33731b7a80a01e86c8604424bb9863d8b4d9f5d3907ff9, - 0x48232abfc1ada1b1e73df115a0e85b5fac7f2444e8f6d13af4468d150704d8c, - 0x6c1ffd4a6a8fa5431a0a6c4afaf23344ed8c8b16b199952bb36f178581fdfd3, - 0x1083b27169259a4b8af83ac649d1bbf53469fb782f0d2c440cd6f2a99a5f88b, - 0x16606f41408800904f1fde0f5a863e41d12c5e7a3369a30c1fdcfaf94ab4525, - 0x3689aaca74b56e33d3b59e6c342c3f2ca32f82eb470d9032a18cc09d9d58bc0, - 0x182832cd84df11e4365e1f847ba89e143574f533122165308f53e942b6ebca3, - 0x66e89500e07d23068f0df830ddaab4eb009fb4eb4928501e6447e5019088d0c, - 0x22d699eb3f02ec5abb839d0cec2b07ee656cb74290e299f25d10e83fb048cfa, - 0x654a63a77a1f6d0d90739c6c33ccacc8c11dfd0ee1d5e56903b2c678843a5ac, - 0x34a61706676827da6e9712fdbbeec3da61676a21ab942026049544a992fa9b1, - 0x1c3f5b53f9e8aeb2dbb7d9681e6cc99fee445fc9a6b913378dc2828abd92e5b, - 0x1bc1ae43f8346e695d6af9991873c962944663dfd8822a461c51bb7de164991, - 0x37964f6f6f66cd0eea56407034ac64f9214d9577c0cccc6e6597b45d9abd5d3, - 0x3e89d63e0b17744bd2b7340cfaf237166287a868bcc4f70868a2412241ce5c8, - 0x45e255400eda4a0db334b0a1a8c76a9806dfa25f0f6e0ac4b67939eda394947, - 0x75a0753a18e29e0ad3a6abc04ab5708fe8aecec82e6318a23bb40b603d0ac16, - 0x6e70733658a14c87b1e20c4482c874a3e14c4bd0bfb83c493427ea6f36150a0, - 0x1c9791ddfde81028dbe6d98d6f387260017f2c2342dfbfd722a9ca0d3251268, - 0x20f940a912fa28badcc326bc8f533b4049e3a84daa6a1dcf24e6fcd7eefb830, - 0x69de9078423ec4ebb173072289c8986b932268cb871347fb30ca3509d45ebd9, - 0x6d3b7a190be109e5fbeffd9f4b37d804caa91824f91791a8211d694dc47920, - 0x4c01252705b1a8e408617ec1f107a4119b037ac14c16c68cb2f93c40d11c71d, + 0x4d08279c0b89588d1f1180f86e288f3d5edae56c04a9f42b12e515db3ab37b3, + 0x40462c31482df1922bbcfc6c2c8a2c2dbe5071520186a210ac5ff54918adda0, + 0x4755c53d285f6724202f8b4f5caf24a11fcbf7f96ddeecedf054defc287e502, + 0x2524b8ba403f98a64f95bcc1a5c1a6f62e79d80a52a98d45cb8acabba3cbd0f, + 0x6c51293ddb022a48cc0e74202504db6d184fa825df40f12d2574d76b49d50c6, + 0x7975c229b18ca94400f343fdd409a414c433a8e63ae16e124f115f6234a8926, + 0x1e1a96c6222c00289ae5512dfc23188c964d4451c948a22cad4062c3aa3363a, + 0x60eec34e69344131d0dff85556f9ee34e85a6fe90b5b67777b95ac08e78fc8d, + 0x435f54d885c0c60b56afbb6f21ba8f195de317d8b523d823095cf6ce7c0d0db, + 0x617f988b916ec790c96dde473438c5d4c3c5214adc176300cd8d8f651a3b9ac, + 0x5110ac563160309625c5240708803529cf75ea0b1159a8de14e14f445d03978, + 0x1b554702bcddc73359772b80b5aa31a5d134b72fb3166aae3eead440f874740, + 0x2f7d82b77b2d2a230c05b01a0a2518b2c7aebb012a39ed502b50b6a65131ad4, + 0x1f1a5e9d8ca3f5b1855ebf319c65ddcd7ac3acaeea0d6186e2a593930ea1324, + 0x42b84dc65b41cb76b09a5baa5ed0035357f028405aba023d6c4dfe24ec79670, + 0x529dc95f29b803c30d6da7d4ca5dea93ad1eafbbdad468cf7e0d1fad9a1d42b, + 0xfd6599c0fac9ad000f567c3a33a5d21ba30bd813dccb4537ce2481d0763773, + 0x2e7afb4d4a4f8b102f3c5e7caecec4cd2e0050a93d4273bbb72f6ff1a8cede3, + 0x5f8b08638ff9a853f2dec563c8a20989437ac2f07f321aecda73105b08a0e1b, + 0x57e304e3dc9d73afa160b50c1e09ca75cbf37565c79bd239981565b87860a01, + 0x6092f80d0b01374631a41ad865d4243b6bf8c29952bdaac178fe604a2d920b6, + 0x19825ef833a94b8e3d98a97319fbe470caa25ac4856eec103cb6e905bd551e1, + 0x293b1b848dbc3ebd85d606681956f5eb54d96505fa10cf45a51c8c8749a9c3c, + 0x755ee09fc187b2e56bca4802955a7361fb593a8d0d10b06a977a52cfe17ab61, + 0x379cb382359199ffac178968889ea02d17c4baa5f7d32df79bbf52b1a53dd69, + 0x79cf3fbc5e68dbd32068360b445d3b288ed70e554a5599decae8e56b65098a2, + 0x60cac39ab28ccc455a76a16880d2371be0262abf1cd87f203f9183e305986cd, + 0x510418ffe574a0525ab2c8b11f77f1a19c8134ff8dc43d4a06f7cf2e684b682, + 0x273659c005766c78bfc768c8dddaef10258feaa1a6fa7fd053be967231b8e1b, + 0x4bac2e6a444b3e6c5cef96fca5dc9ad7f113f77a5aae7ba4f4f48a1520f10f9 ] .span(), // Table commitment witnesses for decommiting all the leaves. table_witness: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0xe848d60131b56588a02b63527397e793d06d0de1, - 0x771a8f56a9605beffa0a9556481aae16235bfd68, - 0x3267e21996a7968756703b4b690130a6c5010c41, - 0x91a74254dd90b3f1431e2961dcf683c087898f0e, - 0xa23d9bb756cd8e889b4936fa07e449b5667b4d4a, - 0xeaf47b835d5e83d058c8979a032da9415de5261a, - 0x53c3c5881107b6580ca9a182ab9366524e820615, - 0xae8420b4d2265c95a32cb525808ea53c5eb4800, - 0xc5ea04d35c48ab2cee27f6e7c3bb2716c3a7188a, - 0x83fab8f0d64c9e399fd735ca599971fcbb5d567e, - 0xee83e4dcedb7bbeba92d5df7a2770dda1deb5910, - 0xdab74371037e2b0783ac58bd61a17fb74e696dfb, - 0x503f22d8b2d8e7c60a127a08d8546e522d5f3872, - 0xe04a72526124e112fc2d5fb985b75728fec05d90, - 0x977f01fca263a00c7a24208fffeca17609a043a0, - 0xe732ab9dbe791df5e402eeb9ee63a93b0f3a8417, - 0xa19bc3c1aa5e69c34081ef87cf6523ce87da59df, - 0xec0ec5b1205dff21a5d18d6d702db3f8ceda3bcd, - 0x1dc988e020743b7c218318710a5e9aca44e3771c4cd24c23b57d2b4a2099343, - 0x2b40a10941a564bbb7654eb9eccaa3a237646d748fbd5c9d833c103f076edc9, - 0x64d5d12a54deb415f49e5ad14d578457583d36b33d253718dd4a176d1c391ff, - 0x73682d2afa00cd373b1c4df2a5e8cc93fc8c10cf0c08d8f3ad681290626e90a, - 0x36375cf48af6d47c37752eb31644616fe82175752dffdbbe06d3af7ad0a0e27, - 0x2d7163aa5c997a54ead83caca77cf92b8a9fd8ee33f2f39c540bb4439d129b1, - 0x704181fa61e7e31e498d83b9f4044caa4c3ccb5c8d30c7dac4c8caae69c4c2e, - 0x27e0613e5bee243ea646ad2503582332b6c586b20befba8d86e3c62cfff1cbc, - 0x5247d9d7d8f96c4a96ca70669a853f69be6a8e2b95d407dc305b890a1ec54e1, - 0x1e76c2e5abe898fa29018a4de8b60865e6566453ee7ea4f150e05216292a7ee, - 0x5b94e434aa25ff64ba8da729b36d9e3cb4a69bae2e4c871f8fc7792624ff0e6, - 0x6aa0f8f85fdc4620db19556eb17ae66450c03246c0f60ca5a702b57bd2634fa, - 0x2202858d0a80d8413360e2b00b91a8473570fa8a3ab5898714c3ace41907eb4, - 0x4ef2eb186aa67226cc327e69583e379534fb5be5728163a3d4803dc6466a4e7, - 0x51c9905816962a1268ce16fdfa451c1b72fe13cd9232e18e15a52dbebaa9aa9, - 0x68799fe12703cac05d6ffd3eace1514d2d2e948b6398078c874dc40b801ca48, - 0x1c43d7c3579ec88c01b1d2f3e3662e2e588382ad2ec63b7026ade75d0d557fe, - 0x22058f3e39e2b693b41c3609db3f7c909109f8eaaa8c350779ec909e53bb570, - 0x897ae9f19c350b807d1c57c4f391bc644980ed0e235d32fedac829fd41c9da, - 0x311f9e2d77e247d79c2e9486fe8299f7fe9a37f77d5c21581ccbb451fc4f858, - 0x21d7ec8164ca8a7a57a64c1dca5b00aeb3cd78bdacf5993082ede96d7ccfbcc, - 0x56398124179c80ef05e3163a49297015942ad82b0419376cb6cd8a88d06504a, - 0x64db11b118c01eada2c537759fa9dfb2f168e0b04a45a53ebe3f436d4f63006, - 0x417e9b5bdfd59b3cae67260d8b44e05a68f22c15747f3e651ccecfb0dcbccc9, - 0x50fab45a3eb199c79d58434bbf4c9f5442033296bfd1c800bcea1a73a181363, - 0x5fa747ced44660e587511214044756926638f3717db6b57f47abf94ad18abac, - 0x7a26ce03b3f4b6b1a92f949884ce53511a0929606b13c6b95b855d8b1929444, - 0x4a66474082dde536f2fe133a9dcfdaf2b7d4aea3c71fbe86c2d05537e0e363d, - 0x5ccad8906f6a6b2327b04b0394f2b0441036e9e8a685900815cb901fc79ed8f, - 0x74151483b5e8f526c3ae4ce43e0f75e57853095a7c3ac65ab9c2ee1bfe1077e, - 0x3291199a3fbbb440cf7fb23afc46fe3682db9b9278f7501524c64377b70600b, - 0x6013cfe6283d69ae0fd7cae7bc843d583ebcf62da84a3930dee2e75ebc3573a, - 0x443f56db8705c225935b7f34b9c63b5b5409e46334ce5ec5ffacd501a9d9c0a, - 0x69d3c382bfac832f55887ff10340d64528142e9bdcddefadfdf33d694d08754, - 0x59c2361173a6854f69ec49251855765b353906a33ce1ad117c1400a89856cd5, - 0x7226cf8b3614e6c2950e7c21225207e6a6e59ab6f79647558664da6ae398ee2, - 0x38e59841925edcd13920d1243bfd22c543e94f9dda9358685acb73857f54202, - 0x36fbc291a01dca94ae4da2966ae9672dfc2ff8c365a12f61e89b8b538c9305c, - 0x235f2a3230a92aa2f778318dd64aa3e3a504ac3243bcbcbb60777b409b15f35, - 0x55f17419a35181d74976b72a523a75cd2259f26da64362345754dd446539e05, - 0x5011959fe6792b59a62f643fe23a6c8ea608938c1f4c13d9f39b9a9ba2dd01b, - 0x27aa224fc9adf1d40764c10fcf6e80d27772f863b469ed533240eef1b9d44d2, - 0x23ee0f34f7098e07f5216c81309ad68f24314f14ad58052b5a394c09f785059, - 0x3343d79000269dea61f22307d178bb1e81c36d26ec735c29e4ac459cb73dd8, - 0xb3eb3598c7fb619fdc3784ec0bb406aa3d2a4ea4a180b4cf34dab5215f76f9, - 0x6ab5ae9938e6ed35f94d82847dec4eedef16aa8ca61f4a2d3c07b28302ded83, - 0x37faa66878c7a087aace5acf5c69b41783ca755f12a4451fcca031a7258c41c, - 0x664501e0ae8fb4e770af8f90b82a8eef18f129923c63610ad8fcf776ac0a28b, - 0x313fb4313f45d521778a5662eee2a613559e2098ed6365dfe4ed15c1a901dbf, - 0x5b7cf88b26f6f05b8f057cd0df3949990625dc6f9d8056bf6b5497f84899fea, - 0x3c144fcbc94b6f44910da3652ff11529f2161f5ece7afd9e1faf5400a03ba60, - 0x4d73aa12a14a53f8f788a0b1f06b997ddc4f9461e59fdded0e417c055e39825, - 0x7566d0062c8bf46ae1965ac992ba7d576f8add9613a5a637742e3f7028a7861, - 0x230380be666815d3d223dd9b52d7dcaa808b1020b2c3caf5919fd590852b2b5, - 0x85785065e1ce54aa17e6e29ff79828edc819e8dc835df21426627256fb42ab, - 0x582e897a38c7f837bcba911306fd1e2fe61c2b5480d23dffc3fcf906cd9ea98, - 0x5f6a1ccf8de2fda08ddc273e56f07aa47600e7e1f80345e4e2b12d33a9def04, - 0x5819f43c1b9b0f0ade48416dd9000219f725dfbb45aa66228b585bd1d47605, - 0x22e0beba06beafb380dde1dc175a4bdf429bd4a1c596521bc27c6f19f130cd6, - 0x740a9655ab8b529526482f8015299388b7e07f690ffff9f0913ba713a3d74c9, - 0x5d6a6da31d6928a08468c5f4f9377a465ade063c48756a3cb1519eef29aad9c, - 0x27a98a0d6d4e8c17438014cecae05811045edfb7b0c47a0942bf8ac0e859874, - 0x6ea6d480caa78d33b98efe77d62b620e8667dc58a195d908153a89c0bfd52b2, - 0x2413b1642bfdcfda84ae65e9e8f92a2579c0a3e40928c4ee246c60f43706175, - 0x7f7c68ff39f381002cc52c92b1f4773590f0d943e8df6ff5d2dbc056177bd62, - 0x59f6e3494ad6055e3df18f7d0814f20347ab8c499d59026abe317159b69fe20, - 0xadf9f0248736b7b8b42ded413a36ae3a48657b9a1446274f9b13904543eeba, - 0x6b89d935f54ec508b9f11813d59e6c8408686813b2ed666a91b80b4ad8fa47c, - 0x30bc1bab91ba4431ef3a01968bfe5785eaad1a38d8ba6e312992ca8c7c685b3, - 0x277dc48114b952397c39ec0802d342c584555c2f0cb4f990ff11b1948ff55d5, - 0x13d718cef47f91b2475b92f67a0519e2be4675b86cfe9c7420d27b039a25df8, - 0xf1d89b4c2ea80d934bdeb2f309ea12ced85b235c9378a6eea503cf07494608, - 0x3b8826a78a3c446e5830f2fc101f3f2b901ef14f4c800de17e01e86bbd49078, - 0x4cf0c38bcfcaa25030abadbf2f1b3466336684409d0c6fda6284bc340203705, - 0x4ab5aa06523cf8d227e9c70a663fcc1dc88d9ce7ac0f7b9242f0528b66dacf4, - 0x592b5c595c542b733b21ff7006741a6eb4ea1084d199d36d818bbb1aeca4cb3, - 0x619bf6c98150b933fea070e827897c5eded0d946cd19499d9604969c0cc0fd2, - 0x26f1cfc33d3541990bea3c6597221572c4f072c2b8b7d11a3b675aca5b3ed72, - 0x724d20c333d41e190a6daf1820803190230fae437c960077599cd7aa9efff3, - 0x6d2fafdb9f17ffbc915565e906790459b4244840b916498b215d89d331df822, - 0x26ce814bfda773371574ad435a8454102066feeec65e556449da43ef7770602, - 0x2e4ef7c918ff2cde0171880ec4463454463ec719e35ba70fdbde122932d6378, - 0x291ff585db403b0d1ae79c16414ff34e5e5a960fd8d527c9f79a8ba69b83158, - 0x4323a8298eaf30af7e6d60cefeeb008d8a4657514e0f17414eed8624414d73, - 0x36e89921ba440788fd02ce054669844a7c2affcd12047e9c5fa45fee297674f, - 0x84f6604a3fa3e2c2ff11b2c4bb8bc2130644209d711a2b3463558fdd087b6e, - 0xd8eafb02a309d2dcdb8f61dd88681b7c7df9bc62fdb7172e5e2308f022149f, - 0x1d8660249ab8515b2d09f8ef651a828cf560ab140f4e98da70c6b83062d868a, - 0x6d7c866d94f798af475a138ba4f5b6638c769dd645ddbd909cbff3f175f6a94, - 0x19d4a706e638b18d4d62edfb1558270db0944d049d249c4de923114a2eff804, - 0x5029a5c4d901f05d8574b40926e2400bb23fec2d61395dfa2490d42748828b, - 0x3ae6d7c6593add59dec013eadbfb7a0049bae7c31df70dcbed88e56dec8e9a5, - 0x5146ce565f9d9bc9a730a3e249be1cc4e65eda51d1c4b1bc3c0770d185b6477, - 0x7be271ac15f94b555c83e96a13c59d88e01e2a9ac9a8d1c4ec1fbc9560352b, - 0x61aa9cceac3ca3561f5a1047317c3825255160849bdcf2b4bdcb7d7b9953c2f, - 0x7de2ae05559830db559312911d7ecd4afbcfde572c1bd5cda49221234db5308, - 0x32ceaf30ed4689882f075939560474eea7818ac7d9f1bbc727b521e7a5832ea, - 0x36b9d4cded94df5f781e0660a4c7433f534e8275bcc545a41dc0cadb77ea4b8, - 0x59b9a034b55d47c43e9803643f681fed3eb017fabbebcfebba299bb44dc6de6, - 0x418b71c7466941f2c0356ced727450a2a909eb8e39703ac8998d0b6ded006a0, - 0x723b4fda45d4aa37abc3b877d71810df95fa33e52684154e594c9e51c48681f, - 0x7a224386b96fb9dbc013fdfdc7872eecf41bc797e4ff491ddede007d8f5033e, - 0x4d4a38c53333f480ef7c7aacdff0b66ed893565303ff89f5cdd80b79bc6c20b, - 0x6c0ae23b79b30793fa2a542c43ea58447a1cd7ab7048dcbb155c976b2830fca, - 0x2e59b5159f988852cf864ae60c74d9884033ca2201ec885ccfc0ba08f835018, - 0x35a4e9318c88ec663a5bd27be809185cea3d0e2569c738f9f3ec02536879bf1, - 0x4a91a614d12c4bb5a6aebabc8ae096cf2f959d7500a7783b9b513296659fb1b, - 0x781ee05183ddd9e54cc0e03e3812c7b3665ce0dc6de5b54f6a6297a70c75c3f, - 0x3bc802d2ad7eb7d8dbbad45d7ded1dc412984ffe24f3fccddf26f9703bbceaf, - 0x5fc45ec1d85452f5b9ff5754b4ed717665aa50d3c2ed138a782ea8f881790e9, - 0x702cbd9b3cbf45c0ecf32ff1ad214fc75c2555f5c63bebd092a4043469e7584, - 0x6136f9fb65206dbb87094362b5fa40aa4546d9c02e4c3b81b64d4e2a25e01f8, - 0x74d74a83382d4dbac445b8e6e3a400cdf150107589a72877558801583e79169, - 0x56e08f3cbdead72b3aba71373a6393aa8b4c6fd3f0d1ef6199d2d2bee3d52a2, - 0x766bfd6137ca3c541a4103e375fe87cf061636b6c2078482c0a757dc58340e4, - 0x13accdf9431c9ef906d554e377a654261485fb9c91b1aea162f075227557300, - 0x386a22e60ac10cca19df3897db1b6dae54b748511b738cd1ca34c53638e6ed7, - 0x5917c06a20385f9aab964ce2f9bbc334fc358f93b5a086301d399cf052e633b, - 0x414e58d75b3d3a5d0a7dc11342c3ecc9171dd6a48070e1d62a1611c074adb34, - 0x305784f5aa9920515602d8bdbbd6b8c28c6ddd48917f9314ed3345693885be5, + 0x28e16bad18659279a6867fe3161692ecc76dec80f57e998dc5b4f58d306ce66, + 0x248a91aa8296e7580573615efb53b9e7239669d94eb0d2f606572846f5834ec, + 0x67b9d1bd068d8f3a506f5960b6461f52e4377dd732c054eb78ff3615777c577, + 0x5b339fa68e00488feee390e0f0202d333bd62f1d9bb19a17e3c1e423c4e8ecd, + 0x7ed94a5618f3cb47df520bd66ded4cbe27d75e97e1d2ac41abe95b36c05bb0f, + 0x169615200041213b834cedd0b0241a98addeccc3b0f2dc27df3c2d2d42250c6, + 0x7fc2b0c9b38534dee4e1c03b9ebbcba2751f6754ea2a707dcdb6765a6bc20f5, + 0x76233127c6ff9afd7302759045aaceb3e28b03b58309f54f73317179ac15c5c, + 0x161fcfd5e33ef31cf0b6ef5ab60be0e59c9507c32766783fa5731179200585e, + 0x13d2b621cc08ad1e5cbcac9058f05a753ec67c42b175ed7bdd9838dc187e1aa, + 0x26496df30b7c28a458be25e1671dcb403331b88549be084b18f245a389cd405, + 0x1b5096e564a0232809ee340feb6d99b1e8ae2e423a7fb7fffccfa6fc4586eea, + 0x2e3e9347a91c3fc83643d63545bef91a3e0dcda1e46d65c92ad627da8c5ac, + 0x29fb627531d7f544a479838a6bb87a44e915df58279c76daf56119ea295304a, + 0x73cdb66f42ee2f8bb0e36606b2c89ce4333498ed9198a9dd8901666e866a570, + 0xf8638ccaeac63a1a8325b9c83871ca32971d75b4dec038d54465678776e209, + 0x57b2ec2b11915bac52bd1536bbf725933302da2d557b236e112e0ee4b99cfc6, + 0x3fe87ff92b8e3f417d5e19d5bfd73315b1fc945e5b767ff4d8d063a5c0330d9, + 0x6dba4f5d6c4a3cd96a1add0995f7d27cce10e9742693c8017726906e3030646, + 0x3a5a94093d548296f25aebea8b08bb9529cfb64fe212c0a69a027e44b9c4b85, + 0x3a408e60b9af11930f2b056ed2ac7d7c781447aa033d559d8463371afb94e59, + 0x674a7d8cb545187e09cafe9bf4afd5b76b94544736035833699027fa8e59db8, + 0x3b30255a131ad87af0b5ba168bdd620c2469fc06c2028371cbef5a18a256e12, + 0x38e759f95766aa530a031a344d7c7c2c3d52cb595a1bc3cd608c5f89b237d1e, + 0x460b3644ae4c04aaca0dc78d399dcd4fb91088fed21a31b3f83b67d9cdfe149, + 0x4b6d6010c71391e3e5a49fe85e5e35eb9eca7c22b2940f2b5051818827c315e, + 0x4e176d8c6898ab2ee30fb49a2678605f932b3eeab8d79dff3f927f99d503aea, + 0x5142c7b46e69cb2a9e433dbf023f8838336b5a3b2487e22e4756f27e17221a9, + 0x6e1aa3fc282170ace3b6d0590a34ae14e7433b43adb8c50ca4ec117141343eb, + 0x23859332bafd8498d06ffbc9fc0e7eea3ace651eaf2991bc795fefff5c9e6e9, + 0x6a1967163a78ce353afc4b312d363dca684f0c81c030bc45ce848df4a1c41a6, + 0x384e5e7cc7badb3cc84f030b140298d4b67e0c481af94f1d1698990a34ee155, + 0xf53f4ccec0771fed8000257bed433dd53c85b73c10a25a4fc3cd6ee3e75f24, + 0x61d866203358e1f067210c5883dad87d9ac0cc47850b479305b59cf132e50fb, + 0x5bb57cde39d06cbf785fc71e31d5552e13a2325e396805130aa9e6f25ad128a, + 0x448cc6a651b450ab5104314177379d743f67b2bb48a070c19ccd40b617640a5, + 0x27ef5e4d1601e997a53735018f9999591da04616f7c20420ef844c25b84dc23, + 0x709fbcda1ec7e8fa30862ebd9ed37ae747eeacfb0f88a95acf17c79976725d3, + 0x2a3329ce7022d2686c958e34bf575397e5c80493b6635b37731b1b360f971d3, + 0x3adf93f037207f883875e39873a934f0e59c14b24d020bf3344af9a19e3f8ad, + 0x1ed918cfe42f30fd3b619355eba744f4f2232ec3655c2941563734214349588, + 0x2114d8a3cfa82806081106cf653620be72bc33501961e2f9f3aa5d355a33d6a, + 0x3258f8d181a72ab96053dcbb3577dbcb4c921874f0f2168a9d4777e79d1043c, + 0x1deda6279f2172f2e78182cc3f144a7c7fed2ea1c4f3cd2979d05f99a62b69b, + 0x3e3aabd86a21b0a712517055bcd678bf4aefbc543b5d3584a73880d78a3fe12, + 0x6f9467c1f365f6bb59a25d3da177245efac1924e5f577b7a8e88374a367c4b2, + 0xb1c7890ffd27d58aeace671dfeac9c33631eeaa07cce46b603b46f4938ecaf, + 0xac7225eaf8ed08c3508f8253f6660bac1c8c96200cf7214034fa047cd3419b, + 0x1719896309eced17be089c7b92644cb9332ac040e5a465f0857e27eeeb88b65, + 0x25ae7ad1c9d1559b557089e2eab6eb2873a51bd2cbc7ba8c7de6cbbe466d033, + 0x1c107d4ada59001f927ddd5ac5f0fea59e91cfd503f5212407297d701efb69f, + 0x65929cb8ebcf70864d7ee613cad9e1a485fd6bc2f3a5d4c032f57a9f2a85412, + 0x73a008a9ef523ac7d6ae7c6235591c1c2ab6f2f5bc1a52771528c2540cb1029, + 0x110d48e2a664c60812ca8d6ac29c51c69e7e0e8d8010bfb0dbcbcf3ade528ab, + 0x2d1c181d72556c6cb8098fec04f1f470450a0df884e5a77bc4b0bd90d511980, + 0x231957a05883477e22a950a14d7b9ef63ed25da7660fa53f465a8f5dcad715f, + 0x22e2fa09a32f1ca06775fbff2f8c949491b9cf3b997bedf9339bfc723fc8f1, + 0x5b249f292d29a983794ce89efba36fa712b1506dbbae515d3166776ddebf4ae, + 0x3f48ef075a68354647ea01421e1b724cffadc796c6df62131dbb474bdb72886, + 0x37e0e06144711045ba1a04a4ef52038e3fa2116d877205fae03ef4c144041be, + 0x72a4c311a19431736680a7aabf348803ec2ff854e4d7748d96e870ff0092433, + 0x51a68d96b59ec57e2c488708fbdba747a0bbf392e24b1e96d6e2317b81c3336, + 0x450300204b445623d5bf21426b45462ac6e879b7c95b7b573b159747ece5f85, + 0x7a1c3f3a18e9b8d452f57f2c3c02d76eba32733694d1d5323530e59ca87ae8, + 0x7238a2d6b318c0b78286277ed4c13b5e66d1cd316cd413a4315b2e4cc3eb532, + 0x36225724e285c4802114036b6a4bd66d0cf1ea967ebb4d7c08efe22a92f5ee4, + 0x64c2e96412f80e128400da478496f85e3d76b25b495de16f6100e177c944b02, + 0x5b7b8f711b71e2124338f29bb052f587c516021f4913d163b370f385516e711, + 0x56e13f1e90cd8330d8601656bd2c1c0daf3c524ed553705bd4141115cdf46f6, + 0x715a61803bfea35f7e95219ac43f091065a788695257cafb950ff2ccd4e346 ] .span(), }, @@ -1042,168 +582,92 @@ fn get() -> FriWitness { FriLayerWitness { // Values for the sibling leaves required for decommitment. leaves: array![ - 0x3f96522d3fc1fdc3d15cd242959154b37cac8e0044015db4e9ad2f57286d92e, - 0x708a6f3cd55a9770ca09cb4e34ad5a258f618a4ad74605707597b77bef67bd5, - 0x28c297d65ed77c7137da7a3ba99300322e182b27e9c36c519095287ed94bc86, - 0x4bb03e2bbce8f2e003593cba857fd2bc01bf25255e17bd1a9262bf2c6c8df08, - 0x27890c1091c48b35c629cb0386fcbfd02958c61d6e5762c2e3d76dd0557a7c, - 0x33b9ac95928a6614a0d8cf863a95c27d3a29b245ddfba42672382e8bb7a9c43, - 0x1afa64decc16cddf0e35e0ae14cac8766f6caef32cae0ed5ae80238e8645f86, - 0x2f716f453ef451c46b5350d9fc98b1a2f2c3924d6a6a1e434f80a87d5fcc896, - 0x2a19824ddcf2e5122b7ce4c128aaa56063686528073f963b67ac5e80cfad4bb, - 0x439bf96b56ae5e4645b06fff593bf2d7bba9b724f12cd21135e8842b6bc859, - 0x71f0f314d7b0e1171f0227bcb1d65fdc418464ec761a7372800d93f3b714eca, - 0x2f9814c5de640e5f0750f1a4795d73207319c604d5c055dcc1176911bf9ff69, - 0x65835e6cb9db08b8451fa7dd25a394f5fb20f1778daaa9131a1569b5ef85dc9, - 0x6213777a97d3f81fcab8e43b93a4a119e41d58f1a8c4bbf485c8ef1ee8d2fb8, - 0x72eeac62c190367b541c014bfaed08dcd77e92454a54d7dd024d203b0904a4d, - 0x269bbb0127c07527b3a9540184b2a1da8208857a7617419a264a17be35db3d7, - 0x1aeaa7a0af8a4d44ea63c9b2251da50580513a09dc87545304697ad7bd5d5d7, - 0x388558921acd09cd40117114d418c0c05a2c0df11ce1ed2142d7f60ef5b0ca7, - 0x2d9f2c74cf645760fa949f47dcb553d9843b6bee95c996ea81f43331725ec7e, - 0x5b762e751045a51529939322a8c9481ec9d395dafa2ab857f2576e8e9e68826, - 0x1fd25b7f0b015dc67b5c81d076ee13cc0948121fac48d42e6b01250b8c3218, - 0x15afcb8c72ed7118731eb9d98b11e0e4db51e074b6c92e97d2386f4c6b8db5e, - 0x106b78acd6189447491ee6977b3f488b302afafe730714e160551d3c6ef56c2, - 0x463f6317f39a6cbb079b595661f8831ea28b9ce9b85c95cf67d18fbc3676c39, - 0x5887eecd75c0788640f569f732c8cf86a7152fe300e112d0f4a003e46196418, - 0x7967b612b7743a35632a45e104d609edd7fd94f0e194eaac7f0b03600195d66, - 0x41e0d0abeb3e1e8a1e423d1edb3da45a229ad6706d49a5efa8adba44243637a, - 0x17683310b434a869b2128714e9916e80e111fb73c9a05961fd182ad9e4a2014, - 0x35285f5a5e00a8ca46f9f1c52ac249c7a134943dd9ef8d69d23340b704cf6f7, - 0x5f02125ca378418f4065178eb592c8f850e862e831af5eb64e7142429f534d0, - 0x3be275fe18679171abf1561c39361ff27e97b9535bd596a0a02ca2acb1ce407, - 0x53210e27a4c3867ca02ce1d307bbefb8679bde32807482b0e2c92e6991608f, - 0x1a717214a04ad7dd61b99bfdf1f7c02a53cc940775d0fae2aaa7bedb81963dd, - 0x7b268c080beaa78ae048539e4f6ebdd2b2ef316977b819121b9bda30953841d, - 0x3eb52e2be8478898a70d1a8b5d7da3d02d5b58e570b35d12480063090a88943, - 0x1c4e2546e07acfe098304d0b4c7efb5dc2112c672cedc1648d84e86df31f5c1, - 0x31e75c18810eda24a99f06afa45346afd19fe4f40298a4c3b294c889163c870, - 0x2663dd1494f3c0dbc2f41c858e38edd66d53ba2a8edd009c24d01db79fe9b13, - 0x50de29094c02259baf4ed724eaa019f4e5ed4499a7d3c2a5fdd50739e10ae7c, - 0x42f15ee0629b4418e09c7c369bc8e28a39c054846f8359530948462aa176a1b, - 0x7f7915ad06050dc32e0adaef15580e4bc093307f0258592a13caf054dff3e24, - 0xafb6829c1181024f96aec5a6ee4ff70a5d833897a57893014410c533f7379e, - 0x30df3534ca1d8ce02f97d0c9b32cbef2bd04b61fc2425eadf0cdcce2d6f2782, - 0x4df9eb4852861ac4455da1af34c1016da816719541887f71907af413d4c25ca, - 0x496d370ed363dbb48527dac0ef8cf5db6ee3372c306a04a89b05a2b60fe281c, - 0x212878a591e96a4c76c4ee1412def326b7370f0993f09d9fbd3d29d117945eb, - 0x2ecaf82bb2fa2d9c911c3fb09a348e81935490e87a4e0c6d790196583d7ab6, - 0x727cc578c3e8b2b1707b77f3e13730556f8e5425b22623a247aa17e3491170b, - 0x43bf4b8c681def0b69e8a83644c52a0c9122285c1dd58b11fea5d40c608f368, - 0x7800d5cd2c3418df86b26bc213434297bb150a563df57fca1c9162ceb47a967, - 0x66b8ab5c2278c33e194264ee3c102b51b53d0afde52506415f14341f8a2d10e, - 0x1a6fbc773ca94e2e3e22d8dc53614bf6c2df9919a634bdd9486e4ea1bddbdc5, - 0x29a071e9e231b3d0369fd48978695abee6397c0f45c37f88d397cec04e6e5e0, - 0x7a5bbec85dc9e34983cf23e37a10b9e0a7d5c0e332731f06d9a424c215e3bdf, + 0x3ced8c0e3d71da3d1ddd14241427f431dafdea753a2d41a8504ce1d4fa505e3, + 0x2d3922a10a9463bbe732bda65f39f0f53284d09344d8131cafd99400afb8b95, + 0x1495a175dbbdafd1d4ed6fc35d824eae7b5237574a8e04079b22576e37cd9b7, + 0x136ae8d045053dd2fc7206ca422fc4164e8340a3d8888a63cd961bafde23af9, + 0x340e17ffdd1e41f1788217137fee8f126a3c9fc19fe329d3ecfaf26d25b297f, + 0x56086be20077c9787f3439c3e1d0f4cca154011d979fb2d22397e18083f548, + 0x748efad96087989b7f4e87504e0f2da1c41c0b8858d78584a251dd00d90a6cf, + 0xb92e15ca6498eb684da2718e08b87d4b3a730132d652e402a20fdf337078e8, + 0x391f9f3443b4489c6d12a263cab0cee90657c3a64b72d8a62d069564424f5e6, + 0x24a9f697ca164aa155c75b24c69f7fb5fcd10f4347c31221627bc59485c0559, + 0xceb87d6ebf12f58a3818d7b836b5e203508be74e2dd60f65f49992348bd6c5, + 0x74c00ea0332d521800f6c1cb285f3ce6b17aa9179aa5f0ab9ad15b64e7d5172, + 0x74978576a39ea797e8abd0c997d78a77559e5e4c801c41a718e5df0aa4c9559, + 0x6c875f17772efea3adaf64a6f3c992b9af96d519018494a761150deb2e688b0, + 0x25222dfd066e52dc27cc1138e6d3288151b20e2c81d89bd16844e6b681ed6c0, + 0x1d29981fe86353ada82435759fc96644fa687b88025f93b20e89cdf915feb78, + 0x63015d1a0629448607f6a91361fba646a9630b6dca14cc03a883ef7829e60f2, + 0x7dc4bb56e8df66aa5308227a503d2b0451209d2876d47c2d846ea77e35b4f10, + 0x3bc1cafb94226be6cca40be37b4ac69f92e32912aa9378a7bf9fa80188ed99b, + 0x50673428fa2386bde92292048ab947d3d86b3d9fa1dfa472bc130c341dc617f, + 0x9b2f139b0776fc25869d8cde1ac7a21015f451c170737f8cf4efc4b75a6e62, + 0x26f86b0821862222108ada013f14d02eb7ba768193e3a4b09947b5d4ccdd10d, + 0x1fdd83c65955f71d7b40d5116cd4637fed38baa1dd6c4783f35c2feae0913c8, + 0x1b508372441521246373a1bfb15a3720b1280a0e456ffbc3f36992693282c88, + 0x3de267fe1bcc21bc71a3af91b93f03c2874be67f7a3c78e542c6acf774fb0ae, + 0x46d2f5005eb22414101f9f02689b05e198eb4e349af71de6176f941c083fe96, + 0x2cd60589cea5fe8b572e243cc8f82eb0978557b71f9eb68ae2002802dc66e33, + 0x10d594120feefa606534431c3720845105a95bdb772be4e2dac9c4d8cbc2750, + 0x6d4dbbfa49e4b9b951eb917a27ac0f1693d8bf632304c486acad154d05830a2, + 0x2295c7c14c830c8c0fc75da0e6f96f385a89cefbe29c36ca7ca27b25789bb71 ] .span(), // Table commitment witnesses for decommiting all the leaves. table_witness: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0xf55096d2f7b8f07eec62a5343c77062b39463114, - 0x78b5fdb2c391bab1537ac9587918f4458ff62d42, - 0xb4b02d2f5975158bc76dfe55d6e923b0cc3a4503, - 0xfaec62b8eed0a2b3e238850ccd6cd10277cb1b28, - 0x4a554c7ed80ad701e19397ce320db0b4a225fc27, - 0xfa403f0c074ad366c49ff03e2982a72f2ba038e5, - 0x8b394964fef8ee3fc671ce43102e0902201ddadb, - 0x3afff4c18399da53f86cbaffa899b457a125f50c, - 0x433b6cf6715bd0b087e191541ec81031ff75eb2c, - 0x8cb17f676ce30d8679c562621e405784d9722b90, - 0x9e8bd9876a5d05894f105c7f0c08e13f4a9c6ab4, - 0x925ed8430f1c5237a4f7c8b81543125467da1565, - 0x4dc2837e605144eefbd643bd86f1b9cbbafafce3, - 0x2efeebc2ec0d5ca767cf4c41221758fc04324fb6, - 0x2a1e4e2a4806010744e41dd70ccf963eff19d041, - 0xa644ef36cf2f66dc84b9aa3b81b1393efbc65a26, - 0xf7b80a5c4b44168402c9f84c9d361d1e6502c8e9f36d87f5518d92120ad8, - 0x4e3c13be8435b470884e764d56aaa96c123a2e698ca41a36374af4cb5b6e3cf, - 0x183c8e762a3d9acac8203a91ea13998363d26808cd09a911a898524281bb991, - 0x6a0c600069ab811470501cebb1b357698ffbb377351a8fc58c7d4b2f16854b8, - 0x34a0334d9681c49ff442cbe788be80244ee93fb535fbc0b5ad16223b4a38e3b, - 0x669b719c7ed287adc4093f797d96165edc2fb3e93424816635f057ef358d827, - 0xc1d8abf021965bbd29c9f24b5ba7ba0a1662c21e633e17d99d3a348686ebbe, - 0xaf4ae98bbf18ac72a24f2f46f7ef66f5f462006f54acca1c72ceffe0799b4c, - 0x1bc70877bc75a2334c7468e82d3edfcdbfa5b4e56fa382b0be1ffd4f5acc25b, - 0x30c29bcd91ad40012952320b8c7817610405e184e4c5808edb3d20a902a17f8, - 0x38374e573acfb181e5ef2d23179daaad817cfa34d28354d0380b7e4035bb952, - 0x31d49bffe5a2f545f551c4d56f0e13951220e80a44d058aa42fe79d8c852bc, - 0x2376b6ef5fc92ebceb8f03de926a8f7e4b8b185c4f45249945a2faf0b4d241, - 0x575fc08cde15fac264a01409aa3e6ade8a4e0a23e12da2d7266f66f4f9e9b11, - 0x61c80d3dea67aa45df8f1a4fc59e0a342709dba842914b7a1d35b1f494f3f3b, - 0x4e823960cad7bbcf8cb465174bd6f5277565e65b0e74cb8ea0e5a59a9dd7a00, - 0x1858636dcdb6991ea99e1e0e0726174d94ee6f2c4631189ae7c99f5322b381d, - 0x78bbcfefb0d51a3d7c6e5af76817c23a9204b9984fe3935202cd6b901279219, - 0x5d6fe1c4324c0cd5c2dadb4934dd0d755227744fbf623858894ccd187b7ec88, - 0x6f4f26dced70f3bdc8e57435bbe1f501e87523d5e96848db4c8d0b1b4113b52, - 0x353341a393a93f30ec1e0bd79610de5ed363d2a8aec961826b7ed48c7db0371, - 0x402d412e00c4f00af22f41c4416ae0446022c8b3d570ebbdb7fe7e3a9a1c034, - 0x4deba1da491a9b0c478ebec8daaf2d741b17064eb41963a3e239d1dd12105a2, - 0x7a4cbbd09420be9fe7e6a63e9466766361857a2984ed2781c8bf3e7dbff81b5, - 0x3ad55002693781ce9199dc5b86aa29eab455868aca80d5e4ad7b42352fa86b5, - 0x52ee7bd4683a9d6e4a23faac5f61c5fab4d9136f2aee9521d3403b5fe276fdb, - 0x2e74229f057d6e41bb5b70039c910321d29e3616d3f9f934adbb5ed39fb4256, - 0x74755694b1f154f3ab5af1d5d3074feb950bbdbcef806d7e86b042f1a792b43, - 0x2455a171b2c245bc7312b88d9895b21a4e50ff9e1abb819c5cfd682ca04eedf, - 0xc861f27f72df5c02064c620d935c9a8414d7360b276c1214b749df866ba304, - 0x3a3538058899abcfb7689b53525ed5aa0637d1534d11b2d8df3d75b289c1e7d, - 0x4009ef7214fcae086d105befb9f52f554f832165dd7437eb6804cef0ed36a47, - 0x518ccdc4ad24ee83c344cb81413b710d39a993701d92c132a065b684af3b1c0, - 0x2ffbded319cbad0d76150b2f1d4c2d853c65cb8b7ae02995971700476643534, - 0x7fc3e1e870bb9d663a41b7468ceaf23634d3af5ce2e07b72520d211168be05f, - 0x49ac36a7cc1ce1cb681adaebc14dc0e70feff24ea52df8ad445f51019f26181, - 0x5b4e76f0d6530b6e620fa0bc3206f59b8e0aa4f13ff6655ea6e322074f4f650, - 0x6558ff006dc47e82ca9f24e555f3366a95d0c96d16621524a332972231d70ca, - 0x365da3cf61ef9b380fd84d1e5cdffac5cd2555fe83b49c52dad0cf3fc86165f, - 0x4e1c876b2ed80adf0040c7ee3943abb7dadef9e7fcdb5f592714e60648b1c42, - 0x3b79a5451e5be10ebe65a6759c06048d8b3de717145a026676b7affdee180ab, - 0x57fa8d4e2be3c2e13c25acbff693ad042e24ca696176bcbd3bd037b801c242d, - 0x786b9b0ac0c234d7a8528d7a79288a7e429382b11e293e6292413344a64521a, - 0x765b37f81acd90a87d1ea1f1aa3d318b7159ce57a47b919408fd206528c3539, - 0x19f6fe36a1939b62da15ffcec86334766a4719576d9918ad4f77af6d383f857, - 0x26e7703fd88ff8f9d5e9fc5b04f190f673344e503b102f35dc9395ca2d3201d, - 0x6f265baf8a84aa96eaf8dbf912d6f5e23c4afc406316b8ce8caabdb95462b27, - 0x3c1b06cc4e16545ca42d5a1b008bacd5b898a6f228ec75504e8d23674b0b00f, - 0x1f2c07ffd444b643a40a02afebe5c9525a49565b1b2958c8c6f62f5d5eebcf3, - 0x3a9ec34c2d19c0fd9df45d692652c656af4bc76f6ec392ac0977f706ad0de8f, - 0x76e8b53b29b8e8b33320e4004d304908ccd49f845fb655f3305298106675779, - 0x7eee11652daf7e4723e2a45e67e121b8302d1421658c335b9507c00e1cd2c99, - 0x2a48f84e6dcdd4ead02aa72a70b8857b6708938c8ed168d15f453e4b61214a5, - 0x24f359e5b215c89c57e8b0e5ff4e47bbed0e2858a13b729bf2e36ef8a827242, - 0x6de7c303a304c966ecc2c628cd4085480de9c535014dd132b4dd5c7122fbc93, - 0x61e6baaae3e9c3d27b20c6de698c99d4be7570d57570bd682bb0aee330bab38, - 0x7318c02cd3be78c9e7c8fd5d1f320263da51dc817dda80efb4169b686547c50, - 0x7e10f75246b58d4ba3532657b5c1d847aa436a4dde59178adca3c43068f16ab, - 0x53e24f37b555308cc05a61e0852c617896c08963ceaae70e88bb6423e40b63f, - 0x1754c425022eff0fb86d4128130f27d5435d70b9f47510f4bf17ea008c81888, - 0x3930fd515c31a879d879c47ad216ec264791d0f5af2dfe60ccb3ae74739cfe6, - 0xa0ec122d33d517595b7b0e00237106f8fac5750e74846b7ec2f928c908ef0c, - 0x54bcd6bfc9c7284e7044314992d01bbd1a31dc9acd0991010ce3a4b28149f9, - 0x24fa80d4bdd131f47b5ff93e4b8528bc5b3cd53240c42204a68818d54b9c065, - 0x787cb0185088ff613b0ee0b3df80713e0e834798e5f32def440e2355c586752, - 0x411e04cc61bb2ae3ad09271609c30689f8bad3e14042295c5ca6668b07801d2, - 0x5b808b76f57ec1e1495354e4ef9d995889c7c28777db6c173f6e066dec5bb5f, - 0xc88bae1ac34830d0ad131867fa912faf20200eae6db58acb3557b57bb01d56, - 0x5925ba7ded78c3fc311109c3e989769855dce6e84d2be46c925ebe3931351c0, - 0x2a1713d95c2295d15013dd3df02e2d1cb55aabb585e97fe7f738337d860b7a3, - 0x7e2bbfeb2da6a1b05b3dd93383592d9c813932c76b4339b5ef75b940fa69087, - 0x6a1b49c0b2e01faf57db34e617d8f671562bcdd4cf7bb335ea277ccf28953e4, - 0x68a0c0c17c01d20c5650972084a5843496bb498206e13e0dd3f644eb0752382, - 0x33eac3e001bb4f135dd70daef8a76e8777a04852c529934ee17e059f2fd658d, - 0x4c2cb9694ba52230f47d321eb72140c4d90fb0ab7e9de0682f76595283b8e38, - 0x63a398e6a765fe052b07df038ded4c29360fc11145e5655848e97bae32d325b, - 0x781cf8466d5b5c54c3bef7311c62f9883396ff76447581041032ba7dc85d87c, - 0xd224797bbd0dd5dda3a4801a15b57630c7c09d029bb6e547a0854452f7064d, - 0x2a23582d466c471a03f979dc9c7aae3c2ba5b88724d555ce8f92a3bde806910, - 0x6f6ae49e32a297e4e6989dd8df7b7e2491d53dd8ef7be2c1aa3f09314200493, - 0x6b55db7c7234df9d3e3f905076799c873e09e5655819b757c4177dc09ab6873, - 0x243d908da27170f5dbfee91e1bfa8be8dbcd19768c0e24dfa46d44f03da6b63, - 0x7cf917c52ff864728e210d2d9742cb97cb948c2355123a076e76e5a479d3b8e, - 0x60edc5d8925144076d7bc8700ea93d9fa2a78e9b82fc1db33cba6db5291c46f, - 0x3fcd29866de6fc6e6057e5196bed9c9f7225c09e91707f9c4830c847b7f3244, - 0x4b91acd7f2b803808ff7981dca8b3c734233bdf89b6034e6d2c35222a6cbfa0, + 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, + 0xf3fb7305323c5fa68ad49a509a9c470e2396af41bfd2c9cf86228504436a3, + 0x9dc63f0ac48b17304af16748798567f21bb25f8cbeaa48a462a74b3e0c5d79, + 0x5d35649398cb24bc00458a32d01c61a8450c7a30cc5b95043f4e2b30df01360, + 0x4493f60ea79053f2a96439d50d6335fd35e13599190e1656b724eacac658e37, + 0x7f58b9c9c333dc5b31e3ee5e8a98d8cab0c84b3a886042b279dc2f2c408d92b, + 0x349a976371b7aef1b1992908fefa423b9e5d4d0be58092ff6e5ead51ecf1ca4, + 0x3ffacb144085ca3c572a314c6bb0e01b253827231285fba4084e3b624438ace, + 0x55d22158d5bfad58ddf2633f24a3fae4642afbcea1cb9155e8b54c2a432fbfd, + 0x63c1598794322bd8f1686e89c94dc60b0bb4f7940b5427af72187091e71ef63, + 0xebaa8e9ab29cfba43cdc1f2cacb9cbc08b2cb17317fed571718e5e66b42488, + 0xa31370f89d85108378244beeea13a2b2c379d16cde55c2fcd674f4296ddabe, + 0x4285440535fff0ba31e970a1948a09951ff740c91c6d6cf4635527877c55ff1, + 0x49eb1420843ac1a3178010c314906d28f6118e8b36620ce4469dffca27a047d, + 0x4e65200356931c3ea1e20e087b5bff96ba268239ed2e2f784def64f5760418d, + 0x103809d798aab5452c77f42bc4c8fcfcfa9e6efdfe24077e41928a52daf1dc8, + 0x4253b3498a013d4473d43686f9e509be7541daf00afae0d7216f7019bc75d8f, + 0x689297a643de6bd5955e314f94367af901eac67eeef51a52e40c0205cf8023, + 0x2ca9dcef95643af6ec5ee055d1a05720f2e3f5e6226de5b206c4a78482963b8, + 0x72fbddae565406f284bb4dd89623c29c821b6187dd7dfc292dbbddd4094077, + 0x30e5ea3c2280db52829548ae99a71faa030b4e4bb87679b427f76c594aaa05a, + 0x45ba1eda942e1085af97db6e189996903cfa09db90e52b4589e16df981f1601, + 0x8c36a69368bea30f8ecf7de3e461a03b0cdd004ae08a3d44281b093fc63f2, + 0x5c7194878dcb2d4ba69da97c1a878f96dd78d97612c882ba7179bafe92a6a90, + 0x20c37b922bb713f2b6772a9ae014715f418fe5da4d53fe9b00cc2fe851f233a, + 0x3a7e7c684904e82bf0be54290299b6d83f448bac5c6e9ea4d1cd1e844eccb70, + 0x1ebbb30dbcb3b4fd0da33cf84d456101bbe9147b1a65507901715b3490649c6, + 0x1409c71e0dcf4a620856775508ce1b4c7d55e4229ac5fd41a3f8ecee097eb39, + 0x18cdf340cc64b00bf134c9e55396f79eddfbda8e2090542380c5c4967ee790b, + 0x18add43c036948c8d7e767ae22056e1f5f1a9d1daad6b9a8f2e7da996f4a1c2, + 0x30e7224d1c98b75e019b60bbe320e358ef35b1adaf12aad044744e640c2a4d, + 0x25a8793c928ecacb2e84802830fa101fb3839455957921ed7bcb39549b1f80, + 0x65dd0f91032712c4a8b1b5c35cd6ebdb654efb5e56085a2eef0def4bde4d066, + 0x4a50e2b14315602b8c97c9d2304db828806c37b751203bb7dad534d7b45d21d, + 0x5afdcfcf55c58dbf5ad58b17f16514da8dac3e69501fb399c30333ab3050c3, + 0x20f5ecf9107f9d3e33f462948d955b70d5ec5573a679ae548998c41b5eec730, + 0x1f70d9f6c203312c6aabf4d191cd4cbc68f8c92bebf561cb8e20ce9fc07ef55, + 0x14e877449f7005ee874020d6759ce808345e20c3fae4a62e7f12c2c457f71ec, + 0x780b4537e060e0f1e88ca7337d5d43ef2d4bbb4b48e4899c55ea9a5e7120b5a, + 0x608a4544987ef3599043e9a8b4aa0598f8d71dee81e46104ca6ac186e2c8044, + 0x58cbd95dd12e8761a99011f0ae970fe73e03b7d7e43b614510ee7a6a2efe7d3, + 0x5c533c05cbf2af6d819bdf23272e567b7a49c2c2bd799201ed0e32ce9ff092b, + 0x342bb671b7d40601d4031045068abfbf2c578f7e4a380e180dbf2b0c8fef6, + 0x2da269eab1f7e247c0caf3bcac1bb0e5e7abacde34bc54a9de3e0a82a36cfff, + 0x117cc37e078928598470cfe43e1b6c66c6365d1cf601bc5daf1055a0f8210db, + 0x4640956c2daa074399825b0404260bee0898f9d24b1c807f5c43159e7a9b019, + 0x1da36b1fb01d0470d48c3eb4c92263eadb7b58c8829f2ee77e3287a6e39c902, + 0x78dac96e95e86f83b4a426bd0505d84b5ea967822d0fca9f3bd28331164d94b, + 0x1d50c82e363d8e7fa2641c9f2137b99832372d1879a2ee02b2c824a4cb620dd, + 0x2fd5a64db6093c9efda84ba327a43043e41310626073e58331c9f2f9f2db20f ] .span(), }, diff --git a/src/tests/stone_proof_fibonacci_keccak/queries.cairo b/src/tests/stone_proof_fibonacci_keccak/queries.cairo index bcf8c4ddc..149f823ca 100644 --- a/src/tests/stone_proof_fibonacci_keccak/queries.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/queries.cairo @@ -1,22 +1,5 @@ fn get() -> Array { return array![ - 0x27bf, - 0x22694, - 0x967aa, - 0xb065b, - 0xb2c3c, - 0xf4d41, - 0x102b89, - 0x175d63, - 0x179d79, - 0x1b67de, - 0x1ee0f5, - 0x257b80, - 0x259c67, - 0x2a4965, - 0x352b27, - 0x3c6331, - 0x3c6c8b, - 0x3de264, + 0x3982a, 0x52d42, 0x585a8, 0x7c3cc, 0x8af7f, 0x8e6f3, 0x97846, 0x9e330, 0xa9b57, 0xfa009 ]; } From 9fe074c1e9bbe8446fb924a2dd63108c6b5c988a Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 6 Mar 2024 09:30:23 +0100 Subject: [PATCH 26/48] fri commit test fixed --- src/fri/tests/test_fri_commit.cairo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fri/tests/test_fri_commit.cairo b/src/fri/tests/test_fri_commit.cairo index 6f6a6bb2c..448f58d88 100644 --- a/src/fri/tests/test_fri_commit.cairo +++ b/src/fri/tests/test_fri_commit.cairo @@ -28,7 +28,7 @@ use cairo_verifier::{ #[test] #[available_gas(9999999999)] fn test_fri_commit() { - let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); + let mut channel = ChannelTrait::new_with_counter(0x3612d68f9f68b263d83b0854b812018fd1b7ba0359d7514fffdabd44f0696e6, 0x1); let fri_config = stone_proof_fibonacci_keccak::fri::config::get(); let unsent_commitment = stone_proof_fibonacci_keccak::fri::unsent_commitment::get(); From 309d7bf87a2f3110fe4fee3ebcc8e4ca548bcc8d Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 6 Mar 2024 12:24:52 +0100 Subject: [PATCH 27/48] verify public input hash fix --- src/air/public_input.cairo | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/air/public_input.cairo b/src/air/public_input.cairo index c8bc4339b..a6226df1a 100644 --- a/src/air/public_input.cairo +++ b/src/air/public_input.cairo @@ -178,7 +178,7 @@ impl PublicInputImpl of PublicInputTrait { assert(*program[4] == 0x10780017fff7fff, 'Invalid program'); // Instruction: jmp rel 0. assert(*program[5] == 0x0, 'Invalid program'); - let program_hash = hash_felts(program); + let program_hash = poseidon_hash_span(program); // 2. Execution segment // 2.1 Initial_fp, initial_pc @@ -221,7 +221,7 @@ impl PublicInputImpl of PublicInputTrait { .extract_range( output_start.try_into().unwrap(), output_len.try_into().unwrap(), ref memory_index ); - let output_hash = hash_felts(output); + let output_hash = poseidon_hash_span(output); // Check main page len assert( From 69cdb39636cf8a3258eb451054487b12e40ce04f Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 6 Mar 2024 12:25:07 +0100 Subject: [PATCH 28/48] air tests --- src/air/tests/test_public_input.cairo | 28 +++++++++++++++++++++++---- src/air/tests/test_traces.cairo | 18 ++++++++++------- 2 files changed, 35 insertions(+), 11 deletions(-) diff --git a/src/air/tests/test_public_input.cairo b/src/air/tests/test_public_input.cairo index 3093347a7..9a1f04233 100644 --- a/src/air/tests/test_public_input.cairo +++ b/src/air/tests/test_public_input.cairo @@ -9,7 +9,7 @@ use cairo_verifier::{ // fn test_public_input_hash() { // let public_input = stone_proof_fibonacci::public_input::get(); // -// assert(public_input.get_public_input_hash() == 0x0, 'Invalid value') +// assert(public_input.get_public_input_hash() == 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 'Invalid value') // } // // #[test] @@ -31,11 +31,11 @@ use cairo_verifier::{ // let (program_hash, output_hash) = public_input.verify(); // // assert( -// program_hash == 0x9f6693f4a5610a46b5d71ef573c43bef5f0d111fc1c5e506d509c458a29bae, +// program_hash == 0x7ac5582e353f8750487838481a46b5429ef84b2f18f909aaab9388f1fe0a28b, // 'Wrong program hash' // ); // assert( -// output_hash == 0x3cff7dfd4138a3c9082a6a768b1c094ae290e2f4705482bf0eb2dbb21c46968, +// output_hash == 0x60cbf4532b874a9a19557a55b45663831f71e21438525174b82842a1fab0ec4, // 'Wrong output hash' // ); // } @@ -47,7 +47,11 @@ use cairo_verifier::{ fn test_public_input_hash() { let public_input = stone_proof_fibonacci_keccak::public_input::get(); - assert(public_input.get_public_input_hash() == 0x0, 'Invalid value') + assert( + public_input + .get_public_input_hash() == 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, + 'Invalid value' + ) } #[test] @@ -61,6 +65,22 @@ fn test_public_input_validate() { public_input.validate(@domain); } + +#[test] +#[available_gas(9999999999)] +fn test_public_input_verify() { + let public_input = stone_proof_fibonacci::public_input::get(); + let (program_hash, output_hash) = public_input.verify(); + // + assert( + program_hash == 0x7ac5582e353f8750487838481a46b5429ef84b2f18f909aaab9388f1fe0a28b, + 'Wrong program hash' + ); + assert( + output_hash == 0x60cbf4532b874a9a19557a55b45663831f71e21438525174b82842a1fab0ec4, + 'Wrong output hash' + ); +} // === KECCAK ONLY END === diff --git a/src/air/tests/test_traces.cairo b/src/air/tests/test_traces.cairo index 50022a53c..a93d45fe6 100644 --- a/src/air/tests/test_traces.cairo +++ b/src/air/tests/test_traces.cairo @@ -10,13 +10,13 @@ use cairo_verifier::{ // fn test_traces_config() { // let traces_config = stone_proof_fibonacci::traces::config::get(); // -// traces_config.validate(0x16, 0x16); +// traces_config.validate(0x14, 0x16); // } // // #[test] // #[available_gas(9999999999)] // fn test_traces_commit() { -// let mut channel = ChannelImpl::new_with_counter(0x0, 0x0); +// let mut channel = ChannelImpl::new_with_counter(0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0); // let public_input = @stone_proof_fibonacci::public_input::get(); // let unsent_commitment = stone_proof_fibonacci::traces::unsent_commitment::get(); // let traces_config = stone_proof_fibonacci::traces::config::get(); @@ -28,7 +28,7 @@ use cairo_verifier::{ // 'Invalid value' // ); // -// assert(channel.digest == 0x0, 'Invalid value'); +// assert(channel.digest == 0x39d06a4cd9e64c43aaec44a5415c4cbdf530040b2fc82308ceddb5f2be39dd5, 'Invalid value'); // assert(channel.counter == 0x0, 'Invalid value') // } // @@ -50,13 +50,15 @@ use cairo_verifier::{ fn test_traces_config() { let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); - traces_config.validate(0x16, 0x64); + traces_config.validate(0x14, 0x64); } #[test] #[available_gas(9999999999)] fn test_traces_commit() { - let mut channel = ChannelImpl::new_with_counter(0x0, 0x0); + let mut channel = ChannelImpl::new_with_counter( + 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 + ); let public_input = @stone_proof_fibonacci_keccak::public_input::get(); let unsent_commitment = stone_proof_fibonacci_keccak::traces::unsent_commitment::get(); let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); @@ -68,8 +70,10 @@ fn test_traces_commit() { 'Invalid value' ); - assert(channel.digest == 0x0, 'Invalid value'); - + assert( + channel.digest == 0x39d06a4cd9e64c43aaec44a5415c4cbdf530040b2fc82308ceddb5f2be39dd5, + 'Invalid value' + ); assert(channel.counter == 0x0, 'Invalid value') } From 5a0adb6e788771aee7ad39cb8081bc2cbec5e1f4 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 6 Mar 2024 12:25:18 +0100 Subject: [PATCH 29/48] fri tests --- src/fri/tests/test_fri_commit.cairo | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fri/tests/test_fri_commit.cairo b/src/fri/tests/test_fri_commit.cairo index 448f58d88..ac153e528 100644 --- a/src/fri/tests/test_fri_commit.cairo +++ b/src/fri/tests/test_fri_commit.cairo @@ -28,7 +28,9 @@ use cairo_verifier::{ #[test] #[available_gas(9999999999)] fn test_fri_commit() { - let mut channel = ChannelTrait::new_with_counter(0x3612d68f9f68b263d83b0854b812018fd1b7ba0359d7514fffdabd44f0696e6, 0x1); + let mut channel = ChannelTrait::new_with_counter( + 0x3612d68f9f68b263d83b0854b812018fd1b7ba0359d7514fffdabd44f0696e6, 0x1 + ); let fri_config = stone_proof_fibonacci_keccak::fri::config::get(); let unsent_commitment = stone_proof_fibonacci_keccak::fri::unsent_commitment::get(); From 854704068e76b1ba51899bcfcb9e0becc4ab5dda Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 6 Mar 2024 12:25:34 +0100 Subject: [PATCH 30/48] queries tests --- src/queries/tests.cairo | 1 - src/queries/tests/test_generate_queries.cairo | 20 ++++++++--- .../tests/test_sample_random_queries.cairo | 36 ------------------- 3 files changed, 15 insertions(+), 42 deletions(-) delete mode 100644 src/queries/tests/test_sample_random_queries.cairo diff --git a/src/queries/tests.cairo b/src/queries/tests.cairo index 2ddd458cd..18d5f2419 100644 --- a/src/queries/tests.cairo +++ b/src/queries/tests.cairo @@ -1,4 +1,3 @@ mod test_generate_queries; mod test_queries_to_points; -mod test_sample_random_queries; mod test_usort; diff --git a/src/queries/tests/test_generate_queries.cairo b/src/queries/tests/test_generate_queries.cairo index 1bdb13ed0..adab4535d 100644 --- a/src/queries/tests/test_generate_queries.cairo +++ b/src/queries/tests/test_generate_queries.cairo @@ -44,12 +44,13 @@ use cairo_verifier::{ // #[test] // #[available_gas(9999999999)] // fn test_generate_queries_2() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); +// let mut channel = ChannelTrait::new_with_counter(0x28f12249c8cba51796d59e7573019ce2b4608c9a8cdeee26e821b0763c69229, 0x0); // assert( // generate_queries(ref channel, 18, 0x400000) == stone_proof_fibonacci::queries::get(), // 'Invalid value' // ); -// assert(channel.counter == 5, 'Invalid value'); +// assert(channel.digest == 0x28f12249c8cba51796d59e7573019ce2b4608c9a8cdeee26e821b0763c69229, 'Invalid value'); +// assert(channel.counter == 0xa, 'Invalid value'); // } // === BLAKE ONLY END === @@ -57,12 +58,21 @@ use cairo_verifier::{ #[test] #[available_gas(9999999999)] fn test_generate_queries_0() { - let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); + let mut channel = ChannelTrait::new_with_counter( + 0x28f12249c8cba51796d59e7573019ce2b4608c9a8cdeee26e821b0763c69229, 0x0 + ); + assert( + generate_queries( + ref channel, 0xa, 0x100000 + ) == stone_proof_fibonacci_keccak::queries::get(), + 'Invalid value' + ); + assert( - generate_queries(ref channel, 18, 0x400000) == stone_proof_fibonacci_keccak::queries::get(), + channel.digest == 0x28f12249c8cba51796d59e7573019ce2b4608c9a8cdeee26e821b0763c69229, 'Invalid value' ); - assert(channel.counter == 5, 'Invalid value'); + assert(channel.counter == 0xa, 'Invalid value'); } // === KECCAK ONLY END === diff --git a/src/queries/tests/test_sample_random_queries.cairo b/src/queries/tests/test_sample_random_queries.cairo deleted file mode 100644 index cf365b4ee..000000000 --- a/src/queries/tests/test_sample_random_queries.cairo +++ /dev/null @@ -1,36 +0,0 @@ -use cairo_verifier::{queries::queries::sample_random_queries, channel::channel::ChannelTrait}; -// === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_sample_random_queries_0() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// let queries = sample_random_queries(ref channel, 1, 12389012333); -// assert(queries.len() == 4, 'Invalid value'); -// assert(*queries.at(0) == 0xc53fdd1e, 'Invalid value'); -// assert(*queries.at(1) == 0x166d56d3d, 'Invalid value'); -// assert(*queries.at(2) == 0x1e563d10b, 'Invalid value'); -// assert(*queries.at(3) == 0x2d9a2434f, 'Invalid value'); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_sample_random_queries_1() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// let queries = sample_random_queries(ref channel, 10, 99809818624); -// assert(queries.len() == 12, 'Invalid value'); -// assert(*queries.at(0) == 0x1405a07e8c, 'Invalid value'); -// assert(*queries.at(1) == 0x982d6fc79, 'Invalid value'); -// assert(*queries.at(2) == 0x6188b67d1, 'Invalid value'); -// assert(*queries.at(3) == 0xa733f8ed8, 'Invalid value'); -// assert(*queries.at(4) == 0x557cce2e5, 'Invalid value'); -// assert(*queries.at(5) == 0xbf23e4bf7, 'Invalid value'); -// assert(*queries.at(6) == 0x3247d4098, 'Invalid value'); -// assert(*queries.at(7) == 0xca83fb21d, 'Invalid value'); -// assert(*queries.at(8) == 0xc2321969b, 'Invalid value'); -// assert(*queries.at(9) == 0x52d896136, 'Invalid value'); -// assert(*queries.at(10) == 0xe4da8dce0, 'Invalid value'); -// assert(*queries.at(11) == 0x8cf7e0675, 'Invalid value'); -// } -// === BLAKE ONLY END === - - From 2629d32e54b7c1fd07a86255bee3a0bdef4fe665 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 6 Mar 2024 12:26:00 +0100 Subject: [PATCH 31/48] commitment tests --- .../tests/test_table_commitment_commit.cairo | 17 +- .../tests/test_vector_commitment_commit.cairo | 13 +- .../test_vector_commitment_decommit.cairo | 204 +++++++----------- 3 files changed, 101 insertions(+), 133 deletions(-) diff --git a/src/table_commitment/tests/test_table_commitment_commit.cairo b/src/table_commitment/tests/test_table_commitment_commit.cairo index 67389e18d..89a901662 100644 --- a/src/table_commitment/tests/test_table_commitment_commit.cairo +++ b/src/table_commitment/tests/test_table_commitment_commit.cairo @@ -76,15 +76,15 @@ use cairo_verifier::{ #[test] #[available_gas(9999999999)] fn test_table_commitment_commit() { - let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); + let mut channel = ChannelTrait::new_with_counter( + 0x1b9182dce9dc1169fcd00c1f8c0b6acd6baad99ce578370ead5ca230b8fb8c6, 0x1 + ); - let unsent_commitment = 0x61cb9987d55c793fdb238238311dcea46c75cd8698e52f1d01cf74cd25dc797; + let unsent_commitment = 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269; let config = TableCommitmentConfig { - n_columns: 0x7, - vector: VectorCommitmentConfig { - height: 0x16, n_verifier_friendly_commitment_layers: 0x64, - } + n_columns: 0x4, + vector: VectorCommitmentConfig { height: 0x9, n_verifier_friendly_commitment_layers: 0x64, } }; assert( @@ -99,7 +99,10 @@ fn test_table_commitment_commit() { 'Invalid value' ); - assert(channel.digest == 0x0, 'Invalid value'); + assert( + channel.digest == 0x1abd607dab09dede570ed131d9df0a1997e33735b11933c45dc84353df84259, + 'Invalid value' + ); assert(channel.counter == 0x0, 'Invalid value'); } // === KECCAK ONLY END === diff --git a/src/vector_commitment/tests/test_vector_commitment_commit.cairo b/src/vector_commitment/tests/test_vector_commitment_commit.cairo index 5625af482..3e2f94830 100644 --- a/src/vector_commitment/tests/test_vector_commitment_commit.cairo +++ b/src/vector_commitment/tests/test_vector_commitment_commit.cairo @@ -53,12 +53,14 @@ use cairo_verifier::{ #[test] #[available_gas(9999999999)] fn test_vector_commit() { - let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); + let mut channel = ChannelTrait::new_with_counter( + 0x1b9182dce9dc1169fcd00c1f8c0b6acd6baad99ce578370ead5ca230b8fb8c6, 0x1 + ); - let unsent_commitment = 0x6fb12bd48b9888a8e658379b2bc292a24683ba58ae04cc3f88ccea065cd1e29; + let unsent_commitment = 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269; let config = VectorCommitmentConfig { - height: 0xb, n_verifier_friendly_commitment_layers: 0x64, + height: 0x9, n_verifier_friendly_commitment_layers: 0x64, }; assert( @@ -68,7 +70,10 @@ fn test_vector_commit() { 'Invalid value' ); - assert(channel.digest == 0x0, 'Invalid value'); + assert( + channel.digest == 0x1abd607dab09dede570ed131d9df0a1997e33735b11933c45dc84353df84259, + 'Invalid value' + ); assert(channel.counter == 0x0, 'Invalid value'); } // === KECCAK ONLY END === diff --git a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo index 49cb51600..c42840da0 100644 --- a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo +++ b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo @@ -377,137 +377,97 @@ use cairo_verifier::vector_commitment::vector_commitment::{ fn test_vector_commitment_decommit() { let commitment = VectorCommitment { config: VectorCommitmentConfig { - height: 0xb, n_verifier_friendly_commitment_layers: 0x64, + height: 0x9, n_verifier_friendly_commitment_layers: 0x64, }, - commitment_hash: 0x6fb12bd48b9888a8e658379b2bc292a24683ba58ae04cc3f88ccea065cd1e29 + commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 }; let queries = array![ - VectorQuery { index: 0x4, value: 0xc59695de6389edbc041bf0fa3981d4960ba0eab5 }, - VectorQuery { index: 0x44, value: 0xd39ba995a396332afdbc259df21579fff43ddcc0 }, - VectorQuery { index: 0x12c, value: 0x3914e2a3dc4e65c01e3f04f37a03adbf4162e640 }, - VectorQuery { index: 0x160, value: 0x7215d6a4ee66e2529a27a41c5b82e4f1b1b3981 }, - VectorQuery { index: 0x165, value: 0xaa9a47ad841ffc27bbc716ba1d48e97b30304038 }, - VectorQuery { index: 0x1e9, value: 0xf17ccad8cc2712ba6a273af34ce8bffa8a21c12 }, - VectorQuery { index: 0x205, value: 0x21b6c793b97a2d7f203a93111b6d5f9658b530d7 }, - VectorQuery { index: 0x2eb, value: 0x45ba7986c7fc43dc051e0ca8e722441a5b39d7f6 }, - VectorQuery { index: 0x2f3, value: 0xc5e877bacde594fae7c435bf42ea23fce7cf0681 }, - VectorQuery { index: 0x36c, value: 0xf5d449e21a08294f96394de72e9b1227c801d8c7 }, - VectorQuery { index: 0x3dc, value: 0xb2cd4fd1b139663c711e8e4cbccbee1924f5ee3b }, - VectorQuery { index: 0x4af, value: 0x384c7b3242430f802c835bad16ef7141ab4eba7f }, - VectorQuery { index: 0x4b3, value: 0x2164c9c5caff4d72f8203b37ac1905eb84785e17 }, - VectorQuery { index: 0x549, value: 0x1bd11b9747075d8e16adcb911b7f8052ea570886 }, - VectorQuery { index: 0x6a5, value: 0xada82ad4d79e3f215d7c7e32ba7967a18cb5da5d }, - VectorQuery { index: 0x78c, value: 0x4b8fa9d45e45df2664fe4ba3d97afe319a6c44b8 }, - VectorQuery { index: 0x78d, value: 0x546c1b22cc3fb2cde42480696a00ee6ffeed945 }, - VectorQuery { index: 0x7bc, value: 0xe21650a9efbfaee00cbdacc6e620acea50a9c063 }, + VectorQuery { + index: 0x73, value: 0x12346ea425a6aebc8c323a401410cc325aabaf99b54e600a7271f146488aa2d + }, + VectorQuery { + index: 0xa5, value: 0x1aabe006a27bfa5f93bde192ff552adbef87058e62546c831ed14ce94866ac1 + }, + VectorQuery { + index: 0xb0, value: 0x7205a2b5f5f403b8053b4e4ac65e2a484c007f6d118524fe28b7cdf2a56bb8a + }, + VectorQuery { + index: 0xf8, value: 0x5d49462d844a3f203c59d39fa005cbe153c78e6ac831987f19c0d6dfae38fad + }, + VectorQuery { + index: 0x115, value: 0x53d21587a9cb08d1b9402a4b8c2a9d37942b26963936200fea3122eaaf870b1 + }, + VectorQuery { + index: 0x11c, value: 0x7c3355a75f6b36a95068b68d48e7539cd97531b7478e2cf7d2dc85b32bafc66 + }, + VectorQuery { + index: 0x12f, value: 0xb6f3a522577229ac26f12df90daaf376afbd960ee4b0ab07f270bf9c5da56a + }, + VectorQuery { + index: 0x13c, value: 0x174cfc44eb57da0eda6ae9407db71c5144940f05ef51f858bc8e229d15703e2 + }, + VectorQuery { + index: 0x153, value: 0x2220da78b33e155482bdf0534dc30fc17fe059a7b9e30f710ee2681a8151484 + }, + VectorQuery { + index: 0x1f4, value: 0x566b71a4f84556a3816d911c5dfb45f75cc962d9829acd0dd56e81517cc73b8 + }, ] .span(); let witness = VectorCommitmentWitness { authentications: array![ - 0xf55096d2f7b8f07eec62a5343c77062b39463114, - 0x78b5fdb2c391bab1537ac9587918f4458ff62d42, - 0xb4b02d2f5975158bc76dfe55d6e923b0cc3a4503, - 0xfaec62b8eed0a2b3e238850ccd6cd10277cb1b28, - 0x4a554c7ed80ad701e19397ce320db0b4a225fc27, - 0xfa403f0c074ad366c49ff03e2982a72f2ba038e5, - 0x8b394964fef8ee3fc671ce43102e0902201ddadb, - 0x3afff4c18399da53f86cbaffa899b457a125f50c, - 0x433b6cf6715bd0b087e191541ec81031ff75eb2c, - 0x8cb17f676ce30d8679c562621e405784d9722b90, - 0x9e8bd9876a5d05894f105c7f0c08e13f4a9c6ab4, - 0x925ed8430f1c5237a4f7c8b81543125467da1565, - 0x4dc2837e605144eefbd643bd86f1b9cbbafafce3, - 0x2efeebc2ec0d5ca767cf4c41221758fc04324fb6, - 0x2a1e4e2a4806010744e41dd70ccf963eff19d041, - 0xa644ef36cf2f66dc84b9aa3b81b1393efbc65a26, - 0xf7b80a5c4b44168402c9f84c9d361d1e6502c8e9f36d87f5518d92120ad8, - 0x4e3c13be8435b470884e764d56aaa96c123a2e698ca41a36374af4cb5b6e3cf, - 0x183c8e762a3d9acac8203a91ea13998363d26808cd09a911a898524281bb991, - 0x6a0c600069ab811470501cebb1b357698ffbb377351a8fc58c7d4b2f16854b8, - 0x34a0334d9681c49ff442cbe788be80244ee93fb535fbc0b5ad16223b4a38e3b, - 0x669b719c7ed287adc4093f797d96165edc2fb3e93424816635f057ef358d827, - 0xc1d8abf021965bbd29c9f24b5ba7ba0a1662c21e633e17d99d3a348686ebbe, - 0xaf4ae98bbf18ac72a24f2f46f7ef66f5f462006f54acca1c72ceffe0799b4c, - 0x1bc70877bc75a2334c7468e82d3edfcdbfa5b4e56fa382b0be1ffd4f5acc25b, - 0x30c29bcd91ad40012952320b8c7817610405e184e4c5808edb3d20a902a17f8, - 0x38374e573acfb181e5ef2d23179daaad817cfa34d28354d0380b7e4035bb952, - 0x31d49bffe5a2f545f551c4d56f0e13951220e80a44d058aa42fe79d8c852bc, - 0x2376b6ef5fc92ebceb8f03de926a8f7e4b8b185c4f45249945a2faf0b4d241, - 0x575fc08cde15fac264a01409aa3e6ade8a4e0a23e12da2d7266f66f4f9e9b11, - 0x61c80d3dea67aa45df8f1a4fc59e0a342709dba842914b7a1d35b1f494f3f3b, - 0x4e823960cad7bbcf8cb465174bd6f5277565e65b0e74cb8ea0e5a59a9dd7a00, - 0x1858636dcdb6991ea99e1e0e0726174d94ee6f2c4631189ae7c99f5322b381d, - 0x78bbcfefb0d51a3d7c6e5af76817c23a9204b9984fe3935202cd6b901279219, - 0x5d6fe1c4324c0cd5c2dadb4934dd0d755227744fbf623858894ccd187b7ec88, - 0x6f4f26dced70f3bdc8e57435bbe1f501e87523d5e96848db4c8d0b1b4113b52, - 0x353341a393a93f30ec1e0bd79610de5ed363d2a8aec961826b7ed48c7db0371, - 0x402d412e00c4f00af22f41c4416ae0446022c8b3d570ebbdb7fe7e3a9a1c034, - 0x4deba1da491a9b0c478ebec8daaf2d741b17064eb41963a3e239d1dd12105a2, - 0x7a4cbbd09420be9fe7e6a63e9466766361857a2984ed2781c8bf3e7dbff81b5, - 0x3ad55002693781ce9199dc5b86aa29eab455868aca80d5e4ad7b42352fa86b5, - 0x52ee7bd4683a9d6e4a23faac5f61c5fab4d9136f2aee9521d3403b5fe276fdb, - 0x2e74229f057d6e41bb5b70039c910321d29e3616d3f9f934adbb5ed39fb4256, - 0x74755694b1f154f3ab5af1d5d3074feb950bbdbcef806d7e86b042f1a792b43, - 0x2455a171b2c245bc7312b88d9895b21a4e50ff9e1abb819c5cfd682ca04eedf, - 0xc861f27f72df5c02064c620d935c9a8414d7360b276c1214b749df866ba304, - 0x3a3538058899abcfb7689b53525ed5aa0637d1534d11b2d8df3d75b289c1e7d, - 0x4009ef7214fcae086d105befb9f52f554f832165dd7437eb6804cef0ed36a47, - 0x518ccdc4ad24ee83c344cb81413b710d39a993701d92c132a065b684af3b1c0, - 0x2ffbded319cbad0d76150b2f1d4c2d853c65cb8b7ae02995971700476643534, - 0x7fc3e1e870bb9d663a41b7468ceaf23634d3af5ce2e07b72520d211168be05f, - 0x49ac36a7cc1ce1cb681adaebc14dc0e70feff24ea52df8ad445f51019f26181, - 0x5b4e76f0d6530b6e620fa0bc3206f59b8e0aa4f13ff6655ea6e322074f4f650, - 0x6558ff006dc47e82ca9f24e555f3366a95d0c96d16621524a332972231d70ca, - 0x365da3cf61ef9b380fd84d1e5cdffac5cd2555fe83b49c52dad0cf3fc86165f, - 0x4e1c876b2ed80adf0040c7ee3943abb7dadef9e7fcdb5f592714e60648b1c42, - 0x3b79a5451e5be10ebe65a6759c06048d8b3de717145a026676b7affdee180ab, - 0x57fa8d4e2be3c2e13c25acbff693ad042e24ca696176bcbd3bd037b801c242d, - 0x786b9b0ac0c234d7a8528d7a79288a7e429382b11e293e6292413344a64521a, - 0x765b37f81acd90a87d1ea1f1aa3d318b7159ce57a47b919408fd206528c3539, - 0x19f6fe36a1939b62da15ffcec86334766a4719576d9918ad4f77af6d383f857, - 0x26e7703fd88ff8f9d5e9fc5b04f190f673344e503b102f35dc9395ca2d3201d, - 0x6f265baf8a84aa96eaf8dbf912d6f5e23c4afc406316b8ce8caabdb95462b27, - 0x3c1b06cc4e16545ca42d5a1b008bacd5b898a6f228ec75504e8d23674b0b00f, - 0x1f2c07ffd444b643a40a02afebe5c9525a49565b1b2958c8c6f62f5d5eebcf3, - 0x3a9ec34c2d19c0fd9df45d692652c656af4bc76f6ec392ac0977f706ad0de8f, - 0x76e8b53b29b8e8b33320e4004d304908ccd49f845fb655f3305298106675779, - 0x7eee11652daf7e4723e2a45e67e121b8302d1421658c335b9507c00e1cd2c99, - 0x2a48f84e6dcdd4ead02aa72a70b8857b6708938c8ed168d15f453e4b61214a5, - 0x24f359e5b215c89c57e8b0e5ff4e47bbed0e2858a13b729bf2e36ef8a827242, - 0x6de7c303a304c966ecc2c628cd4085480de9c535014dd132b4dd5c7122fbc93, - 0x61e6baaae3e9c3d27b20c6de698c99d4be7570d57570bd682bb0aee330bab38, - 0x7318c02cd3be78c9e7c8fd5d1f320263da51dc817dda80efb4169b686547c50, - 0x7e10f75246b58d4ba3532657b5c1d847aa436a4dde59178adca3c43068f16ab, - 0x53e24f37b555308cc05a61e0852c617896c08963ceaae70e88bb6423e40b63f, - 0x1754c425022eff0fb86d4128130f27d5435d70b9f47510f4bf17ea008c81888, - 0x3930fd515c31a879d879c47ad216ec264791d0f5af2dfe60ccb3ae74739cfe6, - 0xa0ec122d33d517595b7b0e00237106f8fac5750e74846b7ec2f928c908ef0c, - 0x54bcd6bfc9c7284e7044314992d01bbd1a31dc9acd0991010ce3a4b28149f9, - 0x24fa80d4bdd131f47b5ff93e4b8528bc5b3cd53240c42204a68818d54b9c065, - 0x787cb0185088ff613b0ee0b3df80713e0e834798e5f32def440e2355c586752, - 0x411e04cc61bb2ae3ad09271609c30689f8bad3e14042295c5ca6668b07801d2, - 0x5b808b76f57ec1e1495354e4ef9d995889c7c28777db6c173f6e066dec5bb5f, - 0xc88bae1ac34830d0ad131867fa912faf20200eae6db58acb3557b57bb01d56, - 0x5925ba7ded78c3fc311109c3e989769855dce6e84d2be46c925ebe3931351c0, - 0x2a1713d95c2295d15013dd3df02e2d1cb55aabb585e97fe7f738337d860b7a3, - 0x7e2bbfeb2da6a1b05b3dd93383592d9c813932c76b4339b5ef75b940fa69087, - 0x6a1b49c0b2e01faf57db34e617d8f671562bcdd4cf7bb335ea277ccf28953e4, - 0x68a0c0c17c01d20c5650972084a5843496bb498206e13e0dd3f644eb0752382, - 0x33eac3e001bb4f135dd70daef8a76e8777a04852c529934ee17e059f2fd658d, - 0x4c2cb9694ba52230f47d321eb72140c4d90fb0ab7e9de0682f76595283b8e38, - 0x63a398e6a765fe052b07df038ded4c29360fc11145e5655848e97bae32d325b, - 0x781cf8466d5b5c54c3bef7311c62f9883396ff76447581041032ba7dc85d87c, - 0xd224797bbd0dd5dda3a4801a15b57630c7c09d029bb6e547a0854452f7064d, - 0x2a23582d466c471a03f979dc9c7aae3c2ba5b88724d555ce8f92a3bde806910, - 0x6f6ae49e32a297e4e6989dd8df7b7e2491d53dd8ef7be2c1aa3f09314200493, - 0x6b55db7c7234df9d3e3f905076799c873e09e5655819b757c4177dc09ab6873, - 0x243d908da27170f5dbfee91e1bfa8be8dbcd19768c0e24dfa46d44f03da6b63, - 0x7cf917c52ff864728e210d2d9742cb97cb948c2355123a076e76e5a479d3b8e, - 0x60edc5d8925144076d7bc8700ea93d9fa2a78e9b82fc1db33cba6db5291c46f, - 0x3fcd29866de6fc6e6057e5196bed9c9f7225c09e91707f9c4830c847b7f3244, - 0x4b91acd7f2b803808ff7981dca8b3c734233bdf89b6034e6d2c35222a6cbfa0, + 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, + 0xf3fb7305323c5fa68ad49a509a9c470e2396af41bfd2c9cf86228504436a3, + 0x9dc63f0ac48b17304af16748798567f21bb25f8cbeaa48a462a74b3e0c5d79, + 0x5d35649398cb24bc00458a32d01c61a8450c7a30cc5b95043f4e2b30df01360, + 0x4493f60ea79053f2a96439d50d6335fd35e13599190e1656b724eacac658e37, + 0x7f58b9c9c333dc5b31e3ee5e8a98d8cab0c84b3a886042b279dc2f2c408d92b, + 0x349a976371b7aef1b1992908fefa423b9e5d4d0be58092ff6e5ead51ecf1ca4, + 0x3ffacb144085ca3c572a314c6bb0e01b253827231285fba4084e3b624438ace, + 0x55d22158d5bfad58ddf2633f24a3fae4642afbcea1cb9155e8b54c2a432fbfd, + 0x63c1598794322bd8f1686e89c94dc60b0bb4f7940b5427af72187091e71ef63, + 0xebaa8e9ab29cfba43cdc1f2cacb9cbc08b2cb17317fed571718e5e66b42488, + 0xa31370f89d85108378244beeea13a2b2c379d16cde55c2fcd674f4296ddabe, + 0x4285440535fff0ba31e970a1948a09951ff740c91c6d6cf4635527877c55ff1, + 0x49eb1420843ac1a3178010c314906d28f6118e8b36620ce4469dffca27a047d, + 0x4e65200356931c3ea1e20e087b5bff96ba268239ed2e2f784def64f5760418d, + 0x103809d798aab5452c77f42bc4c8fcfcfa9e6efdfe24077e41928a52daf1dc8, + 0x4253b3498a013d4473d43686f9e509be7541daf00afae0d7216f7019bc75d8f, + 0x689297a643de6bd5955e314f94367af901eac67eeef51a52e40c0205cf8023, + 0x2ca9dcef95643af6ec5ee055d1a05720f2e3f5e6226de5b206c4a78482963b8, + 0x72fbddae565406f284bb4dd89623c29c821b6187dd7dfc292dbbddd4094077, + 0x30e5ea3c2280db52829548ae99a71faa030b4e4bb87679b427f76c594aaa05a, + 0x45ba1eda942e1085af97db6e189996903cfa09db90e52b4589e16df981f1601, + 0x8c36a69368bea30f8ecf7de3e461a03b0cdd004ae08a3d44281b093fc63f2, + 0x5c7194878dcb2d4ba69da97c1a878f96dd78d97612c882ba7179bafe92a6a90, + 0x20c37b922bb713f2b6772a9ae014715f418fe5da4d53fe9b00cc2fe851f233a, + 0x3a7e7c684904e82bf0be54290299b6d83f448bac5c6e9ea4d1cd1e844eccb70, + 0x1ebbb30dbcb3b4fd0da33cf84d456101bbe9147b1a65507901715b3490649c6, + 0x1409c71e0dcf4a620856775508ce1b4c7d55e4229ac5fd41a3f8ecee097eb39, + 0x18cdf340cc64b00bf134c9e55396f79eddfbda8e2090542380c5c4967ee790b, + 0x18add43c036948c8d7e767ae22056e1f5f1a9d1daad6b9a8f2e7da996f4a1c2, + 0x30e7224d1c98b75e019b60bbe320e358ef35b1adaf12aad044744e640c2a4d, + 0x25a8793c928ecacb2e84802830fa101fb3839455957921ed7bcb39549b1f80, + 0x65dd0f91032712c4a8b1b5c35cd6ebdb654efb5e56085a2eef0def4bde4d066, + 0x4a50e2b14315602b8c97c9d2304db828806c37b751203bb7dad534d7b45d21d, + 0x5afdcfcf55c58dbf5ad58b17f16514da8dac3e69501fb399c30333ab3050c3, + 0x20f5ecf9107f9d3e33f462948d955b70d5ec5573a679ae548998c41b5eec730, + 0x1f70d9f6c203312c6aabf4d191cd4cbc68f8c92bebf561cb8e20ce9fc07ef55, + 0x14e877449f7005ee874020d6759ce808345e20c3fae4a62e7f12c2c457f71ec, + 0x780b4537e060e0f1e88ca7337d5d43ef2d4bbb4b48e4899c55ea9a5e7120b5a, + 0x608a4544987ef3599043e9a8b4aa0598f8d71dee81e46104ca6ac186e2c8044, + 0x58cbd95dd12e8761a99011f0ae970fe73e03b7d7e43b614510ee7a6a2efe7d3, + 0x5c533c05cbf2af6d819bdf23272e567b7a49c2c2bd799201ed0e32ce9ff092b, + 0x342bb671b7d40601d4031045068abfbf2c578f7e4a380e180dbf2b0c8fef6, + 0x2da269eab1f7e247c0caf3bcac1bb0e5e7abacde34bc54a9de3e0a82a36cfff, + 0x117cc37e078928598470cfe43e1b6c66c6365d1cf601bc5daf1055a0f8210db, + 0x4640956c2daa074399825b0404260bee0898f9d24b1c807f5c43159e7a9b019, + 0x1da36b1fb01d0470d48c3eb4c92263eadb7b58c8829f2ee77e3287a6e39c902, + 0x78dac96e95e86f83b4a426bd0505d84b5ea967822d0fca9f3bd28331164d94b, + 0x1d50c82e363d8e7fa2641c9f2137b99832372d1879a2ee02b2c824a4cb620dd, + 0x2fd5a64db6093c9efda84ba327a43043e41310626073e58331c9f2f9f2db20f ] .span(), }; From f6079d3fccf25e911805ca59c45a7834b915e7e4 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 6 Mar 2024 12:26:39 +0100 Subject: [PATCH 32/48] stark tests --- src/stark/tests/test_stark_commit.cairo | 11 +- src/stark/tests/test_stark_proof_verify.cairo | 6 +- .../interaction_elements.cairo | 12 +- .../proof_of_work/unsent_commitment.cairo | 2 +- .../stark/commitment.cairo | 276 +++--- .../stark/config.cairo | 6 +- .../stark/domains.cairo | 6 +- .../stark/oods_values.cairo | 270 ++--- .../stark/unsent_commitment.cairo | 2 +- .../stark/witness.cairo | 516 ++++------ .../traces/commitment.cairo | 4 +- .../traces/config.cairo | 4 +- .../traces/decommitment.cairo | 280 ++---- .../traces/unsent_commitment.cairo | 4 +- .../traces/witness.cairo | 920 ++++++------------ 15 files changed, 905 insertions(+), 1414 deletions(-) diff --git a/src/stark/tests/test_stark_commit.cairo b/src/stark/tests/test_stark_commit.cairo index e841d44fc..1d198d25b 100644 --- a/src/stark/tests/test_stark_commit.cairo +++ b/src/stark/tests/test_stark_commit.cairo @@ -30,7 +30,9 @@ use cairo_verifier::{ #[test] #[available_gas(9999999999)] fn test_stark_commit() { - let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); + let mut channel = ChannelTrait::new_with_counter( + 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 + ); let public_input = stone_proof_fibonacci_keccak::public_input::get(); let unsent_commitment = stone_proof_fibonacci_keccak::stark::unsent_commitment::get(); @@ -44,8 +46,11 @@ fn test_stark_commit() { 'Invalid value' ); - assert(channel.digest == 0x0, 'Invalid value'); - assert(channel.counter == 0, 'Invalid value'); + assert( + channel.digest == 0x28f12249c8cba51796d59e7573019ce2b4608c9a8cdeee26e821b0763c69229, + 'Invalid value' + ); + assert(channel.counter == 0x0, 'Invalid value'); } // === KECCAK ONLY END === diff --git a/src/stark/tests/test_stark_proof_verify.cairo b/src/stark/tests/test_stark_proof_verify.cairo index 2018e5022..af6782182 100644 --- a/src/stark/tests/test_stark_proof_verify.cairo +++ b/src/stark/tests/test_stark_proof_verify.cairo @@ -7,6 +7,7 @@ use cairo_verifier::{ // #[test] // #[available_gas(99999999999)] // fn test_stark_proof_fibonacci_verify() { +// let security_bits: felt252 = 50; // let stark_proof = StarkProof { // config: stone_proof_fibonacci::stark::config::get(), // public_input: stone_proof_fibonacci::public_input::get(), @@ -14,7 +15,7 @@ use cairo_verifier::{ // witness: stone_proof_fibonacci::stark::witness::get(), // }; // -// stark_proof.verify(); +// stark_proof.verify(security_bits); // } // === BLAKE ONLY END === @@ -22,6 +23,7 @@ use cairo_verifier::{ #[test] #[available_gas(9999999999)] fn test_stark_proof_fibonacci_verify() { + let security_bits: felt252 = 50; let stark_proof = StarkProof { config: stone_proof_fibonacci_keccak::stark::config::get(), public_input: stone_proof_fibonacci_keccak::public_input::get(), @@ -29,7 +31,7 @@ fn test_stark_proof_fibonacci_verify() { witness: stone_proof_fibonacci_keccak::stark::witness::get(), }; - stark_proof.verify(); + stark_proof.verify(security_bits); } // === KECCAK ONLY END === diff --git a/src/tests/stone_proof_fibonacci_keccak/interaction_elements.cairo b/src/tests/stone_proof_fibonacci_keccak/interaction_elements.cairo index 32c498c19..c1780d2e2 100644 --- a/src/tests/stone_proof_fibonacci_keccak/interaction_elements.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/interaction_elements.cairo @@ -2,11 +2,11 @@ use cairo_verifier::air::global_values::InteractionElements; fn get() -> InteractionElements { InteractionElements { - memory_multi_column_perm_perm_interaction_elm: 0x7421a548380f80540c8ca0a4c71b753ea6f6b147b0dbee1419d4b63e3be6340, - memory_multi_column_perm_hash_interaction_elm0: 0x5215c179c61f16ab368ce9433917ebc9be815d9287b8c1c65d517fd95cfc1f2, - range_check16_perm_interaction_elm: 0x694cc62d87990a943c788a1391fd4ef2642b95950647de4c83e594007f82817, - diluted_check_permutation_interaction_elm: 0x5c631ff31394cfde22d9f6093ca97d1e6e2bda13beb181f0a32f8a994428c4c, - diluted_check_interaction_z: 0x3cb987f2a7e9e3075799f5eca856f562807d1169a720e369b8a263a563388d5, - diluted_check_interaction_alpha: 0x347c055bc6fe4bb41a31080b14a62d033d7cfefbbd8fa310b1db5b8d5f0b6fc + memory_multi_column_perm_perm_interaction_elm: 0x33dd9c083eee682a168398d8189bf14bc503febe8d298c7b254ff5d74868c39, + memory_multi_column_perm_hash_interaction_elm0: 0x6a7aed3206de9c6a434484cc1f499801fc2df433783aef27b67ee8010b9a6c5, + range_check16_perm_interaction_elm: 0x645541a20083f184215fcb20d8014bed0546f6ae292f9eb7ee3de254117c597, + diluted_check_permutation_interaction_elm: 0x11d978931f41d88e9e8930b42c84b6471782ca8c565464dd6f468c2b4804a22, + diluted_check_interaction_z: 0x1e22e58ff299d68ff2d5823796c232bd70a8e700d70379417849503417a478a, + diluted_check_interaction_alpha: 0x3b74ba4892c5814cd3d16f5f28df48e8a6dc70a3d67f18b1b4921510fe88278 } } diff --git a/src/tests/stone_proof_fibonacci_keccak/proof_of_work/unsent_commitment.cairo b/src/tests/stone_proof_fibonacci_keccak/proof_of_work/unsent_commitment.cairo index d5ff9bc31..6a3b4d72f 100644 --- a/src/tests/stone_proof_fibonacci_keccak/proof_of_work/unsent_commitment.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/proof_of_work/unsent_commitment.cairo @@ -1,5 +1,5 @@ use cairo_verifier::proof_of_work::proof_of_work::ProofOfWorkUnsentCommitment; fn get() -> ProofOfWorkUnsentCommitment { - return ProofOfWorkUnsentCommitment { nonce: 0x544bb355, }; + return ProofOfWorkUnsentCommitment { nonce: 0x6ee8fc4, }; } diff --git a/src/tests/stone_proof_fibonacci_keccak/stark/commitment.cairo b/src/tests/stone_proof_fibonacci_keccak/stark/commitment.cairo index 916ea6078..a7cd5ebd9 100644 --- a/src/tests/stone_proof_fibonacci_keccak/stark/commitment.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/stark/commitment.cairo @@ -12,154 +12,154 @@ fn get() -> StarkCommitment { config: TableCommitmentConfig { n_columns: 0x2, vector: VectorCommitmentConfig { - height: 0x16, n_verifier_friendly_commitment_layers: 0x64, + height: 0x14, n_verifier_friendly_commitment_layers: 0x64, }, }, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0x16, n_verifier_friendly_commitment_layers: 0x64, + height: 0x14, n_verifier_friendly_commitment_layers: 0x64, }, - commitment_hash: 0x671e750eb2c87f39263a909ab58b1ae4175bdff34dde999c02ca360490bb1e8, + commitment_hash: 0x30b93bbd6b193eb57d9f818202b899b7e8e09b0c7d183537fe85f4e6b6f4373, }, }, - interaction_after_composition: 0x66e527678ac61b27330fd77590774f214bcadea25b3e6a9e9d2bcbd2bd58acb, + interaction_after_composition: 0x1c0d29e24bc79e4679b20a2185841d65fa77a288bdd472e1d4a3de9324338e7, oods_values: stone_proof_fibonacci_keccak::stark::oods_values::get().span(), interaction_after_oods: array![ 0x1, - 0xeb24355844f3985b14be3b60d49120d33460a2c8a8ce0b03dffc3cca11f99d, - 0x5ca2b7ade7d69509e31e99c5e945d4fe84529614e2f9ee71e57780d051b8a0f, - 0x5c066d0915666ae4f61ba510d6d5c1ca15cb72edd7eee3840a1dd9f55df7f99, - 0x171a8b8965efd5af8a5efcf211bfb29cf80df95445331f7d33a89e595ca793a, - 0xb93e796a7a088b449c3665f6e9a43919a0807a8c54f07b5b3fd062bff6a69c, - 0xd13587fee56b8a8b3c03325a84319f5c47d5282ad47d8bf66450a26715c3e7, - 0x78f9f64fd0b66504a1486a7c3fbee93cad4db70b24e2423526c2bca2ccdc40a, - 0x29bffee57ff868ecf1e427fe8626a2152876c841f887ea5d845c2b68df3a0f4, - 0x39e485b5d70bf3e5a18a6700246516f474df3cc452550d8a5395fd2ff51e2c5, - 0x7dff5926042b37aa8dfb1ba85bd46a8aed7479b1385af4c9bddb5577fd78173, - 0x79abee9f231ebeb7fad7301dba6dece66b31b89d92b7fe915c401b5f79ae941, - 0x7dc9a70f5f15679612b1ab9fc877f5760e4b337b732c4336a828da9cbb3869f, - 0x35eb6bb78f373b80e31112d77b86e3f8463b7fb32ae1ec80667b92de87c453f, - 0x27af0c002241a0b2e3100f10a74588d1a129e6237acaef6d3fa12ac80338f6f, - 0x7423857cfd058e671336d9376f67516f4fe3c6e1f345ed834bbc4357b10140f, - 0x36100d0d42c50f5a4f42cb8d5fa07b2863dd574bb95ce92ae84e897f6e4cc39, - 0x18779d2d7fc40fb6ab8335cbd3abad527a41043102312aa69f65881e2530604, - 0x7a9ceafe786a08ef5120f3b0484175d5ee492b5abb90e6ddb6842c75ae4a503, - 0xc63038aee8a68d07501da667f0757cdc12b5fa1cca0356e650961e6cb34521, - 0x2f79d496985b9f181040fd5371a88a61c9b25108ab4422ebc43196d64dfb4a4, - 0x53f683a7f8e1d38dae29f9693caf32888fc8930f09e647eb4f4faa6c572d15c, - 0x31e349fbe50c53ce379c5483b5429b23071348940548f4dd1e027824b7ae942, - 0x242680245cac3ef11c66553b64ddd7c0c32f9f1fe19607e8847823b09d624d9, - 0x40fd70719a05167f9a617190fd609904819af06761a55af410d9362e6f45bc9, - 0x43e49f9e059ccabd8f9a2cdc6a445f5c45d4bd68b303831a12c3ca5b028acc4, - 0x52e09a64d7bb0122730a6c302b9a8f69fe0a9b4adc14beb5a06c311aa0aa0c0, - 0x1500a01a8b16aaacc57a9fbdf0917f1f265648c243aad828922a098a00eec21, - 0x4a70691d68dec1d6a69ecef3d727f7934a623066e38d6bc4f0f886eea8d6b0b, - 0xf3b0e71c5fe8f2e2cff759ce4b4c1ea0efaf9664b51aff8776d5cd2ae98af2, - 0x16781712a0685730a2078969a5cf054742fa27f71b533b5e9cb1955c6f3921b, - 0x521a146c44e12d14676e5c7f0e5562a7a753cda31969afb517dd4bb12b7cc10, - 0x414a2ea391edc0a62ab87552318048e11a11f1144b9de553ed3ef21395fc1f0, - 0x331d3e4d7b618584bdf1c970fe3755cf048004bca065ee0f4ba451a9ecdbbd2, - 0xbe3de01d1727db8082d4f7c4292a086079f9d384ad12764be6671939da4d24, - 0x71a7e6f7e1a6e4a0b4b46e738f57a3813f29c8960ea4b7532cd3e579fe8cfb3, - 0x74061aa42a79d23b6cf210612da821963614d5fa11b8bd137058020822a529b, - 0x7f0743b0c74c4db5e61620825ab364c0f2e0acee8cfdff87b22c10016725e90, - 0x7facb99451acf877b282859265c02da7f69b9ee42464ace4944f77a854b478f, - 0x16016b4fad63c7732e89b035200505d1ffe750830b4cf97eeefd3db07a470f, - 0x5c782dd81b54d30536bf49a1cf556b0f262a061da88dcd0559d47556dbd3f70, - 0x27d196403a55a67a2c216d6cd64aaee874a838fd96372c260427ea103d2015d, - 0x1594e108a810be9b78b5f21d3bf9ea01421f73c459b4ec7402c48c108d851be, - 0x5eeacf367ff8c901a5a861b43dd6ec434a819dbca77bb91998263c981ababd, - 0x375a70cb838e3bfab15a8a46cbf52931d425fac9e2eed65ee53b177cb176470, - 0x2373ba4a029166363d4bc94103455311a7ca7ebc0a220c4a2a2c447fc06db3a, - 0x77780250c9de2bd0235931232b05cd97f758bab37a12a84bdcd0ad1dbf56520, - 0x25ecbfb4758c15bcdd87982138955ca6f1260684f5a7bc6dc32c20ee3a971e8, - 0x69001b5dac1aeb524c576fe9940d15a9a16c55401ddef3286cdf27b06e88b21, - 0x5d1eec231d434921c1f796c187a59254f8e59859064b3e55fd33ac3154ff2ce, - 0x7720b7aa44f7d2724276216d7b29b0d0979a0503c0333f65f1c87072d5ab25f, - 0xfd2bb9c83fbcde3ff45551753971509a8f15f26a61067a29dba2e01868f2c6, - 0x43aaf9629c31628c8a50a830105a4f0731c51489702ca4cdf163fa16f83b567, - 0x946c9c1d6bda59dfba4d4b680c191c1fc16b2009a0b4623385346a8fb08f73, - 0x71358fcd69944e9442752b2fa91ab6d9962e91007777587e150639c089bd142, - 0x5f633314cdba4c4a915a2bc63cf35e94479804297e6f0a3ffc0d94be766225c, - 0xf519e32abd1abb968657e55b12562ca6c088315ca4f61ded53c2fcb24a51b9, - 0x32bbdb79230c957c52c2aa3f56a1a466a84ca2c9d7198800880b554ed4e637, - 0x6afe9aadbc83e9a6442b9f82e0d97f0b3f45b339a80ae62c6fda68b97f5495d, - 0x461f0830bfd40ef2b740d1e4740663d92abce2ed480bf34a1e914401c9a223f, - 0x274a9d52e693f1c05f01cc9d861fa5b4536f053536eb83c394de242ddec5205, - 0x58c14214902a78f30b96f80a6b502692870c542bbe196f7c72848b2e42450b5, - 0x120c3906ff3b5b742fa4bea7358135f93f1b4f21670335487d9656d0b86c78c, - 0x3e2877e2e18b7b8a5cb6e55c0e3f5bb01f5347b439ae9615566d075686cdf85, - 0x66e378b3f94b1c03ebd07e70f54525805a33bff8811ded225550fc881a5d28f, - 0x78644104cec6be621d4da13be0bdf7c60fbbba89358d468d564050c9f9596c, - 0x51a1a66cf71ea40147f270f8fcbdf3ad777847895777d497b3ce29d0b02ea76, - 0x14ad36d68beacb9de49494280712955066d8e443ed86c3e2706d4274504f316, - 0xd4ea2909442a70b015b1040b0735e60ed806cd85057343f8f0b174c589da8a, - 0x2c742a1b7876ecb2f1215c4704a4a81b13e8d67d06aa70f749101c12a1772a4, - 0x12fbd9c712dc49f38efc63ae3962ab2bcadca80c4f4919318595f9900e373a6, - 0x5537804489cf2c3915b88dc9649779afa97a36ba363084f0d7c97571e5a9063, - 0x15f13da785fc85c06a9b03869b3d4f3975a2e59c68c2c9fc3a68948c5f519f6, - 0x344fd83c7e776f819ba3a38699cc1e12349251eacef09deb40f9b8e845675ea, - 0x52c9499eb0bf56ab32418d55eb7f6bfe59bf8555d3cdc6fb70570941ead136e, - 0x6ae7c6008f70876516feec519ffd57a6c476d46ae10da2e8b7ea7c0042b7691, - 0x54e2253ffbf92d90a8281de552a4d0ed04c2e4c17c1a9a1bf77388c8f5b96f4, - 0x7370dfa37c3e3607c7c6df72fbac249ef68b77924dadf5ba7f816e301328053, - 0x34b76025f9f60666181e5b9d170852f040edbf94848f8c0e217682eb8e1638b, - 0x134298da0a8f0effc6289ace86c7d845016e199ab35706934102ad07d048511, - 0x5d2be6a32c128edd7cc0eab4fad73f23641e6abaec2f0ac56ef5a4ead6dc988, - 0x3e464096e1f318fb2b3c36ff768bcc59a212257cab8ce6ef4aaacb8be2bd2ac, - 0xebd193673b87a921b50fbac67e13d5d0cfe907d99a6813b45bdbff8b0f0df2, - 0x3fe925de3bb16d3e3c552ceae346b3a473510155cdfbe6bbf92f054b1441848, - 0x77dafd3a37d8614ece8ec217096407c3b7002debee5653298320fbe2063c017, - 0x6c51df2c75a93cc256b567074bccbf81bef02a9603b643a32298ca4dc82b5c2, - 0x31e80c74ac6d83919b3de981b6d4ff9e2359b4c09843c589bb9c9816c2d63f9, - 0x422b191cd898cb6839cd83114fc787d02d3f65a607c7de58a64d57987e33474, - 0x539cd917dde9eeae57e2b501369aa2cab0ff9f11796ff7eec84bcd93505a64a, - 0x5b789266eb924e328e35271b53547716fc6af0a422eb15415d8c1745a662319, - 0x18dd60b2ee4995945a30957dba5c8eb94528501964490ec7aef90ad5d4590e, - 0x28e9e5957e337dce3c8a3eed8a9415dceb341690fcb1bcc72f15f5e34867f05, - 0x753c8482837ebdb8759d4260a1dafa8b7859f7d95305f26e2ff0a14952441e8, - 0x66ea361a89f05b8cdced058d8253450e7f072581b5b2561b6aaa26fbbca7d42, - 0x2cbe699199702a26cec337e92fdc326642a274e61a386cda1fa0834aaad85e0, - 0x143c110602f3e62ab471a144510f2b70af55286681b4118f400741b5833f3ed, - 0x390a77aa6d8b0004645a68a09e8c839ac2947f100f885a2eb89fd43f0320516, - 0x410a64f4ebfd87c1ed88dbaa2044c4a0d6685781b6b53c99995fa57d2e2eebc, - 0x4aec731d87bb1677f2d541d82f40a2a423e108cd7543e9193dd6650277e319b, - 0x6de570ca7f2908a6a35f037fecad7cbdda778daaea8077bc0475111c062a86f, - 0x2a387eec937248f77c24c77db171d8d8f92ded41a3d08abe700fae862c56388, - 0x64fd412d90b56a9768da2fc272bfb77133ff5a34773eda9a574e408b0f910c6, - 0x2c0b8512349560d4e525dfb8ad3aff88aecec1b8250b241ce3381bb5bfb54b1, - 0x3e4396b03877bf8bb1bc31e1886d1c4ea0ee47296bf57414f67692e169b73b0, - 0x1861499b635cd3cd1ed2571371e5c56f0e1fef2755d9a765d7328c521a16a2, - 0x2f9a776aed30d303293e17bcc5170f713e9751eda0fae1629812fe733fe38f0, - 0x42fa4b9e1f0f569b86c164b708d858da84f2cf240104aa039d54067babb231f, - 0x3cd3e3f5e3b3b238100159440bae13ed264f51aeff9823f5e8033026fd777ea, - 0x2eb9ae455bf6210e2de321f73b5f37add0618448e089ead96ed9fcffbb69bc1, - 0x6e8ad2c63cd8a5cead3066b185167f8aee010a2a846d567296047b22eab8fe6, - 0x6fdf0aae7a5f0927f25f714e2ff98f03b32caebf99822fb4c983e4ba996075f, - 0x3c77e3e5a66ff58a256006867df8f9fb1c7e4553b439e2097291fe79224535c, - 0x60caf908e8f2c0f449b5fec901450ba5f1c805689c4f77db4ff61bc0fa818e7, - 0x4ca8c56c2a36c70f8ed4f25404592d99b5b94ee51970c2ae4a69fc30f172580, - 0x431b362ca88f8f8f7a3bc1cdf6529b28b17a4f2f6de98537793a724095d036a, - 0x1c16d7a4e0aed452afb9f580995846f9af26ca9575c22ef4d90cc51deff4be6, - 0x5bfe05e0ba36908a1e7296c1f30e0ebf0d8a7a1a84a9cb5c7c609d6c80a7a45, - 0x4b3822d641a1d7874c2fa55e47c0bacbfb7294fbefca425abd787421ba66a58, - 0x346dfa5cc80e4b35e2b0d55370728abe354f80239a83c51ad5d55339b6c268, - 0xdaf40bb733fed2bd6eda8cc7df488eab5389b113be11b94960447e64a92a15, - 0x658ea1fe19f665aa006fa3f0512fb0c1b218ef3c041796809ccc4055d5ec613, - 0x4d02f29854b5884153bf7bcd8ebc67b7e5ffc6e8e107963d5acc05d9e6177da, - 0x263342263c8a22f7e62d985602695e7ad69508e2e49c110fb337e1da15f4db7, - 0x4ca9b18b1a8dfd4e103b843abbe8a18feb8e893e98b96b3f1eeb59dd67dce70, - 0x966b2a03b2b6f640c10f51a16f4f24ebee3aebf50c860596ed0f1c14bf189e, - 0x7f18edebfc81445bcb6960c4440f270253b0d42013cae06ac1e3415f2863f02, - 0x4b245f31c75ec669a660ca7badec791b8e9faf69f8f5a4c40e5dd4d103fd81b, - 0x52e26347ac586acc3f25a2147af2a08e447d70073c50f3d6aea2b67750cf9bf, - 0x4fd6e8213805aab498a3f769a632ddec333aa1beb98e809a9f22dfd7c2ec174, - 0x53c8a4ea9557a36c25b2381fa3a153205b5ef6110f6f7e96f58d9063b68e6c0, - 0x6a51fca01e35afdac5fb1314eac4d8739ceb88dc733ca976de1fcf77d920de9, - 0xbf27bcf79653fabbb659282405585f2bcf6f82844c53129fcee638c2b44b62, - 0x3719b628054997c79ae6cef02f3a90d661ac45f4355679aea3360efb7ea0644, - 0x7061c2e279b5778defaae5d191187a795a0730d68b947c76aa74f576cac3d9, - 0x64994276c0e30294bf51097b3ffee686dc75f5cdf5f605f61ba94bd2499b1da, + 0x7868c5d7840087a855b30079a12cc1d5eeaedb666607b31e33175f41d3b535f, + 0x28dbb2cfd00dae2334af761e1bd021bf8021bf2c30d3c75e075d6741ce836a0, + 0xa0a779b5f29842287ca6ad3dffd9018d9a2a37007e18ae898ca4526a9a2691, + 0x53b0e6a89c16e607a26ad5825ff22f14b1b37a7a4f8ee6cce668d15a3648517, + 0x4a56b7d078479bfd71ec6e1c8a374849642f9be4b177a4c71ccd071f87a9001, + 0x24c24c299414aefb657b7eb37f51b3c52bffd6b316bce5d50a594521045a3f4, + 0x71bacb4a16d6dfb5748d1a8e584ae5581d6e33b1abe4f6a491308868b70922c, + 0x27883bc4bd5b8d46948d87334b08d7270601fdb2917c87102537c8d855e17e, + 0x31675df9ac822dc19b536e6e4004c7ae6c9d1e260072c77a8de26eedfc54892, + 0x7ce2971d07b3bfb37262d1d0c27cbbb7cad88db92b4c4bd27b808a379152f9b, + 0x48f786362233207cc8f6005a586dadb865ea42060dcf3cf5fafd463524f4451, + 0xea197a93ef678fa1baf4eb89605f8909a9c0077e7b59fbe3b5e98ef551de0f, + 0x7a0f8520c76d89458269bd95ca9a5256d8b8de284c7404439a59a1d84f05eae, + 0x3d4e323c595da4f57d0f522d8a8ab290fc748c528907ff3c6ab36508ae08461, + 0x50a7aaf380a5b11b7e7f27c368a8bab68af9a1e284ff1f8077f8a93ec9eba89, + 0x672abc6b56e6c8e86f6f1713cf84800b584e5bb9868fd214e03aa82eb761147, + 0x525887e108a04f6670f02a5eebd267c39616beadde7629879bd417e26440076, + 0x566ac532992aa6102365c9f532ac5580dd10d6ee417288edc100425d7306b71, + 0x1a186fc1b4b5ee8431454f616b04c2ab2c2b2e6454150808af7f3880e35f79a, + 0x73a62b0a99dc3678f3829fe586e145f7776975e693e69768d6a55d4c8f36fee, + 0xa400aad225ee0fbd64537626b2612d1cc944708d59f006fef9be305a30d295, + 0x5779b9e99e1a0f7e52d9dac2505af4bbb06a009944f35e5dd5f781631d06d1c, + 0x7ad6019ffc515cd5ab68bb68873a1cdf3d6de72a2db6dc764c98454b2f69c63, + 0x85d80b3054fd0b87bd20ed0f8c2f29f38fad604e1ee95d0445c77b5e99ab91, + 0x30c4ee130c47e053771660990dcb5223a713e95f687e177fb4b4c66d7bffa92, + 0x1366ff50f78d3cbb946503fe9f31dd772ef42c4c192a8847e1111e8eb23a7da, + 0x50dc3456f742c0d9268d2875cab9269600b0b6d031b114e3afa853f8726dac3, + 0x375376fd8a86df55c28b32e17e4f1ebf7a89f80f803c7ee28928172a9f467db, + 0xa493f31f208795fc2b62b2da8d0f6844543a1b462f3ed4b2c83a5d2bf02482, + 0x2a084ad1f02a578edc944f5332363d3f36f01d593a41b1c780c489b89a489d4, + 0x53d6cf238f4dd2bc47147993b629c04d99361b8d324428c49b783bd684fa643, + 0x311beec9a7ace3c500834b2562d048a52d4a0035da10a499e0a705993b70484, + 0x24983c1a9b51e98b9fa4a5c1951eef142ac8cfc1a5b00a1d832146b1be155b0, + 0x4a60957c67cc4f897cf25ad58f46524d8c137b784572adb5737e679e81e9492, + 0x2a67e5b49f7ea96e60b1b6f848ae4a5b7b77256718a9f240474e421ec475a82, + 0xd3d3e58527bc4aa8c8516e0c75b16b7d383d61766bf42d405adfb2868cecb3, + 0x49eb5bfdb52b10343b535a8da671e5537f76dbb082ca80d327a7d1ced1c1813, + 0x5dcff63507da18efc8f32d520061a36104aeb2249d537c96c43a7c7143ffd7a, + 0x43ef0837ba12f3a7954f82a054f2d9a81046ac989bb062b25e192e3da88657a, + 0x19a09684b294b83a9e0fecdb1584f96d1ca69ee8cab3a712cdfcf9fffd8a009, + 0x390c0a24e2d8e1a01326199fc6008e0e7b463d9852d57d110bdc59c42f17d0a, + 0x504d2603cdfc2b30132e63d008313f2167860895df68fcbfa9d06e14bf8449a, + 0x3b7e6118d1d8464495a7da4fd97246675c4df11b018523d52f1d74244ea7c0c, + 0x1d82df8727f2f6bc595814269646919aa7abef2a036a37d43b8d8e39fc29ea4, + 0x738f7a9d17b7b662741d7f8483e48e92ad09143029a6714812b6191e2238f7e, + 0x4c11c2f470ae3ece6195dff93b6a0bc57977ecb2b43e96acc5f1ac48e29ffd3, + 0x21f328e55205e9258ca14096d7bf81b210b60c7c101046085264aad9611b135, + 0x485052252bcc49e1ea8acc424f6108827496ee7cc8f5683de2cf0478d184f9d, + 0x63c3ed7402083ce2c5b87abd46cbdbe322f22ff8ce237b91c077cf2c8d37b2a, + 0x32c3f7b8c5427b30755e4f85bbb54d898d67fc8d3b4614c819819753dcc0c88, + 0x6bb6f22717be61fa33748bfac49d676d7cb3a377c1e069bf4084c284a57998f, + 0x1d4ee2c5711daa03b9639ef283fdd239f5c2bad67725f3cde07aced2599807d, + 0x2900acfeb87a24ab2a68439f8c1ebd9cbbb18f7098b7005c903ea0fac3b57d3, + 0x1d3dc927a04676a00b13136d8b0f4e4c727f32eca4d0fa65a5c37a805ff5fbe, + 0x64e7c25c902ce83ade21bec644d8a900e28a1513133f93c527e11843c605aa, + 0x687d799979e8d19a80487df5a25718162f84ac76df75c13cee8f618fcad89b5, + 0xb250457f66f4a78ba2c5017c23f601e90e0760cdb33e24c02860d1e13df3c4, + 0x3a13b1ad56d28758f738fd802a0480ef904288870178fc02d7a4703f451a287, + 0x700824bff100e6ee21146b5e87a7b75263fd95ef9b874ce510c3f4343e78b96, + 0x529d39dc2c40d2361dd6bb58a1ad002cc6a61aa1a1d3a94b23e8e31aa53f437, + 0x6e2b918db039cc6c8babc5277147573471c949b9e953d2adc75dcf8611262e2, + 0x2f12ad7fffc00e63f6e4f64c711b95113ed1938de094eb547e6cc49c2321c7e, + 0x6518b0f525c8734a23ca5b18a956d3e905e9fe4d973ced1d57e8e625e61a3c5, + 0x212b9c1993150df51af590e21475fab5047f1eea0d287ec5c0dcc3417c65124, + 0x66a7273f0082132160a243e68b5993c7ec54b93a6cf65eee94e799de4fa53cd, + 0x31354d753bcf44b5095b426450313102e3f93f066e690ed9989c0819285a3a5, + 0x1d7e1f9410bc2f92921a49868e53cabdeaa790c00b3faa5d143eecdff3edd10, + 0x60a545f6841027952bb2727adfca1d1563485a8bad43c00da8fbc0210eff360, + 0x101d4ae866b4d9dde4f0044540c4db000368f085c8519aeb9de6c6f2fb5a7aa, + 0x2105965bf04b6634f473f2e90650c0a3faf8c189aabe90105ebd7cc484557c6, + 0x7a1ba866d82ba575bb06bfe4c0a4a178d20213100692ee4e95fe7ef71e3e1a, + 0x215dec25e592192a205946e4fb13448f65b5d42c2219c550233c29c1b28939a, + 0x687fcc8e56012bf95e5016ff81357015ec2f7fb28ac0bbdc9b0c8f4a380590d, + 0x233cbd274d8b58460d0264b1cc6ebb49d1fd4d028ffa8090ca31615d30e79f3, + 0x691ad7a23a5ea05d508ad01202e6b43812a6a334eb4f77b64b756c386f051e2, + 0x2c69c4c3dcd8775145002146f651da0543a32dd17c4ab4a0b36adacd2a34ab7, + 0x549a7522f40646a59a057a707d54507eb0ed13f7e8d177df77d3f272f548a06, + 0x30b02a6d1e321215531cbf98208609549a15b716e257ab61832e5848ffa165a, + 0x4873056097b5936ac52bc208c2d7aa42e4b19ce0b37fde0d79cd5391fc3379b, + 0x644159b987e670f37296a8ad9e29d353919c76b7aa342e202550bc2bac9f1a2, + 0x6ae845044e4a9637400b4ea0f0b2989eb1c1357a09ef4dca5e1734742fd6a4a, + 0x15645602c7c6c433c962ec235abec69d013d13b695e0f092e2c58cd4419ca19, + 0x95a9bbfb14d9d5b1c5e76c6ff8e3e70ad0a673af9b9627b08f8219ad45cec8, + 0x36102f1b66758ddfdea4b1972b5ac2f92ecc6106d965c8d0b57dcdd1b97154d, + 0x4fc697198a5f2668d86ffaa95c126f8ba0d7df780476501eaa54ce0dd94e238, + 0x10c5ca87a4a8cbd70e8d06a010a732b04dc732a896e6e4c6a01b043c64f9c79, + 0x24d88b691a9ea915f9cff213adc7809386417ad8a543ec20adf245b7832680d, + 0x26da6927270ccc76639f7674441c68db2643b9fa93345ed510f258e326b0d79, + 0x3ed1745fd1b8662af5f691b0d84c8ebd9d2f029b4583c7f1ff2b3d2f010e7e1, + 0x32472b1ebfaccf2eaf232d17b8152aef1a1ef35666ec627215f66817a5ca4f7, + 0x111c03561bc1c7d025c511e451815f8a2b2f5850a70a4faa46ebe28a64ba626, + 0x7c3119123eaaadf62974c0333bb4ed999d37891987e66a5b4444ccc2b88651a, + 0x6cfd7778882ec7145f6e999e0d1c177cc66542213f9ff710b91d81d0a84bead, + 0x3217c9ac6e0e7d6dd6f3a9f6737ed90fb91be37c70c2095e0bba34676726e80, + 0x4911dcc079e3fce97ff17cb85f22480a490cba7e7b83f628e67620bbf93e86d, + 0x541e206771de8454d88946900166ad1498f1c44d75287bd6e664f8e91b3fd0c, + 0x5a831acd914777a71daef7a3e732bd421eaaddc87fbcea8d000cc5c2fad27e2, + 0x571982ce59262f88940de7c4eb3ade0f640fb5cace6f944460c496db257772b, + 0x326cdb5e3e572ea92c3534ea38d25f8eb67fa3aeebf8203a26db6cc9866856f, + 0x18a478a5e8f7eac8302a011b946256f9419e773af2143fc5d35e2888b3c0dc1, + 0x72c03ebf725206ee3e8da302d20b3a37f2d3ed459d2558f2e6d8116b80d1785, + 0x4dcaaf578b506bd84cff928af05dcc6b2620546d172e43cceffb67b5a206c1e, + 0x1f37145d32a5066194ab8b71ebdfc0a0dd1adf9fe3ce3259d7caa013061ab85, + 0x6c83957c138ae404609390956a40c0da37f8727d34306ad9c4dcd1f7cfad7de, + 0x4b9e66c32d6b90c49f691ddc606c060a52a14e2bebc3705ab7304079ff55ce7, + 0x56dada58b5a8bc3eb0e68fcbe3ce8e64f397829b050302b8a9058806774c815, + 0x4589baff9a4e06756fca4d5532bafb56bdc8e72c9f41c5cdf969153d066123e, + 0xcee152497866b1b0d5bb9341781f42c8d9777c94188851cae94868c0078491, + 0x4502dc84f2f3786360d7794a1c7cfda27d49184ec17b2a2341514200da3dad4, + 0x35c6954882d08ab1a6dd181def18c9764000b9f9831146cc39906b6da9466dd, + 0x3f2283130bb26ccb827407312d1f9dabff4d836d4d12c16fd7076c0d828a4b3, + 0x6fca8e2aa9223cba3ee1eb02505612b7819d12ffc5c71456408c8ff68e3c08a, + 0x2b989709f8d7f0ade477f131580340a946934c919e2034d3992c12d4b620ad6, + 0x302984172abe1cc0fd9b56037adaa17121a1c25715d54150e9b9591ad5c05a6, + 0x3ccf277837817cfa1874bd425c76a2f630c0a53fdad8148febb0d4328b7323e, + 0x5cf3ad2f296934328999b16c1e9df52553c54d0262953fff91f97269e5ccfb3, + 0x62016b10caf536b5bf30653c3f70ca59c414d923dd853bc3350f2a0e3926da, + 0xa979e1d89fb72dd78e08493bc35fc01de84b8c817e701286bc52fc406f2975, + 0x691872b561270cf8d34259464eae1e3eaee74aa97abf5d2dd6e82387e5cd58c, + 0xbb9cfaa2114657f8d4a9a4394caec24ba24526bb18997f18b8ec960ec66110, + 0x42923db6350cc1e28787e770f5ef18632378638452d64ddcddc4b0754145bc1, + 0x5c7f5aa242c39d158d3607f2c06c35776ddf61baf29b2cc01ff7c1f0f8da753, + 0x2f5c581fb811c24ae5ee543ddbc950712f7e07b6c9105deb9cafcd4ad2dce6b, + 0x5762b8182694a222b32a80f95967c6d5bb3c8058857fd263311eb9b1974e37a, + 0x2413e7815b1965304a941a4cfdfa6d5a3d5421b7604744bbf307359a9118354, + 0x37e7b12db964e3387ca2ced152dad129e4440fa5d40e0a869c1dc139cb89039, + 0x3f8666925feadaea42c59ca59000f215cde3f3822a1c0b5535f0c4cfd218d5b, + 0x1b3b5d5b5d037e1c08818f9b21a521cc355b76ddf3aa9deb40e8027567ec529, + 0x74428bd541585814c94762ade8454e0c868ccac6264b56ec42144b32b0350bf, + 0x6c2bfe5c87fa4817b47dfea851cc65a63eb208eba3ef8d8ff9cc4d5ccc38162, + 0x6dcf7f9d643754dde755f59b7e99d23fa8fe3873081d61cef76746e42f2c2bf, + 0x2fb76d734073db3e5f46085ec5058f02ccab70d70c31508c22e659ed00337ae, + 0x75bcd848a595eeed1e03977dd35f052ebf6a15306961e4fc57670916663e15e, + 0x7a702a902f300a47fb79f18195691f2f1cd57fa870b6d4e12d365ed59231506 ] .span(), fri: stone_proof_fibonacci_keccak::fri::commitment::get(), diff --git a/src/tests/stone_proof_fibonacci_keccak/stark/config.cairo b/src/tests/stone_proof_fibonacci_keccak/stark/config.cairo index 331f82bbf..68127e38d 100644 --- a/src/tests/stone_proof_fibonacci_keccak/stark/config.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/stark/config.cairo @@ -10,14 +10,14 @@ fn get() -> StarkConfig { composition: TableCommitmentConfig { n_columns: 0x2, vector: VectorCommitmentConfig { - height: 0x16, n_verifier_friendly_commitment_layers: 0x64, + height: 0x14, n_verifier_friendly_commitment_layers: 0x64, }, }, fri: stone_proof_fibonacci_keccak::fri::config::get(), proof_of_work: stone_proof_fibonacci_keccak::proof_of_work::config::get(), log_trace_domain_size: 0x12, - n_queries: 0x12, - log_n_cosets: 0x4, + n_queries: 0xa, + log_n_cosets: 0x2, n_verifier_friendly_commitment_layers: 0x64, }; } diff --git a/src/tests/stone_proof_fibonacci_keccak/stark/domains.cairo b/src/tests/stone_proof_fibonacci_keccak/stark/domains.cairo index 27a9a77e0..5f65d8dc9 100644 --- a/src/tests/stone_proof_fibonacci_keccak/stark/domains.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/stark/domains.cairo @@ -2,9 +2,9 @@ use cairo_verifier::domains::StarkDomains; fn get() -> StarkDomains { return StarkDomains { - log_eval_domain_size: 0x16, - eval_domain_size: 0x400000, - eval_generator: 0x3e4383531eeac7c9822fb108d24a344d841544dd6482f17ead331453e3a2f4b, + log_eval_domain_size: 0x14, + eval_domain_size: 0x100000, + eval_generator: 0x594beafca8a00d9581d81caee93dc85c727c9af7fc4c648e3d47b998574e81f, log_trace_domain_size: 0x12, trace_domain_size: 0x40000, trace_generator: 0x4768803ef85256034f67453635f87997ff61841e411ee63ce7b0a8b9745a046, diff --git a/src/tests/stone_proof_fibonacci_keccak/stark/oods_values.cairo b/src/tests/stone_proof_fibonacci_keccak/stark/oods_values.cairo index 7c12a9f95..a0d5bb835 100644 --- a/src/tests/stone_proof_fibonacci_keccak/stark/oods_values.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/stark/oods_values.cairo @@ -1,139 +1,139 @@ fn get() -> Array { array![ - 0x65e194595930fefc20590efb377c8ef1d331e2f4cd87c94485ff41215840af, - 0x6be47997b8581ef93ed80ba8e8d2ec7942e52a990b4b9c9b523cf8321fce223, - 0x21d56f02ddf942a76256d5e4895d667109364ecb0a7bcffde20628a1e57a07c, - 0x7a14035028e85b451118dee8a55c263558d202fb833c36d191a585b5cbfb4a, - 0x559dbaad7874a67deb6aab5f92fb31774b1b68d976b3b8f1a3f3fe5882bb9a9, - 0x22d8edd5e051d741bcdce30fd670fb523653f7b0425ed1ced7a9911ae6a60fa, - 0x7f6a5a46e5c947946ecf93cb9d3cc60a87eaff9344336393168bf587bf9f32c, - 0x6670576cd76e847e669f76faa7d58264ffa38a93db2d07ff8cc5d7308cc868, - 0x55211746e1b67c6995c3c8f63b2f0111e8d912ab22809f71f1e12a799fac72b, - 0x51af34af3cf45b58b9eae0949c3a4ac71f9c7061eb27c6550c123617cc67aa9, - 0x5abce069cea4bf2ef7b2c71e7f49da3c89fcb324838e4905b57eb9f3242b1cd, - 0x6df4aeee9d47f5fccd4fbab2ec403c3c6745fc81e2896d39684a7afedeffdfd, - 0x6044990413ed4817f4d3938cac4646f13c5fc27076795494d769616a17d2f38, - 0xe998cc55ab09e867785a42d7723a4cbcd3816316ae93eef2072b12fea1a8f0, - 0x4c554b54efb094959812fe97d3b9478c719f6e60a346012282ae770028c2955, - 0x6d3c0e4541123047f9cead604733e613e8e321de61f345a003e127421414f5b, - 0x4cc9a9f2102ae6594a9bc26a9be756e42f8ae6796a7cd2c995529ea49838d19, - 0x3ffbfe18da4d597ad69da888d4a1f66f21494958f872e7bf58f25c92322ff97, - 0x7230046cdb05fc39e0d6ed6c1c72cd2956e9a0a629525b7faa4ee19b606b596, - 0x62ee8aceb1dcb9ab58d7c255b6d19234587d02756de1f25bf1b8cb8966e6223, - 0x227b1dadcf5ffa16385ae285a9c3744603170fad55d53391e468b64669b983f, - 0x4ce31fc1c12cc50177f99cf0322932310ced8b25f99fc2266a98f20fe73684, - 0x5e59835fe4b38140c3a397bb517aed43e9820399c149c318cdcdea5a2e06d60, - 0x7becfc0a99493f8462d36669cfad4ea3b5bfd93cada49a1faf2282e347480ed, - 0x3f0e33a9f86881cdb5dd5228df5d7c0fbb3267444ab26aee02ad517b42ee43f, - 0x2ef568b53212fbe430849aa6f2a12e045ef447121645535bcd1ca062b1a4836, - 0x8020034d5d2bc1d694c5fad715b98823e360c0606ae0ac2903e912a83ed90f, - 0x1a9543499c6eadf17c12c05de7b7e3dbfdd2e7dd9686adf395b3dc866f400, - 0x110038eee6829e35c28e8830683fbab9adc925ab259f4cbd56caa16a0251d6, - 0x3b1f230c25bcd761b4e1fa65f8faadeecbb85c0c3ec13eb51777a492e975abd, - 0x5c8d865841c2243992dcdc8010e0f651a2ca6f2a25421b0e14be3986d4d80a8, - 0x6bb02f778f639c7aac7ba5161d57edac2def78c740eda5571208755dc6bc849, - 0x7d4a825f27be23e725726d6b148f8b07cc021e0b99a9a01746bda2c06b3c9da, - 0x5a9bccee16637828983342d59f3b53c4322764eafc223ce09abdc041808115c, - 0x5b1819f6ba897b24771e7a9293d1f2ed3f358e7f255d64026af5fa27ecfeec1, - 0x6ad989d0cdc6622783df25abb19735d16c792685fd7dda1e1562f9a6a8a0702, - 0x3aebe3a94a539ed7a5c28a057703321ec55c7608945555b1467e8307152beda, - 0x79a3ba41aa925e6516422cdbcfbc3774a15da15bd03633a66b7a171f626eccd, - 0xd17ad9197e469ffb44cc9798389c7d8abecb9255217bb9c46e1c3fca3c7cb8, - 0x39b46c8e8f763f9808cdaae275d26ea171a0aee03249bf5b29cf001d5818802, - 0x51899281b778726a4e72cb8c7430c5b07678cfccfd6712b1e29da93a8dd3930, - 0x3b1368f4a2fb4cf7169e2b850c625527344a0fca1c15be855b96205077f09a4, - 0x20993b5f3c9bff9ea7c568c1f6904ae0dccdb9ab365f5f74ede0fce9fc55084, - 0x52b09408628f7143dade535c0a3eb91800aae71a5362902465936e266d95a12, - 0x7b5b4d550b1859ddcbadc0bb3b8b1e36ad4784e7a4f5a9cc5a6c68faafee97e, - 0x309da484fc0550bb853222d2e50a182487a5e12d77bba2ffc65b63b1a483ce1, - 0x2bdfdf95cbb6efaf98e4665ce6e580b9cfc27f711a5f52ef1de8f73a184ad32, - 0x79b590b02750b50f4a059c974db604678336a27b9b62325be7d0be738f18201, - 0x149fd7df5ee115529a3be8ec05518231b73861e859a38e7113a789ed1ca671, - 0x61cc74f763df29546d5a3ad5b7aa0a3ac4057638e6dc2ae3569fa51a8e628cd, - 0x6fa6019edaa1d16d9926d32839e2e909a22f6c9511bf45dbe1e65da9e97b390, - 0x4d233f48482737e99e1b00d2989b25ef1237cee4f67fd37ba4fd9a4b9375be0, - 0x56466235e25b571299e48c4961c6f39e9e04c52580550ff6f5010eeefede434, - 0x5a66132297eee8fc1553765fbc7c40a6eca6768039281ebaffe4d054794a9a2, - 0x3f6ec8985aad5b36d98d7c9f6dfaa5141aa93c8dc4aef92c7da5d4bc33ef046, - 0x5c2bb1616804ca9e3350f9a4cedb063d44994396ccc7991bb63b54816f41db, - 0x7f35fad53980fe0c5ef3f9e5d871654c3fd2b74293d46e5624e59492d21860d, - 0x2373a3c75cf46afdfbcec31039420473b84bfc01d18a5d360a676747b9cfed, - 0x5a47dbd2cd46f2962c87fb7a0b4ecd43b0f0c57802d77387e5442a5463d12d2, - 0x62e7f909b1a53d990666eb2479da4d968b713fa09e4c03784935044383e7d87, - 0x5e6820d0f6bcab4c6dcda3253b28d1a0943262276ea6460a96908d64a3f81a1, - 0x7ab6c9b4b60af17f89a8270343fdecf03e2316ba2b1e1be49f36dfd905e120f, - 0x294390f6d53463800dc00e1ee31a2db35a3a2358bc6a0874005c137b8505df, - 0x653671c4e6ac60c583abb2d41632ac9d933d1a9f6c01296ac4def4c5806db20, - 0x1bb0b4ada38fb53871b277316f4519d603599d72450200a9212275b8d01ed7a, - 0xf2c00e58f52ab01811aefda5b4f37667b2e94e00c3a8651bcf15611411af3c, - 0x33d0c40f50597df142294beb03b7503d145ed390e803c5720800624e30632e1, - 0x39cab357b0acb08eda3ebdd2843ada3b2f228effa278152e05fc6e7774a78f3, - 0x15ec84452062e95f4a054f6ae408a3872fc56b8dac20c0a5f05f49ad33c3360, - 0x6fdc2d8252b6a9fcfbe16f46f74ec552f8de1b10cea11eb02e83f18b0f038e8, - 0x149d2a2a538f16e6c751e98825704ac901b73ec28178f3164118cb34ea178bb, - 0x74fe0111021334fe88ac1fa8911bda5d0b706c224fcbbefd457d6a46bfc1988, - 0x4c382d28465130ecf92d40e79285e4c62c716c1bf82ef473bf79987db597711, - 0x26922f1e39b0089fe3d4fb92af908c3446d86251146d52e302064cb55eefad7, - 0x400ca5b36e26da82e0ef1aeaebb8e46273cfb3470f45620e7844c29333ddbcf, - 0x655c4a37660b80ffe05e01f39a6a51cf54afdfe5786c12031a7bd047e35934, - 0x57646757235f1006765059720476207f87791da7ea3ca394888633b8331c61, - 0x31c400c4f2011a9a3184a6e70fa481ead9c9a51aace1c489f00c35c96b9f9d, - 0x72df6286c90515e26e64778cb23ee6d6276a74e3cc7a42927a8e4c64ad3e631, - 0x372e01040f14e4b4d9efe11838ced04933e975408c64a1eb6b2d4b1a4d805ec, - 0x1f4e7d7f5b6297c08ce37471d7c1fa299da192e3f6f84f1c8a0bf4f5edf0fa5, - 0x587d8fccad44ec93bf84431b43eb111dc5ada9d45cfd76ba10e2c29c22eba0d, - 0x740adc10a343cc321da1733eafe1ce6683f5a735cafdc381247d8e296786d4e, - 0x42e4018f58c37233e2c3491189507a98ed3caac6062f2203a4df2732bc5b8ec, - 0x32a3d10cc5e2cce5091cd1022d7775b966b8d08fa76676e8efe56e977f93b1d, - 0x72b7154df519243f09a46e7174e73c82057c1ce02e6cd4513ec330c783b9e6b, - 0x446fc78cbf59cf4457a8c249f94988307044bd1e4cbf6ed868f0abeea06f738, - 0x191dec2d909587e83736a1486d1e15dc91f24b2befb5d86f22a2780fdc6a56b, - 0x5050c438b72ab0da067ce7e7ad95a9ff8af9c9ed9e39faadf1054a3ee49b4eb, - 0x3c1cb7afc34e4931dcc09c3ca4ecb1eaae62ea49728a275ba3394a66561f71a, - 0x7920de31f64b1a9659ab680d83f7aeaef33a5ed57658996e8a018353e8b61c7, - 0x4edd29a87db9ea0c55c6ca506b53a0f608cd6eb4fb16a1565155406377f67d2, - 0x1faab46420dabcfec252b40cf07d1e3b95cae34629e8a5bd4b606c5ae7023ac, - 0x47d48ef12b973bb33a13750f323d6409c2a71d21789c28c0c5d398c0db94410, - 0x1ef3440cf04da0f2d3f235df25b5970b14f70b163360cdc384b8f17e9b3d0d4, - 0x32effabf39166bf7e1b0021885cdc3a883850e89517a1335585fd660a49ab39, - 0x1f22ac760d7189a7092c249379189caa6ca2dfaec7629d7dce005078c0ef974, - 0x2fe0ea7a1ef7b22449436f1a5ee897c2957e6a5d4c8940e619fcfc41c96af4f, - 0x7c89449ef50cb051bd8a9bcc39930f27cb6705361d7bf63d9395ebfcf2b1fed, - 0x62d4679a74a4917ecbc38338a7702ee3e1649de0ff374cd96c95e08f2a21147, - 0x3a8bb09700275527cfba687edd6bce531854c1820c080852fde8e4c0994a7ad, - 0x2d30e80d5ada69a4870b45abe6ee88d3763abf74ad21ecea49563dc305e198a, - 0x519fc2dce6e1e8ed56d9ded1a6c95a7bf06563489866bb7f1f4089466b5a5d0, - 0x185c60f058a4dc87c2210b2108c417deef15f06a828f492356e3d2d851bd7ac, - 0x495e8a5322f153289adce1ca7a4e8adf5668933f5565e021660cdb00b06b305, - 0x53820d128c0b9ed3a97d17e1ed802c0c7753f0c49cdae53d73b176f6c5d779d, - 0x21080bf9c20f813677c0c4a961257907caf2b66dfc6ff4ed7ad6482bdbb24ba, - 0x699f34ab0d303e5e0f3951999476d627e59aca62ce590ff80c3454d3698b003, - 0x18353da18801c9b2a48ceb3443e4a693f091a2c63b711b989ca2d4122d90b41, - 0x3384bb150c843c0b56244184f5aa98f81d8c2f1cd02db621da3c4245869cf0e, - 0x65d2714d8e78ce0e7bb38ca4087c848c75835669c6e63c235b0163eeba65db, - 0x2a138288a794e3f996b95d9d19cd07ba383d94d1f78d9aee5e1e6c83f1d5db3, - 0x386cc4b75d0d8968130810750167d1c43c2e124c8874c8085317bf3d4f74af6, - 0xf0ae9a86348c062c47299be95894f492dc5cb7d588ccd9fc65132dde2eea75, - 0x66ae9af38d2134b5ea202dd5563a9092a77859be73aeaac6636d7bd8dd95836, - 0x5af83247240c2b18ce639565885cba77f68e8863f7744123928ed3e0b9bd3b9, - 0x21c11709e715243fc1d8e504e13b4edafaf7692910537b3e12119fc84cec0a4, - 0x4b4dc2154cfddf6afd5db75497ef5684c4abe6531b8eb7b5ddde6b5b45c0cc3, - 0x519d7e47fc8dc41dd0efcac12def6d2efbcc80aad6628581482c55e41c6a365, - 0x4d5877cbe074b9fa924cb59604eed543f191664b703cfee412fa51b6d20b249, - 0x5030a8ebb667059afba17cfebaf71cd3f2a1cf8f678e71630d0cecd4131c2ca, - 0x6fc3bb82f2840334a9573992cb27027f278377b290bcc32e9e09605f98bc614, - 0x4f766847fb1c9552070385322366bad73dce927a0a0ba65274e0fe9bc685e11, - 0x627652473930dae02f7b46b5e02d9d60dcdda3af7138560e8901e067bf3ff32, - 0x14f040d56b80f395ddccc5dbaa7c6d0ad7298a5dc0fa9fd46a6269fbe46bfb6, - 0x253d82a77da2ae3a4db6f1b7ad83e164c6f78bdfe22d509bd7ece3de565dda5, - 0x22dbecdb61963666b512990e004009af01de5ea1324f9bc74e12d2e9811d79c, - 0x514217c99ca2c53f9dd0661973824637867fba3cc2ea1b6eac2e87ee74ca672, - 0x680f5bc4b9c02ab48744eafa3345a781e2058e33b37c0e8ab7486272da768b8, - 0x443ed548df181b9a90b1698effffc4d77416d0c435f203d29b464dc617cb4bd, - 0x4ff1ad4865c929ea0a3d6166ad65e5bdd4f3ad3a46c74403ac00527ce62f99a, - 0x2650f74390fd821ba250d42ea6c7e57743874970e4722661732366e90f6b56, - 0x497d030306c60e5b7f3f2202688d20647576ef4b6f23fdf555e1a6b8867fa14, - 0x344e743edbe4e679d6fd7bd490f4062031293e1b4e98926dd1c6c8ed28513b4, - 0x7fd7a9fddc0c0eafa64b996a2bd062159f8930f28a930629e63ab897f662cb2, + 0x2f04daf73cc0e87db6f06e64808049ec8b1d87cb9f8306bd5474912b74e59d4, + 0x3f468746ab0fb702742047b0b166f4f7188db1f92f54258f9e74974c6df7abe, + 0x45f3fcdeca621009bf38cf64bdb62cfe99e2c1b15d6d9dc09b30fd1879a32e5, + 0x7d6125af100d52e3c3ba2d19711afa9026a5b19230c5e80bee939c6865006d8, + 0x2a21f97feebb60b3e0a44ece7dce776dec26eb165add1aec206443cf2d3d6d7, + 0x11c766b423fa1c9ccc3efb9167f4039b406dc8d9da4bdced22f8b050588e10f, + 0x7ceed1e3a8d4a03830952e622dc81ceee160d1f42ab2658f1e2aedccc4df9f0, + 0x5d483b26d7401065fd6ad30c8bc96b9b1952adabf9bfe8be41d06ee3d64f794, + 0x2a8e3798e7dd94964897d476a6e3d82274a283210df80797c8b7ce4cf0e1da4, + 0x1909b72a75e3cc9207c4d699413361bfeb57c07ccd4fc14121e16975a745d3e, + 0x45f180401da4a55f5a6c86531835b88298c222b93105365cf397f0d40cb175b, + 0x3d520b40268da3f156f634dcdce1aa4dd2166ad8b474a01160434a80ffdf534, + 0x7b4ec746a79813ae2c6ee0e24bfbbdfb60a45215e773be3da497023df0912a9, + 0x5617bd8ae2f3b8390408ecd8d677056db94abaf8474784f31a2f0e37a5152ea, + 0x29c8c76933bd09f7ebaa2f77fa85dc8aefa26a9ab95604b2f8fd0db9662ed32, + 0x1baa8286d23c3dc7b7d9427c12af81716628e975a9c8da6d07ac9897fbbc8d2, + 0x4a0160390c873c3a03d647f3af6b4a4f92abaf03a2d8d20fdc4320299bf084e, + 0x64725534c5bdcdd3344e66da959639575f742171a2665c81024182ead0641bd, + 0x1a75e0f30fdfc2bd6198672862ca7ce3c083336ab8e35e082df0af4b27c83e3, + 0xd7d46553024fdd8e494e2f39a7e0e9152b256df1285f9ef2e61c33b8c8f776, + 0x370fe78859b47e624f36abce7fefb0e288d34a502a6b9d3b5db2142d3b14109, + 0x5db111a438fe1cb285f733d975fb57059527c13903a066930ee7942d57dbbaa, + 0xd6e192a7ce724cc2b7e80cadc4a1f8053a58fdcd369b832695de91e7bf6744, + 0x3755b20f3db35bb39813761bd2a00ec703c39331deb0e5ed1336c0c55942595, + 0x6ded5aea248ca30f456be1cccb071c5885c18b2163c9a6fc01e0d378ac72df3, + 0x4b6fea1b2302aac24787fab0dc8f5a49812b04eaa1d6a2a53a5e88e73197830, + 0x155ad36cda56d25cc7669787318ffd446053cdd04afc2345efc3fb703f2406b, + 0x514767ecef3e00d3f33b7ab50b5b9878f725c6dea9db5db07570f3b60613a99, + 0x119104fab3d6b214d91fd5ff12aaada04d29ddc17e9b42e1b91e367f8b1d8bb, + 0x1cf1120b5c9764e4b0e9b4229fe078222b96b12b3023cb44ad6e869ecc93ded, + 0x344beb2f3fc53ffb987a3d28883e17c1a5cdbfb4303bdf63cf0f099ea5b4704, + 0x2a18fb99b7490327e783f8d67a6c9a365eb5fb55272cdfea7fb370a2c578bbf, + 0x39b849dc0aca02f3da9e3bd2ae6a5fc7ed88690e3e720b2dc96b99f32604310, + 0x1ca123e5c4a2830d2564ae668599a643ec9ca036167ec5da6d3795d897ebeaa, + 0x157042df629ed9991e578856c9ffdb80ab318a45e087c10db33222dfc785fad, + 0x375691a678e619a2c01c20baf1af5a675a290887afd30d4989b6f16e04b3770, + 0x4986cecd86d54e0216d4f4769851121fc937f5bb066d08d992dd534d6e7a39f, + 0x481db912401b6d62103bd7fdd87c0903df6fbbfeac2e8f26f2499a92216f62e, + 0x7c2211cddc2ea4c5a3e5010c448fc587181214b34702ace45103774d8601171, + 0x317d431a9aacf9643f2a5d680a52baf9fa8acea83e0dda0aa6e007e835c3703, + 0x3d93a07ab9a947700b2e578245f7d3d9b619d038601afbd437aea2e17c0e1af, + 0x3410eaef7d00e980a2a8ab34a3402be23cf4ae5521a9e64d0b580150428361d, + 0x766cf630d81274bb7f16cc6dcc2d26abc8e2b619f6451fdc0e01aa9489b8849, + 0x17b9c166a7591d8363b53b38e8999e20624a230ab90d93bc78fa43c92d1bdaa, + 0x335b3a7b8c72dd794e8f260ffe9849e252e0b1f49f625c1f972d11e268440b9, + 0x3f88479d652c2a04eda7698dbc4944d33f1631b82922bdb2a82654c7734a817, + 0x1d7777a13a1ff702dd78a0d322345eac519d6e82ef610899a8e35ebaac96352, + 0x30098d1d8913f73bd9e44059d3f9c49f24e144d94d93dc1c549df5e12690451, + 0x65525a3c22e53ba60840ac5538baeb8a3ff2301503e7daefd3fd8f22a4c2b46, + 0x2a4d4cd42703b4dcc61b5d3dd89d57b4be7188a93ca1c36fd2e68054009deae, + 0xc91a6c3f782e0c153f4a7b34811a51fac9e83c8b75cf9dea428c358786238e, + 0x613512d9591df92fdce6147baa1ecbd04d10478bc1d09fde5d95ea938acfc5b, + 0x496666fe2ffbc99267b841a25b1df3719b94a86cbac35e3a9a43a2626ce0be6, + 0x7a23471e57d5f162c5e67d5b67190f44125a98c3bf8ea6257bb0f998615031e, + 0x40fac2e713cd44fc1b7cc9b0791c0526b502e4fbb3db4324fb2ea2eae8fe693, + 0x11fd7de31411f5bbb0081163de79549e4f0db77fea54032e0b5c491f1d062aa, + 0x7ca613cd6e79c6e483d15c6fdd4c460b81525bb2d9c0af58944b0a50a5dc49e, + 0x83dc0280cd76da69ecb727d9dfe94695df35bdf1f0061d132ab0bf8e84a98e, + 0x779e088f88c26d813382c3749c3a21717b140d6cdad4143f989423b12ee4420, + 0x1a0b5d54fc7b6d99ede539de893265acc7b37641ca1c8f2812b93dfb6ff5794, + 0x3827fd3047928293d3a3a4b6d0698d3d14f5ebce6e4baa23152d44e45c01913, + 0x30ba2f7678e81f781b0fbe9386a207bb588ef03656df3c32878e14052a412ff, + 0x1a0fa03007fd511e32e158c1c041f73489976564f7a3c81b676b28774d9c360, + 0x2313ded7c4c9bd126abbe21a97f63246960411f0d27f317d313b166601b5631, + 0x52c588d44bd05998bd38186399dccd6851ee5385f92f730a5f61ea7c89f150a, + 0x4f487c3ee9f1301fc4985103e2580ce629d6d01dce8d91bebcb47fa9bcac51d, + 0x400a1dfa12751894496f575d29e397040c4a94754e59273e261b8559a004ce0, + 0x7d34c4bd87ebaa609154ae5a1bc1854ce74138019323daee60a8e674f1d749c, + 0x4b459e97368a0f741b208b87eca80d01d7e79d9e0572abf1ca78d9a3dfffc1e, + 0x32768823e415b9d6f6a6ef685b15cde865e388ef6644f56ce0b5f18ede14e3f, + 0x1acbd9578bf17a015adee0ad144bca314410f58bf7d20b7cc037aa3795390ee, + 0x3d68a2f7a781dba2620d98fc64bab9063bf84865ecba83d0402c9644cdee7ab, + 0x1aa2d28f54fb96102cf465907b595744ee1853208d5d3b00968175ab95762d3, + 0xd955c826facabd68c6b77ab917660b0124e3321774c09cd950868270ab2d4a, + 0x6cb5bf3e857a94b9f5b2c770ac31cafc396d524537fab2f75f71c383cf19f5, + 0x75a1995d99f7f2aeb56b2ab32811baebedac8c3154f303764cc09c8331a3ef7, + 0x6448e006dfe91ee22c51929695122a2588fd26e201fcdbca53f3197acdb9009, + 0xef9eafec849de7d0f3c075814a8d9e52f88b47e612fed005d5f31a70cb8369, + 0x4dd3612326d5fa9cc3d588763a812d2e2bc1252f786e9f38e20d7f29c2284f5, + 0x1605441626ca0b5f5501f74612d8f28b09b05ee82fd654d84a92eea73ed222b, + 0x1c9091ac7b7ce85df6a9715b5bb0bb08a461996d7ecd5cd59bad1fc6e92e565, + 0x65f6e1ab7a0eeacf204db1f4e6987d26724595657b8e181a930af30184a3f0, + 0x29571fcb79c65b4dd361ad0568730197d6a55dcf187c7adb21b88eb651d6484, + 0x17c3ed575ec4eaa5e1e9c91f8b508f0fb607545729e57bec37b3da1d2263c62, + 0x5460c4e492b0f50de1d47286b870cb6361b200b4476536db47549fa4cea9fc5, + 0x6831eaf9764b69dcf1b6473afa5d403e7265dfcf3a96ac6161d2ed3b079acad, + 0x30f5d8ff6c87f48ee78180b703a678987b2fdbd52f50d0d52d22c83bbe8eb40, + 0x6e7ea10610b40a659f139eb8067b7f21943c3504a700290fbb63bbb19083ebb, + 0x5a0d1188995cb8ceb184ee18fe419f6c7f45a46e1a27844209e551645ba8b94, + 0x742c7d5f5e909bab5c242ab486334e869ed109ae161f29eb50596187582a56b, + 0x7554fed1336b9b5f43d560f5fef898e9d358246b98fa5465261aee6798b11ff, + 0x45488780cd91f04ca45ccdf17fbbd1394a59f4c14f0dbeb1453c9ee70d89a21, + 0x28e91210e3b30625ba4e900e646037cbf9aa3418e0461d5fc08dfd08ab2b2f9, + 0x7cb02cc44722ff10eee2f5bd9bfc43db89558dec397cec44286ad0448fd7562, + 0x7f79ca06d2effc42d39d4982592e5529b3e9fabae43ea85fa29a0cf66177cdc, + 0x108fb2d2dfd3fcfcf136cd511613c0e7485dbdc2763c4a2b8fcb6de24dbb461, + 0x730db5de252adb58e57e9fb09e39a352b054327aefe709182858325f96f6890, + 0x1bdd917c0170e168c4e1fa25e5f128673379c75c28477d901ef546afb47f080, + 0x33a8610f41dd8b72666441537b12709bfdc7b79f914c52bc63e5817f17f53dc, + 0x707de6b2c3c50a6fe8074c077f03c17a1933eeda96ad27659c2fff5170381c0, + 0x3d58779d4774beda085070e12fbd2da8aed4e1caa177ada5f09e3d143dcf8d5, + 0x545699a39acd250f145c9e7da8843332ca430126c718f5bee839a0b17f5b6c1, + 0x4007a172acb5a304b6493c4d99a6856fbdec6626bc702a5a76425a7340ead68, + 0x11f1d4bda02e6fd140221a4fc2443306e54161151660cad45fd47958e85a4d8, + 0x2cfac026405cadeecfbe87cce56a25d8db45b72af8c51c65e0698da6ee1bdb, + 0xae7e92da3ad4503d6a5598e94b4bd52e4eb495029a99c996cae456bb4d3d78, + 0x5013f248ee45aa3b1b9c28508d89eb8175ea5405fa5ac20f4789c92e677e623, + 0x7d1e8b63f411418c996705c33c35b21064a6ce2ad29dafd662289cc161d3f8e, + 0x1dab056484f908d4027bdccfa3f3be5cfb5433d8a00a11a98ef8c8c2da99e25, + 0x6dcee1ea3845c7dad1548469ff91f4260ae1b8a70d44afc9455a2d728994a31, + 0x7db4d07fd3c506b23c838e4d94430748ca77c7daa19c1fce75e9d6a035082e4, + 0xfb82a9853f54dd4047ceef4ca6e8272e563e5abb4535e89e7eb0d40dc05fc6, + 0x369fcc0bc846413ea742f2361462d247604fc661f1b4dd7fdf4c1aa9f53b64, + 0x59f72e6e8683095c89f19d565f2aa02e46dd9e9cfdef8a0ce972b748efbfb4a, + 0x48eced14940489592f60ba239ac36ece65185e94da279da84b6fb78192cb883, + 0x54d29271c9eab593619f212177af86e64ca6f6ccc2dbb81448578a2de08a19c, + 0x2326f7c8158f55ea9c52da6f313a34f2a30795c32b526edfb561f41c94f4c55, + 0x1c6d9fea074cf3ca13df5202e4314d07ccd77720fcb74e40da151679e0b4ebe, + 0x30256b73ebcf45779d805a8a9d7e16489725816b9beaa07716627cade327435, + 0x1b32e4a93b9cde356ecb4ebde82385580eb7cbcfa0dc7ee444ebc2baf2eb5a4, + 0x1ea460f34a5e6ea7b4ca65ff51d41c87900b40cbe19ed88a3ee73e055049467, + 0x756cf1b3db222fdbb876f8357b849b29c80fea111452c317f06dfbf29d57142, + 0x49dbb1d0d9f5f8e90b341ae11cddccace9fde415fb8e8fc1d5d73dc1dcf1ff9, + 0x448dc4492edc2aa7cdd0d516cdcf24ea368ab3943b053ec4f84542b9345346c, + 0x2e7861497216dc76bed7b09dabfe23feb7cacc4f255348d0a6a03052bab686f, + 0x7db683698e8a474c56d767f859dac4acc7388ed3dce6a171fced0052429cffe, + 0x4f25685a20ad2dfb4e4ad162a05ecbc1b00bd410062fc8cb05dd49bae2042b2, + 0x5066a4c57a24c57ce2b50e3e87e65c0c89bb5425030bb552af9347637b4a461, + 0x5e50d16c0701ba8772594db85da348154d645476c4f730af943a9e180890548, + 0x440c047f3cb8fbfd549e2924aed54b965f33e50e366f325d367ef34e69587d2, + 0x7ad65e72982b2f4306c1379b9b7c00b09edf21a26636dfdb953db0f9aedb441, + 0x2406a0449b1ed4abd8fc034739bf3582737cecfbe1cd4119cdc6230b9c918ea, + 0x6d0fb89bc233eff8962afa8611aa1647da0f6e67f24f149bf0bc56bedcb4753, + 0x2507a4b7c3596291efa9b8915f34c0e2de6e54590ffb2f0f77f1926cdea7369, + 0x2c2632e56846c7c02c15a87bf902d779f55677a5ac3c67d749d2a6131f86ec4, ] } diff --git a/src/tests/stone_proof_fibonacci_keccak/stark/unsent_commitment.cairo b/src/tests/stone_proof_fibonacci_keccak/stark/unsent_commitment.cairo index 3721b44ab..e381e60c5 100644 --- a/src/tests/stone_proof_fibonacci_keccak/stark/unsent_commitment.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/stark/unsent_commitment.cairo @@ -3,7 +3,7 @@ use cairo_verifier::{stark::StarkUnsentCommitment, tests::stone_proof_fibonacci_ fn get() -> StarkUnsentCommitment { return StarkUnsentCommitment { traces: stone_proof_fibonacci_keccak::traces::unsent_commitment::get(), - composition: 0x671e750eb2c87f39263a909ab58b1ae4175bdff34dde999c02ca360490bb1e8, + composition: 0x30b93bbd6b193eb57d9f818202b899b7e8e09b0c7d183537fe85f4e6b6f4373, oods_values: stone_proof_fibonacci_keccak::stark::oods_values::get().span(), fri: stone_proof_fibonacci_keccak::fri::unsent_commitment::get(), proof_of_work: stone_proof_fibonacci_keccak::proof_of_work::unsent_commitment::get(), diff --git a/src/tests/stone_proof_fibonacci_keccak/stark/witness.cairo b/src/tests/stone_proof_fibonacci_keccak/stark/witness.cairo index b9b65483c..a39270f3d 100644 --- a/src/tests/stone_proof_fibonacci_keccak/stark/witness.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/stark/witness.cairo @@ -11,348 +11,192 @@ fn get() -> StarkWitness { traces_witness: stone_proof_fibonacci_keccak::traces::witness::get(), composition_decommitment: TableDecommitment { values: array![ - 0x55c951598d4f326dd6730aa390f7fab9b790031cb1c1e9611c31ed691409c5d, - 0x3ac593edc658aac00c5463b566082fac64991f67063057a00514c3c6d447eb4, - 0x5521f9c000f5879f13aeb0e6a27050a23142de4ec079875ae55c8999a5e2d84, - 0x468836fba648e480390f1eed2e628475b3cb7a782bfaa48161f2b1e7ba3ec4d, - 0x6d707dd4f334dba7277eec2f628de07effc585adc5334567f6b212eba35139a, - 0x467c83e0926d933d08d29e8681ec9b5ef820058ac23143acd094080297abf4f, - 0x375db269cc70441e3b88a1407fc9fee7ceb180616d33f5d115ccdca4b170bb7, - 0x3a46c6291f0b90c465311e86dc72f109c723617675dcde66ed550bbf9ac89c, - 0x385e2d2553bec3756d8550835dea95d44e4813217ba5c11a6b1f85aef385317, - 0x8997dac27d16d2f60066b17d06209146b9cd9cf26a1ea494eacd41f824ec25, - 0xb43e1c12a84ffa1180b57123a20eba4f7dfe7771a4b06abcf5436ceec187b, - 0x5f172d5ba7b48e152262c17ed867c329b8abe0f4cb26b2761220b780e7ad1c6, - 0x59efaf35e344899e5d775f5d8152c702cacd27c918bd1c95cee730bebbaf07, - 0x40a4d63a4de18a77e891874f53acc716768f3691709cceba0928468a29c7193, - 0x6812880b117fc52f93578a47b4135a68104a60d6af718ee41c03c178ce53412, - 0x66a435129be3dac7e57ef2e23d932aad59ab82e614285e7129a4c21af8894d8, - 0x5d0de5225b6dee1373bbb499f5b9cb9cf273f136c62f0fd8cd9799500c56f52, - 0x3e669461a4f73c7a0a826663531ad009b411a6b04850a287049edab5f8d6d2c, - 0x306254f1d78f2155ba51ded6fcae36555c6d3c7a944d04c01f0fe199537689, - 0x5e0e0e5907b92ca3d7a617fb6e572ba660ae3b4bea651d414ed1d9e8a7af4d9, - 0x2063552037c772963f9ca280e42d48606b71a54322248ac13bfb10b44e0ad34, - 0x6f6a896dd3574499c7119311fef8ff5af07a069fcf80c1649cc50706c035126, - 0x676c93cc30b4a6de7820f4bd4581888847e8802cd2c5971dfaade4e53675379, - 0x2e8da029e5a1497e3819431e6380ea1436890fcf58cd626bbc8488be39caef7, - 0x864584eb430b1ec367ed223d6e0dafbb7f76a23e3d76744fd40612a539dd12, - 0x2de15c7b802edcab912c3388a44a7ee6f8a92bc506e8e73f87f8b896935136b, - 0x6944d3c1c1326f2557285eb0b21032171f214750568636cd22f2aef1d381ee1, - 0x49d4b4b891ba231ef2dfaae6cd185f971154ceb2ea0e684f371e3403e1cf7f6, - 0x787997b50ed31c544a25793a22c4ec10eb75493f5744ea4d25750ca5168e16c, - 0xb90b67e5e428d158b69675ae83c3f59d1b62ddb0cb848acb826359021a5e00, - 0x12d75f058989dd490ff0c67c49f2ae026bc5b2b63a616e1c4adb5f411ffae37, - 0x2a6f57959425cd0c4dbb177269594ca4ca227f51ec57e1d27e492bc39128778, - 0x26e2c924d5d8d7967395b7947ed4b76f3ec4a831167f79203e9bfbfead5a8a3, - 0x3e613f85aff84d0dededf0b7f189ce153834dc3a32d5914b9c5589524cc3763, - 0x7b4c6cb39a90bee8752907e0e5675f02da22b9d91de5ef394203875199b727b, - 0x3857ac59cdec0965e1598c10c1f5b0d33215ff09aa73a48023effb225917d97, + 0x7292f156e66e87304f8a7e0e565a3fec43d76f2c80a400c2a590c6660f205f0, + 0x1a5eb53e5336a81290ca99cbd8d3aa638bc94a830b39fdea42631fb79a8a18, + 0x635a6d597a5fa9e30719d9eb31fa71025849d5db13d52978f6c030ff83d5747, + 0x1b98ae2bcfe29abdff214a5d649d2b9b4861785e71114e4126a240bf88ea981, + 0x70bfef37afc339928c0b913331065c9f91de38950d4485ee3554b81049ca7a9, + 0x66530d11b117a33d3c4f625b53bd534209fce354190801eb5511d6e26e876f7, + 0x29c2c6fb927ec573b1b8d28eb0160e54b8386414ce096221c744924329a9b75, + 0x75913dbeef39e24469bc99ced5a8970e3c99a728979115a205198d928716059, + 0x764b5e049a3f2073449e18898e94b404f3c866e29dc24de116311c8ed9edf6c, + 0xfb84335e5da80feb729a0badcc7fc25152b599e8c760474422015ffffda485, + 0xb3aa6727ca035c9b754ba27b146e1aafae0b008cebf7e5c5ed30ea1ba3ef10, + 0x78bd952c31812a3dba9ea82034b8b0136c6e3259284678279222c2c7ec97528, + 0x2aabc8793bdd34d85d4bc8a65892e1a135711c8cf0cb3d28a686b3ce2258740, + 0x7cc04d09f944a52e78c4c0c3bf4c7b412332a63e4bdf6cbabaff72a2096092e, + 0x1e54ed7383142528172ca0a33fc6d858cabd2cb451dcf3e230415a554ab0904, + 0x1ee4666c435c870ad78576ff46d940d2a7c1ebbce56e478e27712b882383fa5, + 0x6b90ce41d9581f9cd6f59e3853d27731d1413e134bf4e460984d2069125444b, + 0x76033ecf0736a2871bd443651416ff0cadc0766d211e5664f3a0615e2934b5f, + 0x121f3f91e17d3331df67d77b6f81c288b538c382d1751d6f81b2fbe247c1470, + 0x18b1e78ed8bad85ab8eb8d5182462144bcce5da7385c14433a5f217b5bf7ef ] .span() }, composition_witness: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0xe76c33b37bbb0fcc85ee9d1d8256a68f36672639, - 0x58187a22f9f0e9e3645271173123e6809739ad8d, - 0x3bd4596c898d7049e2e785ef9607c706e09296, - 0x8933c8abec6fc20b9299e3bbe9ec8cf8805fd974, - 0xaa4c43b08b758c6d7846d70e1cfbbf8674d517ff, - 0x64da6c4f8e962a5465793bae0d45f6bf00243bef, - 0x66fe848dcf5784447a786150e1dda00884c43d14, - 0x1b66dac7acf598efd22357cf3a012882cd36ce97, - 0xa1cd68f6f015fdfbc054af98f598c17550ae87fb, - 0xf70468b5ba3d113f32988dfe52ef6a44f60abd39, - 0x39dbcd2f7c7684906d5599088ff87fbf16fdf659, - 0xcbb3bdad11aa6e449c8de54e06d828f8cf651ae8, - 0x9b532a591ffaec9a498d7b4c356a09c7ac777dc7, - 0xb2de194822e4d386a56a61c53e6e29c5d5dfb05f, - 0xb219c5cc0aec10ef45f52b3a1c7019e70a724c5, - 0x31b7975e20af3643df7e9d00c93c208db283dada, - 0x892d2d1470497813ac8751df0a77fe412564b490, - 0x9dbec77d7a896a3f174ab2484f3a6197ae54c9c7, - 0x15f5a231d52c963fd8ee860e19e590d985f727c5edc3eb840764c66603c69da, - 0x7b8e11fe0b837bc51ed80fbb8e684e7c15c727005c01fa1ef4aa983684938f9, - 0xd1830231a0e32b77b1d67e6f3f4057268dfcb771098fddc24a8665e453b19, - 0x5b3747b1c8386d17aac8b52335270949144c61cd93295e18a89582bc0b11fd5, - 0x22ee46e22f5226670b1714c75db202f8c9ac1296a810e2b4999ceca3b298bf, - 0x1a814d11bdc7e5f488a9b73843439acbd7a082023c549eff57172d1bdec5097, - 0x55a6037a37c9c707ff68a03ce4f64b23309a08b0a5f1b93e43e2afda4c8136b, - 0x52f292d145c64e5c26830825956d1beb896f987c13d9d092262bfa0d2686b84, - 0x259141cda82abbe0af38791c59be4b640fb640d4d35f20f66e8e27e41a2b70e, - 0x432defa9d8b044dde221845a6a4ed891579deea7c304b572d70c9a7af55c1a4, - 0x7996bd383c0a514a47b586572b826f41669800563653535383f7b2ddf2a2ee2, - 0x6c5f42cbf0ca63940524c32c741e2510dde758620b24a7dff923cc1790561f6, - 0x59e7132dee7ea72ca956fc1f07af162189f5d526d043be4afffb5474308fd86, - 0x59258d1e816b1e891b9172d148836cc9a8f2980d9a9f13d2d45dd4a6c25c426, - 0x341dc81afa08f202d8a4178fe570f02f6c957a7d6b8512e02a51165ad689b9e, - 0x39cd3be98ec945a10aceadea2ee40c763036e3a10930ea3b3150c40fe724d4, - 0x43734fc37daeeded3bd88c74859c272e4dddababb0c86bd797ca1bd0f6d6536, - 0x8271df24dfa73dfaed0cea06bdd97e233ccee8b12966862a8d60208ef50725, - 0x2713957adf5bbddcd0b471df80ea3d186addeda7faec61f67a7ae6955aecd9b, - 0x48617369889810a5d1a67dd5d5cc829b081526110997276a53f57368e01b10a, - 0xc76882e161d98db1967b36e285546a7149808851a565bae004a4cbe68050a4, - 0x5cbe8b1fb72b7425f5f1006c54b9d55895ada5a4567bd44eadf84b36eed48e8, - 0x7fad32e67b3b76e62a74e2d09a8f6cdd63d2781954277fb50ee0ff7ee75a6c8, - 0x5272b8262b8b19cf8c3df7ce2eaeec7df782fa0e9ee13c3476c426e45651ab8, - 0x6b7f89657ed20ec2b2c7f07190c5185f35e4a01712bee659c9ac76de3fee246, - 0x1a97de1c417b3aaa5d9151e338addc5693b0df61b9cc86f284406dd495c982a, - 0x426f13c42f13851d503397773f59c075673fc7d5787a861a922b05657432efc, - 0x6bdc958b82843f0d7908c6351524296d3c79b2eb4d305713d0c7f9d86fbd41e, - 0x6e62635ed8996f125527cd5255c41fd51b68ab07b738f4bbe0df157720168e1, - 0x5e54f00306038381eade35e84f5c1a6b0d100881da9f54f9a1176cea1c801bf, - 0x7ff074e66ebd84bed5abc6afdb3eb26433101845907e9d036590bce71e99f94, - 0x2b617642738215d9eb4906ed5fb294c8e4c4e554eacc82548a20a8c25a491f8, - 0xfaf2ebc1b9784e99066c255041c4428297267b108ae9faaa1d5bee0d7bae54, - 0x694eb3d3d6e1fd45c7f7485c131d0250b1b64208c6ef0a9b8d07d6c8e6c7126, - 0x2c6b379f1470c3be33d95f6d201e015038103c884c9b51b0e549a6be470d16e, - 0x4b7ee6ddf5643d9f4bf543ee86a6a68693ee1a76fd07273c0be62924b6f4bb5, - 0xd515d3851d94d0451ded7a9e5de366cea9d77865bb60932fb6afb3621e1c4e, - 0x3334ab50fc8a4985358a433d618d2ed22ccdf15023d30f2758feec354dc702d, - 0x4eb3f98dd9c059124d5b5ece953debc6376ba49d7884c1f999ffeb46e73e555, - 0x71b4e4e5188441b944c5b3888449e4a26629f36a6b9ebd1b80346396433089c, - 0x3929c66b2ff821d850d57b4c9760d6c5b977af83f80565a50bf188978cb204e, - 0x59231404d41a7e6e3c1c296046582dd510eaae95dc82645fe54b281b89c8754, - 0x3b9bc1601a17f8445648de2948afaee8e12bed6aec8fcac56e32d2468bdb4da, - 0x3e313049b8fb00565a7544bbb205cf3a637783377def752ec86fda62803952f, - 0x1c417ea33b75e24b2185f9d50c4a5651c1cef443b5a7744e8c9e4f0afd4488c, - 0x1ad7c6230e8dd6eedb4536c251cb4b5080d591e889e05ad66d3e7b2c6d02ad9, - 0xd0a55b41a2a54ad374d128563ca0cd0f0478dd9c477908df7a0f20cf2ab613, - 0x134527ce3b78befade9c202e883b683d07bc3b912a303ce51e6e5a23aabaed3, - 0x368dd3a5f911679174ffaf6cbb55b9ba7ac8e316dffdf098c1c49d90c321ab, - 0x3d65d31b10de2de13e62cc955d4ef5c382b9cf58517fe0f20147bea5d34d11e, - 0x3b87781923f263ac3b4750140ca589fa5f61f96a3d4489218a7dafe1bbc0d3, - 0x1c0302f7878b9804034e70ad77b468adec6f8bbcc5b20065fcf554672526d79, - 0x412243c92287b58226c4e7885f0373ab2074bbe0d78444ba5b4597f60fc886, - 0x520632d26af0f2716461408c21678c7a2be44afcd7d4aa71f2fb76c73c06989, - 0x3647500b98a882fdf168e86d8c6c061c44663d53e89040ee6edba6181cb93d0, - 0x184eeab6f22954876517450a3cdac8d558a080963dd6928f323912f735aef9e, - 0x5c8efa12d3fbb32bf82cfc596c406c3644b528fa02922bb5b841588ee51d78c, - 0x2b02561eeaa7e8032d20c4394255ed849ec755ea0bf510bcd5c3e4cf9d09adf, - 0x4bdafafb0ef3fdaff06ed244840c8d751e08fc2339e8b70f9b5e21116397c49, - 0x1c709cf165a66c5334e2bb11904bba971860008b5f632c93955d525b20ae8b8, - 0x26ebd14d61c9f2087f347991fefa86057eef5a53ecee5ff7c40e89b35ec8e3e, - 0x7818af9a9d342f46ee40d2d75c041bf52222ff5042f1add8fb46034f33903c8, - 0x711a2961429017aa8688fd768eae152d21e2e8cb249265e9f653eb50d79ff32, - 0x2c38914d2d16891cc7fb0928e0936c520f516f612c1d0d4eca08c44bd7bb570, - 0x3c1f88fda16dead10ef66f6013e21d6de984dee12e63f44f3fe4b995a97df64, - 0x41cdf17a30af542ee84bdcaca652d2c5dc9d920359a9b27884f19ab45b99b1d, - 0x29a82c4a466e8925079a760d2d4ba568a9b7bbb8add720ceec5e676c3ef49ac, - 0x102a4c10a3041d2b92d8090ef683998d8450056f4bbb29c34eb7f2b13c77d35, - 0x780e39e0af1dcaeba5a2ee47b8babebcf9eddb478f342059ee8d092dfde1135, - 0x729241f79a1d133e33fd80e26183947d58740bd78a700d5c83a13c7b3f7268e, - 0x7aa4ce001da7a72907e4dd0d59cc7227e38c3bad0f46758a5b89acbbdfcb62, - 0x7a56de2cc5556f5f049884baa11cc9d5d0feff77793d7409ccbf9e5d4a6ca3e, - 0x1ccbb5f1ebae83b3aa734e045bd0937976dc13ec2e4939350787481d9326704, - 0x25714fc11f9a5aa656393d2f0411c120aec426253c8fe25bc13c0890c9ae2d, - 0x6f873661321b90d572a964d95cafd03737d950964eb48e153812d2aef0351a6, - 0x4220e426959370a6f5a09d16f2655f91e61d6c944edf605a2282eb651b4d313, - 0x7badcf8066bc806eb1a892abda1cdba6f093cb2d186ac9c7d66949ba931f76f, - 0x418b43d9f69a4e5c1f11f321671d18f65520d19874945acb919a7d5d01f15ba, - 0x651ff6d7679f0096bd309b1698a1b89f8c2807d67e646c3760aae8e9fabb712, - 0x5cf41af54bf2437cccf4f336c15a0abbb402652fb442de9bd5f6a0034517e01, - 0x28291a49a9c11501ba889bfdcbbfbe730d39e2fb7a89c85e1a43d3639776bf8, - 0x167e636db8de522e3b32ea32536821b1773526ba4129aadcc3e87b47928ceb5, - 0x58c011340d3bd0457d05115158e8317188e0ff0b003073bd4340d09f88a1ccb, - 0x4746f3da44d3431ba2d8e127962ba8165c41cc67502d63848bea1e92c948082, - 0x9ecbd9a3acc558d4f85e9c5fc7b7fb992d156cde8770eef0957b1d68d6ec5e, - 0x79acb56d7d1b95b1586130dc871fb02030880e3e7fe90c5fa15273080d20178, - 0x4fc35267854bb731ac43503bc094fbda6290082db9a064df91d8b5763963418, - 0x485d3a20d7d4cf4d6c3b7ba2d77d05d561f9a3d76c00cede5d83fd8a36eef0, - 0x3671a92ded9ba7b30a26f65b72fc10ca65dc4bda34c93588e654ee246cb97cb, - 0x2a21212b8b66fc47e9490ff9a4dd7988c6df3b4b8b7ddad3241e771d64a99ca, - 0x3ff54b7059c4cc4c431394e906eaf551792a7140c824899f5ff90f52c9942bf, - 0x1cec8013fb4dcb264e025d68ef400241d7741a47b25163610ac6ebd0ddbcf04, - 0x95bbd9192501beece61a66412aa98d1c3dd27b758aac58f1f0d728dbd7fcc6, - 0x6cb77810f24dec53a3875cbbe75d8de3b84b00c4b85f4a68a4da75b3e5d3801, - 0x4b3b4028511c518c44b5d94f59f6b391a3779039cc4da0b8e4df6bd91cbcdb7, - 0x63b4c78e8363206d10a41dd577ac93bc9c4758bb892b47ca69b4c62582b0055, - 0x672965d714b6021c762f7b5e619c7cb3f45ae58e9665585e201c88d37a96e5c, - 0x7d5e920fc59638f60433be2e66e3999bf880e71ff6e5f9b4209866da17332, - 0x24cf6ade1fec1cc29d9d748467cdee6fb45201dc5da0b7116b58c746808ea42, - 0x307a6b8bb0b15e1c802f09fe5a00977e9c419f3051a79b0728ca0dd0fc8f66c, - 0x190d61306e94a9c48e19549cccbf85983b1ee6c8e356ae0dcdee327131fa210, - 0x24bbe732342a28aff064716209513c01f3d10f3acb6fd02dd56b30bfe0072f7, - 0x35e4a6129ec30ee0b017c1076645bdecd500368d2905ad0ba1c7e17b5597e8, - 0x218ce9035ad0e68ff53df06b412331468ddbca8d3cdb841eb68414e4c8a7f7, - 0x520585fcfd3af3276786c2d97c6d3285999f713067f8055fe4c300325e1df0a, - 0x53f1c88228f4b13268a13c69e0d230678c66833693e402db4f645be04676848, - 0x59ca29626d2cc6bae2107fe284158c7b3b99b7ca8e313cdd827000500bc3615, - 0x7edc919fda13519f5bc5d16c12052533e1a6945db5e560dee9b208889817f96, - 0x40df6c2ccf8ec49f317f869f29e3482817538693a90b0df10685c19e6d62d49, - 0x4b34b92470482bc35e27d5eca2669522904467a4859b7a7c0a60109f7f5b6dc, - 0x4d5840487f6cdd6160e0a09520c162d287330969b7c3b3036ea9fe9abb307c4, - 0x7f52dc8cc9e15aa37c22ccfc1a9f36e3052b1f829fb654565212ef52e2da232, - 0x705963a50de53e3a1d02d4f0d1cc646a53593b8bb0340d2a42828e8d077c98c, - 0x18ec5324a1b8ddd703916ca113e8b2dfc451b71a7a94eaa707e72161de925c5, - 0x1fc63e18e8279c9c52651291b68303f8645a6136ffa13d18cebed75ec24b546, - 0x2da1153cd8e09c3e4488624909c67dcf369d9cd7a574ac047089743dc138fd2, - 0x58338193182456b5b1747d492c67a1da060ea2d83c0708507fe40ab81635a29, - 0x5762de498d867a20866050be818dabb315855b03d8cea4b27dece80251beac2, - 0x34c5ba1df0696874ff3851a50d23bf1fa9feb0ebec9b683625154f80b58d194, - 0x4ac46d90c7f158b699a26799d87d243731f5fab12e188c7215f0cf326240010, - 0x6b8475b00878a5e4818cbfaeeca90715783a1ff7f7d8d8894f98718259ed586, - 0x370e24963c7f2222f681d98f345555d8f10561d019b4c7de7595f2322be7714, - 0x6fd6608f27aef724f610702edeaba7ea4286c07444b67b87355fade36976880, - 0x53a8ac3bf5f3fd6e317af9e726a8c8c11f9dcdf87cc9cbe49c69930d70e0302, - 0x14f387104db6a9c710ab560b5763991f862160bc78fa5adf4a1cc8338a180c, - 0x66d5876e4b424f1ba7dffe06a9a13f21060a893f091b300b1f016c4bdcd245e, - 0x4bf8ac130ff003026916edc404f87d43f052bbef94dc5871381ea107d97483d, - 0x11beef7af6e1427903995ae13f3fab927e756f9e830854287e4159d1a4be747, - 0x7a3c72c3a2c59baec8330d1ee42188db4acc80e81ba6abae811f71de064f651, - 0x66a5029418cf6e87470e65d7cc1613366f949fb4d1031c2c76091ea625e9d57, - 0xf0d99e1ae76895f0385f9beacb8b0e4a70259570a43ff6f15b7c615c448550, - 0x72536b5508772ebde6f9c2b46775291383b3a9020b6f4b9a8651223ddc9aee7, - 0x42dedfebc10efe2d964c2216197db4987c88ebfe9a379d4388810a06d76701a, - 0x27201c50fda7c226411be0d5e1a89d8b760f416af0ef6950e6f5af98e4ee5ac, - 0x103a9ff38e6282c64ac78ae6a85ecc02ee7b412f5b6f5618b3039cce8d3a724, - 0xdd5bda10c28c482ccd9315c9b3bedb372b097d1056e154530cd03d9ef2684b, - 0xa0f311026cd9f897247ae7f1d9fe9ada6bf4918bf843ef045d469bba040ac6, - 0x173ee40515ff7d0e543669d059759ced60d37c61fa1cca18dad597d207f1b5a, - 0x1c0ec48598f6fdf5a8a6e89540cde387bfcb72163eaece106d1b80d6a808dcf, - 0x6e37d34091f83b835e7f90624889d0ef5b7c5b7808d78ce6842d2d9623f878, - 0x50638f2b34f759d046fe540ac65d29294411e96c85baf7404104e97c0b01418, - 0x34ecd81f1c18ab7ff5c032ab92b57fab02bce15cd5b43a383992f72f9c3cbc, - 0x35f93390b65090b705cd6495896798e774ecb6d81cf6f85760606b4f36ecb66, - 0x54cc26c0db102bb6cba0854b7b84c720bd224b460a965a97dd8c640511d48de, - 0x404a9184f56ac65cc7a8f2e71af18d549ad8da381d07a995549aac398985c37, - 0x73a05adc1fa5bb9dfa51625b009985a9682ad9670a5b6cf4661983f40b202d9, - 0x7dff21de922dee285e89e183a5a1ed1f44a7c48b2ac0642a73a46768c6720e7, - 0x37053ba75dcf4f00b0752c5b9209221d5735312ebd32a8f3387a9f94f3ccf8, - 0x6dc6b0ae0176df0155e06c5065b26979964b5adbf5850dda5520e560452310d, - 0x4fc342b01a7e776a2313bf1ff7fef6d64a23973419c740a9bc2bd99be0b7f10, - 0x171c2fbcefff05d9da1523a67276eba1d5c907937392b1e51eca174ad2c941, - 0x7a6e0f724bd22a22d190003f3f9db179e819ea1357b41e6d92265e8d52f5e6d, - 0x6440d34bbad578ca55de871ae6081f3b1a1dd26525130a57a886df606c69d89, - 0x4e1aac6d369bb207025bc71782f3732e30e6bec3f7adf0a96968e530645c950, - 0x5e02551d1a5c4ac3b1148b7b685d52ce9b00682295614512f2ac4fd82a7e9d, - 0x3a6ac0d58a1f30242cb4d8a1b98d8bbf718d0f448941c9b6e006bdc23d9826b, - 0x76c96087372e027d25e71587e4ea395d4880758658dcd7a237d99e1b293b2b0, - 0x5db68c83763bf7eddd55e41db4feab352faef314659d3342e8495f3440a1c7d, - 0x34b3ab1e9550c2460001c390c6352b70945cdd713cf7868695080552aeeff9b, - 0xda7309f6419740fa46db71c9f0c19968c9128d2f9cdf888f950b0ace728ec5, - 0x597a187dfcc6c9a3a64bb78271acc48d6b11ef5cc55465986b15376d154c9dd, - 0x628200fbf4f2f73a479ba3f55cfb2e4bdc5700f02e79f59d24517bcdbc9409c, - 0x35285ac3f349abd6aa604825d87e419a3ecc95f2dbae3a4f05143c124b2fce2, - 0x67d2c9df3d470b3016664751cdd63181f1f59158eb1241db2f4bad20a0ac890, - 0x6d0abce871708b5f16e1c0a76972dcddcf50a069d89d3f2a97f69a684e6cabb, - 0x6405261d83e08d4e86576c798c65ea29133e50edad2799aae5e01b570df4ec8, - 0x6442001848994be5e1160877dc07dfc14da8882f753491e400a8033f0d5c45b, - 0x6ebb94a3db0b97c7c3ef3ca391c5266191fbf349850627f81a19c2b8aaf02c0, - 0x5cf1e734af895610f4b7578fdd62a8670a48be496373f65fa2662f2d96b41bd, - 0x46284d468d8d26ec36496e87142a08da86922310b22058dc688059c1592eed2, - 0x3f1225e5b24cd724d373c61309c2a7142b5de3e56ed44c72d612db4d821972e, - 0x40090db18ab4db13857bc64812f8f9023e2ff08cc5e8432160ff6955258cfba, - 0x3e36e1637423bbbdb7ff72943daaca73085662997c67c2636a882088ff0634a, - 0x6058218462ab0154e8ff7968cdd5560aec87b2ba7f9004b93f390d3d6d70b1d, - 0x5966de974e5b425ae32d54ae4c1833ad0b8cf2b3393c7cc4b01a666f63b174e, - 0x2d5eca019c3084e9000edd6eecffe2050f408f52eb1be855add434a135ddf4a, - 0x176926a621dad99f0ca02f898b651b5721652bd6e75ccfb2d8e2fe9c3f0ff85, - 0x79ca6cd0a5a48c92180ea185d8789af166833568f4f1b81fbdc9e4af81c70b9, - 0x3f217ba9630bf2d413e9e6cee6e87f7eb8d89aa997abf37a6734dc8dc5e588d, - 0x6f546ffc34ef2b6344c7d62b67ba13379504ada292a598ca53938b3b96c3c6d, - 0x3f8407f0970ffee168d1bebbc4459815c52d624c138aaec0367950e436aae16, - 0x32147f806c7f2c6e0941ea103a5e865b30da2504e7bf0c29e84c689b0f7f714, - 0x7ffe18b692cecfffb28be1b69925ef2cd1399d53acb4ec02b4c66b22df7a16c, - 0x518e378d927ec43352df03e624f34a1c3bfefa687c3f7f623c4f3a63e63d793, - 0x18647ab83cdd4da3413e7a36da613e2b43acf258006372e5862d6f589a190c1, - 0x46568e0939d26335c7525f09791e7ed8e405bf629653fdc92b938efbd4b62b7, - 0x1bcb30d8799a2a9bf15df439781cf17eed41cb934c104b54a1693ec5a7b6cd6, - 0x580bbea37babb225eda9e69409b182cdc0c3eaf7af99e365382fc7fc9daf25b, - 0x38df83754d1552a68811ebab29c4bdf64a47af1b5fea7575c7924747df5185, - 0xbb1d8bc3393ea0b2fed6c7656da3645c655f5193ca60bb4154da87291bd13e, - 0x59986cd277b2b325ea57f5b90ad6bb22f25032ac4147d8b7ad2994be0c6fe56, - 0x23ac8988cf226cb9f1481a9bdaebea574dc21e91f112c7ebec87b6e44798565, - 0x19beaf2942c5d248b0cc910065e30d3718fbfa5529be2e7660bf6e9b8e7854a, - 0x757f160cab4c75b4134ea0f1eab4d135a39f48b613bce298243dd5a14711661, - 0x2e88d9a602236bb7b174e4a4be240cfdfe7a27726c5f802cd445e263412251c, - 0x704ff67375f89058d79c60f2e3463d72290020112cae1b5126e13f8926acdc7, - 0x23c0cd96284a9cb5e225b42c58bf8865beef44d8ba88c3906b9c29c6d336654, - 0x2e2bc40b3bdf50096af8d39042379b5d80650d5da448781465315a9150c83a, - 0x27739747d001edfa2498a70333c50c03d8cad5f60d30ab53c6d60e4088b5f22, - 0x12d94a9f93f30db45a1788149fb50b2483df44367b57cc173ac1a113467948e, - 0x3f324e4203b537d190ca5dcfa5da48036cdd5280a5d6512aae6fd71a8bffbc8, - 0x41b0119cf156ffedee8d1ba94f440dbea4fe4140666676f296309892a85ea0d, - 0x5317a61365629ab69c0585b59048ef6ffbc25422920099bcbb4b1f8cfe7369d, - 0x6852db08622010221f020ed18b34f7d722611bec26bd3cbfbce3a5ec973bbfd, - 0x55456bd978b72b695d55820312ccf1fd8ba32c00241e45b4033ef58d36121f3, - 0x54909199c58e1ac8dfdb040f327aa1d58fb6524b02c8f026d883d402a591f56, - 0x1128a7644116be8d108cd4367d8275e75a6d0f8498d1c2ed6c0b58ceacd7808, - 0xe2f0cead7dfd8af42ac90e662a450298da26577329df015b96b7cec75e6c0b, - 0x5a1e3fa0d01c55c52705240446c30cabba27d5084829c3f48d6c6cbc3704902, - 0x6eaedf0d49623d4afdd405e51b4e404e957fe4547b0a339e77494585a9e4651, - 0x5358a444990e7257e79cc9279b810c29cad2bbe260da40054d185e499e9a353, - 0x29a561157a446059f30ba4ccfe8b3ad17b7e33be69848ad110efd37ad9886cd, - 0x61f1646901e3c005c19c63d4081554b0df0a0007094259882e615acf75986f1, - 0x42444f4eb70ac1a385661e313b216594da629a7c7f3df2de31deab36af9e862, - 0x6d3bbede450976170bd555698834fd7d9d73515094084356116014c79c3d9e6, - 0x68567fe90c39977c01cc77f4374ac7fc726d112f3f4de51ee9785a226c67a55, - 0x57c1987b7bd6d38ff129cdf3d08933dcc747638f90714025479cb6e220ae917, - 0x3e94b0ecc88ecb3943eaced68ba32e5e5b6ab9fd87b1423257a56406d29c4fa, - 0x460ef2e59d5d8476b1500369feedc21d06a8931c0c20f111ddb4672cf693ac, - 0x3b009ea0f31ae6dd68073de3bc77515078e478f3d4a702e9fd23f83f8dca196, - 0x72a60efad1a7f7fa0823dd9e1f09069c4af7006ce1e66f583c09e051125ad5d, - 0x5ee8b8e06fa309f4ef62f4aebbe82b30cba6785fa39fdc77c2a21e83c2fe582, - 0x7e2c14316c250ec9a08ecaf746237e4068a5f14314d86c17cdc7f26870f5632, - 0xfdbbe256c9c09e6a9ca04518b65c01c63ca7d4b40135dc0e763361a59bfeb1, - 0x752f439b10269580b1da3c84c02a05bd97911cbb50e1e79ecda75949f0df60a, - 0x4c9e30c66f4b91d7238fdabc3a4570213b408c55ac4b7596f9234e6521fb31d, - 0x577a7d47f8b9125022989a33391176d11acde6ae3ac5857a0929332da50eb42, - 0x2efcab03a0ea7ba7bf22085d8eb5f85e5689ce5c139d934ba81c8d10f2c9529, - 0x2fb1719d452e4f830a18fee8a186f65d947506ba19abd8c0a3a469675fd2fd0, - 0x2602bd12d57a9a535aa42327cfe66c6c3a8ca5ea4d56354a81e60ff76b0ff2e, - 0xb7e3caae4e022e1bd91e7ca0234c1ca1e29664d5184b48a52e95a575d56f8e, - 0x1b148d0bcdd4f1db8b75dc6e8b0e80f0567c859c81777d729ddbcde029437, - 0x5367e97ea3d5cbbd820c4a680e2e958e39319770499c704689dc8c75be88c9c, - 0x681710a0a5f7b0dbdc1f296365e547b2dfe38c00a2417ac6d374bf42d65b395, - 0x23b3bb8bdddc80fc0be9b0fe69e619764a10279d65066027e0dccb59ac77afb, - 0x3668e273d591d9cca9e7b8d40fd624c90be20219121fd5298e34479102606bb, - 0x73037c4bed306e57e7d246e6244c73f282e2f6c02eb7a98504bcb8fadc26010, - 0x26c302ecd97dc4f4bcd89d067b5afb84981940cbf20b1dc0ab352db3f6eb6ef, - 0x4a0aa48ff785f1d5c0d7a7228bccf184296c775b876d0a8d555e4c48f5cd52a, - 0x2ea3a95abef53b1d8e2a868b1157cb4308d24b318d5c841d139ebb68b99a3, - 0x734628f533084e0dbdc2bb09297329249abefa64c584d37dedf2df38a286d95, - 0x5765064d275f9b1416e5752d543c32108c978aaf0e1849d96a9130e47013498, - 0xfd5c0eb79307e42e7c2adf1bdf6c3ea91ce0a8a8e050003d7c43b4c71439da, - 0x5825e4134f7199e52803839a86a7887001be29da5e8c496f00afb99b0466155, - 0x12a50de78aba14104ded02da16c3e1a8bf549cd35fb998bbf6973349b30dfba, - 0x6c63dade338af2e37b78f20c2d4128034eb3b3013d7b257e07daafe78c4d694, - 0x3aeadacf060258f3f25f49dab7308117e788299301ab586f98bd5f989c81fde, - 0x212641b9b216e4ed8941274522162da92b419c0f6d97a37b25629ab6edcbf12, - 0x3689a399d909cc9b147b08b13686417a3d050fe45f3eb92e4aeda8b17bbd765, - 0x409a9c24f26a2debe9a36532a2891575f7c2d6d7eb15f02259f34a0127ae070, - 0x75525cd1807924fcc9bb3aa47f36b85709d8d06d96cd3e57262db018706a65e, - 0x3e4e455e04f5ac7b164ca4b1c8c73df72121b4d31502105ea776c44df6615bb, - 0x3db8a5a5bafb740a4e9e659c638193daf15e436842c19e871efd43cb7ce7d08, - 0x480dcfe5ede752a4129b95745c35ebec9fd5768a0f4287700d9f67d0fd20f34, - 0x3ae7aa637fe19e8e58d15e1b87aa91a5c458fc6820aac080d5499c74a00398b, - 0x2c286539753170bd4d56799b4f310d18f5005f66fe391a2345d3e18ffda33d2, - 0x1874c4403466b0b22446393a799db451906980c22a7208bc54981199ea92df6, - 0x5db7cbf97acbe22b8474627025860022212c818ff5f0e3dcb3e63e7fe1acb28, - 0x556a02f3c8b57147ff9d03243cc68b14cad5f79f1efe07ff501cca192311991, - 0x7cdf3d7031924bd9bd5d7aacc035522639bd59b554a1e512549af4fc53b11ec, - 0x3e9ce2661e27b823526c0e2ce04913458a60031a826e3eed09d3e63150f1723, - 0x491da662a07027fd5ee42f8350747468e74b78edaa969a64e4fbfd35516271b, - 0x30dd75e74ff098e6b2d1829cb293563273054926d7dcea1cedaff44c073fe69, - 0x75795d7ad83d47eabd33699b006c40462d4712ccbb67e98d71fe1813ff44096, - 0x6eca0652f21fc4d31ae35c79b1cc03712b8a6ec59a7f7fdc56998acef5aaa2b, - 0x23851ad2cc7b191a5164575e696d5e1c9adb0c5baa12651eb41d70b3a933ea4, - 0x45cd574956fca36342fdf5d31008f25f9c2fd6b7ff1c8b0dca56c4195ed2d1e, - 0x5abff6a490bd3d03eb7cc1009a41fb85cf39306a948cb7e0a787344a09b0856, - 0x1a0aa22254b39a68bcc8680344f82f05be97691ec74910930b5a4bcc919fcf8, - 0x19a9305be48eaf0af5d2c07342f4c865938be7a986e90f3f997ee569d819921, - 0xbf6db4f611c671cf8e1b25b5b20d1e897e17bcf61e4b95d4efe67239a38b7, - 0xfc50f2f0f852e8dac39a5be5f1e4cc84e3e238994ddfcd990b9922afb8c0fb, - 0x6aea67cc7f64710cd4cd0545b9b69302ca67a9833643d6797cd0bdc3d683a69, - 0x3388a3d2b3640039d3d69363470c7e9456e576adedb358cdb5297a5935fe331, - 0x639435fb8f71e3ceda15d26afeb84c9a006aa1548735fcebfee42c81c28417e, - 0xe39cc03d14b1bfbeeb53a52f693cad6e874beed01199fd6b478249d61ce28e, - 0x2cb34aadc08e5e8b8a7bad8a7e60027117069363d7492ab1e303cc8614c7404, - 0x3aab0c31492f7bb0caa18b61622701c0fbc0c86395771f46d4f7ffb8159d148, - 0x745939dbe0a726a112e87e4e5e0bdd665507a70980e19faddac58048fd1f666, - 0x188b7dfec24720c52bbb7c0c7e1dde5268123bc36152c1e046a37cf8adfc6b0, - 0xe27e3f2df76597a04574e12821158842588cb450096961025a34c8a22f09cd, - 0x3517d5e9c29e86b169ba58311838b230081ac35594a40aef757811352b32017, + 0x3cb594d08bff7d9b1358ff9ac9da944f817b8fdaf0ce0653ae610f164481017, + 0x6beeb3913b3427a3593c2d86e6305000e58bf716d47efd3c2916d1920eebc42, + 0x5f7769ba918cbb40a2828272e07d44ad7d3ce5c75ea4853d6217547f34039ae, + 0x5122cc7612e6f47f2435a9b36e24c4d82ef3221cdc1fc5d58989a56765f87c1, + 0x292e749ce842eecabd0145e88b667f8c8eb3454927618d066649f9029da01dd, + 0x675df17db3aa932063dc2582a6203d43ef047923db874043f74a663cda64cb, + 0x46f0094e0705f5db765eb17d841bf1dafe9267856aa8d9b9968a557855cd046, + 0xe4a16452992bbd753214dfb94769f538e6cfa7ad88934f696bd6b4e8072904, + 0x5a8fecc7ea4a4937efac9693cdeb65b5aebd1e9b1f086a5f779c2d165d2695, + 0x4895c07f340bcd35e4f586daea4d086a4ccdd1af31de176b9d3b4551d81ac34, + 0x7efdbeae58a76eda09ab5c90a5770da9092b8317626d99ba2f05635e625c82d, + 0x539b1eb49224bb04653719dd7da9779b155e957e98cdec817620f7e915bddf7, + 0x1dfa81025ea1530060a750feaa27ba1d7104173de01f00562d09ad373393229, + 0x2f8123a38cfcb85da8c1c17f376f0803d7942a992de9bd487fa3dc866d44a1c, + 0x78128f61d8039e60db9c9ef2bb889575997d64bf290b92aef145b9f707dcf03, + 0x146db43d42b40176c69bfc20bb5a6236a8af56211951c4ee2603de677e69f33, + 0x14a2311e0a67233639f98713fc97ba5484f45b88a9505a88caa7d2046504dd, + 0xbcdba8397236ae18a665525ab1beb3573818fec3cdc6bc9c000d08cbe4fd01, + 0x1ee42a585b7dc319edc981d01e1e7d454eb331b04faea3340a3f0894b5fc0ba, + 0x2af708156a134c9ee7e7458179c1f4a99188c75e014519ef09e697fc89646b3, + 0x67ff1e51c699a9e6609e8beef226d7cf87f0c0cb8697b42f1304f6d912402df, + 0x7d69b2966bacced9b888d055c817576cc3934538922c9a87836f99383ac377b, + 0x6992840697dc922e5144c89a02532d7310bbb7c185d23f6b2899a1d362888c6, + 0x1638a6e1a7c859f5cae7e04bd91bed8bf76d210ea61339a3d31becf05c54a57, + 0x4b2f9b33be1c7117542863ec29818013b7aad58c827ac933a6a718d4b482df, + 0x5d38fe2d23df29a6823a053154fdeaff1b2183bdeaa1e386fb7a0371be523f4, + 0x7b48e0810cdc09560bdf33e85b359fb1b2e4f7a9fcdf6299a24259e3aa318d8, + 0x4d329abf1e5174fba38df8ce481eae174bbd0aadb6a7a07404a265072242589, + 0xc10e250d68ed237dd66d9375485dbb597c112e91950fce43c41a2937434830, + 0x3ff05ec7e2f91a2c152fce7e25fb00359ba73dd714e000face0323b0b9ad859, + 0x6c42a1caa4e2daa10e36d39dd74dd0b47fc1a5fa86874ed7fdc3e3f8bfd9968, + 0x108233f77db3b22474d24c693f8c9f522f54936f0cf3277ac2c0cfb87645124, + 0x2ab8a1eca87570c9b997e548f5ac722ade3cf9366d71c742befeb6a47e1cf0a, + 0x3c2affee148887742e134ea9ca11977a94b08679890b521f808ec7b2938a475, + 0x775753b51de5d58fd9bb81c9fad827c58d5dcc336153d0dac38ebb07e65f3f8, + 0xfe42ed357f99ab116d05b17fdabb3b6f6ee511fbb868fda7c699265165bd88, + 0x1d5c3d5e0d84ddef1a622d374db1f8fc8135d338f563d95c751903f8f32141b, + 0x38c163ca39f9196f79ff1a6c903e1df92840913f7a8547ab7f67feee58967ef, + 0x20600401d215deceb5cbc89919a5757357b09d67a2c75e72bf3e4fe067d0d0f, + 0x75007561b4962ca2fb8bba400509e2a3ee2a29090383c84d4abc2a5e4eacdad, + 0x2c4673c0b845b0808ae989cf8bbda5c3c69c9f9548b60b465fbf36a9a28670a, + 0x1f8be87efb2b7b9421e75eb26a642edfd34069ee45dd3b932eceb252087b6a0, + 0x21543267189894009b51ef02befe0a0578abf1aaed28637f8d5c55407f8f528, + 0x5fbc7f8c4fab96b1a4c4479417b7e386b389154a87872b341e85155c321565a, + 0x349558f943bf50ccd7aa8beb3418c757f7214099cf74b3fc67ce6048d9bbbaf, + 0x6463e1c0d14b29f21794a9d542a8a5404b8c81dfea5eea65c2c934375a98527, + 0x449570e44f82a84cb1e61bde26b1b513627f2d7ddcb86605516c3ecb86367fe, + 0x17b100ac783f096c1b72a51dd4d9301a52a6255c7c1187b7071ee391bef11d0, + 0x55ee5e95d057386481652bab3169514bc5ec69b965335eaf54eea5a50af7165, + 0x47856e9a05c92e36bce9b80b53469266f9d45f3b7e7445a3c17b134c983e375, + 0x2bc36ba245abb63b03df27ceca6bee533a1adb32df006440e489f1d0688919a, + 0x7fe9d86cea470094d9ababab3b597a1f4a02784eac4330e36b6ad28a7a6bf08, + 0x18ff5439d87d54197ffb813a6fc877c321abf337234143b10defa65cd5a0833, + 0x5fc5c99ef905ff0e3aa90d744a2ade01dc747417a8e65389b3e6dc960852109, + 0x38c8386123c89e94f12d22527b04f47736341fa55b384c0652ae3ce9ddc3e11, + 0x7c35d50e96060aa4aba142437400323238167b3090941477d2bc6e84dc55823, + 0x4deb3c05df15e01d3840051ec6d296923de78ed027211414a01691d038e5e3d, + 0x2c89cba9afc6416170e437a6d19acfd1b5064a6783cc5d86292d3d1c465e914, + 0x295cf13ff878e06be0e97c446b4f9741bdd032fa051c2c3157e5ee815374c66, + 0x2f50486447607cd6f5166a1328befa62e4df1a4cc07c2e76ede1a1b8d0e2253, + 0x234f13465a7d4ab2c6180a1cbff778531dd61b95c6966f7ba7f695d5c5a16d3, + 0x3918b3e434316b3522c1ea6722ccb562dc6364c0a6161540c6d6715cf40c351, + 0x3fbfa8638a332a14721cc1285deacde81002291fcc95c5c8bd4b411c2a1bff2, + 0x39c4079c7394555e5a3397abd633d59808ecce390a37bc48affff0ddf10e933, + 0x5024ab3aa4129429f863e34c76d209d7694a3aceffa3130afe5330b8064ee50, + 0x6148d4955dd9a632a1f891447f7422edf7249a73db531d11c9404e052e9a66c, + 0x25e7ec740a351a2b6dcfb0f38d35fe46f11061920dd4684c71450dbe62dc172, + 0x60d30f218cb7054e5dcae4f5bfa204d33afecb8ff4ea81fb874faafa7825046, + 0x5e1e68ff0aedbca5ef936bc41f339392be5b304c6d0b14368d5552a5f9846c0, + 0x69e738066df7e08a81dcab46b703c44bab1cffbe49f3412d38ddbe47ddab6a5, + 0x390fa4304de0305d750c3cd7895cec9ae78e0eb3149205eb12d174c89f2c71a, + 0x5fc3ebf3ed45eca26e6a0926ee47efa667384c16afa847f6994e21c5855d7ce, + 0x5cd960acf717b64c434d60f381284280f5cacfcc24a06219de54341f5ee5d24, + 0x572f23cf3b699f71f7bc560ff23116d93aa820262164e803bdc8dc51cd54102, + 0x429445aa637f3e700e0852f30fded8b119fd37cb83a45fabb63f7c42ac4427d, + 0x14809e472e3437aecff0296d38680979dd0c36623d36ce87602d6c4e561cfca, + 0x3a8127e13d5a0b6f26fc5df086f1b58886c95536ec9b6414d7f24d201633d30, + 0x618c0228e7327fd5d226d347cea78f00cd371d247a0e89752af4827a4d30ca2, + 0x49a17c630c87ef4063e5d298be4bcf9dd10111c68ca9b7319a7c98d50509741, + 0x744d454bdb88286ab2750a2728a5263a1922b91de73e94480a364bbd704d12d, + 0x4af9fec824ec58ecf9a96f0de7658501586134d1034869c6a4b30bdd8494e8, + 0x25e5daf9778cb1d2bda48faa26abc633a3b6f49bccda55ca2f88fb77e4ff914, + 0x2b1bfc7bf6e5d93263cacc437cc586fc47c16057e61037ecf1ff809fc7e2a60, + 0x13e040f6f42f426105b131487a29b10475c00572a41a6521fb8a7622ec198dc, + 0x631a61788f4355e59c5ebd1f66c25dd5a68c1a2bb54c356d1c8caae5102206f, + 0x30365d07d1e1741d10944d7ff7927ad0f80102169bdc0b587ef2184c98b4d0d, + 0x30e12e014ae9072ef8e2e7af4bd208152b991f8bc2e2543d226fa1f38a2b4dd, + 0x5fab63c6b62afa9b991bdbbc26cfa1f67ef6c7b4b840e49c257748ad5d35275, + 0x149d9b98f2612eea8e60d9c30aacc1a5de4228a271fdeccc8a6216b5c3e7b6e, + 0x7adce6bcecc82229d6a94fb56b8e73ddef84f0cc04d857a0058d663ced3be9e, + 0x437dcc1721e94d6733d118c972c970b1a515da439fdef0a693d993ce758bee1, + 0x5460cb1e82124b8e8139c61ed5b868cb8d11be3aa76488cace76b10f5aba926, + 0x29a21f246546bb759ce21a496b9e540a517b3fd12d63903a882e5d157d31ad1, + 0x3b52205144f8e3c9f26cd99d30bda06d2152ffe6d24a220cc36c794d8127f7e, + 0x72905e4e7d3ff5fff996e564e3009f7bb355a43ab7d26f6b89478ef45ed913a, + 0x5d2649cd1f03f9c16d42db2124a84a293cbbde2a95411fbbf30f2f66cb3387, + 0x62cd0e36757cb0cdd0aa74dedf0ec69b193470668944bed1fd017a32ef6948d, + 0x1ceb43411395fb6cbc9f1a2627431812b1fcdce67af91eec4f229382a181e9b, + 0x86b5398d87497716f4b5fc41ec91c9870f519024ea18fdd827db9433a86afb, + 0x4f677cab98dbfcf9bfb9862e17bcf2d3b6a45f1328ace805368d72bc06f20d1, + 0x1a051405e899273ba19e567ae833650933df5715c625a225e3f4ee77d6c9c, + 0x247f785474893aed6be3ee0249f6afa9557af30ebfe8e3b78867540ed8c0f4f, + 0x436c88dfaca7845283a3632581e04d935f2fbfc0cfb33c52a5caf3cc016f3ab, + 0x59cee8905d5819db41f373ff5bcfd80337e23de92938c30e01b6417ba7fdaf3, + 0x6fc98023f05ff2b200033a575d561cdd46b0ef7fb343e4621848abd6d09359d, + 0x2d60fc4e54722740ec97a28008275aebbc26fded34f98186385274063cdcb8e, + 0x25b1a4e6c3d23e63cd2d1192838f10efd5fe18bcf58a10092c5a7f775a3caa1, + 0x1864425ca686df29adcb4669f7fc6870c2d13c5c3b4c15d8e73f615ff66f47e, + 0x5507332cc546b5614039aee429309df762a286641f3002a0c51db7382630221, + 0x6beea637e4bf5ea7d68fbc37e024e87db696a3cbfb79503f546d5adc4ade297, + 0x784b742ccdc4907653cee8cac006c440d964a1b617e12587829f685d7de957b, + 0x2daa54942cd0e22e26bf7a296462fc31726a1e63776aaec3898421555c7d6fc, + 0x23c26c28f00a5f3a0125883cf5442d74f94fe55279f9fafb6b0302a354e1c0c, + 0x3b274eaec5bc0dca6554bf543631863294bc5582e59ed8441bde65c76d01819, + 0x3ab74056d69acb0952862f1d42d3570593bcb207dcd2b2cd2f1725a8f2e11e5, + 0x738828c6509bd7c90f50e296dec71a6dac97158abbec9bd316d8fa8024dc402, + 0x7cc1a27255d6d114a53fa68f0cc68929146ff9171772cb952c10871451deb7f, + 0x6eb82b3ffffd8df6962241c1f6c2fccf5843e3e5fd6ceab73bed56ecfcd783f, + 0x1f807c0f1b03d1c6285db6d1639b23dd78586df0b6adc2b620bfeca154644b1, + 0xe27f902b69f3df42e030038102847a91e48dce5cd08b207630f4ae70ecd8fc, + 0x3db474f7a355d660850e85dc34865db983cbc73424b353b12f8f0058fe639d1, + 0x574ad29fba6900188149192884996d9786de1c9b5f34e78b624137420e6ec7d, + 0x25e31f25948dc259206c68fe3fc81da11f693772e5e1120043aec7f58d1432b, + 0x4bb5dbd41679ee8355c8ad6d3f0780be549631e398e23bc4d63bd89c201bc66, + 0x54f09e9cc0bea3eabb4b27bcfc5e68a6454273e00d99a6eb2dee3defca84043, + 0x637f2a47a217fcacce3231ab81927b5735c0fea75f1a6374c48f5b3b0e1e047, + 0x37cf863ca944c970eb00cc79e2459e4dbcd42e2200f9e88e0935645c9a9a025, + 0x281eeb25c656467ddb8fc383ee46bf85d02c70e2043415319724494f23eff04, + 0x473aba702a0fc32b73daeea042a7ef73aa50a252cc56995330d86fac854f27e, + 0x7b39e7b9dbed77a62a05edb4b4092d9d1b3a2804ec567bb55cbdcb9a98a5886, + 0x5e6864a1413eea78bd6f0b7d5435bdf27107caef1f0d75649cd5410c591d38c, + 0x36b1fb8a04a319fc19411ea7d332c2c0949a5ae0aa8b9afbf9869063f112b9, + 0x68442da2c45c834da3bc13f73663ded7d5b3177a0fd5a140db868489d66c1f1, + 0x78e47a8b710b5b2c0430506ad9c237a8fc232468bc841e8d21f85d7cf492d8, + 0x5f3445e52e9d18f913736d6041e19cc0fdee26aa536e7c2db566250f97fb0fa, + 0x1f6286af5371648dcdd63e59d148c2aa7e310956e66244d6a05e6d6f51967d6, + 0x6147b24028f88a6910126d98fa75161968c4d158fd138c6f188bcf62e25840d, + 0x16205bb839ab37d3a59d7ecbde012de243a3bae36fc71cdd7e5e86fa09c22e1, + 0x2f37b53c53e463db1cec0df3c0ce90f6be7914c6b46bf987eb7a34729bbed70, + 0x1f5455a1df27239cb2c1c0bd09aefc0a4398d98dea440019b3fb7c5ceea9d5e, + 0x380e5e05cac0a77b2867bc6bffdc8b0f79497ae0ac3335ef036b0de906dd06b, + 0x6e27140b9954bf51cd66089e6c5b28df620a50515747449eb8b0b0532ea37b1, + 0x2ede6732683021ca92415e3f1ff06639d4f849d2a72581e5311370edff63769, + 0x10ff3b0f7a9b94ac75d1ef55a6c655e17637d53ca9203dacf960fed7fe283e7, + 0x475cf06599139677f2b9539124512d8dd62ab20526e93d229252ceb4f5c9597, + 0x1e0980b397c1624f781bb7fb706a03b1b3ae80a8ff0b0764442bbb9d93ecc1a, + 0x580e8729a9024e0f4d600affab2449afab794f2213d036ba20e31d750b2be9a, + 0x6554cc0f34173f2aa4c332cbf39bbd8f3bca537eca468195dad27d7d7b64129, + 0x1ae169fc73914d49b3e9b00c1c9a542cdca984830de97dfd9425260bff9e1ff, + 0x3ac22604e3790bb579e53fc1c016b91ce13cfb7f9374cf28a7da7ca3e24f873, + 0x5bb9e0088c52577f6e378d15ec95633988f8e1dc6fc71c9bc4c78240bd79fb7, + 0x36411a1b391b64d0dafa34c3f1eb6451171f689df0405656f2091f560764e48, + 0x3d39b571382b4685b36631984acc33e3688c7e6ee17775d8a4f07e39ebe4987, + 0x18dfe63bef7aa584edb241c740d0de2efc2ef48d54fbd0e3983cd6aadbfa71d, + 0x645d88db1e683befc0ed6014d277795a7ebd22fbef1ce620afee419e334889a, + 0x2e3c72530e78ac9c79e9bdf8ece9c1976d848a1c48b5922c2f2df1fac908a49, + 0x357e35aad82d57c34cbbd8b70df26fd403d0ee0198e6bf1d10218cfa5bb874d, + 0x68fa850803cebb815a363eae319a6068e915ca61653a2672387b7e63c299a6d, + 0x4222a4a1d42276570fefd7dde277e64c2c064480d2bca726920fd9dcb27e755, + 0x52d152c87e6520b614e7851b8ee820b87aa9e1bcffa93f75191122822b9a1eb ] .span() } diff --git a/src/tests/stone_proof_fibonacci_keccak/traces/commitment.cairo b/src/tests/stone_proof_fibonacci_keccak/traces/commitment.cairo index 63ec16415..6f1f742ae 100644 --- a/src/tests/stone_proof_fibonacci_keccak/traces/commitment.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/traces/commitment.cairo @@ -16,7 +16,7 @@ fn get() -> TracesCommitment { config: traces_config.original, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0x16, n_verifier_friendly_commitment_layers: 0x64 + height: 0x14, n_verifier_friendly_commitment_layers: 0x64 }, commitment_hash: unsent_commitment.original, }, @@ -26,7 +26,7 @@ fn get() -> TracesCommitment { config: traces_config.interaction, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0x16, n_verifier_friendly_commitment_layers: 0x64 + height: 0x14, n_verifier_friendly_commitment_layers: 0x64 }, commitment_hash: unsent_commitment.interaction, }, diff --git a/src/tests/stone_proof_fibonacci_keccak/traces/config.cairo b/src/tests/stone_proof_fibonacci_keccak/traces/config.cairo index ec854ffd6..03c9d234f 100644 --- a/src/tests/stone_proof_fibonacci_keccak/traces/config.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/traces/config.cairo @@ -8,13 +8,13 @@ fn get() -> TracesConfig { original: TableCommitmentConfig { n_columns: 0x7, vector: VectorCommitmentConfig { - height: 0x16, n_verifier_friendly_commitment_layers: 0x64 + height: 0x14, n_verifier_friendly_commitment_layers: 0x64 }, }, interaction: TableCommitmentConfig { n_columns: 0x3, vector: VectorCommitmentConfig { - height: 0x16, n_verifier_friendly_commitment_layers: 0x64 + height: 0x14, n_verifier_friendly_commitment_layers: 0x64 }, }, }; diff --git a/src/tests/stone_proof_fibonacci_keccak/traces/decommitment.cairo b/src/tests/stone_proof_fibonacci_keccak/traces/decommitment.cairo index 121547d1d..2b964c127 100644 --- a/src/tests/stone_proof_fibonacci_keccak/traces/decommitment.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/traces/decommitment.cairo @@ -6,191 +6,111 @@ fn get() -> TracesDecommitment { return TracesDecommitment { original: TableDecommitment { values: array![ - 0x46a56a7f0d7116cbd26a870002a015f0324a03979d61c6d71f8908f27d996de, - 0x4cdc2c82f88004158db3390341f13fda5bcacf1a5df5ff34cdb8bdb6e1ce5c9, - 0x3c80f3df7f629a95409588595256cc184eaaa90864ae550ac3727e8f116eda8, - 0x2f40618a111972a78c12d5dc4ac77944599e447413e47238a059827256104a2, - 0x67eb3ab3a33c3e53567657517db1c4b8fd011091ed818bd6041894155c3c652, - 0x726649f561f2b97202c48fe08feea653a17f89e23d0424dde76f6229212ea50, - 0x5f51066863392202eb8b562f54f626efe05d951d270bd3f070219d681149a84, - 0x4aa90db421dbddd52cbfdecab675cbbb881f8257f2bfaa3e8d5f0a68198ecdb, - 0x2757afb52106f9699882a41769f44f5e8581db787abd1bb5bd254245007475f, - 0x7b1499ff7ce6953b7154337ec8ffb18c2c84c51407760c21cef367703b5e406, - 0x6e6018cdd04de8571637945a8c50458a545f9cbefd49db5fa768b7a6a2bac4d, - 0x126ac691a2bece65b979b50ea42145d4e5fb0d1b76b8964f5ae337a1b75a96b, - 0x13b61883bf8cb0ed0dd46611a233a46b41152199c45625591eff967f00c7cd4, - 0x2e47927dab06ab63e92d2dd49a985708d8beb2594c444059bbabcf3edec34c1, - 0x4f046d2a760a70a90557df3560aff3a7912302345839595332de094657dbfed, - 0x70cd211682e4a64846e62cfec661645998083fb80e547fe52f86c7227e9ee89, - 0x22f68d341839fd4cbd6f30ea30f02e0481b314faf69df391e067382ee67c446, - 0x1ea6b87330724b22b81804f3cc924fb3b8af914ed1ff2809f50dc9f356fa60, - 0x41757fe06ff88b135c89c3c17e0ad748d6571131960ed7386c939cecf51b2ae, - 0x2c39f8c41601f077c4d04a63bb650de8be2e6e7846fd1c400fef1c15183227, - 0x77c8737466ec67be59bc3311704b86da3a97efef58fe6e536544bb956b87f6b, - 0x256a6404d3c874fcccf83792776827901d95517cfef975b48d8c0fe25a2bc9a, - 0x44124b035fd470d2a18b091071c7846be4f322cb0cf2029279a1c43bebce17f, - 0x756dd8712610ff9d361c2677355e603b9ea8320ae83e643655d2155d2f37cf4, - 0x46167e736b67cc8641fa0c0ae2d0b4f0736543245472987a1aa6bf011d4a4d3, - 0x2f2ceb7c4e7638fd4ad35140c838610fac871cb596f002f0f57f34d6940e8b4, - 0x25891416f15729c0c77863fe73e243916a10a5b824c6f4b3a79794048d7cd3c, - 0x742b7ff6c8ccd3c879f8be0e35d1d81c12058c81b5e5ec97ee384c8d357e747, - 0x1a18bfc00e307bf4bf20a9422985ff8b80c445820ca0a3d8b11cc2d90f87aba, - 0x2a12d8858c83b1332059e9fd3ed65f7353f09ea505aa65318eca438a0dbae48, - 0x823b22f8a94aca15d481ac216033264fbb5572fa250dea8aedc7a80109c075, - 0x6cc9b70fd51c3a87a0bfe4811fca01770f7aba679f568ce01fef633bee7bf4e, - 0x31442fa22d260baaa97a9dc6ce91e1d427b756d8dc9dd82ae383ff155e9c928, - 0x5933422d443e04d93dd589a13cd8e9939370ee041a495103dddf53ed81e6e4b, - 0xdf3be6fd2144a316b61b66cb2e6812dd1d95a5b971c6f6b11fe8bd6f24f808, - 0xd728b306e53ca69a96292dd3dfa3522bc437a40a60c9c98ad6c6a758faaa59, - 0x5f2da33550235a30504e5ea177877b5328497d156fe96d21d31b6b8095385fa, - 0x305b3a9d9fd9c6c5d9422278a305f8a93ac40822a044031304f49efd9ac5e47, - 0x13217fc4f8a1682ef4ab9cf851b44a92abc5dae8401be6fb68934a4d0a2c34e, - 0x6094d42975ec43518f850cab061a238c6c9dc95193741984341855fa8fec298, - 0x69203772c3f03f67561a676f66dc85dece695322e6fb1babf9c841ed1661bb8, - 0x5a10975dc233418b8966ace36ed6fb5e5fccd2ca39f989a84ad4dca8bb96218, - 0x766227da76104c7b7112de4138a86732fdd2a32827683e7b955565ab5f4f5be, - 0x3ec5d7764231a2524685e8a6a140bd0da3c4e3b5d3e817090c65455d73fee70, - 0x109bfa6116497a0ff3e41e12544861ca164b61692301ac792ac537ab25d909b, - 0x4dd8431c7cfbe14093ae6edf88f3dac9c71021143fe07cc5f09d6613e635c9a, - 0x64f0bd6cfea81e807a745d1db029007e63b2bb2515cd79850efa11e72982fc4, - 0x5d1a3ec714e0c304e9db618b33b87f8d6c1d862210246eed6d7127dc522471c, - 0x47fff8c8eaff33de6a94bc70061ca8210ca65449c6992ecb10724ea4163fb33, - 0x2b609e8ba646e3590fcc462028e9b0a63e2968202387a5d4cb2a46c90cfc2a3, - 0x2bfbef038f7dd36d57a8faea5051acec43cd01b3ea53d4931af043cf2f02a98, - 0x3d6c5e8bc49764d459d288667f9ac9725ac093a4aa3587d904611ee2d9473ed, - 0x6105c117142a0b050b5cf06dfd5b0eddd14c5787b947a18918828611c755f56, - 0x464d01faf311282dd230aec451235913d57ca9fb2b09ab7e46d89dcf76abe78, - 0x1558d1ed4f45c24defcfa6ca5a5c1387ca3198f34c25d0eac996cae435c12ce, - 0x1f6579cc2f32db4000c07b32d75db545fc9f3e48fbee0f6a3a388fa1fd8f711, - 0x53b594995d3920aec7d1794a834a5aa6f3dfde65b303ce964bb2be521e27714, - 0x141b4fdb7fc8af9867d01d902f0f5ec76158daa45ca2bb2c84b6ee43552785c, - 0x713327cd9d71e2b7fa580b8b7eca287395226016e6d41c747ea064a774af64d, - 0x79edba650f7427e70e7979e6568c6e0d2f92d4a27d839edbab516c5fff56b51, - 0x1d0cf3e14a0afb1fde47f194fa2ba19057d14c1756d7a5dca89d201924c2d34, - 0x1af40338b738d1429c3419b5dc723bd4b0a2e40905d3196738c3db318cd4d5e, - 0x617141217b6505778737f43627e58c20199b38682f9c2bcf3eaab777e76acc, - 0xc0862c976301c34c1898bc0e95c8ed8f06886ee86ce3367b243c53ca885c7d, - 0x56d3c75d861d82bd8bff4ef236ac6b4524e2b8cc803f1ba1f8be424bd15010c, - 0x63a27f4c176173c1bbcfa0452cefd6d764b13f693aa0dfaa3032194db2e9e79, - 0x39480e042079ea1adf8f9b5193b29d15e4d0ba5577b1d135beb4ef477b3de6, - 0x7fde31f14fec41ec2528ceb6bbb305d448f89bc405f538a311e6b5f6a076f6f, - 0x662e1b3b9b430fe5aa6a90fa6d12041d3436abbbbfdaa126a5b400dfd824ba5, - 0x1961e4d830faeefab4cd64feed800185f9358b8938d10ed6fa9f8df10a8e39a, - 0x47e3533614914b33efced84ab366388c89c3216133fa6cb637014a29964fa77, - 0x7bd2b9175440965e57266121e290fcc565029e794cab5ba817ab55e96cdc218, - 0x1631c061275e685c917a356944174edae05792b488d418c01436b75d76f2388, - 0x3a19dc750ad630e5b7173f489d995b9f3dd4ce1aec3b202b6d90b0e1a439c71, - 0x3a1673897f31daf933cf7617addf5bc6734a7f18742ff2f204f38956428c230, - 0x22d43d28cb2a99d785e984b88c4eda643347ad8287771f883ee83f024746011, - 0x615c415dbab8dc1b42381579a11efa43436a1a76148c82e645ae728f315d59, - 0x4e5294b16e5d39225ce38cf68eb4aaf87018445ce8ba6c1e5294cd06a8c918, - 0x4df54979f3e73aaca1160cea3f8ff324dd6967bb2d1178d05f9024f52733e, - 0x2c40eb153798802b7655712ae88a09cccef35e6208604d13cfaba19fad56912, - 0x29c1caafae345a0bdec34df524aa64215bf720635407808d0388bff763e97dc, - 0x7c35742fe8e3d47eb2a65ef92913e660e32a29b1bc946af03b857ee8ebe43e8, - 0x58be8f8f3253fd452cd7513ebd7916c17d5abecbc3dcf9b06d4d3738a301285, - 0x4036a31c27bd0f18790427269c2274d4c54ef95636ff4044d8aa2424156f9d1, - 0x39b94cc754f11d10594abaa86206ebaa9f5452a20e2ec94029a947b15515267, - 0x2f8de4bf391441bf882859aa39efb190551dd406578959e47471f39cba30101, - 0x6be63cf24f325d8d89d56c21a56986326401fe9776e9add4232ca3e982f8b97, - 0x3c19caa7bdb9d779579e822d15c71533d7b9dfac419e47073ba561b48397f4f, - 0x1bbd54bcbaa75fc9c554791eab7368d1195c0994a04a33da1d69bf42e24e549, - 0x33508ce77eecb44b6e6c889d5d522525f4c2bc9ed52fcb5bdd212325daf9da, - 0x2891a0c16ece31258d573d89187e7172769b4a98aa49d0323bd81e5c285d345, - 0x5c055b3b3e3abfcc4bd658c5fc4c980f196ceca85885fd965f5f41ec3e516fe, - 0x48fe67dd201db38729f8e81d6d1dd127f6daa78de3ef258534bee120d301d72, - 0x4327b1f612c2fb2579d26d365b3c890c9961e404a649b5083d335b9e7d7ef1d, - 0x1632dac8ffb1b8125c210e9c88c347b725152f68ec11294e44b2a0c4a269fd2, - 0x70690aac76e96533ccedd42d3a5b20b158779b6fdcd13df6b7660a61c020a62, - 0x76fe9c68a132c380046d36ef03a524e29dbabc0c29c64ecebb4f6313354ad8f, - 0x67c58bbdbb7438130913458a9ce561975c94bb7af0d5290b19c71a4aea45d3, - 0x4c996f623eec956faba7785f255146c161501b8e2245bed0fee142e6645c76d, - 0x53933de8ba7bf8ab43bfe26e4b6ae27ee8d48f6e0c2b5a07c9e4631c42ed79f, - 0x21e3ceb420dfc9ea91a5f9444e557fa23dae7bd1c6906896278aa432bc97c5c, - 0x676588d86a1c704e23221e571a7cf0cc91e27dc58f3aab0d9b0943181bbf481, - 0x42d5a7c9d6d5b1342dd3d2458078d17b1b9915b655f132ad9960602f57d88e4, - 0x73822684634b547e3cea9916d1301f8a95cd05b2edaf226c1d7803433fcf852, - 0x3f090efcee380ce6a0015e30ae0c598f1dd3c148a50a79e6e528b26f5e4dfdf, - 0x400efde32ac6d540b5d42a322a15e571252ebb9cef037fa4d591d066f920a5e, - 0x32c6a37acc3f36ca0088a2b220f23c95a09ddbc25984a742295ae4608f63a5c, - 0x4c83d61d7ba37a20e42a9991a887ec01cec975e05de88e3b61cf23c3cd05d92, - 0x7244bb2d9a097a30dec32f627cd4208308e2393e26b8ffcae990b43668952e0, - 0x4c0711098ec7b9dd50d98c43927ea2dde1c40a7199ccfd4401ac4d03490f232, - 0x763349497e0b12a05d22b50fa24e1b389040a81c3fc0a29cf34780c82766853, - 0x11469a5c444f6611d8b0d19b5d7c2630b627eb63df1940b8125c28db55f1a6d, - 0x6f08e49e6dfc2253530688b8af40bb005f3406f52bc34024e8a2f6148d35f53, - 0x5e838b21283b7cc4b6bfe575fe692b09734cbf4c51ccdc541575257f9b7880f, - 0x3ba7fbebc658a194e7a97502677953ce36bf02cd21f5d3077343079a698fad2, - 0x645a5dd27f7bc960758533e9208cfcd8c181c749b2158c605173335f0ab59f7, - 0x723ae1cf327dccb5c868d3945bc37115164c7a05c03f80fa65556d832e8260, - 0x264f24da6783026dc882312caec8e7a218a944a76dc9d45df8c3b2bbfb52b3c, - 0x19cd07714e3cbaa6d9c04629829aa4ef14f14d5fdd93b7b9321bfa35bb038e9, - 0x7ae05b756dab1f4fe263325055968dd9d5dbd0275a8e8315551522b053afa98, - 0x2e34c0373e91bd12786d4ba55c04670fe976625cd0f7eb80fdcf039b2f774b3, - 0x5b76c883cfc3c62e15a464fdcb33fb13755a68e6441f99b599c537175d813f5, - 0x2ee4c1edc2042a6054edee3163b772fcef23902a1ed2d7eb4d0984498c086ef, - 0x6719858f1d7b4afe86ad030ee1afea8d0e6a8858b888e2d832d1c007c7125a4, - 0x4e7adf3e1cdf4c4497dfceda1de358f2e61569e8e36124d949aa4b99606a293, - 0x3f07d7b55edb92da138d3550a0e1e505aa4320b9d35c233d088e01782d95766, + 0x5a81cfa7b8ba1dd722ce2bcaf78476fd0e0b7fda53287ed2632c2c32ab4f42c, + 0x437f6248b14ae3bc546eafe54a32cdc961c0821ab13a8ef15b28aae6762c6e9, + 0x350167cc2d1223d974e60d87bbadb0bf782ceb21bebca6657ceb3df9d2398b, + 0x6f5f181efbce585e6bfc816c428b043a0f7bde3e6fb62e836300d1bf215aba0, + 0x1e6d05d636513c6d40b99c7760e610b27a05f049e0523f444369f9b1bb98a96, + 0x173e602ff07512f9b50c59fc3471494203877c2da9e02b44b62c44486052ff7, + 0x749f215c8d13b0eedcf5419760e8455603cb0ec4a74be885ebf7a0489f3c5aa, + 0x5b753d91ea71a67ce18a799f695e25b7962d506dced9b78f3bdc8435ee213da, + 0x6e6de7b0565dcdc4b1b62152bfbecb2dba5aeca0eb52e9260dd7f0074e930b0, + 0x672901a267bd4b938a23bad8d6207fd73b71107835aca545ad88eee3100e586, + 0x2d030c78db00d0278dd5637e3456888c15521452c57f8eb3e14665614fb381, + 0x23c90d84e2502f1079a6c4bab62cf77b5feb89f8199276852ac09a885b2b495, + 0x10e35324d09571bacfcf642d0b1f872c6a8071462b5864f23340cd83c5cec11, + 0x24d19d603e658cdac66bcd2ecd484b0fdfb502d32e3d03f3bbfff6bfb3c13f3, + 0x2b85b285285a0543466f2fbc053db9995ab26578dc2db49df0536d3b68d7a21, + 0x67d06d0cdec229eb147948d8917c60a2d5ffaa01d3faa4ebd62c68bf7161d7, + 0x506ae3c00774c128e05fcd292031bc9b5748853e5ecdc2b68efad22502d9dd3, + 0x28e7bc0081b3f64605be467c67679b4694698d61549cfe1a61df01801d8b706, + 0x571894602d25aa56fca3058d68de05b420cf3a610e79710746e8b97d09d9960, + 0x7b36942fb2f4ca2f43f4166792a8e558f86875191d9543fe633e4f95d05bc2c, + 0x1b5edd7c7943548eeaa3b0f53875f7b2a864e7b96fb97264dadca98be349cbb, + 0x6032b3931ed6052582a1eefb1fdf475d8d5f6eca637fe659f3df222d9b8bd56, + 0x6ee0b7bed142500d285418ab68c14fbabbe28cead7517ba6391affbabfa07f8, + 0x465476fca06dcb03e8c5dd71f8b6d6983f75c3e008dd274dac89cb6859407d6, + 0x98128772999f1b99d53878b9337576e4898ab5734534d13895f6d17874fbe6, + 0x3812f410c441ec208f01e579effcf9992c2c316218a8d585e006a9b6a9586f5, + 0x6736142028c68e21e699235313fe5cb080bb63c47d493ca15c09cc854e3949f, + 0x18494ab2c44c2200a93a37adfe8ad06ccdd705aa53085827931ccddb46e2b21, + 0x64dba7947b0037472a738c4af52b1b1b193c02beb2443ed81f63946081b76b, + 0x339d037e561c5811d01ae344f03fc8f847b4a96a7c2d4a4a07db2ab6fa0acea, + 0x47928dcc6bdbb5bc6b3b87d3fbce6b549191693539a2ee0ba232f2d0b2f8677, + 0x56084701a335a410c2c0a73a51b2d59b298dc166480d55e8ca76eb2f0c24c8, + 0x5d9e1faf79f4720c7dd030ceacb7f3bb28c8393fb6311913730a306554b7e26, + 0x470641cdbfdee39e6c5d7f00afdb53062fe672a2c32df1a63ab6674f9f8b482, + 0x230ed14ad7be0bd1f69fd827c65dd357dbceaf022573da3b6b247b8a7965685, + 0x7aa7111c69f1464ca6099e2364519d075ea3113f04be2e0e294664d360b7aee, + 0x5cfd1f2b95c01a8445e16c38c4a268cd6b55a9fb5677b8b548ffeae1ff895a3, + 0xfe0782c363cdecf73f1e7ad20bbbd7bb466cbbc56ca79cbe4d49a1cedf1df8, + 0x47e73e996073fa3fdf22a5dc7cc34ff4119f1b87641575adc3a11e1f296ea1b, + 0x75af7bfc4f26e98c2938fe1452f113f83687949b476710171120b229690bcb3, + 0x4d16d2a61df3d18b4f93bbe01cd7163f15090a4147f73df56de70e688ebc8ae, + 0x49ce8f3d4264f5a7f7d87261e58aaff8e10e56e5ac56ad742b1db67c583bbd3, + 0x22fda7c7beab8b0561d2803247eb8659e51b653250cc18ccad1bf1b5db8686, + 0x590638191c4f6fd6a3bc633578c0fa4059c3ba6ce9f0acc214a55fe44e81bb3, + 0x28642a4c037572cd49eabfe499ce3f3cd0d1ec4a5d9bf997a4de4d79ffc2b04, + 0x7b278073e44677a98119164b79728a594cff1fa6a2b0577be9d28ce35da74bb, + 0x40c384be4aa0577bb23b12fd4151b68919212c1b2f63faa3a992eb133525c87, + 0x5de53658a09a08072e09f61f01fabac07ffd1773423cd2821c6270278c8df0f, + 0x2602d1f5b0bb3e5e49d9e2775940221124b2b2c27acc0353e77e53345903ed9, + 0x4889f879db89dd3394974a06381e4a4f23934fabce6619f00c45ffe1e956418, + 0x25cd05e979f9a05c01282e4178ae51eae662fea72eb6c8ff8290aeb36f9e5ec, + 0x794670d35a13811889251fcf36386e591ff014df483539049a1d16408ad2198, + 0x6752ae4c7342e0d7aa8a64b65f6ca33a9a4ce112c1d70ac8384beccb239eebe, + 0x224f2c778cbc616138aabd3fde19d5dcc3fb89cb20e9670f36aa71b9bb95d3b, + 0x3aede81986738227e8856c73dbc08603a620f9c227a7e72d913e09e0dd3af96, + 0x29adbb8d26e892c0b854f9ecf07556f33d8cb83ab4efd152e6c2168e55f4322, + 0x1e0065b34962535246ad7be5b4b17d66af996b950d1c24fffa317c15d48b72e, + 0x78dc672d38e9d3f7d4c10a91a703b874c8d5f450510775ae1eb9ec4b897918f, + 0xdf66dec5e9469a844fbf2a60fde593d5ecb58b8fc6f4e023dd8348d0a8b753, + 0x647d1a44e02b844416eb63d024eb8065b618dc5d5df1d1e5708ca2c61faa8ed, + 0x1cee497a299c6cb56ff4c3583f6174d8a385f1c1eefb25dc09da3450efe4b66, + 0x3f49a6a6668039023c67c63e8c24a61cb7a7ea93265cccf7f2d84e9ef687482, + 0x448a6f4bcde506f1f462055f82ed18d320337c32ba53a3f4fd4213068672bfa, + 0x3202dea1cd62a3aa3cfc5aa4b8c1a13101018c6d267af36b54f1653ae61c04b, + 0x94593db5d8e77c7a7bd15d1ba888842dd9f89c57f1b6e6e94fd906de911d30, + 0x454446a92177d7f0b2c61b96635abff2f6b5158497b85f29478d057ee71717c, + 0x713272f23405a27a0c8f46705f8c8e8f18286f1b368baace6654e788b437a85, + 0x52dd724126aa589695a807016b3a030f66d035f58ceda4675b08e6eb700e362, + 0x425606a0d129d87548a4315c0548decbc6f1ecd3f76a9b6bf77fbb859e6cf47, + 0x61e378adc06e8c25707453f902a88a58320f383024acb6e8766faad2dae72a4 ] .span(), }, interaction: TableDecommitment { values: array![ - 0xef5b5df4cd92c31ca2defba5a4b0aef0d1ff28756900355f05d56ad3a219b5, - 0x10d3d01d8be3698b8a00abb172b6fd3bd5410b7a6448ff5c9535ebab8665aa3, - 0x60fdfeecae9122849701c71ccb67ae9aacf25a60e3ad85283ee27293ad2d477, - 0x201d6888834e49b485a6baa1fc896536e13c62f19a37954dfbd663bd47d8b54, - 0x46bfeccc0353e829896a3c2775a88a157ad8db13b679c5b34f22adf977d8417, - 0x3af2aed6c322017e14d09de043ed9f4c26e3ac86ba6fcad04731246cda0cfda, - 0x556cc29f6cf3472379f5f394e196acc4c8de850905283f9ff948064e5602a79, - 0x33f759ad0bfb576cb04ccf2b16577c6f3e7becf537e34ef95374147f7f0fc44, - 0x4dc106ca6a160d51a46a01132417fc6503d58b6cc82c75369cc6bc7dfa64298, - 0x2a6d7c0e4a8252c62862aa9fc32e55005777c957496fd65ca5845a0226ac314, - 0x6691ee6e6edf96c7ccf6376a2ce6db47fa1c9a6f808fa0236240430ba7cf207, - 0x78deb4985b8b9481f938b20c5914ba69614983f805ba805102ab7fab84295c, - 0x150affda59bfb951ffa943128a33432b7d311602213642b90e1286a057026c7, - 0x7e3bbeb94b154273a0a7d36765b4df683377eacd053392d5ae2ef4fb38d11e2, - 0x33cb578818f032047d0d4fe21071efebecd3f682c0664daf74e75fed11ac033, - 0x2f328ea78675a69da8dbd66ee9e2e88c3834d0d70380cd790e64f58391c0060, - 0x2e146334574371b6dec59d6dea85f12c73f5c06497ecfa4b5c7a1d1dae3caf8, - 0x5e30faf0fa424845d5a0c9f0444e7136baf479cf3aa25a713b13e107f8b1981, - 0x55e930bf69ef35b907d52ce3ff9863d83dac992f1a396504d3a948d7f9acef8, - 0x473aa481818c70c43f48ff9edf32c934383d5800ccb8326a1701ee3482dc6ef, - 0x5651a1a57693833133b878da2d54c3d8474fdb2bf5d33d80a08ef130d3d7a2f, - 0x218cc5e22e37290b350324f73839bfaae84fb92863136c3650f3ecb58dd18dc, - 0x3bdeb94727f57484e31b28b7822d4838a9d8209072b9939d8a13ef3e0c90773, - 0x7a80aa609754db7eeb4ec991e13fb24003cdef87b018a5752f67fb2e47d998, - 0x39fb135e6a611008a9d0b34aba1e190a8f19c800d44ba3ccba1175d5ba6f7dd, - 0x55f78ccad80ccb4005f53e6c4aabf756c52c502a5a650a4df5de2f4f87b493d, - 0x6045080686c1bc9410ed2cd18c16a12b8eef4d969b1d934c081b54c54af6423, - 0x415734de6c44f2e1d72822a1a86e3f75076d3c32bfe99a32298af9f771de81d, - 0x305f3677354b7b716c74b831cd1fd2a5ac0f4b48cef3a2ebbbe755a77843d6c, - 0x76f405f1dc76b1a86bce8cb5bddc45511e3bcc5e1befe005ec7eca9f16c01b4, - 0x3b764ce5bcee8e1b11af13192f618b9fab97b85014c5976c1352bb4444e2982, - 0x60d50383cc73095e67682ce5c07a1ac5ec3a308099dae33fec4d7bc3a4c62c4, - 0x73f25ef527cccecf87d2dac3bcb1f3e79e4121e8898817ac4eb8ad7d3525ab3, - 0x678a7710bc3b12446720fab940c57a106eca38f36a914c380b7c07d5a1f8a00, - 0x31540193f7b804f0bb077a08980ad7a4b3bad3ef3eef5acedb863be0f04899e, - 0x26f7278260a5880687ce9df05af4160eb8cb9fc117cf765c115b9ff39bb14c1, - 0x20b80ee946c01d0fd8e097bf0f4b1ed92736894978128db6dd1f3effb18536b, - 0x162c57fcd60db9f7bfb8441d35c6dc18f2aa6320c881da541fa6fb6c1fe0f66, - 0x639415d8d366efd8e8f2b3a9f291fd9b0f3afe908632522143236ca13a2027c, - 0x2644f7afda7d90e46f8139fc5e17d1a0753a9c641243888edcc8839b22587b4, - 0x83b40ed732e937ae1a758fc89252d4557108242697a43291b267361c6804e3, - 0x11614ae8e6e7fe31277af23cee30c7074bd753c7633dfd2f687463fef8ab15f, - 0x27635f6e3e7ba6ab3493b189c6f5e0d2f80941259fabc23a0a9b68f42e8afd1, - 0x31c549216bd1a230daaf114b6409801344cb96d68b1b5c30a6a3eca467e2d62, - 0x66003ef6b20db7dbf0612eaf8fa9615b0407ab900580f2a2c61d75bf2c94ba7, - 0x4fd28f093fac9c029c1556a31a2482c58b35b29e8a092080ce4b925e148df26, - 0x7e24778ec262b36599dfbe827d7dbbf57a031c7a90badc466f4366f3f08b7b9, - 0x2a726d22e982125fefcb20794436f518baaa61b081330f14a8ddeebb5198a3c, - 0x49f19059c2599c0502b2d37230338cf9aa9c156ef3a7552d28a76d447900351, - 0x759b261b5fcf6ca6d71c5d3b1d6921e002977b569f0123650b93acf9fb2e61d, - 0x1e8ee3d851430f74e86a168bd2678fa75afefdd15d85d9586c253aaa182c0c3, - 0x7e0b345c8f3984d88c3ce8983b0bb5471910d0330ada19ea3fe87bdd0c613ac, - 0xcf7dbae65ec34e5f0ad101c985f6eb2571bcf5bd2bf7cbcb3b2c90658e3099, - 0x4459892f591fae8f472530606bc011d703937bee2c5f27c4fd95f41e6ff803f, + 0x5bf29218811908115445900bc8f367dcf29cf113bfe0e29f3c669b396e12da6, + 0x84945c17d78c44d588525e6012070172989c66a12f876d40def2eabd025352, + 0x73dd90541f088a8be7da7ff68e532d4af514312e6c367913e2d93aebded6888, + 0x6f925f5f494f60aae00761a87d21aa2d29b807514e30407a6049618c4d54db8, + 0x7d3e24eb2c919340e3e8573cdbf8330830b040dc6cd255497435039c9fff343, + 0x1e33d04a094e6d4dc2ccbac5f94effdf5800ec814d42f4b4b30642a1b537c5d, + 0x554156d17b1d78c4503b5d9ac0b5aef51cf1048c18c017318955654b81e106b, + 0x112cbcd71ebd64a09832ba3b69a8ac48af5176386e09e908b5d7118adfacdad, + 0x8fff861ec8a2f0216e8161a3a0dff2a6384f9dd9eb6c1c3cbf39f2c7a8ebf6, + 0x2e3dae8f2a70ca35f49f5ebe4a33613fbb8bcc59c42e9681e81c007aa139f1, + 0x1c9a20fc0184009000e8a93b983d6016117e8279dcd4afeef8b0231313a4068, + 0x3f111d9ad96bfdfc7d467e2ff0b79fe3a7e8bd5e2736a58b4296ab8e910d25f, + 0x3ddbf3767e51556ca3914783920d508c993d7c4b80b7a9232cc132674f4124e, + 0x35a280058cf32f47441a42db2dd0a41848ad8560e2a7e2ae806196006f1d306, + 0x3807fe3c5ccb585140ad0e58ab11f20ccf3d614684b8014a3deab4f607f4a8, + 0x3312b1827bf625d9269f7a2b8597f598b2ab729e2406f40dd089155cdfedeb0, + 0x1085a4ee6cea111d74c9ca967e5b558625bb9e93bfa4d1617051cb66378c57d, + 0x18b9b375d9da086d8825ba6f683a19f1a6afb30d3cd8b3ab8a5b242040d21c7, + 0x718e58a2f2f48f6bfecc1263b2ceb43d26fd1aa86bf12f2c75cc564c592108c, + 0x60c3dbaea374e6b68e8363f5769023ece533a0581a098aacd185fbe657b5a10, + 0x164e1191ba919ecf586655e920bae73134c7b8db66416579074725b71154177, + 0x4a283c8426e01924982760c0180e9b4dad90e3dce99f017eea4e62a43ec1e7a, + 0x72fe1e3b53b3c59593a7f77afd48966ba8a2cbc7fafa7b2ec80ee929d080134, + 0x54e169ac57ec327fc0fc6bfa109ccbf0877335becd6bab57e53e2c5d2963452, + 0xafd9d0db759ab20cfaab153a2e79339dfe6a73e0349059cf0ce17c52603dc3, + 0x23d84e00e69b16f915492c474a2b503eb2ff556c5b68fd3319cca404d7a3c6e, + 0x60ad0242b3f839ce26a48fab179628f81a02768082dfb09c48db6e44e6dd111, + 0x1feaa9ecc39d6ad84bc3bb79327b39731545e636ee2ca7ace1677cb8b1f6887, + 0x6cab97e59dae1d257f420aea18b44d84d40cc76cc6bbf81bb4307f5e28c88af, + 0x461c77600d1fee552f0b2ae8cb786c17c02360bcde0c1b2c568590792af759c ] .span(), }, diff --git a/src/tests/stone_proof_fibonacci_keccak/traces/unsent_commitment.cairo b/src/tests/stone_proof_fibonacci_keccak/traces/unsent_commitment.cairo index 64a315d01..d3f6ccefd 100644 --- a/src/tests/stone_proof_fibonacci_keccak/traces/unsent_commitment.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/traces/unsent_commitment.cairo @@ -2,7 +2,7 @@ use cairo_verifier::air::traces::TracesUnsentCommitment; fn get() -> TracesUnsentCommitment { return TracesUnsentCommitment { - original: 0x61cb9987d55c793fdb238238311dcea46c75cd8698e52f1d01cf74cd25dc797, - interaction: 0xd83002f626f359bc4b5a913cd29e7aa05f7ca8dee061330b61c8677f5830b3, + original: 0x2a588e8517b956684162e05e373dc6891146c1853c82d3984fbc707ae937972, + interaction: 0x7171ffc67e24fcbb2a7d1acd6244fa91c54dff15c96ca26d193907b716ce2c5, }; } diff --git a/src/tests/stone_proof_fibonacci_keccak/traces/witness.cairo b/src/tests/stone_proof_fibonacci_keccak/traces/witness.cairo index f52e7fdfd..0ca7371b6 100644 --- a/src/tests/stone_proof_fibonacci_keccak/traces/witness.cairo +++ b/src/tests/stone_proof_fibonacci_keccak/traces/witness.cairo @@ -8,306 +8,166 @@ fn get() -> TracesWitness { original: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0x3be05a9f4ebf6b8d070eee5149dc4f6122b5a344, - 0x173b15d0e93348a1687ea228befc06d259bcdd1, - 0xc88e3b92c028d5181c50b5b2bd0e6398d9e906e7, - 0x5a2219bbbc1c7efc3b1f7cbbfd49b25265d40b6, - 0x2066f7b16f2f35d522f047369fb550538971109a, - 0xe8ee5a49d8ac712840feb5ff7048b688a3569c11, - 0x35393298075ae0ea47bcdf37a0934512a1e3925a, - 0xa2be88800cafa384e8464a1e4c59331272be2777, - 0xf7e1694bceeaa3a17ad889ad15aa23e3a1bae13f, - 0xca5f3fea02a0dc48ac77b43769a5f0b720b8c0f9, - 0x36f93a4e406e5dc1948d752b0ce6383ecd8addc1, - 0xe64592223ad9772f2a1f0288c89387b636dfb4d6, - 0xe1094cc18edf812d2e654b27e268e5c7905290e, - 0xc8d509de9561ca90d77d752ab807192e253775f9, - 0x70e19419aa561bfa77839a5b41d6ef790a06c451, - 0xc522b1a3b835b2897eaec6cd824a868ea4da0251, - 0x80ee2a0b2cf106d91d828c5a2c9f44e84c87c1ce, - 0x2881598ba30fce73b397cefacdab1ff281bd99b5, - 0x38a3b375ba6b783982ca5d65448bbebc7ddf2410cdf43598b3e8c911848366b, - 0x725f2fa722091fe0dbc6b509fce352f8da86d0cf8748dd1cff428d3ddfe836, - 0x35b76daf47afcb17196837262c79f947bce389ea850051d028a22c197093c4f, - 0x763e4aadbc67c4f638224e73f32bcbef398a5275ddae1b673cb9d705126082d, - 0x15154ae023b7d3597b945418a2e0d81d5eb6b29069532716e75d865a3c966f0, - 0x7848fed7078e5f62c0003de9ad5a98d27179e23081f327fc0072bcb6f5bf45e, - 0x1e5c7804a3c932e1d47e11de6e9c021a4161279e8a8eec92b50a2d94bc4a9ea, - 0x343e00a51f600614347d187a8e366adb8dc0cd7b2cd7521145c805e72d59c25, - 0x1b5f1aaa373b73d119b07619f9cb6ba1d33dd87b5f24bb4a0aa1e90aff86fd0, - 0x3077e5a9d4ab1de90dcd52d3b0e7fcf024154ada8407dcddb2d06e1d4fd1325, - 0x2bb8c67f4d4a59c795e86a6e221a2e6b8c7ede692423879a9d7ad2773fe12e8, - 0x18ee66591848c34ee253c8329a8ccc80cb36d7112c2aa740a49de9eb53ba661, - 0x5fb8e66210a72a8aa4f34f5e2dbcb1861a42084493df37d7bd64d4777698b09, - 0xd1ce2767f0149be1ff132cb29096ac44b8f64b79d66a9cb76c632a01e5b827, - 0x5e3aed695948aa87228b6b006efbe237240253643bc5fce691c8e96fb8454c0, - 0x8a8d5fc2ae08f8c7e1c1b03efe7ad973f4b753b23ad3f7e591422f82cb25ba, - 0x63711595f439503a7cb08e302bbf7502e13d81c67adf2bed4c66b27557683fe, - 0x8609f5dfbe0ee1d37f2d024efec98879f5170d9d59c359a938fcd11fcb9b5a, - 0x4e823be648d08d88c8f72b6a80f0fbc539bd4b402e660581d0471764f950b16, - 0x6d6a0aa89bef62bb60867fa762734e1be49d404f90b848445de7faac3fb189, - 0x1123824ae23e42fb4be6c52731afd2794790511fbdfae3540b49362dddb486d, - 0x55550d731b319a369c2588ee719fe581eb18d626b58b663fc425c3ffe5b7d72, - 0x2b404632ccb92cfb70779e9542f9a5cd54208cc87007acc7bb5c51cc55e923a, - 0x73ce775100ec2bd40554515839aebfdf1671340f82c5bc4b7b4ec587b2d0089, - 0x2d809f16dddc6fd550ce91a31bda4f5ec132ec7c8f64da1f518831b673194eb, - 0xc81109168a57ab5699f90db76d9579bf04ebc2e1a575ee60259db9a7724054, - 0x4aeafaf2b92df1e191e19a9d703948ae9b73a6e811615478970b1004733bf22, - 0x5ed6fab550a0bec45d60844e0b3f9035030c669252f2643d4e1fb090b07735a, - 0x12c1ba019545c15e72aca6c76cf5f3a20fa4608f21735a9447d252dcf381210, - 0x3953787f489ead28582e5308622740bbc867a35d25c536345f285c5668850be, - 0x15661924040e074f4941883468237b02abe82072cfa63f90978995d5f2d2c05, - 0x3a2ddadb5b1227c808521f0e4a4ed9f39476108de21ca514123880ef572a41e, - 0x78d25b755a2e97f5fc1c667437602268295d3ebfbe01767896e7c1430b15164, - 0x32cc04e1db986d83edd416dd11d7e6c205cfd7c0ffb1543baa4b72930bfb548, - 0x4a2df7b7f27730ac2012ae85c88bc613bd122b7d133a5c6ab5cf7c0037489ff, - 0x3d6117a260b3f5df58ac7a8f0bc53b3c931aa3ea96dd1d64c67cbf274a81d12, - 0x46fb642774afe7ff340509c3fe7dd0287a75295dae7b5e2356f08f72e5e6bd7, - 0x1360388d81c8c563d3eebbba16298d1a8f8d38b8144cc03dbdb2d724f31eda8, - 0x51ca388b3ff779f5a234b9043aa4f12b3b972fae24a31259bf42288138173db, - 0x2ec5fdcec7189a8baad1dd535eedb6b6f14e6b9fa4db5da3c4c197f01a30143, - 0x5da2b8f4d7b590af605eb839392621431daf2463baa6ef77dbe8d1334115922, - 0x52b8cda141f5838d077bc4e5d7ce6455e14b96f7d2c8bc72ed1877f268b6ceb, - 0x7b2e03c10b1528a5960de416a373147c48dfe2cba4f6e09f433d567d45e2086, - 0x6c2070d6ea5efab69a9eb508cab317b9c4288802e97ce4d0eff6bf3d5bef338, - 0x5f035d85132a534fc63e5700c118116fc20b289d2eaf4af2edb4e276e7aeef5, - 0x3027b626a6cc8217c28997967f940dd8ede03f1d8134941e43090499d9affa5, - 0x5d84d7289e814cb476ff52dc88ed37015a1f3040e496f05785ebda4759329d, - 0xdfce3b7b593231ca1968462ea390b2b9a94a47b799fd0a6c32d35bff5a8ae8, - 0x4b8aa149dc508c6a59fd1415b53878a8b789e1e61a5cb4bb6adcc5902982dc1, - 0x706892fa1be324056056296b4e61c96e2af2ddeb295641ac1068c4c9ffeb132, - 0x530688b59e7f28813133ed6ffab271fda4754963165d52d39f313ca2133616e, - 0x349770e2ffa60c7c98e9a017216c2c0b107c4a691ad486a333ec187590675fe, - 0x48353af335f68b992c881ffb8a5c254f8488779880d9504233d7a52adc77a56, - 0x52aa6e686ee5035b93f25e98308d394b742dce419b2145f10e60297c1c971bc, - 0x5287a0ab3e56755437d00d6c35489b5ea2fe7176a1041dfd42b43321608eafe, - 0x746f9af14690c49b2142b574ab230b4772dd931ef379a2992a9fc7999a4e42e, - 0x4ba536e447c470b59ea910edfe3320c9efc7360e345a5264a2093a11f3beede, - 0x42cb51f9bd58dfb07295192006578a343675efab4df3fae28f7eba9e13b532e, - 0x34c5f3de1693d78fbc3b9f0c6a27228ec32c28ab43b1756a4c0b7e7aa43f620, - 0x2da88042df28285c970b2981de57117e224ccbe5cb720e9a7d58a60145dc429, - 0x72e57528cc72a823afd56ae7a883e130518668da1d4792b2847b1592e04b581, - 0x5be8278de00aa747c850c96e85b26692431ef5fb34bcfebe189cff33dd7776a, - 0x124fe7818fbe636a2b69ee96551e98894051188cf7c7bdb14dcadaa81f402b4, - 0x5c1050d7e5813b14e5964a22528d3d0d85d7cc0b61abbe2da8ca971769b0fb, - 0x1075a7b1bc81eea68db1d8b6cce02ecc1a04a1a676f3199e7d684f014097cf3, - 0x6feab76f3c76941263e4db7598f471e5e2d3767758cb3deadf19df02cde8490, - 0x4ac2e976d907df5e35a17b4fa2af965bed677914998ddaf830fd6fa415ea3b8, - 0x5b4b9d57c0fbffb80a0e5e204c8c91f4ceb0c8bc32d08af6e8dab72d9f544a8, - 0x40f4006e4e476f3527f03e9e00e824961c10bbbdceba6d4fadd0e6b6dbc8a1a, - 0x415073b1a51eba6159aadc64426977286210b298e5238b0f1279604aeb3f319, - 0x3708a7bb8c7f3df32fb67db59d27edeb73625c661d5b56605266210256d844d, - 0x264b1b75f5ebc522409db646635bd8f097e5ed2efe51b9d00ffc7676270c9d9, - 0x2af392179261b12150a59940fdc4b268c7e3753a5df293f83895dec7523d5db, - 0x42e28d8f2e1b30138d2abeea394b49a20943dd64790b840fe676b693d21567b, - 0x38e4ae40ebd4d0d2c2e0b4b8996762245c1dd131b0f94e79aab8a0c8ccd5c1e, - 0x7f019c514ad49f32968296a3afa3adff33a24093f268c3434841353fe44eca7, - 0x14a6b0b2f3aaaface0c35defe7f21b82945fd9d550771faebc2a656d813c70e, - 0x689563bdcc60a9458e04c083535bd9faacb402dd6a3893e746916f6a8c44694, - 0x6064521dc6532d08d14ec6816ffc5913d7994229e88e9356b30d301ba8c0cd4, - 0x14998bbbfbf82c5927d97ca12837bea0bfb62fa3830eaebde9051bfd5d40545, - 0x4441703a04adf8f9277dac38fe3ef97e79708d799ea9012264598f4075bb285, - 0x53e1340209387bc84b924fc6973c916fa458056e92961804f7c8cfd03bc1fe8, - 0x51f45928e1f83a20f6fbde7777b43fbb92b9ef15718abd1951561e6fc7234c, - 0x72ab1d0705934dbc2e6556fa408672c60011f56318e7cc0fd128eee25711381, - 0x63232f82d6485a288111684ff2ce79f5b608d06e06993b29db7643975ba5df8, - 0x3f9bf9e2d7d3fa6127c91a5648bd10ea6bdbe1f8fad45747e42fa2818e15bc6, - 0x34c63abd57d53069171f1f330c93b0659f5cd3158f416a7946fc1c65533e9c9, - 0x45d6511ade109cedde93bfc6c2d13e0ecba82ec1845c28961747b59958a885f, - 0x35c9b864710c32cbd305cb53a0ffba085b43f56decfb6471d50b9dc703d8de1, - 0x1fe8755460a33ef17adeb348dff1fcb39e13938b319e8c72efb7d841ea5ba77, - 0x4822ddf1686201782521385c9f89175916d604bab5861efc1cd129dd1fa624e, - 0x71a04a14a11320897b22e9fa91187415d8bcddf60962b03e0679399231f149e, - 0x17a5882a51881024adc093f0515ea978aeeaec63d3b4ce198cc3a2d9399ae98, - 0x1729e3b34abc066b9f41fa15e869ceac121c98dd88d459d288cc17479f1c8e7, - 0x1c391e786fdc4533a24aa6da7cc644a97beaa706f46101789ff3554b356086f, - 0x41be915f60e988117b8453095c846bbb2cbc07b0efa36b856cae6a5a2649864, - 0x6fdee453235ce7577e24029c00e9284f4dd954f60fdc90d76051715521d5212, - 0x22b6416e35f4bbfec57db9a6d7f295577d0f3f5d88e818b94b9b03024f10cdd, - 0x4973d688c255f900a38e6a0b6596642abcec1e87e52c5b87eadabe3d5c42f4f, - 0x2249755356c907af693efc624c3be2638f8198eee53b8d6fd778cb7f5e74ba, - 0x411cc6210b2d40e38493565f457017799b0f91de33391b4c1231c91111b0a34, - 0x3a61d099459642dbc80fb27b9ea5729e3bdfd1d7abad90efcb8dfa16f49e68, - 0x3b7604bfb731a314118c71cbd95b09898bbdc92f19cc0b7bfed9d24a5869daa, - 0x3a40b7c2d71dbdbdf46c00ef086dbd1dfa7b035948dc0c2700c0c8f8b71027d, - 0xccdfc265aa60fc4fc4df7d30014b8cb994c31ad3b5be621835f65453d3b3, - 0x10d986440b531d75f6d16d87f3c3e1192257eb6449453575c9be6517ede9b9, - 0x754f626ce70743791c0cabbb19a0a8b7af2a79cef80219329cf5a87f4cdbd0d, - 0xa006f092e5bec45f8712a44eef7ca60932cf4858aef1fa3e10001c3951dd32, - 0x69423d54e6e98de3e673f721a468f1f815530fff7e8d703e7eb55142d325a36, - 0x337eeee2e638d68af40335ccec0bb640b54892812b8a42e4b6b799d12bdeff7, - 0x5332ff5a144bd4af5efe1b4567589684009630050617ddbf8aa2077cabddaed, - 0x6ac6ab1cd612238834531d48e971c31e200c53e53a66bbd909cf3ef1686d61c, - 0x6f85f72e33cbe5dcbe4c193b1ef70572cb96dff20ffbfa05eea3518874b654b, - 0x36001aa6885d41d2791e26dbcd7e282740dedbfa96530c1df4f2d8cc299b892, - 0x3c19e5bb2396f7229946b7ffed539b658499cf92e0ee2141bee0c7a44ef5818, - 0x383d61a5328952725c1e141719c14598b5d929c999e5a4d156d29128a6d0213, - 0x7a6477bc466031ed12c7478bdabe0900b9492d7a10ef6ff58fb60ce76651fa5, - 0x5ee15f71b97994e51c35cb91b2b30d90d913c51d3e187436bcbf500f36bef2a, - 0x14d07cbebb0530fcb898ed72baa1fbc4d636b080f5239b93d17b9a91ec9d181, - 0x4d3595914829d287fb3f6fa4ba873ebbd25a2a9a05eaa0a4c2ff38ae6a203f0, - 0x70ff7d69d1b39035cb8c19ed25221147a0b7f2eeb9bee99d3ab183fd6c267de, - 0x559a46d13c8521acd345fa3ba626380b8be09d89a0cceef4303d52e6030d84a, - 0x6c44b688015b066b020f362e7e0f4217714d7cf6ccbbdd6ede7a286e0b9fe0d, - 0x1dd9df4abbc1a28e2589f06d0abf7d3738cd911bdcd4dfcc53ac37be7588e08, - 0x31a81b98193f6c9c37d1c9ba0e75a3d873b62130a0e210d6375418449c1d632, - 0x386f7dae8304dc3697e2b7397b282954b28c392691a6340b64f595f615440a3, - 0x30aaa7426a1aac2f9e5ab199ecc12a24e7557a34c626566b2e0f6ad625b72c7, - 0x68e91f550e6e888c4a6bf118f5c3c49a9070a2c69c1265e2c820fb937231fdb, - 0x522b6c398183a9fa785aa3bf507ccc2b281d9456f9705d552121ab305566cb7, - 0x704a9e6f1ec829fecdba651d89ed818f3ebb660a5522cf4bbc6a5c6307aa6ee, - 0x6da1c1b97f24d0771b580d9ac9b97d6f427706f77f8d2963adf673baa4bf206, - 0x6d345fa21a99118a76599a98f9adb648d848dff36bf95620ba647fa6ea36275, - 0x214ec2b795fc82b848d3fdd0f17675365db049d08e4f1b412032b7571e09bab, - 0xa29581b75b2878b9173f2c23eab063f76e6ded6bcf18b2c868005f434500bd, - 0x3198c2402fd3eef4f308f1d76422de19f82d565454e4d2f00cb3f305c7c91c1, - 0x79f67ab0d3a8f055100677ae3ffb555045d893318eec47dd7318f489730a87c, - 0x68991c7c6143f8982b01637cc39bdaab0cb1c6fdf7dbe94b4230f0222ba75ab, - 0x680bcb3ec2b5a0cf934fbebc6ad3c534e1189d3b971af1042c8babb5ae41124, - 0xb1ae584bc47d51d986e0fc462b1d2158fa1caa7fab352bfed4951cd4ab2eec, - 0x3c49478069f721d303a4dfaca2bc013361503c3a66de51d78da29635ab5d528, - 0x12429d6d91db91b01a211b02b143a6be944771ead681ff04b5e7e026b43979e, - 0x78faba857773181c51bd18371048e289e6228c706cdd6de0dc0e18bd0f015dc, - 0x63a650d9a3eb18cbf94121c9f4acfc5647850c02b8c20c5c27ec76c3ba338b7, - 0x656b44549e9215d8d2d6bf7f032a012c026ec960f0a1cbc63e8b105724c4f9d, - 0x739de75f21ce9508226fab8b6a4d1891b778a4b06b69bb0678f0aa6fabf0c67, - 0x3ed1b19cc2499d7e6db9107256111dde76b7dcf3e8b280818f2b894eda3cdd6, - 0x43f667a1c41c973ce7719d2f9ca53eda5810e6e185509d18310324b04b4ab2a, - 0x21e0f1a2279db71dd3092a8aeb5cfaadb49aaeaf584d29c0676b4e748cff404, - 0x244e6b745aecedee63a04f206d4b0aaf0d289525970302cf8d8b6f37b6d10bb, - 0x24f04a93ac06876678670b8478139d769c85db5a852092f2f330562835faa13, - 0x836e5a051934b718464b6a4bbf9f7cb9466858b9218d6e0ddec289faee0735, - 0x3b5da607c79ff2fbe6357538bfd43e1c83bfc5fa980db9310d47ac6f53210e6, - 0x1c70937d41139c98f4965e6a810a10dd907b124f967e02be38788d3fd955073, - 0x2912352aaff61535612d352ce7b946cf40716efa49622a36f632d3579322cf4, - 0x761744b36329e8850d416cee2a12ec0b489e8c9ae88998ef7ee711ed79f4a20, - 0x5c21e5a22b1e739b1079b3d0140a711547e198f0ba3e26528ad6416ce317071, - 0x1861b89e6be6608448c2bc103008b5f69a39f7b011aadfea1c5c9f3c283588e, - 0x44bed971b3c3231f9f9dbaf64a341d66dec69436194f60b7458268ebbc86896, - 0x1de9db25d0327a6a895ead0dbe9257a009634a8ab3799b839b6d9c8694cb7d1, - 0x53ad2b69d54e5cef98f6c5415b4a06455c1c5062b70557b4165ca01aa9b0300, - 0x387cc032bf031002b65215880fa323632c6ace522db575f200f3d59dc5414c6, - 0x74b8d085b3c6da463a4f086bd0ba0a314930aefa88c680845f23d02b1d7a4c6, - 0x5977dceed98261d4523e8bbf832649b77d239e754a0a2c0b592a61f6b4efbec, - 0x175255fa83e43ae01a851f95c4c3d00bef8110e59bd0d3d99e6d0ab6d5de272, - 0x2599b35c653bc8b13e620246d5f9d810d1199d65768eb9495b8433894188905, - 0xee5a0c03d52b77114abe20ecfad2079f7649180814af6e5262a37240a0a81c, - 0x1bf7b8990a6671f7e0422a37bc5dcb28b110d3e99907089fc81210196666506, - 0x399d9f431c1730ab41f562f2204190ef16649b220067593918dadcb126655e3, - 0x3e9f8b67a632284d0f96b27a52d56fa0d33402ad6297c18d206ec8a7b90df45, - 0x15da29e558d82e6f76bddf5675dd30339bbb654dcbe398763ec8f659fa81e55, - 0x78211080478403a7735f0f9445142892554de4a00719c6f83ad17fdf66c1a33, - 0x38f0348e99dc63d12f805a9bcfe3af2b8187616470c02056b3648030b6c4ae2, - 0x76de4e3eb35df7a6902bbac3d70e1c9753291b3e81bd18c3434d6478811e1b3, - 0x26d788f6bff848dabb7309ed9f33b9e3a290b74e6976c62697acaaffbd64abe, - 0x2c1c893547466ddff52b3ad4bac13c9b3500bc1b47c9fa5536a0b560ae27690, - 0x75706a0257cf89136a7ec407c5dc70126cb13b7eb34ca2b690c81f29e5200c3, - 0x3703f0deee1ef803eb96682d15d5ae8fda41f01b0e338e16871378c368cb151, - 0x60ed99fa2967b17648b3afc97b8f0a6731705a4f60d355f64f3173722ffc574, - 0x27dbe2563a981c57508e3ef47caba139424fcd37a74e4e96477bc590205d5, - 0x72a67c6a60130e526d76e92f9cce86751557e01819a79729733f1daf41f9ce5, - 0x137774305fa07c45c5a039696710416c852a54c8b97fe8c338e2a728cbaf0dc, - 0x613efba4ff8ef923e756359d9718c0205f765e9c0b9db4cb97a7223f13de268, - 0x1ce5cae0b368e69c15a026be4158e2f6079dcda639ae7ada0e8dcf6242183e4, - 0x2b5a2b2e97151b919af6d35b981d9d41d78cc36a4c3575d2c5f8011b22972ba, - 0x159a60d7ebab423421db7c4d9d543157ba81aef01197d2f48fb10e92c468152, - 0x12093e14e4da8ab3e8afe4cf868d76801bf1ae9eaf748d2f61aa4a0555731b7, - 0x7635afb9d8398be825e59da174ea63498b7ad11a6403aecc57ee4983a25d520, - 0x13eca2de81f23e92e272430528cf1530285367c0c466bfbad8e653166a6fb2e, - 0x699bc9e5ffb789aeae3114b5c19af25037f9ddc968bcada9ada63932e43b463, - 0x376bf637ef81fb74dfa93c42129e6bae5c9e49e6dfe7291f538cb6fd5c1d00e, - 0x765c18e1616f3f79be33249680ebf4ea4134533a2d059c59d7084447d576113, - 0x125bafda5f97e63d3aa2575f4f2f8fc7f1c3db45b93fa552b57f8dd4d6d8ef2, - 0x5c48bcdff956add2bd7ee37bd9e96cb80f253e08ca95721d060915bff3af4b9, - 0x502ba7287c8717ad48b9eb2399ee2836a8ad861754473c599bf0ce8fd24a74c, - 0xf3f07cec5ae305aa06e2e0b217be9dd9c96e2c8f14ae658ccc039008f6da88, - 0x17aec50a070ba804ddd98434948d7c3809b838d07a418dd7d8fde15a509ace6, - 0x5cbe6639fd64b76869590ad705242cc09345dc82eff37ee46a5b479f03a65c4, - 0x37caca927d712196d5b20bd48799d3babe3f1d7b31fbb6830d3782ec754af1e, - 0x3ff4e6f42432117cb6c6c94244c1ad18af791066d7d99276c6639dadcd05bc7, - 0x716f115c41e74ed480133661191b3b9c6d6f4f74cd806c9e8c371c939cfff9, - 0x5f24b6e171c2283be624f5229051c9b8d5482ef0f02b05220b0ecb8187de8af, - 0x3a0e5102865a252aa8f1d87e7571d9fada6b8240e7bfe7f5455766dab3c3470, - 0x6515101cd1145556f2991b99b8ebb975f51f87e7ce7b79f9ac84e7f252f1159, - 0x440be55a92c1d788c5b08da20a0c1f3a0eff58ccd75af1b30de0f3dcc07042, - 0x652c32060974671d473831420376f3fb8155ab9e8750807af4cf2c8a3e72646, - 0x3c39fe595e1de33775e0fe45f5235a4f066d628f9d15a6065bee6da5657fcf7, - 0x65e97a7a21b2f3152ef117718c0ec4bf7dae329486c0847cf0092f9b1f0ab14, - 0x21670b107722474301ada8784a15a38053fe3c864cd7fcc0757737094ccfdc, - 0x1a246f552b7d1794003515bcdd694bb18ab8d315813b2e2f68d4f2128fc7881, - 0x1263090b9b89835d7ce602a97e9610c9e6afe51f3fa2a9bd9bbc14b30ef4c2b, - 0x29d9dcbfeec16545e1133d64ddc48cca3acccd53737da119d64896a91f8e7d, - 0x705e2ce63c343994eeb934aea399d1a666b9315d771ebda7d252dae2e4c9e74, - 0x4df799f8b83ae4b53bfbc4f8fd2786454a39009403eb7511bf9172ff681d2e5, - 0x20e56e36e6048546b6e5a0d3cf0d3c288d42d3589971f313fe3e2d85bc1e00d, - 0x416ead9e429e7b295b37131db337107d03449bc187c5fb5e8912ce9bcaad388, - 0x3d98de21d82eb1f63ba92160471e7bd0ce6ff0195855c341c1f25ada3fe8453, - 0x404ec4cae6d144145a831910eeb2e78d5f0f296024c658e7d14bf2e0b20d5ee, - 0x4ea5b0673c8ad43bc15282d67b3c87fad5b3cde7be45c1743ef32025ec8d305, - 0x80f3585a7b7bde9a4e4430918bde70c9d32fd2e96455934e6cf133695637a8, - 0x4d365e0407118a2d3445d5fea5bedafdf7664e9651fa26147afca7a7386a745, - 0x6949affb3d87cb6194cd630baca627ba40b79947e4284fd87e2c8bfacae0bb1, - 0x3361dc8ff9eeb01572eed797afdada1944ce2f740d0bdf227de7ed538ae717, - 0x7f97d5ae5ae39c439129e866d0853f81b58ca0bac6d363bd253d351117395b7, - 0x620092f430c643c1011a19b5698a5d3812384df4428880a01995fbfd8aa071c, - 0x21fe8bd1f309b23fa94cacc2cb9db5847eecbb6996fd46a17d142720ebfa014, - 0x6efdc1394103cbd2d14c2d4b8fdf3bd952e48b058575e871e4ac4ee50dc8db9, - 0x56b0f23b1501def690b991c6dd6fd4b7bb5b223a14d076f3b280c003a7e7b62, - 0x421dd39407fe655415d3b51a084ff6e872620a711700ca77ae95b0e3f1ba333, - 0x17e8d25aa6eef36d3c4024fa971cf5fd796f4449de049f0a46e2287edd3f7bf, - 0x30c3aa4c61343dbb7d552ad67155adf063e21e63a15b3297f2b6c405d343abf, - 0x78d308cba20ab28c93a6cef4e7c3876b49520bff852709118390cbebac6c76b, - 0x2e7ccb30f404d29d11579f7a0789923f055470497cbdadbf8ff31385cbb25cd, - 0x4e2248accbab1942fcf5659f6426449ede65afcdf99475170394d4dbdfecfaf, - 0x5173f91122a5298e5d44466aefda34e7378a8f3edfd0b6c6eb5b6810059e843, - 0x4c461bd4b78f11082851769c1353bfe2ec052246579366fa59fc56340c3a025, - 0x22daf3c26bfc39aa8a6ef33bb732443dc942b18cefdad89cefdc19ae2f19066, - 0x69e646f0bd6f0bfb020fe8629d6ad0fce92faab2d6e61f683ea2ab28b23bb62, - 0x11ec814bb48b46e487b2823aeb155cd89cccb346ff6e8c3edc5cb03880d7e86, - 0x20ffe08230c9611ef1f3361516743c6ee99a280182bd31ee049d0fa270962c7, - 0x5aae812edbc2020ab6698149535853c58dcaf54b0657246195b29fb3b15caf8, - 0x8bc4c10609d67507fa56001a5da5fbc32f14132b814e92efdbabca03a442bd, - 0xfd410df50e111c71e18d1729d38a7d5ce3ea4cdac1b9234d2601815ee58cca, - 0x1aaa6c86c41338a3c6aa49178cb550ad7be1f582d3bd92ad3d5d683133a560f, - 0x7319bb712fc0cacaf91cd8ed7bc3851a0fc9a8c72fc852254c7a4821e45d3e9, - 0x418a2431e8968d6e011ef6f8432fd2071ae5db1f5603348b7e5c5f665133fb, - 0x57804581f05a3f52a4ba22776994ea52cc242e922331040ad0d68d549b3376b, - 0x2aa324e226d6f1477828a28ffb8fc07cb7867a897e080e421d1e2f1e65183e3, - 0x66aa38e28201f8ba496524da675ac9afcce85b09a6d98104b89e26b015b71e, - 0x42bcfec68cdcfcc0f3366de482a129749618af0d89c1cdf5d2ef86eb07bbd62, - 0x265a9f4fc41e6f7ce3eaf351df868b0a8924523639d4b973f647323f6eb1790, - 0x42ad4844a3443f1f7d34e96c073b051cc51308906ae1de07ae589a06e8a8360, - 0x2fec215a832285061e05b5e53349574aa272f6f49498870e3e5a5f18f1e99ee, - 0x3bbd554a5365073eba73128af54c400b6f552e34ea4e558437069e2e23fc3d1, - 0x368a9cb53ff4920e777afc4f941e17e25e2628f78e409a2d93b0b2d3568a5bd, - 0x7dbb3904b05cc7585faed941b5962fe5d24486b90aa7cc6016967275d68b77a, - 0x48ce950c23be8f1d4621d1e99473596e77cc009798eca786808280d8bb627c5, - 0x7fd425367bccc85349f702fa2cc315f84435490fc1da54e73b569d8f97869e9, - 0x4c567538bb972a7e114de7bbe40518b19d5e361a913adbcbc1a3bbd7f8831a4, - 0x1440a4a59de9cf198649b16336df9540a15cc4b7ee057d792a085c822957101, - 0x65050e45f147be809ee3403d2c6d544ce62449f5452f41c081d0b3b1cb1b067, - 0x3e0b20749f848ce69dc239697290b1528f68254c63bd891f41d797cf8c35653, - 0x75419e38c39b5592d263a426f02481d86d8038f5e38e17af7a6bfa7a5f13325, - 0x5276c360e53419336156e73290d75ce63ae47dd17ff96b4ec2cb9e5459c8a94, - 0x44e68c6df3983c911ae9a18b54d8dfc018995fdb75171d5575f2a218dcf1976, - 0x218b14a7f9f3bf453489bb626ba15e00b4c063356ac9283fb6b617a0a99a6a1, - 0x1225ca5745c066cfff3db2dfd7d297b7b039eb3ecae417af5e71db074cb74b, - 0x1754febcba9ddaa378141f5ce27ad9059c9f16ef7f383ddf92e7bae1ec2b2cc, - 0x150acc2c38e25690cafb7ce91436ae99a6aeee199918238ad998be164602a, - 0x56d6a99e3e3e8e9fa08341e1bbf9e1b017e18b9bfcd1f1c53cb6f42a7287868, - 0x8327df3489d35aca0bc781c12e02ae7ed03087aaa94a715beba116f671f0c3, - 0x5f15992d5c86bc4ca61ca2fae5469ec8bcb0b3d4d321011bf5ed9d8f3fc1412, - 0x4a4cbc62312b479c0607aff2a285da48150692deb58c20b5befd598ea9e2df5, - 0x54f497a9f715530283b242ae26e272e200a9081f8dedc138f4f40f66099deb4, - 0x469e37928a2075cc5e43e832b0e2496fde6e7af0e0f61d3a895d4a57254bf96, - 0x608b95be8f2678dbfd84397c951d80b918fa2b49dde93f9cc8a856cc5f932ea, - 0x728c1239c93ccbc61c8931c26d227c7b7b1978a1fdf9d26c5a24bce513f26b2, - 0x5850afb878fd983b1b32e770981be0223fbadc792483729db3d146b25a80c99, - 0x59503e6437e240642b2a0d888358d875e759a968c0b36e3dbd12a31ccad0b3d, - 0x20d454e7eb433b57ca8e6b112bb25d042db493ff5ca5a8a5c517288664d5c9d, - 0x7b49b0a2aad94ce8e17cc19f3c5d69c3c07bfeb256b35d6fec639dd5404ef34, - 0xe4ce2f663934f3f74838ad7485666db9747b47aaf9b2d973fe56825d9dedc9, - 0x48a00f2c749f4dd6d41bb1b27a1558ddb9a326b869c61c2d94a122d674d15d8, + 0x6732ed418f24c6da3dd615ee87b95896d7b019fc0a47a7bdbd22080a10601a8, + 0x28cabb17e9c835a54d1880bb8d22a44b78f71e17988fe7f55acc911ec04d28a, + 0x6214e719cfbf829a3eb67ba544cc0ab0461f95f64396125c9d3377244aa4d41, + 0x23a6ddff1c2516c5768d2304ddd3f20fd54d3d01d28b14135917a7c5db50936, + 0x498c153909a13bc9a21e67d272aa177363f890a68c79ee4be6ff29de6f580df, + 0x344e1535dfebeb80f128f78ab8f6e380492adcd9f9bd6e1aa211bad8d2296fd, + 0x64f54e174049fbe5a13a0b01fe1ee7a2c9d92f2c845276fc68c6d0fc2dec664, + 0xd48aa0243b93f20afe0b8ebf3e8a4844cae339c936dc36026f07082d9229f8, + 0x4f70db4abb4620c633b896f3e02934a4e08d9375b4c73381d8b4388e8f593b4, + 0x4df0916a10099f167d918e73392695b88eb983a90116edc3fb9e1e78a3ca7c3, + 0x75148d85e336d9e62e712b211ef7dae80ad386c9ab87e4843288d639e7cb9b1, + 0x72cebe5ac503265da3291921e1ff344b8dd3a4442e406647daec029d88273f2, + 0x1e42a2c2272772e6cb0404acafac4b824d4f28cf436193c7e6d0973b3ddef16, + 0x14a9d594ac3b499ba5e5fdaad7f883b374b154a5f3f2c09abb06bc70f52223e, + 0x10b53191bc11f1ce2e38c79dcd4114d70bd37d12088cea6a4e57d984179a395, + 0x18e8f3fde0909cc145912bacd507069fc6d7645c3f7cf50591fec9001f812dc, + 0x2b2d20a915e711d3b05045bce09469deab3e3e9330875e1f49577ed67ad14eb, + 0x7c64e607219c378cad9fb69837871bd2995524fea36456ee08c75516f057e9e, + 0x1f830df4ac2a597a455e750925972c250f671c04eb19319a5a88e9bf42927ce, + 0x7cc08920132321258da8d4bc8ce112720d153209c79587732f5d11726af5377, + 0xbdc3cfd862ccde258daca450cd9cd9fa95bf887cdb2832187936455025a594, + 0x7ebd3b5f3f38b1e32f0eaa6484949e44506f8d713638bd84bb1e85be51d6703, + 0x5bf31b969a1fb675ef5a948258f74d30aef41637e116a8cf28341c5409800ed, + 0x3b5c662319228c1acfd2374dd344e8ca614f82f52cb627a74605583e0f10d22, + 0x6e829ffaffe67889c11a67182281b5700f31889ec09e545ab52ded870910e9c, + 0x1db3811df3a2af1ce0193bfa1bc1e0a3b956a75d3be29b54b301502fc878499, + 0x293985852f3dc44908e44d13d735ba20b537290aae311f900a7364644ff814f, + 0x69d022c6526b6fbfdf17d197b22b0d44d7e320b5b61d66060561bada2194bfc, + 0x1fb3e08e6c8206f2f6251a989682f6032f635defaa6b8f8657d91e2aba066b6, + 0x7c31459b60c9019b9fe9fa008dd74e87def5fb083e7cd03920255ec807e5616, + 0x853f073b93f4cf9072b95f861fa3372876a7b587e1fc21216df1eef4fc4013, + 0x407e552536cab0825d8401d44c3fdb9b7460dccf3682438d56e7f268b0529ff, + 0x768dfab4d41a1e853467c3975fb2a72bab65c88c187bb98ff6b9674b3cba368, + 0x6a6f8f18d681622da6a18cc1cb8b9946ab7ea01262a0b64dbcbe715efab1b77, + 0x4e1b14573ebf91b1862c613d2d06f3cd4f3a2f3b55b86157e048ec0b32c4d84, + 0x26c388389f5ec09a319809f02d6e58e3d993629197fd09c3d73a8ba036658e2, + 0x6df67786292e3125476857fcabc33634700f0bf30afbfd6cc4e8f9b1825acb2, + 0xc5c3cca3ff6053394385f4b5182f03346cfdcef691a8baf348ddc8e31d4701, + 0x486eb37d5579a0caee557c868e1d7d01f967d138e6fbdbfd39a160b6fa4e63e, + 0x574233f66307fdc6f74c45ce10aa33ae05ef1666a0ac0f230475c6238c6c316, + 0x34bc7dbe6b0cd9aadded371788e008c04c56716ab11b7e1f1daac0ad4b2276a, + 0x22f58a09327a3c5bca0d4cf7ff02e2d964404d8eab38f44ff00abcd331b4fc, + 0x526d874f7804d66ee0f7846ffbb7fa0bf73e5a89ee275c9b0a153149842b9a0, + 0x3e5202263e021d963247997e0ece905f915e01322b49dd1c06e973d7a3145af, + 0x37157ac8afd63f0b80f9c80b63011fda9870db44a3bc0e1ebfa145c13189b5c, + 0x20f162eb26186b33832a2f93a5097b01eacd5fe9c266d40408c5b28e136ff0b, + 0xcfc1a205e543ae593f4cfcce1e578402d3517e9cc144cb2358da65368a2beb, + 0x7f7b914d7060aebd82915db4ac186c5fa8bb3a1ac0112883155e30a770d1778, + 0x2ebaf8af434dc0489ce86c51cd9ec27bc1f62f6da4a2aeb942d07cb32607811, + 0x1ee0ba218a55034ad2c249794e75270a3ce5890a138acb8bb2f167f64022545, + 0x20b038b71c9de83ee4d687a67a2397fdbad21f7f41ce615b9b9797221f6f5c4, + 0x7ddae6a4f22044e4471b57bee9932e30ca719f7a8f5716de489bbf5804953b1, + 0x2190bfa79c0319717366b0dac513ee9230cdabb4d5925036194c61ce89d6060, + 0x645cb7d2705a36cbd5201c0dd4cc0813c0f2cecb212c6bfa3b2e10405881895, + 0x70d97fb391d64e7a07365db7778d8d4bf43fb62ee4029193a25a9a2faa96925, + 0x30b5bcb407f000bfa5107b9b3322977e7ac9e4162016c54409a12807c196dae, + 0x17c0823441762d65959d8c10f8a540c1603427121d452b25a01ab76a9dcfe56, + 0x154fd71cf324b5f4529319ed218167886cfad759364e65e0a470ae9e8a2f1e3, + 0x7f0705a6c90cb26cd6fffae0f01edf50c194e68e8c913005705dae130b0918, + 0x56c4b01971cbcd0187fd948ace27c462f479b0f2511e1cdf5dfc8b36cf78331, + 0x1e154c52a43824a6495e09545fb328f97c208204569787b0628c9953b79f407, + 0x291d2ed2440efb06c1946756933d193da55f6b6fce896b9adcd726e6cd73e3c, + 0x2e3d5c712962a223f52d3706de21c457f1d51b5b12b58f05b188f15c5123f17, + 0x2c9dceb210579ce5bbdfb2708a9d84f82ae7692f2a3c3b44ac7c69816e01fc0, + 0x440874703031393332c05adca97d834648ceb06f61ba39aaad460ec543d0db3, + 0x463dbebb01f70a69d81e4421ea80cf2c651f88caca2a6ee70f4f7b33dfe6f34, + 0x4946ebc82ad29c7200d883f0f3a885e3234cc64f8efd4029d917f2ba2e25079, + 0x5394bef18b5a2fdd9b67efef71906b24ef22f8d50b648312b6b9b03b6cf197e, + 0x7071c8130607f557b0a0e3397db423bbc62d3a5f0a1e327b066e2dbc3d53cd9, + 0x3fe45a048eb9d1c5f8095f0853109621d6eee5e57ad72befe9bf1f7862d5f, + 0x22a4f10c4fd1014974e5dbbe269fa8d33f87946bcb9d4880eb4c9dbfa2356b, + 0x635c1a4ac0d8914dc6cd277d580acc6b2f0958bb0139ff748ed00bc4deed673, + 0x6a87208ceed9b476255021ea29afb56773565a44ff44abb467fd32a0334847b, + 0x617423ea49026b3db6e73a8d2ab62992cb5ff7935a2298d4a02e22241e720b9, + 0x1d0f100953bcef2541c0d4beed2b0221b1ac394d762a25d624191bbd539e232, + 0x3269e71c3aaaebb5b4384ac6b27d00b85407ce38736ae193e8b82083a8bcbf6, + 0x30ccbbf3c5921341d0bc54543bafb52a17df09a67b9ca3ca5ecbb7b3bda00f5, + 0x1f4877fef15c2b8af560077483005d7d92d73e2cbb5cf0c49037a5dca54cd94, + 0x42b1269082d2ec500e9ef0cb14f3e189503d70e1b3d456efb4ea804b06622cf, + 0x4b7b30d49419516a6be731f8aa3697504dce72324a34972bac909e9486c1f73, + 0x1c1a6eb3b6ab6b7a98bcceb864e749590e077fbcf53b9cee4c420f67116e8d7, + 0x23b64280140603c379d9b42ca550b0a12580efff0faa3bc48fda4d8d8128f80, + 0x17284e263bfc1ae752b29a2e6949141c22524c90b4d6a777cf3a098c0558ff7, + 0x4c86c3c26ea70dcf6696208d029b4e99bc5c14a65a6c30092c9798a74b7e390, + 0x6879cbfee3412d68d2a3d37aa7670edcf370a763c7753b39aa942a3e4a87376, + 0x2c73082ce23a352eb6bcecf1033e43ae0733ccc7a2954e02c98ccc91a629fb7, + 0x5abfe3f25084dd3a9336d089a44f22d889070b1bd2ce1fbe324a3e849e92870, + 0x4c4d8f51ac2526e39b236dbada19b9b2620434f807098834f8a4bb565edffec, + 0x36d5388ce5df9468c27c1f05de94531a44bb5055825ae8232d6f2a729881ca1, + 0x3727e326c4580489cce7675229cd101d5f3307a32f457bc402a76ec3cc905e5, + 0xbaf6111c17160c8a42a7a8918ef4d1d4ebd660a3d078fd82a1c89745d96734, + 0x2cf77c2c4a5b67b18a664dab073eb28999bfa77f23f82f7192779ac12641722, + 0x4b5af607d439c00deaf1d8201fe17d97bb4ca8fc9f03c47af24540ee4396f79, + 0x2cabfa9a6ef0555401a405edb0e0eea4f8186a7b8735393750ca0b97efe2edf, + 0xc010a4313bb2961d2d4746907fc39778495f3ec3f3068c0643ed2b3f9ce751, + 0x28726d66bc620659c6f830417eb83f344bee66715065d0dac3da9c517ff2823, + 0x3fc3d949d33bc850e3399e041625ec78f4b71f54e0613b4e8c165ead8748a8a, + 0x3e78c52c9c3eb4bfbc60aa980e338f1d00f437d38c0abf093d8e07194dc27d3, + 0x7009097210886a00c53cddb63ae98c8afb242427a55b1f228952bd4d1288973, + 0x26edb847d71edb9280e378b549da39b9038f0eb1e1b1b0e76ff5bac9a9e3f79, + 0x373f5e672c467bb4230774bbbfe4c5a9743007083c8d84465d78ca2d6e1c597, + 0x5aa508eba1a6e119b86aca2af55376d78fe68fa769311622cf4d2f394fe806f, + 0x640c6b6c06c524c0ceb77ff0baa88d0708d6ea90c90afc40ef420c7928402d9, + 0x5a0940a4bd1f9fe590119bcb380ee13a58599a0ce31a1b8b8ff9f00927a03d8, + 0x2a4ab2ff0d066495db5133ff72402ebdc6938cfe3f64fc9b4aae96ae5c05aa8, + 0x38bd912279d2c81a610481db8e8d1e1400f11cff5cd84765de62bd7a46cac8a, + 0x291abccbf06da820f6b587b8982ad2bd26e22edaddb68ceda8deb329d4ca805, + 0xc17238f73ce1700b3b44c07940faa2cdf110bfec091614cff4687e0f8e5362, + 0x23a9f8160b59e063bbb15a0fce3c0ae263f295de9b402c7455585ce130b96e2, + 0x7d44d59a8d8c90c918db722e5be1c2e295432297704c625205fd1f50c68b693, + 0x3908b599e3a55d8457a50d1e326b2cfb094ee4ad68fd509f44e634b27ca8da0, + 0x3454069863fa6875eb329d06b0c057375855873a49391d149263d8beaafc116, + 0x2bd38daee10cb40e369aa08e6fa9a7dc1e05cb8dd77338433665ed6bb9adfa, + 0x34a16e03e0257f63665ceb0d8334cde97e8ef7f14b83274030aceca4023a5ef, + 0x2d32fd8ec6adcfc4d6f45422c29c88f0630f56b72b067dcd0fc18a9ed853804, + 0x766af779ecb5150b5776d86e21771dd5ad64433a4d5e9938a24726e1e0e9fd7, + 0x32af82e56c41157fb82a3d08dacdfea6d70e3bf5c5424bc08a596eac804f900, + 0x43f4dca133dec1e6d58c6d163fc27ed39ee6128bd990cb10e391f7eed8f96bb, + 0x1067edca8e333f40ab18b93d091cd28dc8f8afc70696fcf6ed76694f707cbf3, + 0x1c14e5e24a2c2bfe16e1d0a90c936dbd43ba9467e10109ae3e475a4056d42c1, + 0x5f4509c8e31b52254b741304e3e6496e56f19bdab195c3ccac0973b48d49e68, + 0x12d788c4f12a4df5185fa8bd38412cb5e63eac2454aa686b2c464aebe2e1783, + 0x698dbfa8c6562c6e73e2781713ffebf2205b28364269c20ccf1fa4e796a571f, + 0x28b21fd43315c6961006929b05d1a6ccc9b64470ff662030698cceec5e55aae, + 0xd7a1df6f3ba83ccdce826f2cd014b84a362fb6736db1cadfa6237fc8d73aec, + 0x47b6f1c1dade8b1f6311cc396362e91a1af807b5350f22196f768316802b964, + 0x1282d312559ae4c79acf08a05317a9a8efecb4b1cdfca1599dd7fb9dd29bafc, + 0x60a76252f1d03af1f3a08e91748fd0105f5a333e220d70eef6965257419bcef, + 0x5df76e8553798d8191a847bad0879513734a2ce104b73a1805bb1e3c437b590, + 0x77b737e49112692f6801ede2baf488409259669d233e528955c68ed889e22a6, + 0x239a69e7ce3bca46c1e773e8680e0682052bb03f9cca0fca989fa93e1a1749b, + 0x44fba54cae99b80cf8444aa144a4e3340ea58bc62456e1cb9a5bc368918f54b, + 0x3210573a40c97423e5a015b330897273d0c2b296a957264866810a170ab4282, + 0x71e66d53ada090738b30a0f4615c780151976b596dcc9b26e8782947202e65c, + 0x72614e1c0b1c0b8adf9ddfa02955dcba24cf4b371e772acdb7513444aa08243, + 0x5abefe3de6e8ebc82cfdcaae9ba109baddefca8c5fb5a5d31fd548b014e7375, + 0x1df514c95e4d5ad87549b1aa50b6770f8a52afd741187a6e3a099b482a6cbc0, + 0x711b1a87e6fd6257d2c833e421d8904cd547f5054dfc8da6313a8061bd7f2a, + 0x35eaa41c1e1e082e88ad2a35c023af601fc1a1bacab369a8d64d795cfb0b9ec, + 0x7d7c5af6bdcbfae8f3e0508330c9d0445a5d9bf3bae268d20abf12597f7bee1, + 0x1119b2579a3c18ab87aef0397065f478de67247357288640a274da392f60f77, + 0x55755fde7fbb97ae849498ac138c1b8dd4e053babeedd20e416851a6e838472, + 0x7ccb4e2f768304a9d373116ba7cc359f7e70ac3f7252561ff8e42d500e9db13, + 0x2867592c2f90fda6d1fde967e38815bed599e2421027c77728ed2a5892d0a27, + 0x5be1bdc992630a9d29acf21c0d56301795e918457ba844cf307fea401caf398, + 0x603e4f88c5f30e2b23ad85c51f26e0f6cd06f7713c3dd0594859e68e47874d1, + 0x681eea6ba8b99866f1070e021b86861819eedf1c6ce4ffe6fc4c8b6da3bf2b1, + 0x312fe6432443aacfb621362ebafc3e7e0939e4534541de8513fcae4a597df26, + 0x53ddff8b1074d2528caac08fe263e096b0cbfc8486e83b2695f0807e533e776, + 0x89980eb76a496aadf5f20f818e3e6c294eec28d43e4e279aa74507a411092, + 0x1757afef11afbaee9a4d8f4d340a300b8f547823f9d07789321ff14ed3aa4f2, + 0x17ef0fc64f1918228fb54e73fb396cf186bf91df493e851ae2d9f0903f20132, + 0x6760c353d97754a630a2010fce738b1f3fa9b58217e282815f69d6c1be94f51, + 0x48c0c505f9e4d0b61fafcbbc6e590d207a7f5a846ba23c69b01226d4a8f2dc3, + 0x3885f08a49567c29fcc27fe8dfd4714dd45c3ceb612095b5e98f8917d8240e1, + 0x54b0867a7337fe41dd1859a4741a055247b5590e6357a20378c98a6bdd915ac, + 0x24f4240ff5bd7d57ca965cff4cac11c302a3b00c7403e34c41c616af94c3c24, + 0x72a01166e63162a7acb698f5d52b18a8ca5ae4ec2f8f46eeb11846986d95c6b, + 0x2a1f13ceea256bb43e72aff3f9cfcf945e1b7d8fd787e49162e944470d81804, + 0x3a30fc5f86d8991365c4b32a67a38acf28b8a4a6db00ae0a2fd9b7dd6da2df6 ] .span(), }, @@ -315,306 +175,166 @@ fn get() -> TracesWitness { interaction: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0xd55540912b569dfaca2eadb4dce2b1052181ecff, - 0x30c7b9afe04d700a4c791476a56fe2d9a8d3e7b1, - 0x659ecca9f9506e835924974528cc1e7a3384338a, - 0x6f29ee6f897d0e3be03fb757ba4f20dde649430f, - 0x4220537607d1176c9b36f0945407269ae5f06cfc, - 0xa45ae8a678473d3fc1c889502a3cc5173c5c2514, - 0x35578b9bfd45f18254f070d8f93e752ed5abd997, - 0x483a5a0b87b0c2856d7aec78981d55aa5c2f32a1, - 0x53fcd9caf268c03751be4f59cef7c688f5cb7c87, - 0x84425683c44cb947046100a9054ed7568a3f9bd9, - 0xfcaf4a2dcb796820ce2be57d610d014322e87bea, - 0x7bea5bd1a06166eb723f2f060aa34afa32eb4df5, - 0x4644002285f640ae91ab99b5af8b110015ad6b14, - 0xf83d95f6ebf558eddb679182550baf207b4a317d, - 0xd002ac547bf719792b70dbc3e1ad2398ac8245aa, - 0x339b732f706120b42618614e4c382c888ca86ebb, - 0x9aa80414de070cbe05769b7ea87851d60133121c, - 0x350f358edc37b50680ed4b79bd8f57073afbdbdb, - 0x28b6707e3fdc0caa422e50ca91630d9397b842d926d06e3f423ae3608b7c7a6, - 0x1307d2903682df61250b7f2f6b93031662d55eb457e930d3a87a1050b4e836c, - 0x14471eb9c5b4215e21381419fdf0965801a11898d64496705061b92938a89c, - 0x773b92d92eeddaf6e999820cf8e92065f278330f05b85af83c3daffc6c5ab27, - 0x19c675cc31f98390d16c95189edd966e619dbc115d4c7537a0fcb3408c8b78a, - 0x272ee6e0846f956cddba500238755ad72b400e1bfde66c207c845c69f8de7f8, - 0x19b4d8ec6d08150c61425a7ad48a788230d09961b5310d91201d5bdec5fe6fb, - 0x46919c50640c1fa5cb117fcd6dae05fdb8cde8047bf83281360499f6d80f844, - 0x40f91694a72c0e142b3b0a20caf78733a1b227ec6782691d01df3ecaa0d79f, - 0x34abbe96181985790724f2c66d0aac987032d145c65dee7354a4e607a1f6f93, - 0xe79d09b0dc5ff656152bb2cdaef4a3ec952f8fa070f118e0845db654525574, - 0x3c657d944498e885594986778ec373870f6b26c2bfe1202ae103f0ef7534e65, - 0x5eafed7d7d9df22cf2ee9b8f8847af724483f5e74b8e5229ad40fd89d89d3be, - 0x579de15c6100a76bc56ceec4ea6c11484ad8aa7461fcbabf7c2dbf5783fb116, - 0x626e8bc04dc259f7fd63558ad5b7d622d23fdc7193442e5025ef69fe60b315c, - 0x57984b07c1f8f608ce7cc481a14af5256232e110e3681e1b47041211da8de65, - 0x636a86c395485fdde68d88b90e504a32e56f03b2897bd49696093fba89dbbae, - 0x9499f04d888804c29177a523981af8d9f09f16796bf72e655eeea9347d0b68, - 0x35f2639ef6a53efd00bba81ace54b19ec3e80c3a4efe2cbda59aa61b841d50f, - 0x5ed99f21762032c85636ea83ba018baab4b9473dde0c0130d633aeaae9baee6, - 0x559a1be204649adb49543a415a57c5209a24883173f043717f51d7c53d13873, - 0x7f316be1162baeceda5793e62d8092bf452f9f5f3c30f72910f3ac93577369f, - 0x538a46c576b59e2d0be540c5fdb34076806be4cdf6929cb8c8b72433d12464f, - 0x12a369899d63d1ca6cc61f08485c78168549fd4699f2db85db92b0008468261, - 0x64dc9ec7500d8167dbb4173a5556b9ccbee8013cc1c92ec0ec1ffeb2dd98f2f, - 0x3d9a1dec3588c331ce52ea613480411750b974990108567a54cf9fa2eb4f9fb, - 0x65e0e0ec5a1a3aa9b2557fa6f2f57aa043f0a4153cdedc5a5519d8f20cc8602, - 0x763ca945ad51e4161a5d82090041aebed468713acf1c0d46a95bda39df4ebe3, - 0x44a608a7f69d9e87120683d837109bb00e069e9489cf8d57b184630aed34fdc, - 0x550823c4ea03c3543e3e1d48a9b59b8e0393a014638d4119e1fa18a840db59b, - 0x44a33f5bff07ffd8e03deb0fe3b299ffabf0fe42828e19e48cc8894102518f1, - 0x1e80274411929c6700f2aedeb622968c91bc035e1d342a9e3dcc015d47451bf, - 0x5e367acd33be13bc0133359010371bb88621c1ed6b564f1b2eebd7341325c84, - 0x5b39b64a2ca783c350707fd816055d82dfa8e14c25409a9be252fc0a52fea86, - 0x43bf02b395571a9d3fdbfccf61b7fb96acc94f4cb92136a324da5851ac992c2, - 0x57719215bd9e5b55671da4342051ad11267f761461caa3d5ca295fea6e6c638, - 0x3abd8574d43ef48e15a3646718d3a77d4cda9bdd4d56c70e555b732c25d43db, - 0x25adf35093ee48c6d5e551cc80f7c4680eb9faa41d3369646707b1e70da28de, - 0x1b05198a721ffb86a86837b6adff65cebbfffb2c4a76b58fac5cbb6f4392de, - 0x7d5b525003e8b1ce8d0e20177052abc2dc8817dfb6319358ae5adbd92313ddd, - 0x291b151babcef06dada7ebea9723734f0cfa5132bf8bf8314a20e0d0a8b558, - 0x5676365fe46719237b797cb00d9eaba7df0c976b52c779020b2c26d17832cd7, - 0x3719093f735012abc619968daef0448c8af4603e763de5e7aec84c4805a87e7, - 0x337108a2c3bdf507a4f0f369ae26b3917c7ac8a894e3fe9fc0481cf3ad0fa61, - 0x2d3a586f9f6924dbcdefa4c6ff81a64fbb780938e628e19a9ca8e848e9ec74d, - 0x6de5e2af109f4267ee96d667e536484df1b2e0f4e8342e0cb80965f8616fe03, - 0x3e03569a1b013fea764b5c7b5476a7d765955499f0941825d6d23c2e8b0a12c, - 0x4c48aaa0c336fe97f67f8c0f757a9a2e9712108da93e84304b14a620f9d2df9, - 0x87fd2c58ca69c78dade0e85d81b64bc141c3fcf5fa7977892f6b9a5666f573, - 0xae966d3d1531cc145f3e6caaa5139d88dd76dedf18bbdb340470bbd260f8ba, - 0x1f863e6b7ce73f1dd53e6a039baa56749e6a0df500da1a418d19b2dcad34bee, - 0x646124d9487c5b5efd50ec395c670191dc627fd11adcc5431e1fc49f7f97edb, - 0x33a41d40ac1b25df656e4be59d27f591658789fbef93b2dfc65c3cb3174adbd, - 0x172c0f4dd99c6e63729b8a1343b6a2f0334221afe7f913325e7361a6c147cee, - 0x2dfb3445baeee426e3997143d1f4eae47db06521db4c31c9efd9d17772b2f63, - 0x1f40926753489eb9544a005ee2a4d5f308e998db3ecfb251267eba783683c01, - 0x3c56715096377fd933e005e7644c5b99894c325328d04601d3b8e3fe9b32be, - 0x7936b7f17c6510137e5d1c66e1f4e2ebb77cb3110bd1861971d53cbf6bbec6a, - 0x6928ae1c177bd4bf311b3ebccd39df042a82efadfd9483cdb705fbbe6c02c39, - 0x4d276c68cde9f7f53eca7ad782ea11fe1c6ca2747b7c5dd6a002638d5ab74de, - 0x535723a6f2d6614cf8be73c08362796b88396b367388762ef04ec069aa5468e, - 0x24f3fc9e95c2cc3458db7c30dfc4c50101e334508910c79201ed76d9a8a6066, - 0xfb48a65f3c4eae3c54024e55d21a63de38faca7344f2908f9cb8f2dd0d0a34, - 0x42adbca42dd23e15a69aa76e192866912da26a37bd49c112a409d129b0f9113, - 0x6de0fc5af53b66af11bbe0e1e36c410db604479297edb360e8320b162d3a916, - 0x7622dd8696f9ae71d728735979643835f1cff7422a757ef1a808cbceddeb9b1, - 0x5a4ff3a010cbdc50fc77e35cbda9a7c717d29abdbde55c901c83848c1174b3a, - 0x69fe965fa229b6d4d152c8afbda5cc756927ca67525897c0bcee43865be42f0, - 0x2492f871f29c12f696baf13ca390aa9c51285400f546ec78b1631e5c0f27e47, - 0x4abfae80331315a42edcbbb0e5a430180ef3d35c0175c2999c1e80f13b8a563, - 0x12c0dd788d203bce7e50b8e5ae841fb549ca4d17c1f9d748f9f372bd55bb7f7, - 0x2dccc3efc9350cbc7a9a2188eaa5e2b56b02117f8e1b8344dc33efb36dcc37b, - 0x192ac4ca3a17425037a1de47ed52581ca1757224401ad1a7dd399bcafa70142, - 0x7e163da7b754b1678551b493e5cbc9a718c13fe2c588bfe1ec83647ee259e0b, - 0x4a4dc6d16e522df8f4c30a37da0f678ca85599f7786e1c34a66f2154c7ff570, - 0x6dd55c676115407fec83815ad51d091f6b1818d9f410fc06e9a54eab380713e, - 0x688de0a82f6c948d9c147447fac729f6fe3f0e10f44b093bb71408867e1f111, - 0xfeba3a4edf309ff636cd2c181a5d02461f2261c0a2c3c00b3ed11f1da4e45e, - 0x66f5994887a0e69b936528665e5f9cc3de16d2abafeeaa1f423043f5786fc1f, - 0x37f035519c41467ce03db13383d3267e9e69c2f7dce0d4d12680075f9f3d3ae, - 0x6bb4e4f6230eb119854c63b200694d4405dc984fadf2fb5d762799d42c75cf0, - 0x16f5ccba682b593c6ae43e85f27ff99d3305dfc07e3ea28959553f51af335dc, - 0x396aeffc8cf8ef43cf96ee948f5441679499550dbfb35ae51c2f562cde8f2b6, - 0x14ab75eef9ad7df391c6c6f23c99e6c9c79901a6e5cee20af449df39f417453, - 0x3022e652bd5c276b0b490c211b1f31cf876ffc495bc505f0531cb96f6b8ae4c, - 0x5ffba0d59081c3765226ae9f87f9936885ff3954a8e7e551d48511b58575bbc, - 0x621869e0aa411eb3c5fc0406dcc6c83d237cbaabdf705a7d20865eecc233458, - 0x2847959518d2cbb79530bdc2a27f35583a694d33aabc4e56b3d26834c4aac88, - 0xa6940fda4831af370916d53db99751147dc897ec5be211027d9f4e86d9ad64, - 0x29d105de60e2be0084ae80508fc529f218d44afc44b5a41f8fb3b4ca717565c, - 0x6d0ca610b8a216bdda7a79e2a07c8e7bb5096f912667fddd47819ace5cf84f4, - 0x2b14af95c2bcd08a7536548342d01406c6c187a6c341bd6990ba7d65572f055, - 0x53f035e3d42210374185c5540b8ad2b97909c0adca4a997bd55542673845a5e, - 0x5e610baa0abbe9ea350623de069ff4a7b1b5d70c5f93729bb7ab8ff501d6e1e, - 0x4fc996444f562ff7e5726ee7839c6dd959684a0f1063daf35f89b25d897714d, - 0x68aa07f666abd7aa3a17511de3155e3c81b2c3699394800605e7d91d58a8db9, - 0x406f3df36109e899237fc7b4ce29a836dc167c7a49a3233c9ef51fe31c280a4, - 0x2d89612a1d1b809c974354d075301b5c43ac7bfb304e08fc983ab12f68e7a1d, - 0x5009fdc62feec0986cf7dcdc2854302bb52aab3292b356c43eee4817ae975ad, - 0x447354aa4e01d0b10fa50911ddb03dd7116d8b6e4fef96a3b25287df898349, - 0xcd3523f2883b4337bda1aec937c0b1e4938d09e07d418b085f4878d48759d4, - 0x32a0cf63245037ea40ccf09615080265985177dc71504f4b7bef5c82a3d0a63, - 0x492dada8010f59bdff64b1d6d03015a485f7b5630992bf577944823f1ccbd2b, - 0x6d2a3c4b16eead40a252baa2c6d9f8795314a06758e31f011686bf58b45b105, - 0x4c2e4fa76eb7885df83e24928d5f4da280d161c8b08c5aaa55fab04e2e29e80, - 0x4782085bc370281236106a2aaec877324a9c775fa7ace861101939530bc0a6e, - 0xc618f1b1d3200ca7ee00872a21fa8936b75e959a550eed7886c4e9ab488cc6, - 0x1b0589d508f4007d1cedf44168c4ca628197849d59ae6f5b4595739932f7bd, - 0x789405c3ce769b65fa769828a3350949de821dd3943a45bf810f0462ea27fd6, - 0x465e962a1c4409a5cbee684a22611b5f36649618b3afda3f4a3c1066339499b, - 0xa38e485ce951168c4576e57d54ba5347cd4172065882839aeec994e4197d5b, - 0x21d702f25b26ce0fc452b3f964058553e4914fb272b2ca3fe0d30d5f0ee1e4e, - 0x77c05848dd8c523f4e43efea528589288acff956f5fbc6426f8d332668ce6e, - 0x7cbd60c7a3301a0929772f599bb5b77a80f82a45f646b80e8c8db9ccaf448c9, - 0x18f09afb49d8b6918c70348224b72ef4fab5337f863adbb88bc0db71a85df4a, - 0x7e009d40b435889c9427bc2259e90f6db068ab7b18505c77925cc4056a1f5e0, - 0x551f0ab6348823b7248bee4e1925424bfa5553649cc237163fdef32029de7b2, - 0x41a4d44f7c1612ab90ed9fe17e74c4786e28457c6bfd82776c61aa22e81aafe, - 0x5c03d4e201ddb5d10c376a084d6c329c178518fbb9b8b9b23a4b9d1ae277f10, - 0x73d543e0ade425b4ba1b2536dc39dd1c9a26e645b1adfa1834cc97c501834d9, - 0x4a40f734c3786c058248876312c4f2c66846ed1e3c00dd73a14cc71b713e037, - 0x528692429cea745293aabb2e4b84b43d3455b407cf68bb2fbea2c0fbd63f183, - 0x185b5732220ad67b8d8853c1fe2a86e4f2568960003a27741309100b2af4038, - 0x32e4b6c8fe1316c5a0c58273275f06a398a4c6a5f812667fd654c65ed6ce8f1, - 0xbe0127c9f3bb2ff7908953c3d0c5a916e50720c817e86ce7e1c5fb7e9f5663, - 0x53d56442cb2c069801024031a55579c931651e34625596c2ba0756c15005665, - 0x17fddbb8ff1651d33013286d9389de80f94a215cb8ff4792335dc650a9f31b7, - 0x791f08840777b116a47b06e6d7dec49ddb749aa6f276c74245713d180969155, - 0x1741b7152f9c0f3056a9964d1c821f5967d9fcb665a9e97aa695d0caf59ffa, - 0x7e885fae157dfb10894beeb367e4b1fbcce37bd7593e8f837f9d15edcb10798, - 0x1587623f8712ee2769b6c88d42d7271925077b775b9ba21d641b304df93b31, - 0x31692582b9875343fbca58ffcf0873e711c35f04834012f6fc3ef1bb3bc91ca, - 0x251053cb7e85c72cf7daec832bd47e575aa0508baaec5cb1ec0b4aea4742c75, - 0x756786ec5de21cbb408e8725e1543705bf0da74a3cb07ce26ba5cd98f5d7e88, - 0x5aaf91ebe1bb65852f626309d5b38a294e6d188a17a87269c273516a2ebe133, - 0x6853078498c6bcfa4b6389f8f359dfa3306c676153f2c003182dd72d6a22721, - 0x231e13485cb357493ecd05c8f016723374e4a20ee2545010c339f861a7d55a7, - 0x3cb1814c3025a8c962a5a9a70a16b9b4f11a13f8740b8e79f46b55148b413f1, - 0xede4cb09777f33aecaa416726cb2235406ae0bae0ad9451001d67fe075afc6, - 0x7ad900f7c54e3cfebfada87ad919f46a6b77582cb25b4284fcf372e9183794c, - 0x253120b47b15c97ab51b9c7947aa580a77c6af0d5da7b1aa1792c12d0b10770, - 0x500b6904e70ec2fb14740e62f9e5620a9ed521fc0c3ae56c4ed6157fa0121da, - 0x592fa7cf66947cd78cf92a8d8b75123d3fb72c14711e56da35c33a43bfe7fd8, - 0x17b60aabe2dc93799ab175e7edb35ddcbbbbc152ba3aa44b535054eb3f90a, - 0x2fe14256fa0f7926e69780d3b75b092689dae6ac755185ee1323d7af369d49a, - 0x3d631715b1c61b341924e0021dfa5136e99553848e4b3058b42c095ab976848, - 0xe1e5ba0afd2e99ca81b21bcca1345c29f6e4793e67ccb2b72c6e81b1e10b52, - 0x384f1d9fb8c4a3ae2bc2febc3b63bb5d13098ee3be858bed1267e2d6d5cee8b, - 0x91efcfa6f84f331159d8d9331b4a722517e1223e6cd1013d120f5057f68fce, - 0x2e6f14728dd6f79832e1459ee0d2c572ac9fb80d2636d4bbc3f4df235e347b7, - 0x7de700faf41ae225e9403a160c7bcd56ac6fdf7ecbc22dedfeb6c56eb064056, - 0x12a50855309d9662630e56ae84dce9efb95223f91e0ba3a1e781851b0f92289, - 0xb3e8821e499acbf74d5d7703ed08ff40fa67b11fee7fec29adff4e7b871778, - 0x26e426708774e16149cd7bcfe43ba2b9ba47e32892feac0e356a44cccc7dd85, - 0x375df7fbc3938e3dc8fb6cefeec757758dbca9c9660e63a73b07d3cf0fa8bfe, - 0x4074c24cde7de132f51487bb958fac83983c554b85d5ca9e949a71874d5ccbb, - 0x5f750f7892e7f78f4bf5790ba2dbdff8658bd64d2c3c2d336e23c9d85badff5, - 0x6e679d8e6503e3552310994d015bd492e2739debdf648d85cea5cfe9f5fd0d7, - 0x45d0d4ec51384d2d0a4cfc390f8777300ba413f98cbdbc29cbd9399c980e3fa, - 0xf449924f3e4180fd72569787e3b8e0eec062e5376853e0312732f1d30a4127, - 0x27237e124c161c50e37bee1ba794c8af6d09c03ab96f02e53e8707e6b7dc6b8, - 0x35c9c41cced2174018e3629df420dc5d09c12006086b2abe1b152752702712a, - 0x3fdfc2061cf588d674323aa2993b76d4c5b725cf77e466abf6fa500a760a7f9, - 0x5749fde41b1e46e95c3b6bd0ed52765ddc53d3fc453a1eb34fabe8273ec5343, - 0x8d2cfdd8251c099531b32b937769b389d1f68f27e2fbacf6ca20b307cf611b, - 0x64a57addc7915789bd394ea79a0ca008110014acde99607f06c575b294f0dc3, - 0x4a6c53b234acdc54425998ec65e7c2708b182803af48820ab5a28cdef4eb4e7, - 0x675d7c9c74880fe5e0b39d1ddf649c924942e21a21e9d0f080465941a8bf025, - 0x3ce8768376198ad59322488abece57134fa2a81ef8680937adae6c74e61d469, - 0x70669e283261d188b785f5a2f19152faa108f18f3ace3b9c3c59c9123bef4ab, - 0x74ed7f26bf08681053b730de1329f9a403f9054fbceb87a88e2132df6bba476, - 0x2fee4c3210bf37952f36ce25eb598106dc84c051973431df9d1108227f81e7f, - 0x498e450ac30ad147cb1d6298d0208834c2764e3ad9ce8e3af2698adf3a7f2e4, - 0x6faabe8cad8b9f3994fa3cfc3cb2c974226af9990fab38cb58bf5692a45bf59, - 0x305571af3cae29de145dd845578a74d3483deb669ac4a0592b60b1b8afd51eb, - 0x378d196b9c31eacb0cd8825c34ffdc88fe2405afdc833bb95ec0840f3e67d3e, - 0x196a64d6d38f3d4d4ee7f443a1c99a9cc6457fb18c3c6ef88c4d07f064e4eed, - 0x3a034715d71ec1dee7d7d9bbb5c27f5c695242a5cc7053a7c92e474c0105ea3, - 0x403702a22088cb728e38b9b1e0f2729f1873a16b87bcf9e0be88934daeb5b8c, - 0x5f68165fed0abf5ac9610d5a2c6a520fa0838c51e33708580dc300eaaa8783e, - 0x2fd60a11129a0e5e53f021f0a46f7fa3cb46dbe9135920c52c61578edb6c86b, - 0x6d8cc6eabfcc908ec90bc51e80d433854e7a4f8ca6b7f8d5a496bc3c565004, - 0x1818807599f841b72599b13ca2fa79c785e8345dbccc63e903e20fa6d49a8e0, - 0x559eb97d543793ed687a40113516cdbbea4415667e041f31fdfa245f8ec00ad, - 0x1653d79c70c056ac1da0de3bc437099631c7b91be3e457198c7ac76e855eb63, - 0x60707d7b13d76436edee3cc76faa6a81994330bbf6ae259f6a445a2b1062a4b, - 0x33793643d0738f1892bfba47fc0388dda4f5e4c7832c18a891dd89f0ddf0921, - 0x3650ad8a0887bcb50b3245826798eb6221bdabc39f9bd622b247b49d29ee11e, - 0x2f09b4231f482c88dede05b3a1b3b864d0819972180f1bbac4edb73fa74d42a, - 0x75502991ce6da92ce9e8b64c6a74353a076df13b8028e10fb14dd1266d38c23, - 0x57e44eb5ff6252a3582cc37de307b8b5f9ecb0b81c6b2e7b7f59d34a8a6a20b, - 0x4a30780c3daf9239917c7284e70acd6aceb7dd305ef0be920f6111665c51bbc, - 0x4ab8b264e1faf67e8e27376989b76bc82c38ad722e0e7d577bec2f6fb33da15, - 0x16f4cf683365807fa863ecc5521fae879f7b2abd2ed97d6df449397a61bd242, - 0x77a56065525a7e6775e5c110f95d65462d6b14804e62bbb9cc356f1cd2cf2b2, - 0x662d97aedc981848bd4bdbde5baa7bfaa8ba003f584725a78db4c0109d82420, - 0x5e8dae4eb87aa5c8ad5f67d672b69690031e456b59a9cb28d389dc8ac79ea4, - 0x4ad0bbd2699a0913016c853de6c0224d7d5f08a25a0796ad5ca4fdf51d27e71, - 0x42cbf8329e16b9d71c7d277621e8b9e0ef972cd2dcd8470835f13b70d404a2e, - 0x4e1f76b007de3a70045233a4b822c946a12236ca88fa4027da93bc550e8c641, - 0x270e13375ef26390fda1fcffc687017192863a494326946eeb8c54cab2cacaa, - 0x378e34d17d32188c6772f344b0d5e8033fc841c97413a57fc469b06b51ab09b, - 0x665f0370b98aa705d0452039375ddce580bba9875338a9068b36f5d516b0a08, - 0x121f4feeb0504d15a4fc0a23ad8942fb56f5b27391116536861af0ee9545568, - 0x2433a0c876aa30abdadbda9b38e78b019080df93f542eae7d66a49800c3a7a8, - 0x189471406b8b1da9dc05760db55874e25fbb14f3d044472827023eb5e9a38f1, - 0x6328504bf717f663d782e08b1c20d2255c635d6665ceb53a990ac594ce934b9, - 0x7c766f736c71f530440d2bbd245725da589e7c65d7674ac555b9a887b0b8495, - 0x2be89edbe8f3d4f958f5e39eceb0eb440a983e8ea0844ed1ad72f4a9d957b32, - 0x405b1e784e0b3b8bbbe35051490dc4cd75cf5aff344c11c90fa121ff1d3b3e4, - 0x68d327962d8804bb8013355206cff39298f6cab74e0f13ad15340f3432c62aa, - 0x3155801dc5ec0f3eecefb07b48cfa97fee474e5c776d9f5ca77e011d42b9a85, - 0x345eeef858b6731bdbea346939dc278288b5d8bdc7b48dee35c72476d91ba74, - 0x654f1894b4313b9f402bc5fadd61997d9382c75cfc9a30adcdc2346db6c2f28, - 0x593cb592a25b7c9a6b1c5b179a5f39f9149dea4cab32b0a23bef66fa0d905e0, - 0x6a359e93a0235ee9fc3fe0b2620b4cef94cc5cbcbd7e3cfc9e111abb2a04328, - 0x58a4f44d2406deb84914cba2c324bc9ba58dd084fe3e66c85745b9736c5c3fe, - 0x1ccb839368b8cb580be132995afc0a3030450eb691f0f56f935b3753f952b38, - 0x44b39f493c2dc8880bc9c218c6e514d405f4602a961385f27f7783c6fc3f118, - 0x4b0b1075a01b22049c1739bbf3bea33f2b0b51c9bfe863e2e4170b16aed0d0c, - 0x2d453a258989077eb533ea65ccd2c1b0a08798f2e3c61e4f60a2ff23afcae5e, - 0x43dcacc8916bd005fafe9ac7ef284bf62731654a637ae82ae054395f9637beb, - 0x6a079c9a03ab84a96847b7338691b0a70b6909f77b8d356c0ccab7930c03f84, - 0x700f6b27351dc444e1d900539a686d80a6542f3f2673e0ff2196bd7b51f1a07, - 0x2b708a67131e1194cfb7bc2556ca9fcf4ceb750d88c55ba962e944e6bb53637, - 0x463e5e11c0e4f74e55d4f7c81afaa13d3a8e767dd5ffc5d9b23fec47f54ffbf, - 0x15b58c4f4a7c47e6d1f53e3d37797f32e97170745c6d99d2318d3ca94cd3c17, - 0x7666891eb5b4010286c82831617869dc729382cedbbae71def1ea7be5eaeac0, - 0x45a262dda0742b08a7ddbac175043495d076fa5c68b36bbd3abd1692409dacd, - 0x6c0713c3f146d5d7c919283aaef597d29b416f592c746e019a8a78aaeef99af, - 0x3e1496fc7ca726c24305b42b7c185c57dfa58fb3c07b872b160bb70c8681e73, - 0x506cd7947695b131bedb3675f6f8e7bd45c7fa252bd471f347026bf4db772ef, - 0x674b66f0d3a11681f65da064ae70c09bcaf9eab398a0a0a1c61ae3695344819, - 0x5175a64824af7d0716c93c887aab9a0f0271d896792af1efd8e1db076ddb21e, - 0x5cf099aab32f10e705986c3b7018e88e3dc9dde6c0f999321c92494883b05bc, - 0x161bb87de8a1641d54a655d227aad538c39fd653767eb1a109671cd352c41de, - 0x5a99d93c7b884b647fa05491b9f939bab6bddfbb35affb55761b6e5e7d8bbbd, - 0x5412ae16f8e45ccf4f6c2244d6f4275dfe53ed2ed46d9068ecb3d653b1cd1bd, - 0x2c36252261a80c91bcc95de3088017996660e3dffffc02dc76d5d5c1692f437, - 0x6f2e72f485cb30c27c69791cd3c080630a448a322737866b54fba173bbf2e7c, - 0x1371f9d89cd5cc0a84dd30680c61219e25a955b243492f68b4da67a6443f688, - 0x7c06d1e13c06ca7bfd7b0d0c1e68090c1d6b9aae3351ca71772479fcf95edb9, - 0x21a35236d5c6ec0a8434e7d332fb66256e62a19d60b35fd73b91403cd5f2661, - 0x4a88903e0891016dd712b88250ceba0740164011db10e6092511fe7ef1ad6d, - 0x5c506675a971c2d9630e1b50321924e9565278712beb77429193e98fabc8308, - 0x2b7c464b868474936e3ecb10de827b57e8e4a5bd73ee2ed5083ffec057136c, - 0x41db62e73132fa9a8d9a6b1311a417eee93f38db1d6470819088840dcbf1fab, - 0x758484c67933471cf03eb67c8d9526587eb88cf887a91ebf47e7777cadebb86, - 0x4f422b42b1f4a1ac1c61fed775f47de93fedf617d4ebb6d048afea945ad556d, - 0x16e0134ded7135ce6c822087bd58e8b8dea5783d920604cda74860d625dd7ac, - 0x73e16b47bc360a28bbbae4abd92953a13ee463c4363d8faf52051f973dfe48e, - 0x1a7f2f54eca4eed91035be123f9b8f0c06d815095eb3be72b8b8faa660bbfab, - 0x79d96c2bf01e66c49c4cf264794753053b360f419625c7e95eca4473ac2daa, - 0x378cf5b4e4994845eb59b7322e0fd5116d7a785e973b5f33c85c8eb60d8b209, - 0x971bd8c08998bf6cd2f3bcb0728863d7b6fd6999449ac7cb111e612871eb8e, - 0x3ffcfb9d1afdd2ec72c65ad700a7903dc19a55c620ec74440e71740fd2bc167, - 0x4fc0a7ee711084a46310ec40f150f1db6207540b8c2009385812a5552652955, - 0x6b1633ee626cea5bc131eabf533a0c3eb1a6484f6d9b6d10e42da1dbdfbf4e6, - 0x466c6d53ac842b16d2d5a2f421c0bb6e23946b9e7935823e616cc1641e0ba3f, - 0x10629eb2c1593d11c7d28b83c0aaf22a33759ee1979d78c304ed1ffb0c85122, - 0x2d2e181b26e52c4165e67c553ecc18cd92327e5dca140e872cc3ef16bc73329, - 0x3bee829c761456e30114d9a663a9e09ddfd8c59d75ccaad13bf0fb6a4884478, - 0x5d338eb4c2e7d6158fd63ec22030d07576acb938e5b7722f12fda26e012c631, - 0x2e79088849921f18484b5cebadfe31f3e3eb95e9eac7e22bf12260712c39628, - 0x3c207e592d01e840aafde1d3b2c5b9b2f10e1c97c986459527e5d889a0f837c, - 0x3dc8a2d51608a777e66c57deef59887a7767d1cf7cdc143c1391c890c74bf34, - 0x742d52caf846702acd8671c95fee5a676f6fe39e2a5ace3ac7b7b8539286172, - 0x37e052d1275047909c1c3472b4a9508fe395bbf1831edb544291b1fd213cd77, - 0x1e8fb543dd4d32e7a8ce3a3d32577e024ec2a585dead4050ce7ee95f7a319d8, - 0x377584875c0f436e4844f62c38a14806ba93b0fcfe17eb030adde99c192b279, - 0x73ecbfc2722527ee4a90a84da751ab4cfd5cce2bd73fb5ada0e7396c2d1f2da, - 0x422904628cb412a5f0c78453c9c847865f434402a464673a2a6667dd0b16aba, - 0x633ac6e263251eeebca089faf705d30f041e8d735233ed0d71d574195d14d42, - 0x569bbe4041d782e78137fa891e82467bcdbf65d1cbe8e2025612f4c38710a72, - 0x42410bf316e4d41513bcf213902101ebefaf4cf59624bcbccc7fb88f7adfade, - 0x4400f9b7a16a7330291baff436a4c7cbfee8469e6e8b8be849d3c78e9b5c681, - 0x1d2e90de1ec579c233a0a458079601baefa22812757312f6755bde0f027dfd0, - 0x790877575b10184b1f0bbfbfcf4e51878ab01c8164e80b8e5d200ace1f63cb6, - 0x6b5c1290af635acbd844b39bb588cf94e2b0f32b80c67c5695177b938692365, - 0x585d05fd305683ecf31b67d7025818116f321a747430ca78bb6756f3575b7cf, - 0x1b8b06354c51cfdec67b9232c94018f2991e9ab90f4208b84814048e0eb62d, - 0x36a52596229659bea3178f727d6f60c74e50c2b9c87efac677bb0b9c21fc3c8, + 0x76b789ba37b249ed446240d80a657fd3a5216fdef370ac2e67966da1781f111, + 0x364dd8b93f77e8fe4a4220cb995c4b80079891290789864fa3c100ab21bec05, + 0x3cc20832ca880bc6ad2eaacb38e0ffea115901137c46c31fe838a4238514049, + 0x348907f2e55dce07e27d77e7deab058a8f501647dcb9eedee3e250615a04884, + 0xc301771c274048c2e4cf9a80cba0f5f6c6b55ad24f7f88c74cdfec6d9a40eb, + 0x181abc85910722d6eb29e740b06d2c45c21dae09a007c0f0df98de5cba3b7d2, + 0x202effed198702786efe1dc32cde6df6fa54278bae9c4d801e05da6292c0f11, + 0xc9e7ce3c1c9ddf651f57010923085513b541a85001eae3d4a08f1ca1f63298, + 0xdaa9ce9b236f5d9f5b07937d8d042a354fe1e2f63c10000b0df1693bd8ce82, + 0x5a09b9f8b632d9d548b473a53d9b0c2412d5c36382bf6f8d13ba59a7475f455, + 0x2913951a49284de65d5ab35c06dab42cae6e92ac073035d0af51d261a6fc08e, + 0x35464b46b9239eda631924a70a930e9f8d08cf1defe97a9ba33b2453a5b6291, + 0x70eb30da3695280edfba8b540a75732aa6dc840dcc99a0b730f81c58f4bd4d0, + 0x4ba37beb9e6735d2e47788d96e841e10fe506e5a6b88f275a70ce7beb2a9967, + 0x4d2703aa177413be9e1e3b4580d7921eb0df767adef8aa0e0dfb43d3a11464, + 0x2d9bfc4a97be1ad887ca557e1063cf7cb83af174b61d977c3950eca104685b3, + 0x90a12c9a8964cea0a0062997bec48724249543e13ee96d120cbcbf3f31a56b, + 0x496b8770873e2597d658f6d918be7b6545d1dd2f85fe19fb4a8fd416e8b513d, + 0x69b9eb7973b0fcaddfcb3c8a6ea0c5361375f7c7ae16385cf9c887d30bdf2cb, + 0x287a3ec04cda03b1ba5b4c117af129033e5571356e78d4527f2cc670d022856, + 0x20d7ac2523a5c88f689a4da0f18fd7394fdac8c34f567d2951fec771fa984d8, + 0x2f445fd061f2ba231c04fb1e32baa117563c07034cfcb13c1b3fb79b07a79b6, + 0x6eb3c9fb9dd1434531abf6e291f701e06c13c987d1c3ba3f643d4e45064742d, + 0x17afd828f62de9cc5ee017618c80e7e064f66b9a631ba13dce6ef7949b6bfc8, + 0x38d895b73ff320fec7098cdf7c1a1b68280a184b3db3f5b452d5019f5e5361, + 0x492c1da796bb73bb3029eb41451c8b779c7cb92b80c589d9094861c065a916c, + 0x679b2916f02ceaceef3c3ed8c3f068229c6435316a2ce19b9ab463ea67a373b, + 0x3bf581f4d94a39b2b41494919584ef328f3bff01e7e58b4c9015a3502a737cc, + 0x7c934170516c3836f2ce10df2a3cf5339cdaecd2353ab97e89a77cc6aeb14bb, + 0x43c46699d2ec397138b261d4bcdab798903f2cf2890730476011135826c9a2f, + 0x42cde356b7bbe38893c983635932cfd0a5ed77eb6a77f3788bf388f67d60af7, + 0x3f25a361d52b2ff8fe8267f07650c9506b1de04cc9ed82d84f2102af0fc04c5, + 0x696d504019609ed98b34337eae1e5d4590c3c7ff8d7c333644e400734a63162, + 0x30bff263f7ce997b2a79c0bf2f6e0598632d7290a721a15edd725be2c69df29, + 0x3d45d035c364e5f1f28236c55284427305a30afc602feb34e0e8b9df582bca3, + 0x4a714cac0662c1a852d712a26e4cbeeeacb9f7116b769dd11fc6684e2efddf4, + 0x362768880673b2913007dc8606dbe556457191f2afdf607764b93954b024281, + 0x480ab8e6165c76254bd56054b8a8c3ce6d5de60cb3084a2669af5ec8f36f75, + 0x7fd76d34699b64be7a980af9c8bde3737c61df11b38fc5fa39fa71cc1d86c5f, + 0x4c248805022a02f16a9f650e015f829d1c89d1c459af7157f14bcc1f46bfa1, + 0x58288d9c1b845ddde62bbad387ef2d6960ec43ff3412c67ca0720e9bd63614e, + 0x40871f884f21fb25bfa97e01ee9a2bd4bfa689e0c34a86e907d1f5f6a0abec9, + 0x49cdacb2c7bca4996af15fa53d6bb45862fd34986d48f217cc3047ddf6c4d45, + 0x503de266db2ecd69cc2ed3a2410be913e777179891a49aba0f931c165a2420b, + 0x3573f6fce688a827535a2e82ea94b515c13d26e456fb719d2a2f4ad85eea13f, + 0x6a2904e5ef366202b5c2c263a4aa230b80cd44d5e037faf7f3d130061ad20f6, + 0x4759e31171ca140476a936f4dce9d15c412cd99044839c0913d2784f1125b5d, + 0x251ef225175f621ec7d6cfc275100997d019544bc3d0b8262e9abdbea6e4bad, + 0x709fe6fe7a173da6f301e8ca6a95f32c0d8964070f58ccb059c57a919baed62, + 0x5d34845bd23ac1fdfb64d6f00c8c0a3eb52f13ca1af0a773d91330cb29ed206, + 0x6d0dac6849e3c1b12aa08d641e8647954383b1375d258b490317060f314f614, + 0x6c8c76d1fef8b75cbabd284f621f49e76cf60db0c6739d3f1120ee5fb6427a, + 0x2a06dd43d9c6b756330563bbaade7f47898924787aae724f6deade207d02811, + 0x3d2e609634b4d1379703bf2d9d54bdfdfee3ae14e1a2f94502366695b83f536, + 0x294f7d5a2984cf078d5946973f41dc80a6dfe3d5bf89a24791d85f7ff3bb9c5, + 0x3d88ce09803c433f5442d75cbd3d7d35b00912329664b8fede98627febd77d, + 0x12bf84d3ed4b26d5c5de2fe84469663f717905dbfd614e4551bf71cf82ff4a5, + 0x4fbfec4a2da7ab549af92264fadfcf01c26d2591904cfbb6e02dd714d705e89, + 0x687fda78e7de0256d84f04eb7f94b9be5bcd017f6618edfa51858bb32d510dd, + 0x6087d5ea70a6389469e8fa2094785812f75368e86faee9bce58ab74a17277f6, + 0x1cc1ea86d5772b9a7397ad41989f2e73e76eedd7605177ad3131cd8a150126b, + 0x27f2f556a6e391fe6328aa105917e8c6d1dcbb2e4c7ea92de6c173757395a28, + 0x69d1b243bcecd8b1c8abad30db6b8fa74856970db0843669a805edd2b14c00e, + 0x1d9a02e2319e56be57a3cc2be932d9fee602960a6229547571b2e1b92eadf50, + 0x4bd8ed28820db1ce055f4b79809d9e11a99c1e1f766777dde07ec452892041b, + 0x79fe4421d71a83ff347c92b6ff8d231b6e74b43c5f2a0c098bdd7ea4bb30b7c, + 0x49d6aebc099ac97edcc682cc0b76e22b4a8c93303e458b5d9b6e4e13a158fa8, + 0x7cb5ef83e467ab67f9795ad86bd45fd55487cb68de0c316ed16cf4daa4f1505, + 0x7d281768a3b3492df15855e1080411807790f9b89286277ac0da55ab13e3176, + 0x7b8052c7ef750eadb16ac7e87527ab76fe331006f61752ca7b9dfdca97bf493, + 0x2af715167fefed6fa0887799d9798ebe99b256fa2eddc94b43c6c9146f5090a, + 0x18796cd4ed88e1750e229851cc7861bf1ea23d0f318b5605d4712b2580d5e1f, + 0x4e408e992bae49aab8b3b66696af3dfb886beaec391fb412e07eda5f65941f1, + 0x7c6c81a18bca75581a49438eae384067c07ed270b3d68a6e48348265e49e6b3, + 0x1ca7da8b0480c44aeece37621be633fcee5c4636a979000abd383ccf9d224f1, + 0x70f86634c6abc920496946dce41c0d5e4db8118fd83d63bee0fe94f35d6a36b, + 0x7ef6623b4cb856b176b3a18dad4bca6735b5ab73c0f4a0e05ad0747ea73006a, + 0x2a193cb6a0683e8a19cd4b59f9ca501cfad289be86b80ec5c35b4f85bb10132, + 0x25fdcaffcebdc6bad5c375e9936dfe096c2a77b86059a86aa4ec6e8cb5c4216, + 0x3ea2279958ff5852eeb4e64d80f862fef7d10e17eeecf8d9c7e9d56fa9c6430, + 0x4c0db58654eb85c6c576963d5318659f6bb24784c995d200c6fbfb630eed95e, + 0x46d53379d0a45e9bb282186624beed25ed6a5071609b35a394e9df575094b08, + 0x2f260e73f0e718a49a5668cc9f43b9e0766e58692ecdf8461857e043dab2b7c, + 0x4e9cb4e481222e66f386530a57ec2ecd0451fda60ae2888f4450b3c55006073, + 0x26bf87fbdb5e542c9d918347faf9f4a3985519f1f7ef4f76bdb121016b26de8, + 0xd224688a01b4489679359f96d88f3dbe7905beb5127535dac5948fe725fb07, + 0x46997f693222169d68fdd91d920e60bd72ebaf0a6767718242198b1c370c796, + 0x1d170d2e6be529b17a8a7f31867fe76ab89ddd45321866bc3dcb8b92fc519a6, + 0x1157e7065cd177bbc01cb84d1d7a6e03f974a9047139972f9c25e1bef27214a, + 0x36fbfc9c34a54cb96e770b3dd8ac439673e9793e26ed5a220382567bf7bd77a, + 0x531bf470f6c585696173467c023cb9c5f5fc44a38c5df75db366b8cdceea9cd, + 0x3840da2268d57a48cd43834e90d8d0d693fb567cfd1dff5d6a2193717859fd3, + 0x3410a3b1e98235e5d44e8bf65221d3cf9e4cf6f37fd18a296f3bf7c23069125, + 0x458d0ce8934f2e68b5a240e88db9093d2afc49f1534c9fda46652a04f1138b5, + 0x6e23116750b4494e3331dfb20b71ae5de2a2903cdf0cca6d2fd7667bf98c3d3, + 0x575a6eee8491b3f94f5a0bdc8d69b11114f1ffa778d0ed456fe916497dff86f, + 0x75ccf0e20b9bc788de40efc15e207f2ea100b1ad222aa88e708f3065f42e02b, + 0x302f0e3dd5518420328c09910b7b0c4e7583276bef4f44cdce91f2bd642dd5b, + 0x4a3ac75b61c5b5cb3064eda42c4e3d236c20530f5a847e0aa19d477974306fe, + 0x580ffaae66cfd97404ee879c52902a30f4c8de26d660df820f78f95dbe48dd0, + 0x3ef650c119753a23c13fec26d43cc5ec950043a36ec58c425d5f2b1c76f078d, + 0x4483e16171bd32594824649dd4c271ef9d3ffeccb94a52ba9f9ae63e83afd8e, + 0x596d276a006d16d98fedc2a0c8f5b44cdb68a9742feeb83d25a2c3a43ac3a91, + 0x4d15b8fe7cc7be20ad80b9815fed60bf1c9e192cb481b9793fd964de29d2831, + 0x7455767862cbcec3e835abf1533cdb6da3940549bd2923614fae97dd2e15628, + 0x3242c7b9abc0e845e5789bffcdc074b38ec1aef8ec29ea06dc9b6a9bf72727a, + 0x1193f34976cb21fdbeda00f8f6016e0ed5d235589a6cd12a33ac335e7ee3451, + 0x53a712804fb598609746cb9ddc53adf71ce01e8f6646e87e20576613b3ab893, + 0x1f485222649b25d762b6f580b3c7408dd51d4a41887cb3bd11ffa5e007b0192, + 0x47ad45c0dbb6b27545cd95ddc7c4316e91a5ae7615d87d6646e728379c715a8, + 0x180374fe491b2b7439dabe9ee9ad0f4b3e1fa5ab50d3b137ef6aa4cf3fd71b3, + 0x3559b1b89d680c86863ab37b25535e877c6bf88beefcba745e483159077ddb5, + 0x2724cd76d2abfcc4f293b7894621ddfb7adecdbf1e4ed32d3a4e43bead7c3cc, + 0x1a0029238afcd7a0779e39a8158fda0942eb14b2734f9921428b96638ee8f3e, + 0xcd7f8ec7105c1a67b2c1b9b7de0d1b53d820ea4b5a108a3bcf76f5580d71f9, + 0x1c3ebbea383770c83c8eff8d24aff4ef6c75cbe60caf27794db0bc0ae069352, + 0x45d5c5c1eaf7b3cc85e6ddf6b4f8308603b51bf01e2731ad9eddd0b6f97f173, + 0x6cfb748aa36ddefbbafedd60df791e550298023f9cabde71ca9a7b3b12590c3, + 0x5da9e3f1e07085fb498e9acaca82ae002f347845dfd292f6ace331d9efde939, + 0x5ca30e4aab922d075b5381044d90dc3a9055e2f3d74334db41c878cbe50a3f9, + 0x3b600e2f955c36e52a123047736afbe3668092e8da0d87e4499ca2d33e14723, + 0x2fcd621cd66fa329296e7494ddffb13131b2edcc0d2e23e16e4583831deab9b, + 0x1414487139a8c1ce17740db3931d82bd8cea317d27977ee0b844b0317c5c8e5, + 0x67b9fef9446991016a899cd5fed72896fabf2e04c77107d267733ad58f524a1, + 0x6e33d20e800e78463a51dd4550112d8e5fec1b010a77c1e00e4a087b381e611, + 0x58dd95737a203c3981ab8a6dc97957f557c4cbbdcb752ae3168ed6590f32b82, + 0x468f3c0fde415a9c5d2aa36f1a012cb9cfb34d308bba8b7187c7ab6e25d2eb9, + 0x481e7e3d48be9918c1722bd598049aa7dd3336d6bb3d1d6f625bbd9dfe51aa0, + 0x229b56d9c6e88a2f968227234dd3b0566253b952df03d7d09a93d1a76e927a9, + 0x33443ebf07007f6dea85ff4d506cc3edc02cb316ddff09d77cb754a14e03b34, + 0x46ba51410bc8e371d1a75ef0069301819bac23dd3e1041fb4fa97fcbcd561c8, + 0x4bfebfc9f423838dfd4cb28b6d70a53646ea57002ce4afc91e371e6815b3c4d, + 0x3d809e239ad34363d350a1af2a2b0e0ef9968147357985497d50de7da341a64, + 0x3e43249e901c2d86ace654b820a4a9c86ab22e792a74f3593066cbeeeb028bc, + 0x63b92167d491f8d3ca069ad069553961059cab349317f5c8b5f2f38f30c8f39, + 0x2b14efdd8315aab3f3fc8e72b151131a3f5e68eebd6b710773a83b96a906967, + 0xff9d7b63a123f19014da4be885187928ac982e6605de9b8a23cbd4ec59b929, + 0x38cd76ca81385261a7b2687cca02395d325ac759ef35f07354e706c95c3675f, + 0x6e3cc6ce52df290ebc16600c5b2358c195f7138e1e8a77e1c8717facd5943de, + 0x6f5237cf2ff3d24c6c2a5172890e9734b34a15430d4327dfef99655e09c1715, + 0x5eec4358e0dd031543e035da38030f9389d1f517b576450d1c7bba3cbce370f, + 0x3760b1561e21245e82dca98edcd6f0d32dd98e9deb253e0ed56d542ad393ed5, + 0x74a631cf2a833c70e1388c23a2c9d12e6ccc18169fb111c910a0b3119ae6aa9, + 0x5794890aef3be791ae9619b98d45bde617134519b933cf9c7327cdec92991f7, + 0x7600f8a366a525a42b38da4da5a6880d0683e27413f8d7f700fdb806856fba1, + 0x1b3f2bd4523c83536ca69293a9d412acc3ab3b1e3ca90c0c1a7fa52799583ec, + 0xf9f931aa1e228a15eac2f97c43c045d26604331d829afb40a8d1f68c00e17b, + 0x50f96bad1eed06805a2eb595f2935672dde616e68fcb21530fe13c45019cb5, + 0x50a55442b12ab08a66eba124f4eadb678d7e47be6bc3762aa41000e652af7c4, + 0x7f1b6af56db7871e9eb4c4bc70694d0aacc31b9ac4a76f079fc4ed8d7cdf47a, + 0x1a84ce8e1e09ff9a37ce8827f7a9eda4680343c23adbb13e669eb8874b74558, + 0x7030ad79dae6c0fb2ff37c6940ed5d5c427ca6e40d66a4b92ba45aa418b7876, + 0x58cee4467ffcb3a8c615e75eed63da75f9ce0070fd56c54038fe7287c162193, + 0x33488d700e4f77d7f67f64ed336ef8cf669bc6bb71c0b0e798d4b9ac431f5f, + 0x1819dddd855e88e064337c6e6157f38b86867304f27eec9df48b4dfe67fab6b, + 0x4d783b6bb8704ad7160508cfee86f790552c368e20e9d0a0919266164de74be, + 0x79c5ef984a8e33b3ccd3539ef8d73f4617363cc93fbe909d088e0943749c795, + 0x72f53cc49512032ed82e1a53aa5ab61f94b540404327fc433f752ee75247594, + 0x724a99ba8eeb2811abed127c86b74ed92e051812cd58e4ea4a15f709d29b850, + 0x39ba80681bf41d02a2af546a30ca8a2c22386d2c3059006da659f8a5ef4c917 ] .span(), }, From 03c335834032cc894076d38917d7ceebe06051b6 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 6 Mar 2024 12:26:57 +0100 Subject: [PATCH 33/48] security bits externalize --- src/lib.cairo | 4 +++- src/stark.cairo | 7 ++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/lib.cairo b/src/lib.cairo index 90baff322..3b691780f 100644 --- a/src/lib.cairo +++ b/src/lib.cairo @@ -20,6 +20,8 @@ use cairo_verifier::{ air::public_input::PublicInputTrait }; +const SECURITY_BITS: felt252 = 96; + fn main(serialized_proof: Array) -> (felt252, felt252) { let mut serialized_proof_span = serialized_proof.span(); let stark_proof: StarkProof = Serde::< @@ -28,7 +30,7 @@ fn main(serialized_proof: Array) -> (felt252, felt252) { .unwrap() .into(); - stark_proof.verify(); + stark_proof.verify(SECURITY_BITS); let (program_hash, output_hash) = stark_proof.public_input.verify(); (program_hash, output_hash) diff --git a/src/stark.cairo b/src/stark.cairo index d894b1d0d..54f9af3a6 100644 --- a/src/stark.cairo +++ b/src/stark.cairo @@ -26,9 +26,6 @@ mod stark_verify; #[cfg(test)] mod tests; -const SECURITY_BITS: felt252 = 96; - - #[derive(Drop)] struct StarkProof { config: StarkConfig, @@ -39,9 +36,9 @@ struct StarkProof { #[generate_trait] impl StarkProofImpl of StarkProofTrait { - fn verify(self: @StarkProof) { + fn verify(self: @StarkProof, security_bits: felt252) { // Validate config. - self.config.validate(SECURITY_BITS); + self.config.validate(security_bits); // Validate the public input. let stark_domains = StarkDomainsImpl::new( From 886fce00e737f9ed1d63b31765d02c1d60b8f03d Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Wed, 6 Mar 2024 20:55:46 +0100 Subject: [PATCH 34/48] hasher refactor --- src/air/tests/test_public_input.cairo | 44 +- src/fri/tests/test_fri_commit.cairo | 25 - src/fri/tests/test_fri_config.cairo | 23 - src/queries/tests/test_generate_queries.cairo | 55 -- src/stark/tests/test_stark_proof_verify.cairo | 2 + .../tests/test_table_commitment_commit.cairo | 72 --- .../test_table_commitment_decommit.cairo | 507 +----------------- .../tests/test_vector_commitment_commit.cairo | 50 -- .../test_vector_commitment_decommit.cairo | 433 +++------------ src/vector_commitment/vector_commitment.cairo | 2 +- 10 files changed, 95 insertions(+), 1118 deletions(-) diff --git a/src/air/tests/test_public_input.cairo b/src/air/tests/test_public_input.cairo index 9a1f04233..ee02e1635 100644 --- a/src/air/tests/test_public_input.cairo +++ b/src/air/tests/test_public_input.cairo @@ -3,45 +3,6 @@ use cairo_verifier::{ air::{public_input::PublicInputTrait}, domains::StarkDomainsTrait }; -// === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_public_input_hash() { -// let public_input = stone_proof_fibonacci::public_input::get(); -// -// assert(public_input.get_public_input_hash() == 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 'Invalid value') -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_public_input_validate() { -// let public_input = stone_proof_fibonacci::public_input::get(); -// -// let log_trace_domain_size = 0x12; -// let log_n_cosets = 0x4; -// let domain = StarkDomainsTrait::new(log_trace_domain_size, log_n_cosets); -// -// public_input.validate(@domain); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_public_input_verify() { -// let public_input = stone_proof_fibonacci::public_input::get(); -// let (program_hash, output_hash) = public_input.verify(); -// -// assert( -// program_hash == 0x7ac5582e353f8750487838481a46b5429ef84b2f18f909aaab9388f1fe0a28b, -// 'Wrong program hash' -// ); -// assert( -// output_hash == 0x60cbf4532b874a9a19557a55b45663831f71e21438525174b82842a1fab0ec4, -// 'Wrong output hash' -// ); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_public_input_hash() { @@ -71,7 +32,7 @@ fn test_public_input_validate() { fn test_public_input_verify() { let public_input = stone_proof_fibonacci::public_input::get(); let (program_hash, output_hash) = public_input.verify(); - // + assert( program_hash == 0x7ac5582e353f8750487838481a46b5429ef84b2f18f909aaab9388f1fe0a28b, 'Wrong program hash' @@ -81,6 +42,3 @@ fn test_public_input_verify() { 'Wrong output hash' ); } -// === KECCAK ONLY END === - - diff --git a/src/fri/tests/test_fri_commit.cairo b/src/fri/tests/test_fri_commit.cairo index ac153e528..1ea9593c0 100644 --- a/src/fri/tests/test_fri_commit.cairo +++ b/src/fri/tests/test_fri_commit.cairo @@ -3,28 +3,6 @@ use cairo_verifier::{ tests::{stone_proof_fibonacci, stone_proof_fibonacci_keccak}, }; -// === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_fri_commit() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// -// let fri_config = stone_proof_fibonacci::fri::config::get(); -// let unsent_commitment = stone_proof_fibonacci::fri::unsent_commitment::get(); -// -// assert( -// fri_commit( -// ref channel, unsent_commitment, fri_config -// ) == stone_proof_fibonacci::fri::commitment::get(), -// 'Invalid value' -// ); -// -// assert(channel.digest == 0x0, 'Invalid value'); -// assert(channel.counter == 0x0, 'Invalid value'); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_fri_commit() { @@ -42,6 +20,3 @@ fn test_fri_commit() { 'Invalid value' ); } -// === KECCAK ONLY END === - - diff --git a/src/fri/tests/test_fri_config.cairo b/src/fri/tests/test_fri_config.cairo index 49be44c13..4252e1ab3 100644 --- a/src/fri/tests/test_fri_config.cairo +++ b/src/fri/tests/test_fri_config.cairo @@ -1,25 +1,5 @@ use cairo_verifier::{fri::fri_config::FriConfigTrait, tests::stone_proof_fibonacci,}; -// === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_fri_config() { -// let fri_config = stone_proof_fibonacci::fri::config::get(); -// let log_n_cosets = 0x4; -// let n_verifier_friendly_commitment_layers = 0x16; -// let log_expected_input_degree = 0x12; -// -// assert( -// fri_config -// .validate( -// log_n_cosets, n_verifier_friendly_commitment_layers -// ) == log_expected_input_degree, -// 'Invalid value' -// ); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_fri_config() { @@ -36,6 +16,3 @@ fn test_fri_config() { 'Invalid value' ); } -// === KECCAK ONLY END === - - diff --git a/src/queries/tests/test_generate_queries.cairo b/src/queries/tests/test_generate_queries.cairo index adab4535d..ed0abe9dc 100644 --- a/src/queries/tests/test_generate_queries.cairo +++ b/src/queries/tests/test_generate_queries.cairo @@ -3,58 +3,6 @@ use cairo_verifier::{ tests::{stone_proof_fibonacci, stone_proof_fibonacci_keccak} }; -// === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_generate_queries_0() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// assert( -// generate_queries( -// ref channel, 4, 12389012333 -// ) == array![0xc53fdd1e, 0x166d56d3d, 0x1e563d10b, 0x2d9a2434f], -// 'Invalid value' -// ); -// assert(channel.counter == 1, 'Invalid value'); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_generate_queries_1() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// assert( -// generate_queries( -// ref channel, 10, 99809818624 -// ) == array![ -// 0x3247d4098, -// 0x52d896136, -// 0x557cce2e5, -// 0x6188b67d1, -// 0x982d6fc79, -// 0xa733f8ed8, -// 0xbf23e4bf7, -// 0xc2321969b, -// 0xca83fb21d, -// 0x1405a07e8c -// ], -// 'Invalid value' -// ); -// assert(channel.counter == 3, 'Invalid value'); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_generate_queries_2() { -// let mut channel = ChannelTrait::new_with_counter(0x28f12249c8cba51796d59e7573019ce2b4608c9a8cdeee26e821b0763c69229, 0x0); -// assert( -// generate_queries(ref channel, 18, 0x400000) == stone_proof_fibonacci::queries::get(), -// 'Invalid value' -// ); -// assert(channel.digest == 0x28f12249c8cba51796d59e7573019ce2b4608c9a8cdeee26e821b0763c69229, 'Invalid value'); -// assert(channel.counter == 0xa, 'Invalid value'); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_generate_queries_0() { @@ -74,6 +22,3 @@ fn test_generate_queries_0() { ); assert(channel.counter == 0xa, 'Invalid value'); } -// === KECCAK ONLY END === - - diff --git a/src/stark/tests/test_stark_proof_verify.cairo b/src/stark/tests/test_stark_proof_verify.cairo index af6782182..025a31dbd 100644 --- a/src/stark/tests/test_stark_proof_verify.cairo +++ b/src/stark/tests/test_stark_proof_verify.cairo @@ -8,6 +8,7 @@ use cairo_verifier::{ // #[available_gas(99999999999)] // fn test_stark_proof_fibonacci_verify() { // let security_bits: felt252 = 50; +// // let stark_proof = StarkProof { // config: stone_proof_fibonacci::stark::config::get(), // public_input: stone_proof_fibonacci::public_input::get(), @@ -24,6 +25,7 @@ use cairo_verifier::{ #[available_gas(9999999999)] fn test_stark_proof_fibonacci_verify() { let security_bits: felt252 = 50; + let stark_proof = StarkProof { config: stone_proof_fibonacci_keccak::stark::config::get(), public_input: stone_proof_fibonacci_keccak::public_input::get(), diff --git a/src/table_commitment/tests/test_table_commitment_commit.cairo b/src/table_commitment/tests/test_table_commitment_commit.cairo index 89a901662..9bd2d0191 100644 --- a/src/table_commitment/tests/test_table_commitment_commit.cairo +++ b/src/table_commitment/tests/test_table_commitment_commit.cairo @@ -4,75 +4,6 @@ use cairo_verifier::{ vector_commitment::vector_commitment::{VectorCommitment, VectorCommitmentConfig}, }; -// === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_table_commit_0() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// // -// let config = TableCommitmentConfig { -// n_columns: 0x8, -// vector: VectorCommitmentConfig { -// height: 0xf, n_verifier_friendly_commitment_layers: 0x16, -// }, -// }; -// -// let unsent_commitment: felt252 = -// 0x821aaa485d3fbdf7b0a06d773e565370f794c06bbcb4e23279a39544782c1e; -// -// let vector_commitment = VectorCommitment { -// config: VectorCommitmentConfig { -// height: 0xf, n_verifier_friendly_commitment_layers: 0x16, -// }, -// commitment_hash: unsent_commitment -// }; -// -// assert( -// table_commit( -// ref channel, unsent_commitment, config -// ) == TableCommitment { config: config, vector_commitment: vector_commitment }, -// 'Invalid value' -// ); -// -// assert(channel.digest == 0x0, 'Invalid value'); -// assert(channel.counter == 0x0, 'Invalid value'); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_table_commit_1() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// -// let config = TableCommitmentConfig { -// n_columns: 0x4, -// vector: VectorCommitmentConfig { -// height: 0xd, n_verifier_friendly_commitment_layers: 0x16, -// }, -// }; -// -// let unsent_commitment: felt252 = -// 0x7a73129c87d8a60cb07b26775437ac75790bbd415d47912e5eb1f7c7e11d42f; -// -// let vector_commitment = VectorCommitment { -// config: VectorCommitmentConfig { -// height: 0xd, n_verifier_friendly_commitment_layers: 0x16, -// }, -// commitment_hash: unsent_commitment -// }; -// -// assert( -// table_commit( -// ref channel, unsent_commitment, config -// ) == TableCommitment { config: config, vector_commitment: vector_commitment }, -// 'Invalid value' -// ); -// -// assert(channel.digest == 0x0, 'Invalid value'); -// assert(channel.counter == 0x0, 'Invalid value'); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_table_commitment_commit() { @@ -105,6 +36,3 @@ fn test_table_commitment_commit() { ); assert(channel.counter == 0x0, 'Invalid value'); } -// === KECCAK ONLY END === - - diff --git a/src/table_commitment/tests/test_table_commitment_decommit.cairo b/src/table_commitment/tests/test_table_commitment_decommit.cairo index fd6df8892..a20d00e8b 100644 --- a/src/table_commitment/tests/test_table_commitment_decommit.cairo +++ b/src/table_commitment/tests/test_table_commitment_decommit.cairo @@ -12,507 +12,12 @@ use cairo_verifier::{ // === BLAKE ONLY BEGIN === // #[test] // #[available_gas(9999999999)] -// fn test_table_commitment_decommit_0() { -// let commitment = TableCommitment { -// config: TableCommitmentConfig { -// n_columns: 0x4, -// vector: VectorCommitmentConfig { -// height: 0xb, n_verifier_friendly_commitment_layers: 0x16, -// }, -// }, -// vector_commitment: VectorCommitment { -// config: VectorCommitmentConfig { -// height: 0xb, n_verifier_friendly_commitment_layers: 0x16, -// }, -// commitment_hash: 0x3ce8c532eab6fcbf597abd8817cc406cc884f6000ab2d79c9a9ea3a12b4c038, -// }, -// }; -// -// let queries = array![ -// 0x98, -// 0xa7, -// 0xbc, -// 0xde, -// 0x1bc, -// 0x1c1, -// 0x1eb, -// 0x27a, -// 0x300, -// 0x3dd, -// 0x41a, -// 0x43f, -// 0x48a, -// 0x710, -// 0x72e, -// 0x751, -// 0x772, -// 0x78e, -// ] -// .span(); -// -// let decommitment = TableDecommitment { -// values: array![ -// 0x4bc68e79a50789ef5cff3fbe013b8f846b9a17931fc9cd0416a1ae2c003bfab, -// 0x450cde24550a8bdb560a32385cdb4d15e0c04308af61671ae9f9ffb49f9cf6c, -// 0xa5d29975f58add08f21910f1837b842e16f5c4a24e0e38521917526e122026, -// 0x68d1b5a8dd162c1588d13da8cac43834adc3a7cbb2ba85c063ec7ca6d085739, -// 0x73981cf399de77f720ed93da03f00117303dffa602fc5a1ec0b40a4beaf81fa, -// 0x58d3ed66e1bca22f44a78ea0a387782978b53ac33b9cac2fd1ab651eaddab05, -// 0xe269fc02d3092c00408b983db7c4170139e73ee8b9f70c59883fd3a31679cf, -// 0x5aba6aa232184def63e78898bc9c568b4352514d1a3d0c167e12d76560338b2, -// 0x57917b6f3dd67adf3ca87e7605c804055e4a43b42f222fbfd87264db1eb90f9, -// 0x4f7dec59ddfe644593adbc54f550c74b02b90fd868ffe81ec1fb40e4208df1d, -// 0x58ad0173322c2aabfe3a87ff64473d62a1b26c673dda98664a8ee3de5f1dc60, -// 0x524824165fd387659eecadca7645e217035024f6b69b8c5bde2c0a1a8d833a2, -// 0x12487a39709e55523af865bbaf31dd07985fa5a7cdb59fd057f34c66f5ede18, -// 0x195b9725da75a62535df7359c730f5f268b1d3289f370ac199ad9cfca1d1794, -// 0x535760dcc435d8cc05244bfb8724067dccc9dfee4604e9e315533614340583e, -// 0x146488eb64016f52df23142b2e92981e2bae08500c58eacec0f6f670ff8fb1f, -// 0x772a1fd2a94a411eadc7ac4303ffebb89882436e550238018a3f0d3729246a2, -// 0x75d6268844734a7d5d6323699a8a5afffbe8eb9aca91403812515a66004edf, -// 0x3cb4eb0e093ebdd38920b3498885bd4c5cade2380a32fd9d7fdfc9751dcc1a4, -// 0x6544997d4deb00fa05aa5cd23b1eac5d5783bf6852fe015fddded822b52e33f, -// 0x7f2b853a7e5b26b7797546c73cacecdc2729b0cb9b81560d30c99506678e1ae, -// 0x756ea2513511aef820935f5e1363aa798411005ad9b10504fb73587ee891e2a, -// 0x5dfb1b29b312070b272063aaa74432f1000fcf777982d3e87fcb1b67b38045, -// 0x31b56134a59335316679b8c23b183798778b988e01645f0e448424cf543ce34, -// 0x13c054c54a1705c315726bdfea4fd4ff95bced254b38d3e8e12e0c9bc1ba69c, -// 0x2f9b267bf41ef8ab116658ef856e1e5d5fde3c2b02404caf8be51416698b91a, -// 0x3e9797ef176cd1e9cc862a6fc82053240b9432834f4706742bea42bb5a3d966, -// 0x47ccb02fcecb0162a8d8d4f7242fcca8c255f286f9a16a8ae946929d417f628, -// 0x7628a3b43ad2afd9a4e211fe43b7d3efe8558792a5b74e78f443b04ffe0e2da, -// 0xff6e6efb30a87b56677a97735f4ed808ce91e7d5855eaf51d93164e2a86abd, -// 0x707a09276d158e5adf05a6d5c57573913b8a09cda115e02ca499d5865fac676, -// 0x69bf0505447b50e490b8b1563111e202f25a3d466df3173fc56d294373d62d8, -// 0x784de1124b793881b02fbb6c1f64be6cd8dcdc2a745aebc9e78e6679222b0ed, -// 0x2141097901c7185fa626b6fa727aead038f0da4d68b104f53a657d9a6f74f9d, -// 0x474696bd63eeb50d411ccc39b90731e4a1ba26043d454239f786fafef3eb7bc, -// 0x393fbc114d15a2e38e8ffb4bb01402316756bef921bd3ee5392e180fc502375, -// 0x333f34bd7238f4a346d29268a8a44ffaef53e316a1282fdfec45ffd0d74afaa, -// 0x69d956fa0e35e04e95fff3b13bec67e2bab3aeb3f6beb62e261b85c6a9ea545, -// 0x476f80806354c5e9c90c80ef4137a88adc7c292cedccfb0843c4e8597f6765c, -// 0x23cb9245337fb84308e376de93e2bac3ef3c249954b9531eb27ccb5f9e9d0fc, -// 0x560c384b3c0e3552edf1f4eb51836e38cacc48cf32cb320a23ce4ce672d5c7e, -// 0x4fbe6faeb2c86847fc269c14c049369e8e075185bb35c79e12cd33f1bb1ba04, -// 0x53f4a910cedab8ac2845e2430e3b3030b416c8612e502647dcf74a4665acdac, -// 0x341951cd1f5d5771f7478613da9e0138a6a3fdc310c2fcde7c807d2229122a2, -// 0x7f5f1d8b4a1a3b49d3dd5fa1022f0ee0dba02f3c62bcf3d003b4774742638c7, -// 0x5b254c8375bd9bd31342ea52df78c601bbca0bbf0c3b9633896e66f8c11e173, -// 0x31ef7251ab71ed2f05be9c996bdbb43055f5ac6980b9a5823ead21cae03be9b, -// 0xaaadcd6dc206ebcbb25f111ec55653780ee2c6559b39bb8ebc3d81239bfc4d, -// 0x7e1a932dbac7bd3dbbf070dc6a8284d2479b443d3d9cd7a99eccb8c9b91d880, -// 0x6964b40d6bb01a8d67499f0ef466025648d535fde82e503ba46d67d1f5fdda0, -// 0x4def7517ca02a51bf6e88449d8655773aa48e39a354fcfc3a6d278108eb5023, -// 0x3fafb22fe3b569888829b1386d5973a584d9fa08da5bb478156c632fa4e12c9, -// 0x54fcdc680af70a22f8c2c9c6fab7e40c382568cfcae0cfae07d3a5820660f34, -// 0x4757557fbdecf4b667b00fa12a504a3bb9a722801aa7665966b3691cb7a913a, -// 0x48ac756c294a4ab16a3f09c31635494cf043a962f315b47da0b008f3c7976df, -// 0x5b2dffaf9f85a020ffc0869e656c0bae0728db8e2d4de14a25427a6d6acbb50, -// 0x9afce9532769b3c6d42c9584724003ce7206da153de31c23778975874fb911, -// 0xaebdb79608843c51dfa0e52ff7117ea4d5456dd1f770e88e8d7f7767699799, -// 0x612c01079a956c0d27ef0ff4701ee4fc2d180f6ec89990cd93f3e814d7a1050, -// 0x3720631de9a89485c3be95b62e1de5f9d93ace72c160d4a256a85457e1529f1, -// 0x56c56966b40b924fc5e0e40926f5369572289d059a139ccd64a1c0ad4c9b86e, -// 0x25f72339d0738419af25639246499cf66baa7ebc24affa5412bdeef682dcdee, -// 0x6eb0c92debb4ca1773cc75137fd809c0edc1f88159a743485d50779a1c5a847, -// 0x245d34f7913f0364ecab73cafb920cf0b5d5b2954871ad66246feb02fa55bf2, -// 0x517dc4dd8db7cbd0a5ad53f3c8502e51701d1c27cdc862c4a6064cd145a5015, -// 0x13c6dd843f06cb3475279b00a5ec2f54585a956eb1ce72ffe546c1f97e86123, -// 0x5e96cd5e056477b4fc59ece13935d090e49b55c9e122afedea6352505bdfa28, -// 0x1b3787dc2be8ace44cdcb514f2ef7331cbad5dcd2c68ec392ad7af8e980cc77, -// 0x1309b7870e1783a7cbff4f1d4f8eef4e716d6b9f7f83ea7586859012056b432, -// 0x5707f93582d24ab010eef9f45e609034a0a735f7340503e21509acb0608effb, -// 0xcfe64e222d0239809dd5bf0f6c02c5a8ae9b6dd358a35abd1ce3c62dc98d8f, -// 0x697c74527ed597f12f5a3759100556ea28010f19a67426b16aed384c7c7eebd, -// ] -// .span() -// }; -// -// let witness = TableCommitmentWitness { -// vector: VectorCommitmentWitness { -// authentications: array![ -// 0xe676ff357a733da543bb3d81e3aa60ca9f1063e1, -// 0xffc663afe730d87e8c5b65ff1c4e02bebfb45c5, -// 0x9ee28fd2b364c452dfc86e0fb15db982895abb18, -// 0x4b2aea8358aa2562fc75d90ff221cf7643da2d30, -// 0xe6ca528ff25b6a8027f6f186a6823b22e407d0f4, -// 0x2ffc0ca2d4c2a613decdcee120d7ce8bd31270b3, -// 0x87525e0ba3a6d4f8ddf4a7cc48deb7546f12bd80, -// 0x26d3a33a07adc85a684d7aa9fdf8b6f582b9acfa, -// 0xc65fbd68d029050bd45eb8e111a6f31f87c0b451, -// 0xb43296f2dc5b4c4d908b80789b193962be8db556, -// 0x9465cacc05be1a69f3eb38424e448a73199774d6, -// 0xb48f007b7760a3cc2056e5db6f3eca5c4aaa7c8e, -// 0x54f3688454cf9b399bca2139a865ab970b02e0e, -// 0xadcfc979b6dd3e142d5c1a6dd2f51d1f65651de1, -// 0xaaebcd47fccc02841f65830056d1f2d0075a6d25, -// 0xe45f1dd9110a7a0b3a6c157b841fd9aff4e66874, -// 0xa3b8e22670e0876ec1f042c974359444c595f1a2, -// 0x92693ffbfd0ad1f60d4f8843658f20c54fd11a5a, -// 0x7281b36fcfc367c94e83bdb8ea3e08d0142cd0d2fe627b80c73acef7e6a49b9, -// 0x3b5e95b9b0fadaf1031300d7c0d9f043706f4dc7f8baff7e2dd55a1a6c65b84, -// 0x2cc6a33256646a68bed5dd10cb782b229736fc9028ad7addb3ec487c38e937c, -// 0x296e424b9795e3f4f1e5c00d6285afbb4c797c6dd8624fd735824cb9fa8fb04, -// 0x36931e8cf7d2e8cae2087d7532f93c12c8ffa20fe5c7a02c9aebd2c0657158, -// 0x49c91ee3ddec4f62d4c5dd802317cfe81ba9009e7b46f66bb354019e284194a, -// 0x63ed1d118d536eedd9a286f4fc633b7625f8af0a2bdf6acbeb4e7462dcd734e, -// 0x4620a4b9fa50fbdd167b899ffa02e8965aa056d35086db2322d6a703c7ad15f, -// 0x475db860a575eae6424c0bac0039cd8a9450ea558211e42db402a826c14c1dc, -// 0x4c69f749f7b1a98b707ea255d786c43a944031f3bf9d2fdb4f5b1310c61bfa3, -// 0x1552bebad7cd328047b44545dfdb3412953d8548b7a65bf15f0f1ccfc98fc0e, -// 0x44557ef3c00fc68816781800bcf8ef54d988d70c8d22189bbd0415328c8eda0, -// 0x4ac53f19aa2254dc7ce25d541953e31c2c143069760254162227ce3d975b61d, -// 0x795b6fcf227eb5d19a4e01c5defc88ba05a65eebf23b9306a7513769d96d040, -// 0xdbe8fb2afa68997d0ae59711090a255bfbb5f5ed6543a5655ad79577a7aeae, -// 0x785cde61bda7ca4638d7759a0a742942eaedbf08d1269d36f373c3908964a7e, -// 0x7f0d790427a3fe91985b625ab9138e5ad2a05af440c26201c516a6ff852f022, -// 0x5cfc3623a36de637078f8daee039d624bf693db91f8fdb4ed81a41f59e09f3b, -// 0x453ff600781c3bb90b791d0a7537f31add3a733ba5ea5bc9887d4bab9948a05, -// 0x26befde2c0f7ad61a726b7138869d76f66ac68e809855fec10bb4e3fc846a0, -// 0x7ae21aa0e4e1bd6e63527d34e9d493e6b1943d769c3d970e1a6113fb8cdc509, -// 0x3c4bb6412da8c8cd9155cf27a22934afd270ce654486b15cd77813d1973fe7d, -// 0x765c40ad58db8cf29235128173ed93490d2fee999353fa4d1401cf734bae9eb, -// 0x6a8a36b56c2919a2c0f00485d929009d085c52583868aa96a87574e02ac19cb, -// 0x7c606e8d4c7a82c9b97c733908dce06038ab72ce1d70026f1458b8b0840162b, -// 0x94922071ef2d6c99fe9da993fa6b494e82a25dc10ab5d6bbbd71b28f58b9c1, -// 0x53f5dd1bb156b3744de60903a5e1b89fd202dfd0b1c50279c04894f6ab2d13d, -// 0x6768cb453416dfac3b0eebbb53efb0748e27bca54c0e870c58d9a8f869fa036, -// 0x16c12fcd3cdafd2f4328fc1a2299de4035baa36fe3bf46701c98558166f9b4d, -// 0x29cb2a1d86816e6e5ceacbd12c58088385d111cbec53ab677e38b56c3aeb350, -// 0x8247a109564a0dbcc9f7bad00e0f4131bd1c024e0f3b76ebb6b6c66b317b6b, -// 0x4751b9f7b400984dbf007960a0522b3696277bea06b4a950ef9b98fe0a8f08e, -// 0x22907e920eec443995bc55de7ebafec33320ae4ecd0a3dd8635e95ae3ab52bd, -// 0x7f92acf18e809b3d2a25deef9f176cfbcf1cee6dc48ac1bd1ccfb47f3d01a8b, -// 0x304fb4d291aa6db2a08cb4fa70e7e3fce26d927048a78a725afcad00eebe671, -// 0x7748c9d244881a114b8c225d3dc3c212377013fbe9bb4f681024c94c554350c, -// 0x1e6e1c4a459327339e22e2ce13a7e5e8b55023617731712613898f011237ed1, -// 0x51344e80e161f57469e4695e624b56c9989ce3fc4081a0a5e2c1e56ff5f4d22, -// 0x2d8af710272d1e39b101419c80f691346cc93c4cb41d457dbd6697e09490505, -// 0x69ad0f6fbd109ea3547b6606981197b802a920a319c61fa03ebee73c346e9ad, -// 0x5c0469ac2a93eb97c7cda4f82253280bd681a611eec612eaff3f91b81844aff, -// 0x2022f6794db246316b2d2e024e70008bd6ada94a1958b8e5d5cc039202d9400, -// 0x23c4647f032d7703fda9ffbb4c2c983323c11ce80412b2b5e3b20efa4d3062d, -// 0x37f277ff3e939433e79e156ce68004fe24741f8c1b9264d346919582117e3d3, -// 0x4388f543724d6095d53ce54c2b8fec2df52ed0830cff0df933181fb8e377490, -// 0x1f9646a1c35ccf8656ec727053aa7fc6a571ca0498bc22624f3e0dadc2e1bd, -// 0xad4cd2d1f4c6da0c831c51b13b8bfe987f61d369f5fa64bfc8827f607c96c6, -// 0x636027ef64d2f9ba05b3cf507f840c19f12645fb6a0db2a24b8cf1569191bb6, -// 0x43c8814510c36a011f1b1994275a928b66812d7c3ef14d93c31463339137bbe, -// 0x300b7133fc0cc085144a2a14e496700dbc4f8b583657ffdde33de02ef78191c, -// 0x7ba0d828caa7cb414640e08a2fbd789a8d111ec7883ffab5fd538c120c5a5e6, -// 0x8dde3adeb2e83b034a5ccc12638008362a24d66835262ad33caa211a6c9793, -// 0x849bf4d63ae4007169c0bd9f5a2b7f572ee2bcd188e868f981b5f4f67bd47d, -// 0x3ced5193d4bb228dfa19e7f7d46372d80393b242a72d48262e1a8594f623094, -// 0x325ba92845f1d7350fa4491e3405fde9ebda7c1bbbf7e066a2c8c10a6c680c3, -// 0x155b15335843b15e4b816ae7e6a340d452d6247552864ac53e39b56910519b4, -// 0x482777b78954afd4c3ac5ebb92f93a82af11652f50935960d6ac75f75674140, -// 0x6fe0d0ec0abe430cf7c7c32f15a7ae343796f6175e292fed589aea79b813616, -// 0x5618be8b708e7ddca48c8b971916c5fd9a1ba6eb4252e614ef88c4f2e41775f, -// 0x51365af55597548ba0f4543e4fccba8c6e1a7faf6b2e8c48af96dd16b48e8f1, -// 0xb5cce5205193c3b87dafdf96fd0de0cdac974558aa47e18e515841b2740b1d, -// 0x51a1cc3992db4da580a2a77277cd81e52376c266b8f8c585b879a2251d7439a, -// 0x7ca03ac5453cdeff7d3fb2742680345af326e92935686f84462de6f37588dd1, -// 0x3b26307ed64a35759b0b4792c1f74803627c6b31046ed9c8ff9cc9bfc5b2c0, -// 0x27a8f5d9f84205f8439338257462f4efaf07924aded94b419ec98c0be0ace0, -// 0x42223b23fa282ef6a087a92cc400d36ccc6e8d6d953e6d3144bd2f26505a6f, -// 0x4ef7521d71a61c9fc42725fbf3e36361b53046b68694ce437f576d079ce86f5, -// 0x35fe0ea431a96210926bbe2002d26c15133a0c2bb1d2c6ee31cec86af66922f, -// 0x158bfc28d59e25bf7b7a0e9995d1fe201d708db865013aabd6f19fb371a734b, -// 0x46b9fd1bf3be4660e16c85ae8854e2dd6a8d4203d4b19926e66b3a881553b96, -// 0x4084cc05bc951721e44cbc69526393ece2f17d2c3ed28675d92bf6e33c1c047, -// 0x4b8e7e93f3a6888142902582531d0659329a714727f26fa4bc87e4eafa1077, -// 0x2e9e738a183faa18f7bdce422e9f49318226b3b32d1d8410a48b1cab0875c5, -// 0x20f4db5c5abe20c948b151cc25bd4c2c001eb8a13711742dc665a21edf137fc, -// 0x63b799bbf4ec3241fe16b4a154194ccd9e6377a785527ed9365e725521ae17c, -// 0x365b2a7dcd62b7b0dcb2d10167cdd87c4ad1174dea6fac139d54a3256c0c1d8, -// 0x3e0bfea95daf7c3a3244e35549f078e029e544b9fe65b4548ec28fe8212b9d, -// 0x4a899f49847c782e0dbf581f89aa522e4114b42a741d5d78efbe49808ba91f3, -// 0x593e1c4dc6e2ed44e0953cf736581eda4cc6873859f3e1614c629cc58d86689, -// 0x12b4960751c2799461bc1fd9e8466c5cc1f2bb4e91aa2be4d7d1c87fb7e3d71, -// 0x3e3c1fc87c1b07d5f40b728ea660c6320691a1b596edd70d7a2b48bf8e66d47, -// 0x4a0eb250ff1e14199c95f1a942542e0ddb486317de03d033b6b03cf6a1f66e5, -// 0x2a768272e178821889693ea00ffca5c5309a7ee33b078a675ff2b4f3dd82325, -// 0x364195536f59b340f0f315fec7361229e4a61ae63e77d182dac9d54a2170296, -// 0x204636737aef25c5f4c8aa332e67fc3618e83a896f134f10ed929677bba4f7b, -// 0x75dfb1d1da06ef149195da6171b78ca57f21946e8920aef4da97c59581fc37b, -// 0x74f11bef16a2c8923231df2090b074be1c0b017f7f1f12f919f332c9362f82a, -// 0x109604ebb9ecedc292252882c8eb95d3ca041db27cf1d8a76ba6dfc2355a9c9, -// ] -// .span() -// } -// }; -// -// table_decommit(commitment, queries, decommitment, witness); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_table_commitment_decommit_1() { -// let commitment = TableCommitment { -// config: TableCommitmentConfig { -// n_columns: 0x4, -// vector: VectorCommitmentConfig { -// height: 0xd, n_verifier_friendly_commitment_layers: 0x16, -// }, -// }, -// vector_commitment: VectorCommitment { -// config: VectorCommitmentConfig { -// height: 0xd, n_verifier_friendly_commitment_layers: 0x16, -// }, -// commitment_hash: 0x7a73129c87d8a60cb07b26775437ac75790bbd415d47912e5eb1f7c7e11d42f, -// }, -// }; -// -// let queries = array![ -// 0x261, -// 0x29f, -// 0x2f3, -// 0x37b, -// 0x6f3, -// 0x707, -// 0x7ad, -// 0x9e8, -// 0xc03, -// 0xf75, -// 0x106b, -// 0x10fc, -// 0x1228, -// 0x1c41, -// 0x1cb8, -// 0x1d47, -// 0x1dc9, -// 0x1e38, -// ] -// .span(); -// -// let decommitment = TableDecommitment { -// values: array![ -// 0x455da27ef48cb1a1b19aae3d09bd3d76dc7b53b9924c04af05dc8e377bc507d, -// 0x4225a8fea03e50594d7122fda111fa9cad465e7f17c417a324517ac51392ca7, -// 0x23e182a77b764524b41a82fe26b9d642874e728aba0aadadf40d9ef9bec22b1, -// 0xc5c2671f750d00e68e44ed7ca895c4b9c37adeda5cde6d13a194d2f7d6c617, -// 0x7358996db3995937f1ee1aec792899282f386448f810884f0311de4f93445e6, -// 0x6ca0b8451824a32a08df73765309b1b1016338a04c9314c73f261ffa5012f40, -// 0x27b1f89be91630fd5f8a58272cd188fd297b069358a596a5c664c90dcdd2e3b, -// 0x433597f60efcb6b38da032d388927d522fd422d7fee7374ae262134eb4fdd7d, -// 0x216476bad4676424a9fcaa31f96ee1051e641a4dcf5859d74e9d57f9d5f7d83, -// 0x5f3fa7c1c3411cbc4efefa238425b246c855f4b8158eb0592509e65e213746e, -// 0x520a6ae91d19de187ed0c64e0d14f1a329427f4ef99bd1c60d50e649a98ce7c, -// 0x66fb585b68ff8127f689e312c0838034f560d8327c6159626903159d4b38c4c, -// 0x65d45617dc29e9938140aa73db916b9915005f15381a27de229a05f5d5dab58, -// 0x353b4f5ae429e111327a5f5b26130af81ef6acc96d1391be1f34d518bd70cbb, -// 0x4e2ac9e115b6bd6defa020381b59a42ece669835c1800f97643043778d79560, -// 0x314174f8bc1fcbf2facdaf281e4ac957ff87679f40639214052f3cab7b7bdcd, -// 0x3d53f739c52ae2c49f5b638cf89f2a2211e99eecae885238d7cf28b981b29f3, -// 0xf88482276eef05a58a771e3897935087eee5750d63cb9c8a6887edce66dde7, -// 0x5779a1b87467e1e78d179c3dd7491e3314a90e8556908b5f3581d386ecf9280, -// 0x19b500c41a88a6b72eb2703bee9cf1d02a45321589f8782bd83cd1b9f27c4a1, -// 0x344b894943ee46743fa685e9702c178049f5d5d3945890506c118a87db8b456, -// 0x5eea3d3d3ab21903e10b6de7aa2da0ff714f2547d86aca91bae5f3a9eb75a39, -// 0x242d5a42fe473331fe5f8838900f76d034f2a3f11ab53d299a118f1fde8ee3e, -// 0x3c6caf3639680de623dc23d709b116ead9289a8f04dbe01d45cf4eda8f1426e, -// 0x29828017e7b3cfd07df9aefcb4bd66e2feb129517ec0adf7fbd6a8a3ee14eea, -// 0x56d2657ef912ef773346977721a11eb88b22a85304e267e300a20e8b5c98db8, -// 0x38094d253b62ff4427ffa7a64e0b86288438eb133b65ff1e0664e0f525531b8, -// 0xeac21cd1c213b70a1f3b66a43c23608ba6fb6e7532848c84c531ea850405a8, -// 0x1df26f7c3f11a0c0ffa1514213ead884f1b4e94a4a3ddbdb3bb690891ed990, -// 0x5956ae95581e75de1ac64dad1d1692e4b57b8765009e9ff151015ff1a08dd76, -// 0x20c97c4b24d57d700f00603372915106fa4373c88f8292bb541dca1c7d5c651, -// 0x55c3d23b21f3de0ad76c8302ef3b5de96db4c59c04bafbd51c7ae383fd5dddf, -// 0x4fc3cc267d49eb511e74f5fddecdaa8321ed90182f55c2182508715ea639e1d, -// 0x3ca6ea010f63dbdd977e7cc2f44f08080e0bffc44b0e6499e5aa5bcdd88c29f, -// 0x44b7680c931f8b684ffea1235db6aae531180b86b967412bbfc4e0c755b8911, -// 0x38e7297fb3d8f378b3e63514edef79b9254051b7d34a32c686a31f9cec6cbc7, -// 0x73e839dbdc72e53afa4e2e1b6210e2032f06386c949ef8b0b0cbee6010a8de5, -// 0x35f8d0822ce62c79725927fc5661f38fbb78a0b64c795fdbbf1223a67b4b6e3, -// 0x6d33354cdd499778acb0c7508d15f4c155d1018a4cc21ddecb174627a2b8d48, -// 0x6440fd8cc3d961a79010675c49edcf094e031bb6178cc300906b1ad387a0261, -// 0x1eb0bc46c6bad956e77aca758851008c4b4d9796d61bd88ea0e346bd3b2b102, -// 0x756e99f445eedb8d8810e67c4a4b07cdd3ef96beaf0db3b043b6b97200ef008, -// 0xac920bb187e5fb8ed74902183d96d24d546494bf70ecef8f760da541050f97, -// 0x86003af472abcc60c260d8495523fd8eb1b10fd6779a775f91a44c7974a517, -// 0x75d726705114e3dca0f3a85c514d4ab6e6ca39a339786d7a4b59da8430f6545, -// 0x6a0459c24cfcf15fd5a7d921a3f1574f914166777c240a371d38b23d14ca79a, -// 0x400a32bff581fa86d9318f18530425051ad4af547d8c867fa20368b55ab9281, -// 0x5882bbdad4dcea0b94b3c437f90ad617d60e84ab611b1987bc26c3a06147126, -// 0x382518d87b522c622b60d6b559ca5d056fab3be96459b45896794b752d4e170, -// 0x748463cbc39d5bac56dafcd48f1c70d9c0a083457b8bf671ff760c60203b85d, -// 0xf7f53934682b09757287f2f4e9518033a1adc73535ea209e72141dbdb9b42d, -// 0x23c8f3711ae8d10621a414a7b637d02ee9aadda3542cd68f39dcadcac2615d4, -// 0x3961c737b79a32b5a0a18fa7e99cbae55d133447ec03e6476b57e9fa3b51763, -// 0x4f47b78d7eb6840ccd3b758c21d74d361aef8f804da05bfe455bddee4623e40, -// 0x5e0241815d7d5046aa8eabcd132b8c0a36f1582c3395612e4cc82083198f888, -// 0x40226ccdc77097a416170a9f6af3b1f24abe74cbd5107df6e4a9257acf23739, -// 0x62c7bbac8a87f06b6d6d676256f33cf3ca479756537c8260e45ea2dae1537a5, -// 0x3e25ed15f8155c4a6843c192049496b98dd469ab9e36e6869cd54a72fb2528c, -// 0xed947a6fab7e6ba1ec9a374c2fbf7bcc7eff8063e81563b09e5b0f26b4e7e8, -// 0x50dcd8819d4b6d302469186cdd04f735f1a111e16e63f2730d5ae6d0be57615, -// 0x446122e5612f05bee84e465b29d88ad4733b0c44bf63890d3d710f0d2baf7d5, -// 0x1bf02e089d74c6d21e7dfc76c60f2edb8c936acde31f87eac5f953bb719e633, -// 0xc2701281878f2688c9518364c8226a8012f2444bca154a0152e49dfab86890, -// 0x2fcce848fb49b7f48ac9a202e3a442994d0c3ff8e479172781751b278652206, -// 0x5d5cf53181e0c80fb3fc4da821cacf29fd0ff92651e1dacfc8c5ede724fa0ce, -// 0x426524642478fb8efdc6be15767371cf2911465e9c780f9ad5dd902086b57e0, -// 0x6e13cfd637f806c50c2bec5fb730bc344b515b61c03667471d5597ae12f4d48, -// 0x6d41a02c9908ab91744bcaf071a00a69fe7b73fc6c86624b91139eb8671d0af, -// 0x2952682038b3b29bd07f5fb21013aba016d5b4cf992b7140ac8c62ad83c9a1b, -// 0x21e7cbf6c7878acd1da671b3ff9c66ff83b3abfa28ccd0fa024d8e998f73567, -// 0x464472b1f155d2a02aebcf25b95c92e37d9214e9985875bdfbccfb368acbf24, -// 0x3d633a646a00da5b1a93df5cb5be1fd0b46359ae57ce412f26e0d492be1defc, -// ] -// .span() -// }; -// -// let witness = TableCommitmentWitness { -// vector: VectorCommitmentWitness { -// authentications: array![ -// 0xc3e94514aa77a36f6a9f41813af8126ac136b4aa, -// 0x49f8b8b10637afb7a1ab9e16e4947f2ee50925f7, -// 0x1171c4b3e777a53ce4e578a80785787eedf290e0, -// 0x6f8906fff796ad3ee92e6a71da6c1d6f90c14eb8, -// 0x66acec1dd66bcf447ddb79fad03b607f367dcead, -// 0x83507326c500980ce9f1eedcb9302eb63efd2cd1, -// 0xcafb75d02d4420b068dbe310c231a364eb6724ca, -// 0x32a29b217b6cfa8cbd59a54e93cc3be081c7525c, -// 0x783da7ba22cea0655de35700d61e32f0ca742a3b, -// 0xf499c047d3b4c2f1fef0871223c1668891e9c1f1, -// 0xc75f3678e0a6898cad60a298b92c465593cff4b8, -// 0xe875e4ca7a783c670c8108dcee4a249d0d88e0f4, -// 0x7361a467d99da0c45dd651f9aa0c672f3c5379e1, -// 0x3dd8cac24ea1cadcdd4bd2bf96c1d0f45b63be81, -// 0x61052234c3c7f3aa02e1ceb14e0dadec863a3061, -// 0x373c3947410249b5f05df425644953c56f05d2fc, -// 0x7537f9a9eb2e829c6ec0f162ff30b2b2c6f4a1a1, -// 0xcc91a08de6a21a5c6564b086b538d67efeef0887, -// 0x798c38c634ea00e22a26f852c9cd26203ea59ea4076fc8c208fc5bab569c83c, -// 0x20d4266491c107a62c6f4c5564e8da08e7eb38f9ec6e21d03724e6b361586d7, -// 0x3a684219c93b08205f34f8bd790ba8276003e897ae7d3db112e431c2c9ba162, -// 0x3589cadac0b45ba4037942965c2e71affe8789814c51dea3b555a88cd88b65b, -// 0x32ee629c190e29af70c3fa78ae0cdf8c21be20593a82413f29525f7107e05a0, -// 0x5e9764bff3f67f2662431d01c0039bc4ebf7084693199640cba59d4f1152d94, -// 0x42cbe9322f4b51ba13c2bb569d0f56e773e8b06999f41e0c96ef803fe0013, -// 0x23257f3a9a77a193a9d9e666c339f0f2eca418cf6113591f872d77020530f73, -// 0x60282ff48b747703885a7dc50b9e4effb64d623fd2e55e65b74b3612cb983bb, -// 0x5ee568d1f5a9e734f7e8d9582b28d65578b0bb6e962c6ffecb8765f53936467, -// 0x71da72e33a552b0673d947368184e91fbe821c7a778b867d95bb6daabb13045, -// 0xdddbe37f039b62c7a62fa8a3abd59ff59cbca4619ae75e5225f6c019a65d64, -// 0x74f724293c954d9be3d868529d0a458fdcf5af70ea47064c14c3021e241077, -// 0x35d9a1b302ce8e4baede9b87ce4d20594daa6a790bac5401154c0f7d9e0e460, -// 0x69cf2f38f2f9b6934c0a626d50285b90bdf212e4c88f7cc3d1d14c60896cd10, -// 0x6e09a5800512369c61bd19179317231dc588124820711a0847611036ed54c37, -// 0x14bcad13570492e60c955faa00c2b7b64f717c0b98e09bd2405e257660527, -// 0x14f0bcfa619407fe8eb3701a71519adfb7e47ee08fdd30a0b3fe42adb005e7, -// 0x6e93b1715abb6c43ad9a53edc93cb82169218bc5eb30a05db26c104553e089f, -// 0x582f7a4410a3f721f11c7b84ba8eeb0c977cc5b50c9475be1754b6f89c5103f, -// 0x40690537dde7fc9e4e7cf591ba9c0cf30746039d876c5952e178f54c283d8d2, -// 0x208266c53b0a7f9a7eef284eefc9defa9928e89cee74fb6e8e1359825904a18, -// 0x7b6441354a2fe25338ab9b3d276ee1083243e45b4b59c5c9025e6c117205476, -// 0x2582ecbeb84b9cac9185dcb3ae69b34f7c81d0d41081e6e08ae43bd3a80f575, -// 0x29831cd49174b200360d531b696c6df6137ca6671296c43d19c3058dfef8b1a, -// 0x4fdac91a023f1194c9b7656a70e36abb64da59b70a83802df00998ae0d986da, -// 0x1883f444a2b5d284609d831b99a2fc5f913d934966b6a4d0adf99117f691035, -// 0x21ad817c22936856a66b316615b7cb143eff322392089fde1034b6caf25555e, -// 0x3de4488718e2d62b92c7741c20e912927c51cc85c3cc1b567b6d90612324a20, -// 0x60d7479c2a17294963bcaa345c1c23f5a350dd74621fc1fd464dbea83098f78, -// 0x3090a72e0ca08f7b020f7c50bf28c03ecda81238e893625728341ba5175d3be, -// 0x5b4c0d9bbd6fad0cde32faf70c04578842da6f46717ea8c54c6c1ecea393c3c, -// 0x544c72dc2ed7e8a85d10b12cc560f3841021b4b9d5b220804147dcd81d5ade1, -// 0x781560f19b30d624eaacd86602ab796b658b87bd16393c1e380316d7c8f0681, -// 0x1581fe147990ac48ce8201cb5df26898c34f64513990833aab8d195095fb1d3, -// 0xa3ab77aa3304446fc7906c6804f6e41b7475b44d1d514bea7b053fa0cd99ec, -// 0x1a4976701e30a8da11e7006d78fd54a57f5c0c0c11ed0e2528eaf2f1e5433d5, -// 0x70cedd6e0815d52a8eb3bb9b007064c0e01e76a90d49dc8d7085b3237628c2b, -// 0x2959838bf62c8b6794788a6eb0dcf0f21c9433296d11c6e50db7303b191fb6f, -// 0x5451cf74e325301151b8619ea36b0f96fb93824890e1bb6beccee389d1751d9, -// 0x24888459cfd1b337714cbeb948038839b96df854a7c8c184aff2bc2be8b212d, -// 0x33cf87a63fa8da0def4869348b26037933daa2388bb8aedbaf486b4ddb54061, -// 0x1288437b5b44db954b1b446742610f60cec1880a02cae7a7fede364e8727965, -// 0x1699e46fda5aa529f77b5ae3dbc5b169d49c251c79491abd60f255ebfb79ddc, -// 0x6cb88866e926a9d4d676e54d6b81c8a7269ebb11c711672afc90891bd71c9fc, -// 0x7ab12f69971869c61201c8b50666a59ea670acb589e62f9dd6edd6613dd2ba6, -// 0x36d4632bc6ac53824db01ef9b3a0e5468daa5787fd21092653f1728100994eb, -// 0x5e1647ecf18f144b71cc9e5cf5548ef0baa08f76f9a1f7aa988f85df6f107c5, -// 0x5be37d7dd734b7bda63d147a63b331bfa5948e2d7a0891538a0104e7538c884, -// 0x67b464f433636e77d1ce2fc3ea69ae3c72833848d8298e72632719da629ccc, -// 0x2ad1886cf0d997ed8b818621ddf942b13b1152d66304d9691ce663606cc203c, -// 0x939a14688e44d65015692d479f1fac3f9a35694e4f84d318cf2e56d56e213f, -// 0x281884e5207110fe5cea18a0017e539938d875a1d346f68f30045d55fe7d889, -// 0x5121684e8818763ef1093421bc9a16b2dbc1dcb7085d57b3281576f0e98ba0d, -// 0x62b861a7625a917d84568ec0fbf2087a09c949de4c7b6ee18f587cfd315bfc1, -// 0x10a2c664d2c0f4610ca376acfd75f95ce8b7269710f3378836ddf449742054e, -// 0x6737b42e2c098edb0153f2d41d1e723b1d430f1b1cb71d2ad25e064f362516f, -// 0x6a42c28e4829e583f57620d8c2ed31fb9ed7e0133e9c0d46f5ad2ccac3b4c59, -// 0x46041a733c464f3014ac33a41b34a124cad22c3e623bc1d510edff4c963dffa, -// 0x66d71854e56fba0f236dac60c169f09c61ec073c6a54da87a57a7ddd8656e93, -// 0x18c4692cd43a7452a3ac525367a5b56979e460f8436a7675c88875053c07161, -// 0x6ef4ac36f38e6b1ed37a0d723f6108148054201a031e9b72c666bd56cf36644, -// 0xe9219f736fe58404c500bda77042c76aa4ce9975a40ead8ce0ca250ac48086, -// 0x67306c39c8833e99d7553bff08c26a1a330c9f2dfa303964bbdf0e7164d3eef, -// 0x5b4aa324b6141f443655f02c9d0415348b3091452c5f62e66b02ecd6fc59760, -// 0x1dec1a0ec076a70952066179e0a3823f43268aff6544a7642289ac6edbd5ac4, -// 0x195433a62989ad8ffd0b190b46843bca2fdcc72a86ac5f519f08eea8bb7b296, -// 0x3322d792118766ede665fd6cd5802ffc4fb07ff1a7e073e15a71df4b8f1c1df, -// 0x1f9a1d7c36cf04e63f38c7f3a48233b4f28b12125a9ac92f2eb51728220d3f8, -// 0x88635e5ce988595ff78d8242c33e5e0c9261ddb5ffb93383d9c7e2de39599c, -// 0x68a7c0d05a8621d36f01345c034e55da86ba872837b0202f1621bcc523cbc38, -// 0x27edfdcfa53792dddcbf31ce0ea0b12cb2c1d4f71040796cc460b6b64ab52f4, -// 0x710694b2b36250ef6314269840db327e418440000c6ac605a1ab43c75b4f837, -// 0x14857a4abb12a5ec5a6b48e819ea2ecb57a5f3d44d848e60496af7aacaa087a, -// 0x6c22004eb4259a0ff99f1062395b252c66376a9ab6e56161c89382d98bd48df, -// 0x7274f06686de6b76cf05e4e5afc663a8718f787690f89f589f34c34a08aeaa0, -// 0x41ad703fe29d8ec4ff0d6803ceac3492a7aceeec7ada6ef818a0a6fa4b998b7, -// 0x603daaaa2b6827ca5ff703b2e7652abde0a89c31e2eb3e14dfd04510f4c06b4, -// 0xacc3de2007fb23f835a1becb7a68fff31080df8d99363b3579bc9b4b52ecf, -// 0x7b98888e83256b58d84e773b44b5423ea77726046115a0daef8d920f068ce88, -// 0x52c4a39918e388b73509f5c31260d975a7ac011227976ed4be3fbb7b51be9e2, -// 0x5d0239ed0ff6d5d3a873d112d217933b6d31f7c48a6695369047df6b21afbf9, -// 0x308c446d8d5fe7a184f5b5f03cd59d19abfcd1d623771e1bd740690cd378233, -// 0x154bec31809b0a7329eb1d7a3ffaa6e94fc3208d058735e81f4c4009457aa1c, -// 0x44711dbf24ed8fe7e5210e8b15ed359e677b591ef5939ef6ca2fa892e2a0fba, -// 0x450d05c6b5530a5880acf1bb9fbeb3ce2682d222987baf7156aad946b15adc6, -// 0x46b9ff8424e6beaf8fddafadbe1c472bbb6945a300460cb153228be1c5b82c7, -// 0x45579b13d87f7f6a335842175f40920952cb470069f805674d26c29dd08d037, -// 0xc3b6026fa76f77b8490d2dcad25b5ef2b5f49eada4ccc681eec136ff448a83, -// 0xc8d0f4135ef63a9cd8494ec89eedfeee012d6ec475e0861114417bfc7565da, -// 0x994418526c89febce55ef91dc4ef8ceb9d5dcdab746eb94aebb13140d0873c, -// 0x291d8087051983a343d3f6169022163ffa0999165e5cd47cb1b84dd71e33318, -// 0x530aba858540b6d570bcc45320bd543a452477737e02826f352002cba305a74, -// 0x4053ea849f58991ab779a131d58bfb77092e87ff2c80b75320e172988824a3e, -// 0x44c2702486b67360f8ddf016ba850e7a325903d7e3bf5853d5bfdc8505cd3ae, -// 0x70ed0a6c78eefbd2265dede23f3502abcd782edd2d5ae3580463e4c7076704f, -// 0x2a50bec0f7110c516368abde0a81206184e2f2fa01538f8cbb06c57536e1b55, -// 0x461bf8367593fc13e35c41446bda699b79c748f7df41868fc2b21041d45eaeb, -// 0x28a07d1bcf363266a921055f7381581acee8607ec1f4cf03dfcfffd70d580d8, -// 0x3549e6689d39d436ef656638e72f2b6ea4c0d352f6ab141926f568d050d1b49, -// 0x41cdda9f5eb3b7c9523d72155881c0873502118f0799b66ea889c5fbac8bf3f, -// 0x455fb23ae2b0cb9e089ffe7e951ae0be26aaa277155a1b71d4d4d2c7b46842a, -// 0x3f370aa73a0d3b32f3819e82f0ed6f12a0bf4e12492befb2034ddc6899408de, -// 0x4730cf627ae1a0c370faa34d5569d6364617814108a6e1e844e244809f7f191, -// 0x79bb0cb486dc0a7d7058884e2851c32ff8af081d454f332d7e4eaf1bbbf7b83, -// 0x5a9bccdbecf1a8beccd2d710957c3fed7581ab869c1ac76486954bccac5b267, -// 0x11fa619335e1ff082b482cd4e7a6f69cf77f969a298b3efbad6116082812333, -// 0x5adb7ed8c63c20884bb1c8ac49f8b08b0885ea003172718a0e7c3bea2e83652, -// 0x415f337c69debd246a942e06a1534d496185c37d3f1f04dbc18f19ff1cc68fb, -// 0x6e88ec7f3e9de925cdd0099c4a98f8bcf4fdf688d35c591e5b71dcdea08051b, -// 0x227ab6b7ac10d7cb0e7ca74489eba2ee51e0284ef0889833527a20fcbc85300, -// 0x71e57ed557bb47f7db9bc61f6458c1bb49559e81aaf4c53b2e8916b0cac29b0, -// 0x696faff6f3ed31936495d478e3bd6611e6f012803580e6811d028c4db0bf0ed, -// 0x69c89bf048993da0006008783d6c6efba96ad817b2c40fe194b225204b10637, -// 0x27a4341d105f47dac23491db73d7b9ddded0481222d3e3182871541562f0d31, -// 0x21a12954e99788363671fdfa45608f201ad28ff1a78816db6be552fd4d7ab40, -// 0x5e8f6052137444bc50152f59b4c7e4ee4383de708e202cae758f94c75706e, -// 0x255b8c17cbb39f1c134b9df3d84387fa4640bdae53d744a69907d260abebd4b, -// 0xac529438574ab715715be48ada2eda5e0b3cf7a9913b2a6477d7f3f09854f7, -// 0x5cebb8c8f427c2f740b8cbc725ea7895c878918a6ee672f0028d87be6470b84, -// 0x27122de701d85da00dd82aba83976259db377a69ddb362a8d45c6b7fd605133, -// 0x594d17d53ed09c87cbb60d8edbe6b06a0150402adb097b4fab3cc7e6b9bceb1, -// 0x6bd28199e854d6bc77737e83705f41e5f8e4bcf901b9aae6affb9a911f71fc2, -// 0x5e33c31d02f312a48584bf8626d8d09c081ee76f707f6f7e25875dc8140bcc1, -// ] -// .span() -// } -// }; -// +// fn test_table_commitment_decommit() { +// let commitment = stone_proof_fibonacci::traces::commitment::get().original; +// let queries = stone_proof_fibonacci::queries::get().span(); +// let decommitment = stone_proof_fibonacci::traces::decommitment::get().original; +// let witness = stone_proof_fibonacci::traces::witness::get().original; +// // table_decommit(commitment, queries, decommitment, witness); // } // === BLAKE ONLY END === diff --git a/src/vector_commitment/tests/test_vector_commitment_commit.cairo b/src/vector_commitment/tests/test_vector_commitment_commit.cairo index 3e2f94830..35cb4c379 100644 --- a/src/vector_commitment/tests/test_vector_commitment_commit.cairo +++ b/src/vector_commitment/tests/test_vector_commitment_commit.cairo @@ -3,53 +3,6 @@ use cairo_verifier::{ vector_commitment::vector_commitment::{VectorCommitmentConfig, vector_commit, VectorCommitment} }; -// === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_vector_commit_0() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// -// let config = VectorCommitmentConfig { -// height: 0x16, n_verifier_friendly_commitment_layers: 0x16, -// }; -// let unsent_commitment: felt252 = -// 0xa43e1b3b99d987d63116edc58aa49a7d510a667951852446419df5ede6a1cc; -// -// assert( -// vector_commit( -// ref channel, unsent_commitment, config -// ) == VectorCommitment { config: config, commitment_hash: unsent_commitment }, -// 'Invalid value' -// ); -// -// assert(channel.digest == 0x0, 'Invalid value'); -// assert(channel.counter == 0x0, 'Invalid value'); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_vector_commit_1() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// -// let config = VectorCommitmentConfig { -// height: 0x16, n_verifier_friendly_commitment_layers: 0x16, -// }; -// let unsent_commitment: felt252 = -// 0xa43e1b3b99d987d63116edc58aa49a7d510a667951852446419df5ede6a1cc; -// -// assert( -// vector_commit( -// ref channel, unsent_commitment, config -// ) == VectorCommitment { config: config, commitment_hash: unsent_commitment }, -// 'Invalid value' -// ); -// -// assert(channel.digest == 0x0, 'Invalid value'); -// assert(channel.counter == 0x0, 'Invalid value'); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_vector_commit() { @@ -76,6 +29,3 @@ fn test_vector_commit() { ); assert(channel.counter == 0x0, 'Invalid value'); } -// === KECCAK ONLY END === - - diff --git a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo index c42840da0..dea3b3e40 100644 --- a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo +++ b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo @@ -6,367 +6,104 @@ use cairo_verifier::vector_commitment::vector_commitment::{ // === BLAKE ONLY BEGIN === // #[test] // #[available_gas(9999999999)] -// fn test_vector_commitment_decommit_0() { -// let commitment = VectorCommitment { -// config: VectorCommitmentConfig { -// height: 0xb, n_verifier_friendly_commitment_layers: 0x16, -// }, -// commitment_hash: 0x3ce8c532eab6fcbf597abd8817cc406cc884f6000ab2d79c9a9ea3a12b4c038 -// }; -// -// let queries = array![ -// VectorQuery { index: 0x98, value: 0x67406d6bb8db3de41d8b7dd9896c85e6d69e951d }, -// VectorQuery { index: 0xa7, value: 0xa04e05c094e8ff020674895a8e87f2e9cfe3bc5c }, -// VectorQuery { index: 0xbc, value: 0x1e6d3c0ebe3b5b027d004491854b3f0d65ed3e0 }, -// VectorQuery { index: 0xde, value: 0x32c5b2dbb1c4ddf042f28957e05374d52fd89f02 }, -// VectorQuery { index: 0x1bc, value: 0x2c9bb403fe8e8bac0653f29385806918bd1fcf0e }, -// VectorQuery { index: 0x1c1, value: 0xf56fb4a5d883041b083ed09e0e6716227514cab0 }, -// VectorQuery { index: 0x1eb, value: 0x6a61fa5e145d3bb6bc886355e41f07f53deb8866 }, -// VectorQuery { index: 0x27a, value: 0x2b42bc4742c6be2f729de5ee226f98a6f1ac7849 }, -// VectorQuery { index: 0x300, value: 0x16c6e1dfe9a2861f9e104bddfc080a582e12bf37 }, -// VectorQuery { index: 0x3dd, value: 0xbe093d1e5cde50c05c920259ff84bfabf4b3b0a0 }, -// VectorQuery { index: 0x41a, value: 0xc7c4b092d8de1c9c0befaaf19ee51fdbe9999245 }, -// VectorQuery { index: 0x43f, value: 0xaa42411d4938220290da0c5e6fbcf16cdef04847 }, -// VectorQuery { index: 0x48a, value: 0x53cfb0631374186865337530371bc3129da3a418 }, -// VectorQuery { index: 0x710, value: 0xbc77966ffc759fbdcf7ff1d5ff9275efb49e61b8 }, -// VectorQuery { index: 0x72e, value: 0xaa3cc5a670b9f970f7dac6b7adb3f971456dfff6 }, -// VectorQuery { index: 0x751, value: 0x19b79813c4376f363b27a623482a01775a4f7dcc }, -// VectorQuery { index: 0x772, value: 0xbbaa216e8f9946749b0325ad463333f411c5ddd3 }, -// VectorQuery { index: 0x78e, value: 0xd6ba0eee61fc3a2c0d901e56e5a2539e7c38d1d5 }, -// ] -// .span(); -// -// let witness = VectorCommitmentWitness { -// authentications: array![ -// 0xe676ff357a733da543bb3d81e3aa60ca9f1063e1, -// 0xffc663afe730d87e8c5b65ff1c4e02bebfb45c5, -// 0x9ee28fd2b364c452dfc86e0fb15db982895abb18, -// 0x4b2aea8358aa2562fc75d90ff221cf7643da2d30, -// 0xe6ca528ff25b6a8027f6f186a6823b22e407d0f4, -// 0x2ffc0ca2d4c2a613decdcee120d7ce8bd31270b3, -// 0x87525e0ba3a6d4f8ddf4a7cc48deb7546f12bd80, -// 0x26d3a33a07adc85a684d7aa9fdf8b6f582b9acfa, -// 0xc65fbd68d029050bd45eb8e111a6f31f87c0b451, -// 0xb43296f2dc5b4c4d908b80789b193962be8db556, -// 0x9465cacc05be1a69f3eb38424e448a73199774d6, -// 0xb48f007b7760a3cc2056e5db6f3eca5c4aaa7c8e, -// 0x54f3688454cf9b399bca2139a865ab970b02e0e, -// 0xadcfc979b6dd3e142d5c1a6dd2f51d1f65651de1, -// 0xaaebcd47fccc02841f65830056d1f2d0075a6d25, -// 0xe45f1dd9110a7a0b3a6c157b841fd9aff4e66874, -// 0xa3b8e22670e0876ec1f042c974359444c595f1a2, -// 0x92693ffbfd0ad1f60d4f8843658f20c54fd11a5a, -// 0x7281b36fcfc367c94e83bdb8ea3e08d0142cd0d2fe627b80c73acef7e6a49b9, -// 0x3b5e95b9b0fadaf1031300d7c0d9f043706f4dc7f8baff7e2dd55a1a6c65b84, -// 0x2cc6a33256646a68bed5dd10cb782b229736fc9028ad7addb3ec487c38e937c, -// 0x296e424b9795e3f4f1e5c00d6285afbb4c797c6dd8624fd735824cb9fa8fb04, -// 0x36931e8cf7d2e8cae2087d7532f93c12c8ffa20fe5c7a02c9aebd2c0657158, -// 0x49c91ee3ddec4f62d4c5dd802317cfe81ba9009e7b46f66bb354019e284194a, -// 0x63ed1d118d536eedd9a286f4fc633b7625f8af0a2bdf6acbeb4e7462dcd734e, -// 0x4620a4b9fa50fbdd167b899ffa02e8965aa056d35086db2322d6a703c7ad15f, -// 0x475db860a575eae6424c0bac0039cd8a9450ea558211e42db402a826c14c1dc, -// 0x4c69f749f7b1a98b707ea255d786c43a944031f3bf9d2fdb4f5b1310c61bfa3, -// 0x1552bebad7cd328047b44545dfdb3412953d8548b7a65bf15f0f1ccfc98fc0e, -// 0x44557ef3c00fc68816781800bcf8ef54d988d70c8d22189bbd0415328c8eda0, -// 0x4ac53f19aa2254dc7ce25d541953e31c2c143069760254162227ce3d975b61d, -// 0x795b6fcf227eb5d19a4e01c5defc88ba05a65eebf23b9306a7513769d96d040, -// 0xdbe8fb2afa68997d0ae59711090a255bfbb5f5ed6543a5655ad79577a7aeae, -// 0x785cde61bda7ca4638d7759a0a742942eaedbf08d1269d36f373c3908964a7e, -// 0x7f0d790427a3fe91985b625ab9138e5ad2a05af440c26201c516a6ff852f022, -// 0x5cfc3623a36de637078f8daee039d624bf693db91f8fdb4ed81a41f59e09f3b, -// 0x453ff600781c3bb90b791d0a7537f31add3a733ba5ea5bc9887d4bab9948a05, -// 0x26befde2c0f7ad61a726b7138869d76f66ac68e809855fec10bb4e3fc846a0, -// 0x7ae21aa0e4e1bd6e63527d34e9d493e6b1943d769c3d970e1a6113fb8cdc509, -// 0x3c4bb6412da8c8cd9155cf27a22934afd270ce654486b15cd77813d1973fe7d, -// 0x765c40ad58db8cf29235128173ed93490d2fee999353fa4d1401cf734bae9eb, -// 0x6a8a36b56c2919a2c0f00485d929009d085c52583868aa96a87574e02ac19cb, -// 0x7c606e8d4c7a82c9b97c733908dce06038ab72ce1d70026f1458b8b0840162b, -// 0x94922071ef2d6c99fe9da993fa6b494e82a25dc10ab5d6bbbd71b28f58b9c1, -// 0x53f5dd1bb156b3744de60903a5e1b89fd202dfd0b1c50279c04894f6ab2d13d, -// 0x6768cb453416dfac3b0eebbb53efb0748e27bca54c0e870c58d9a8f869fa036, -// 0x16c12fcd3cdafd2f4328fc1a2299de4035baa36fe3bf46701c98558166f9b4d, -// 0x29cb2a1d86816e6e5ceacbd12c58088385d111cbec53ab677e38b56c3aeb350, -// 0x8247a109564a0dbcc9f7bad00e0f4131bd1c024e0f3b76ebb6b6c66b317b6b, -// 0x4751b9f7b400984dbf007960a0522b3696277bea06b4a950ef9b98fe0a8f08e, -// 0x22907e920eec443995bc55de7ebafec33320ae4ecd0a3dd8635e95ae3ab52bd, -// 0x7f92acf18e809b3d2a25deef9f176cfbcf1cee6dc48ac1bd1ccfb47f3d01a8b, -// 0x304fb4d291aa6db2a08cb4fa70e7e3fce26d927048a78a725afcad00eebe671, -// 0x7748c9d244881a114b8c225d3dc3c212377013fbe9bb4f681024c94c554350c, -// 0x1e6e1c4a459327339e22e2ce13a7e5e8b55023617731712613898f011237ed1, -// 0x51344e80e161f57469e4695e624b56c9989ce3fc4081a0a5e2c1e56ff5f4d22, -// 0x2d8af710272d1e39b101419c80f691346cc93c4cb41d457dbd6697e09490505, -// 0x69ad0f6fbd109ea3547b6606981197b802a920a319c61fa03ebee73c346e9ad, -// 0x5c0469ac2a93eb97c7cda4f82253280bd681a611eec612eaff3f91b81844aff, -// 0x2022f6794db246316b2d2e024e70008bd6ada94a1958b8e5d5cc039202d9400, -// 0x23c4647f032d7703fda9ffbb4c2c983323c11ce80412b2b5e3b20efa4d3062d, -// 0x37f277ff3e939433e79e156ce68004fe24741f8c1b9264d346919582117e3d3, -// 0x4388f543724d6095d53ce54c2b8fec2df52ed0830cff0df933181fb8e377490, -// 0x1f9646a1c35ccf8656ec727053aa7fc6a571ca0498bc22624f3e0dadc2e1bd, -// 0xad4cd2d1f4c6da0c831c51b13b8bfe987f61d369f5fa64bfc8827f607c96c6, -// 0x636027ef64d2f9ba05b3cf507f840c19f12645fb6a0db2a24b8cf1569191bb6, -// 0x43c8814510c36a011f1b1994275a928b66812d7c3ef14d93c31463339137bbe, -// 0x300b7133fc0cc085144a2a14e496700dbc4f8b583657ffdde33de02ef78191c, -// 0x7ba0d828caa7cb414640e08a2fbd789a8d111ec7883ffab5fd538c120c5a5e6, -// 0x8dde3adeb2e83b034a5ccc12638008362a24d66835262ad33caa211a6c9793, -// 0x849bf4d63ae4007169c0bd9f5a2b7f572ee2bcd188e868f981b5f4f67bd47d, -// 0x3ced5193d4bb228dfa19e7f7d46372d80393b242a72d48262e1a8594f623094, -// 0x325ba92845f1d7350fa4491e3405fde9ebda7c1bbbf7e066a2c8c10a6c680c3, -// 0x155b15335843b15e4b816ae7e6a340d452d6247552864ac53e39b56910519b4, -// 0x482777b78954afd4c3ac5ebb92f93a82af11652f50935960d6ac75f75674140, -// 0x6fe0d0ec0abe430cf7c7c32f15a7ae343796f6175e292fed589aea79b813616, -// 0x5618be8b708e7ddca48c8b971916c5fd9a1ba6eb4252e614ef88c4f2e41775f, -// 0x51365af55597548ba0f4543e4fccba8c6e1a7faf6b2e8c48af96dd16b48e8f1, -// 0xb5cce5205193c3b87dafdf96fd0de0cdac974558aa47e18e515841b2740b1d, -// 0x51a1cc3992db4da580a2a77277cd81e52376c266b8f8c585b879a2251d7439a, -// 0x7ca03ac5453cdeff7d3fb2742680345af326e92935686f84462de6f37588dd1, -// 0x3b26307ed64a35759b0b4792c1f74803627c6b31046ed9c8ff9cc9bfc5b2c0, -// 0x27a8f5d9f84205f8439338257462f4efaf07924aded94b419ec98c0be0ace0, -// 0x42223b23fa282ef6a087a92cc400d36ccc6e8d6d953e6d3144bd2f26505a6f, -// 0x4ef7521d71a61c9fc42725fbf3e36361b53046b68694ce437f576d079ce86f5, -// 0x35fe0ea431a96210926bbe2002d26c15133a0c2bb1d2c6ee31cec86af66922f, -// 0x158bfc28d59e25bf7b7a0e9995d1fe201d708db865013aabd6f19fb371a734b, -// 0x46b9fd1bf3be4660e16c85ae8854e2dd6a8d4203d4b19926e66b3a881553b96, -// 0x4084cc05bc951721e44cbc69526393ece2f17d2c3ed28675d92bf6e33c1c047, -// 0x4b8e7e93f3a6888142902582531d0659329a714727f26fa4bc87e4eafa1077, -// 0x2e9e738a183faa18f7bdce422e9f49318226b3b32d1d8410a48b1cab0875c5, -// 0x20f4db5c5abe20c948b151cc25bd4c2c001eb8a13711742dc665a21edf137fc, -// 0x63b799bbf4ec3241fe16b4a154194ccd9e6377a785527ed9365e725521ae17c, -// 0x365b2a7dcd62b7b0dcb2d10167cdd87c4ad1174dea6fac139d54a3256c0c1d8, -// 0x3e0bfea95daf7c3a3244e35549f078e029e544b9fe65b4548ec28fe8212b9d, -// 0x4a899f49847c782e0dbf581f89aa522e4114b42a741d5d78efbe49808ba91f3, -// 0x593e1c4dc6e2ed44e0953cf736581eda4cc6873859f3e1614c629cc58d86689, -// 0x12b4960751c2799461bc1fd9e8466c5cc1f2bb4e91aa2be4d7d1c87fb7e3d71, -// 0x3e3c1fc87c1b07d5f40b728ea660c6320691a1b596edd70d7a2b48bf8e66d47, -// 0x4a0eb250ff1e14199c95f1a942542e0ddb486317de03d033b6b03cf6a1f66e5, -// 0x2a768272e178821889693ea00ffca5c5309a7ee33b078a675ff2b4f3dd82325, -// 0x364195536f59b340f0f315fec7361229e4a61ae63e77d182dac9d54a2170296, -// 0x204636737aef25c5f4c8aa332e67fc3618e83a896f134f10ed929677bba4f7b, -// 0x75dfb1d1da06ef149195da6171b78ca57f21946e8920aef4da97c59581fc37b, -// 0x74f11bef16a2c8923231df2090b074be1c0b017f7f1f12f919f332c9362f82a, -// 0x109604ebb9ecedc292252882c8eb95d3ca041db27cf1d8a76ba6dfc2355a9c9, -// ] -// .span(), -// }; -// -// vector_commitment_decommit(commitment, queries, witness); -// } -// -// #[test] -// #[available_gas(9999999999)] // fn test_vector_commitment_decommit_1() { // let commitment = VectorCommitment { // config: VectorCommitmentConfig { -// height: 0xf, n_verifier_friendly_commitment_layers: 0x16, +// height: 0x9, n_verifier_friendly_commitment_layers: 0x64, // }, -// commitment_hash: 0x821aaa485d3fbdf7b0a06d773e565370f794c06bbcb4e23279a39544782c1e +// commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 // }; -// +// // let queries = array![ -// VectorQuery { index: 0x987, value: 0x52dd8c0a5ccccb7794f19f0ab5970fcd9f1ac0f3 }, -// VectorQuery { index: 0xa7c, value: 0xe2d57dc4618b581f90656bc2d52e5d8dea486803 }, -// VectorQuery { index: 0xbcf, value: 0x954ddc7bb2cee7d557ec4f9d59945b7fb6e48d05 }, -// VectorQuery { index: 0xdee, value: 0x9345fc1125947d5ee81d4718c0f47192feb3482e }, -// VectorQuery { index: 0x1bcc, value: 0x7220a5c1d0b8064cbd1209776fa4de6542d2df49 }, -// VectorQuery { index: 0x1c1e, value: 0x3542844769c27f878f6e35bb2e67a88d4c03dd43 }, -// VectorQuery { index: 0x1eb7, value: 0xb1c41a659a7c6152234cf2ca8cdb5efc72c9e9d2 }, -// VectorQuery { index: 0x27a2, value: 0x81784f9cf7ed87bdbac6dcfbf44af72bca353464 }, -// VectorQuery { index: 0x300e, value: 0x93092c78b03fd72c8b46bbe376e5bf462526cbea }, -// VectorQuery { index: 0x3dd6, value: 0x82ac740a3abb9f578a927c22a2aa511518129cd0 }, -// VectorQuery { index: 0x41af, value: 0x73623062ba1f6c257823894f018f5a27037eefe8 }, -// VectorQuery { index: 0x43f0, value: 0xcde4b028895fd2c9255ef97b21953eae14fdf94 }, -// VectorQuery { index: 0x48a0, value: 0x8d10a4ff032e5a941a7250cefa7a1bafb13fb26b }, -// VectorQuery { index: 0x7107, value: 0x9e82d5b8e92ad12c4b58db86cb1d1296017214aa }, -// VectorQuery { index: 0x72e1, value: 0xb9ab35b0d62e37527f06fe0160aa910a9ea30090 }, -// VectorQuery { index: 0x751f, value: 0xefe7b0257f9a7adfb68657b1d304fa32c270fd9 }, -// VectorQuery { index: 0x7724, value: 0xe445f9ed68e3f25b0643f9bad1a06347bc3a6aa }, -// VectorQuery { index: 0x78e0, value: 0xd8805cdc4b3b0e8a5b4840c64644abbfef95c57d }, +// VectorQuery { +// index: 0x73, value: 0x12346ea425a6aebc8c323a401410cc325aabaf99b54e600a7271f146488aa2d +// }, +// VectorQuery { +// index: 0xa5, value: 0x1aabe006a27bfa5f93bde192ff552adbef87058e62546c831ed14ce94866ac1 +// }, +// VectorQuery { +// index: 0xb0, value: 0x7205a2b5f5f403b8053b4e4ac65e2a484c007f6d118524fe28b7cdf2a56bb8a +// }, +// VectorQuery { +// index: 0xf8, value: 0x5d49462d844a3f203c59d39fa005cbe153c78e6ac831987f19c0d6dfae38fad +// }, +// VectorQuery { +// index: 0x115, value: 0x53d21587a9cb08d1b9402a4b8c2a9d37942b26963936200fea3122eaaf870b1 +// }, +// VectorQuery { +// index: 0x11c, value: 0x7c3355a75f6b36a95068b68d48e7539cd97531b7478e2cf7d2dc85b32bafc66 +// }, +// VectorQuery { +// index: 0x12f, value: 0xb6f3a522577229ac26f12df90daaf376afbd960ee4b0ab07f270bf9c5da56a +// }, +// VectorQuery { +// index: 0x13c, value: 0x174cfc44eb57da0eda6ae9407db71c5144940f05ef51f858bc8e229d15703e2 +// }, +// VectorQuery { +// index: 0x153, value: 0x2220da78b33e155482bdf0534dc30fc17fe059a7b9e30f710ee2681a8151484 +// }, +// VectorQuery { +// index: 0x1f4, value: 0x566b71a4f84556a3816d911c5dfb45f75cc962d9829acd0dd56e81517cc73b8 +// }, // ] // .span(); -// +// // let witness = VectorCommitmentWitness { // authentications: array![ -// 0xb0a447b02e1b4a1b347bc55447dccb3e5de98ca0, -// 0x892a03c1eeacd2c6d25d95029ff19797bb4e68ac, -// 0x913759543ddda4483ce45e3073010b5ff8f19aac, -// 0x84d27e7eccaf23c0d3ada2039f5daef268b8c8cd, -// 0x25028cc9c2166cbbe1db936b8d61affc8641e86e, -// 0x6d2f6dc2e0c5431e352f4e7224a18aa78201c175, -// 0xe288d8c704ab0701acd82c88b3195d899385327c, -// 0xd7ef3f40010f78c71fb3a5921f3bf12e8883c7b6, -// 0xaf5466d74a296db04371d9b4319072679df3ae0c, -// 0x3051a95adc35959686a35d3b88a911edd58cbf6c, -// 0x2d492c74ac266de638ef6b0e8c4848455d8d268a, -// 0x1039f1e7ca1c7fffffacd29b21562c63ffcbf131, -// 0x4c3efddc98969799b41705d51dfa826b961dce76, -// 0xeffc79dc8be2710b95e310ba6de6633192496dd, -// 0x52664ba11b6a455195c829272daae853c98ea947, -// 0x1dd54c186b7741d34782a040e99f192cd2d7aabf, -// 0xad697b5701f90e17580181ea8e5131d3ad1a269c, -// 0xa5463255f189bd2fbedc84681a4742eb2d19e2a0, -// 0x7506e7fc92336b65853b0484aad1fc5f346871678754ed345a58e7d7c043a56, -// 0x2fd9031b3e0d9733f8c64007e8797e9f4800f0525898f2d58c62a7d94bd9c05, -// 0x2b3b8b0dcad8cff9bd2251072e47aecea14e7ac89f22ef6f8675ce6fef9df5f, -// 0x780dccbb5fb5f525844b2396d313010aff50dc35ebf0f5d08e829fdcd8bdf1f, -// 0x45379e38fa5503a0089bbc345db8d480ecf9a6c5e480a3863f824332b9a804e, -// 0x13a8aede766e3ad1b09e1d9a9f7e0595d369d3a0358f6d4266a1a9e200c0521, -// 0x1eab3c03d38494f4ee5d7ab5484ec3e3f06f0dd1b7397ffc2a6814759bf9927, -// 0x4d79f8be432eb782666b1b8f75c43f45a8615a090ceffe89b66908fee53d8c3, -// 0x86e736d63446baf3ff05f5633014d329c43d3be06248179ccb34ba239e9250, -// 0x27cf9130a84e1fe1497d8c0ae7522ba508087c647e135fcce81f985facd62d7, -// 0x57665adbc7b286e2f5d5c2414ce78fea5ca4c142955a315301015b28d31d5e8, -// 0x3cc5818ef7c15acd44b01e2a624cd3201438bdf540d755e57829ebd555e8de6, -// 0x53e8751aa45335936ba48175bf08e665b15f3b1a3c226ac81b365d2c0e395c5, -// 0x7b6376b914445b0952d894b76b89a04ff6dd17a7413229f7d27464d33160b93, -// 0x84ce40f5a9bf3d3d28d0077189eca141e4aa6351a48dadd056f4bc72c1916b, -// 0xdf52df2f23001f5dfc8c974ee998ed382a389ac6278d5d5186fc639204033, -// 0xe482c57be8a9d338463fdaaf8774d09fc371e249740e6379468525400a751, -// 0x7c661f2d67471f85d580eaca6bb27b296c0c9f512057e9ee2f646ceef9d15ff, -// 0x681c2b863a73bb668163748af5c5f6a2b7f4db761f3b053380d0e0a5180a756, -// 0x5fde89fb56662b09381cbbf08880a0fc0f9e59ceabff110d022390326f21416, -// 0xa6f6b3b79466ac427cc1f4640ff83d183e4671a8380edfd8ceb012a83d9f07, -// 0x6d2bc396eba151e9214a9d47d54a69f1df58b03c940a7646d963a05b1e30191, -// 0x9147fed28ce017cb58cfa9278305307ee080540b7872e49851a38d1d216dec, -// 0x7c50140f5b020c8354aa88854877d77a2a2eb9dac7461b14ed64c00f9f35e7a, -// 0x2afcdf74e31c171d17196406083827422924d431289ffbeb9ebfacd47bafaa6, -// 0x28b414010d49a3dfb9c613754e2246a1bdf14523e12edaa7a9eeaa39d6601ca, -// 0x44391753cd6e36654d3c706417fa48b9e8b97ffdba1baa1a2d589ec48a9f662, -// 0x71972b880e34b976de3cd6c7430f1f515cf96600ba564765f832124a036b660, -// 0x2931db2901d6915ae12fba763c8524ec5a53613ae9b6bde8fc1a2343d6aa459, -// 0x5bd9b692b3d7158dee8dcd479389bb37a2d62d0622c5ebc4f8b232d1555fdb0, -// 0x36a37863614f66d0ad1ea5fc0ca34c84e9db5676c72cc965e5a57cec830ed8c, -// 0x30962fba70ce97fed8a9785975a044e88cf8bce73706a2f92a0fd834e577036, -// 0xcbac60936295ea56320fb86d2163f0dce9c1a7ed6a2d06b843527d39626404, -// 0x6775d90fef7ef22aa96cc495d0835e64e6255f1e9145fadee95baa6ff9f168, -// 0xe7f2260305cd693c71c9ff8c0ac26f730b21c4d92c03d380c011ea2ff58906, -// 0x5dd0eedd817c5ac76b1491928c646609881022cc73b1799a9af82e51dff2ec6, -// 0x3d6b5d86abba1de26e3643b315d848ddd831157f85d0baa1e01309bd1c76de, -// 0x1a1dc9db2b65ecd4dde2cdaf57ee011f95de07828203211c98814e5d4bcb37c, -// 0x653e0987d060480a1d0f1573fb76ef4ea7841b19f61e14e18bcbd0281758a79, -// 0x7ea281d8498e5706f07e8f24ec9e73bf886677442dc36a04d61ba3c1b803116, -// 0x6f7fde7fc38ffea543cb5e8c667d1e0da43c0aa9d62475f126ff33fc7a07b4b, -// 0x3005b649b84d3c330d6c5ae7c05b45b9c09bb732ed58c314a3b80c27feb4c9b, -// 0x1bbbb788ce8a0587a333838f7a36b7f3d0d78d0123d00524e0f83e39686d9fc, -// 0x53ad82776d9626403051a40587cf690d04db746ce9a3a58c03851e1fb5e84b7, -// 0x16e4c3fbf29b67b2e157dc0b6f0c9ada835b97033aa229814bb2fdb467fcc98, -// 0x6621d4a5e7b8d3d3bd007035e4d41f2dce4eca9f5bfdb9f089c3916355cf8b9, -// 0xe9904de0d4b22c19dd206ab5de3d1a6bd8afe5d02b6cbef7ad5a17287b4ce9, -// 0x5df75d05c531927f35bca621ef1b463c0160a7ec409d01482947c9f605a6a26, -// 0x359d5c38e66975ceeb739a3a8f2d39a7ea4c01bc50d9ceb40f0d43a93fbd602, -// 0x610fb1edb0059777e19cbaf20ad53baaa91af0cb7fe0ef5b3976dbefc91a64a, -// 0x2f9c99dc5b29c06d84ee649e1eb35990a7ffcc8a8601da6fb680eceee011046, -// 0x37be9614003c140e1255912924fd618d1eee244ab69d2673620734e8fd29d06, -// 0x5db9a3f47da773370f5c18c838703538aa4ca987aa311a8986f72e730c4289f, -// 0x29f90f26bf1c633482ab0e806200145d73fd0784be8f361a332b9233ed09c89, -// 0x436ddc1e75b986e6ec69763376aba5db071587d6663ce9542a7385d1cdc6558, -// 0x5a7dda65665b46c22f23299d244180e26806c0535a0d53f2abfeab1da88feb5, -// 0x679d4517fec1b0b64f12aac4d359400ca93dd4bc4963ccd3821ffe5fa2c2f2e, -// 0x845ead83d9c3300e39a1dc5560bf2689f56a6c89091a128c5941430aa61e3f, -// 0x340eda7c96bcbf05c25d283772e530cbee6361e9022ad4d68a79e10f1243067, -// 0x3f0b1548439276bb579b8a82a8b8ddff592e14ee264fca1ef830757690a4ea, -// 0x40f25c75d8bc4982d37ca63774cda73461c96188571b1c96b6e345e0debfb4a, -// 0x4eeeac24be93d35a1b895b4a7c09983fb5362ba74296cade9c28128c2c4aba9, -// 0x5b6283a2ed987cdba929ac0bc7dd62fe8ead889af29c1b669467685616b999c, -// 0x3d0c0ff4668ba4ed193eed13662b2b56ff121be67e4f36101a8db3a8db4ae9c, -// 0x6ca1a8f5c122154cb64cbde2e8f76f0228190aed478e1967035472615d11a18, -// 0x1dac45bb8d7447e5b156b0262c6678c6536d4b8473808f235a7b7063e524c3f, -// 0x73ea9cdd32d515d67b583a575ab668d541b6583e0444af130488c7392ae73f5, -// 0x265e7573031568729cf0b9a048e67ad2a042cd946f0eee9cc793503ec16e8bc, -// 0x2ddec60be45cce4484af51a7f3bf86e83e120196d761dca978a6b8200d5ee2b, -// 0x7b43c1ea945be57a2dcc25b548b9f8507f8f48e9c0c1cc496b9ebb91c32994c, -// 0x674f25574f0aeb5020b15b3a740d998ea70ed8c784252e892498d02b837f60c, -// 0x4d9b611b5a427dbcd4284e10e6e77a6c26ad8b271d601f4b6d479ccceef703b, -// 0x1f910fb44aeaccf25dcadcde0989c21083deccec3082ba1007260c457054ae, -// 0x2bc8a629bf5998654c5f8e30e40cf2e35e7856f6df46500e8fc5a72278d2556, -// 0x4ca4dd29836c3e84b1d246682e24e32d7821072144dffd10ad8bb3d5c72959c, -// 0x747f042aada6343a0e2f67c2abca9e414939379a4867c019a076214a2e2b7c0, -// 0x7d34eb7d9ab2f38f42b0c377ad272b1db996bcd009af9f837ddf37c4d98f918, -// 0x7cabcdefa8cd4bf15c94dd8c9dca629dfca1d728a2c1b9719a4f8ed3c7efbb8, -// 0x6133e7870aa62a810658e0e6423fa5c94fe3a9bf883a0bbec22f477a92ffd32, -// 0x5b0cd0d9e876e036db1a9d8232e8622525445122a662ffd8530cd24e8c9a768, -// 0x7c5e1ff07b9b78ec333e8a6da9eefe8d6753f304a2ede230da38f17faf78afc, -// 0x30e7a5b56a568020f9b48c489783019c45a22074fc08dc64e00261170d09485, -// 0x62aaf59648624d703fcb6bc8d935e9de5c019d9315c33fd002a97ac7b2472e0, -// 0x20ab951e5863d67ec5ab6ae434cb3513d9745d914bee01ab56012e4ab7e3975, -// 0x656ed3296eebb67964b799bc8589dce7448a1087a54e130b39ed7a3555af457, -// 0x3f44d393132b76cf30699b24d213246918b05e9f413c8371ac7d730b7f29303, -// 0x19f1fdfa391696368931ead5f8e6b6fc67d7871b311636a16cf7213f95f978c, -// 0x38b035861a027f689c6c5abc7953a5c81d2800cf40da041e19c1868775002b7, -// 0x6011cc2b8920985eeb3ce5bb865abd570f766ee2bf0be0790cafc06fbad09cb, -// 0x677207c9431bc1818646785d5f6c709261a7f472486020d1a1103580de852b0, -// 0x68b25bcc8b31ed62b76850ebb82186f30e05a55dab1526c36074f764a851d83, -// 0x6d93176f9ec8cad58f1a9e4920d8cbf11e2b786a0a5aa0ec8534a4012122016, -// 0x11eeb71224093f8c65ff5a29751c1a1ccb7d330e25abcb6bc9c863826fbef78, -// 0x4932c523d1a1e90c5e291f62aa389854b871407255c8204ed79a4a719f58b12, -// 0x3710ba91a40e7b55ee81007c46cec52fdad193c1c11ed191c5c1dec4f8d91e7, -// 0x888f15b9ed73a0fbc0cd291ec534d177eb68169e69b930fe752d3a2ca57b60, -// 0x531e8c6b90a91f420f1423ad75d4fa30b3dd5e774e755f82e064ccbcf79f0e2, -// 0x2a1582e60ebf2d72bb80df062bf1b6046ff8dab804c4e6a1d6e926f77d69f0e, -// 0x258dd942e3c04e955f7682a5e4199dfb28831ef35a8d0963fb8d66c3d9e0653, -// 0x37466b659d3c8bbabf606a8f2ae373013aee82978cb51fec221e631e9683a4e, -// 0x3dec2efed3f80a611f53dcd1e00fb56f1b496144402e390ea0a5bc5a36a6ff3, -// 0x70f511a3ecad9fd4a81b2bfba2877b2e60ee4b2771d1a2db02c212734d12852, -// 0x93c7e4a639ab31d5b0dd6ba9a691facc5c77d0f386f124b97c8f7c2497cf33, -// 0x316db6c5844d662d614810bb73de2bbe6331fd2e8da2312a869782e87a1e588, -// 0x5873c6dc2317906755f9dd1440175b3943fef5001f387c07a69b3b521041268, -// 0x560a783ff7e8cabf8fb67963c50928384dbcfd24f027084f79467ad4078e981, -// 0x29c0fa0b9202ed7cd6947c40f123425ecf0cf33d1c3e33aa78942392a213ae5, -// 0x64af7b21f1cd142ac2c5a61de120424125022379ffbd81d7899a66ed1fe2f4, -// 0x14c1481da77da43d04347572ad9a7d95b816539b4b3b2c03f4e9a252ee016ed, -// 0x1c4478c8e7197ae898d3d86cdd43eea29dc96674a85550ff37cfe9046a57908, -// 0x4b25d9a0a19908f79f7a91e74a3631a9032d5ce668f3c2cac20b44f93268809, -// 0x877ab7bc4de0c57540715263b5316d004260d117eb01b830b471abc0a8fff1, -// 0x73b5678163f66dae5f10bc84b998e8dc85c5f497c7923e7095f1f47096c3d30, -// 0x14be7aef1f6af50fbca1c715dc285d74aee672c8497c54d635aaf3878e46f00, -// 0x2b462bdf0759cb5e6e39ef9cfd8260c1dd080b8100124135a64756c37cddd39, -// 0x6027e11cc5cc5b920732987771178c6fe937d65186b4df909b5ab9924a6f2e3, -// 0xef1cba1431b83f7493a7191168f84bae152fc9b7bd6be69fc1d936363de9a6, -// 0x3e0415a510ce0f0e5902779f4827021fb14e86c14a91af7323c597df6841c3c, -// 0xd7a263b6f44bc7ddae58504ff1e9db058f948f667630793ae20342f92a9b65, -// 0x146198bc2ffbdec9104a02e73179591b68218957fde65e98c7738253d0b1920, -// 0x55ec7c90cf13919859df147fe0fd47367c11bf03489cc8f81d9db5c82ae9196, -// 0x3ee3e8a7fa3e39072b862e5b7e22b6d1062a8318fedec260a21c4a43c50350f, -// 0x4f1346c1d2180130a75f03332ae60ddd156c5ff9210f883c9c788731d6e1ae3, -// 0x6a68b147371ab00f54b8ecd0db21acc74c466faeec1e096951d1583ab40d66c, -// 0x42c32032d56766be1e6bbea6e411d42cdc09c6160055424d6fc8c498e56deaa, -// 0x1c2a1fafca032a66d72809d385f21e31fb9f782e8c205cfafa49bee4cc733fe, -// 0x6856dc7be18fc7422553e56873ba21266bc1ac33deed8bb967ad59d1fd8b48, -// 0x6ccc14356b42d548ed81d9e7e8221a7c47372ef9cd1a0e01970c2675d2f22bd, -// 0x5bece8fc9b7d80d1cc6ca6803e3e3387f5c616812aba57f107fbe3b432588b1, -// 0x7eca089f5e2b5a60dc0ab8acbddbdccf262db053a77bfeb92926134da205304, -// 0x4cfc657b820bb806e45e6687f902da16916e972234ff7b2e7e48eb462184f5c, -// 0x74210bbd1a12572a7c33284b95bf35fe562fc641f4093b875c4f38458cdde9e, -// 0x5e676e97b599c1144c77d97cf6c6a1f429e6b6e5ece6b1d88d7f05b2168637f, -// 0x69fb65a12bf893a6865f21031786ea19a508a3404b5d3dd7ca5b4608ac42b96, -// 0x47daf513b912aa2c7261745da5203204e07becfa9b32162a81169b3ef2df45, -// 0x1f4aa8e52d2287aaa05708a375942d87fdc02360299040a841917a92ef48b72, -// 0x450f60c17186331d30b54e47b86653985f58619cf22c03decf543641b5326f3, -// 0x14fe73c7018ec5e11274c86eecc8a2caa07c2e99150e62248051ed496774785, -// 0x601b015c7c94d5308a912067f7f1053efaf241c49ddfe45ebc3e8e2ca6800a6, -// 0x65df0f3cdaa9fab092b11ef17af479be566a040bc8d13d20ef016e0e51b271, -// 0x508e3ee800ff3b30334419e2058af211292658040eb4d524a78810a3443dbc0, -// 0x7e6853f820c12807064e549ab85cc771d156c72c00de8d2e45ca7465b48919a, -// 0x62b7d217cbd75cb2c321730a3f5fb12c383bbd5f1ecbbe9631feda95adafd46, -// 0x1ffeb177d5ba5b765816d0b8efa33ac7a9032c83194326fb298c8af0a2a1b3, -// 0x2e1fb7e47b42ee71beac44c4b7efed9048f47f6dfb19f09bc9184aa5f0a8aaa, -// 0x7bfb6b6d268e28ed4288f18209525eedb8103907251093ba43d73aa9902b121, -// 0x3d0021701e0b2cef1165a6863634d6c2fb0c21f9bf037b6b33516c0e043cbb2, -// 0x2fa6fd5fd8d69f9d97c4a4527fd4ecc1b1c1455650d756e8f5c91909667c002, -// 0x169f5a97ea7061d1919aee999fc085fe71ff8d7d9f015e97b057f579b6d395b, -// 0x5616d5704ab7a5a8a298413965555f8cdf6b8c66c6589034a68c8431cccfa8c, -// 0x3b0fc82a6c0ef3dd46bb5aa9d2b2a447b0d751a686295108b5e08c4ee4041d4, -// 0x5f16cb2372eddee9e5d94912c5d1065216700c379e3ce5185d87a341f47e30b, -// 0x40582d40217f8bee3419dcd3580fe76a606a5f1962cf36da858c6eb8fb63dff, -// 0x7d4367553bfa4e42f6dbb5aec103a19f9eb672c3463f362f23dea6f64221cb5, -// 0x13c4332ef9a002c119674501497e1911260376d447769445b1fe7bb0ffc4e2b, -// 0xa4e5df371b112b44a04096dc73274c0ab319db7696e10e20b4eabea4a4624a, -// 0x35bd8a5d993b3233e3717a879f3b80a04262a7a776470523e83c2e28630cabf, -// 0x62da0c4d1e8da86fc9d51649becaae663eaccd994889214ea2f7cddef854484, -// 0x6cc281bd4f41e94f605a3d41068d8eb5031d07493c8dd25e3c6f1fa8053c22f, -// 0x28a02fd182c26d2f66e3703ab43ce59b348ca197b8c923019a1a0ce19d90e31, +// 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, +// 0xf3fb7305323c5fa68ad49a509a9c470e2396af41bfd2c9cf86228504436a3, +// 0x9dc63f0ac48b17304af16748798567f21bb25f8cbeaa48a462a74b3e0c5d79, +// 0x5d35649398cb24bc00458a32d01c61a8450c7a30cc5b95043f4e2b30df01360, +// 0x4493f60ea79053f2a96439d50d6335fd35e13599190e1656b724eacac658e37, +// 0x7f58b9c9c333dc5b31e3ee5e8a98d8cab0c84b3a886042b279dc2f2c408d92b, +// 0x349a976371b7aef1b1992908fefa423b9e5d4d0be58092ff6e5ead51ecf1ca4, +// 0x3ffacb144085ca3c572a314c6bb0e01b253827231285fba4084e3b624438ace, +// 0x55d22158d5bfad58ddf2633f24a3fae4642afbcea1cb9155e8b54c2a432fbfd, +// 0x63c1598794322bd8f1686e89c94dc60b0bb4f7940b5427af72187091e71ef63, +// 0xebaa8e9ab29cfba43cdc1f2cacb9cbc08b2cb17317fed571718e5e66b42488, +// 0xa31370f89d85108378244beeea13a2b2c379d16cde55c2fcd674f4296ddabe, +// 0x4285440535fff0ba31e970a1948a09951ff740c91c6d6cf4635527877c55ff1, +// 0x49eb1420843ac1a3178010c314906d28f6118e8b36620ce4469dffca27a047d, +// 0x4e65200356931c3ea1e20e087b5bff96ba268239ed2e2f784def64f5760418d, +// 0x103809d798aab5452c77f42bc4c8fcfcfa9e6efdfe24077e41928a52daf1dc8, +// 0x4253b3498a013d4473d43686f9e509be7541daf00afae0d7216f7019bc75d8f, +// 0x689297a643de6bd5955e314f94367af901eac67eeef51a52e40c0205cf8023, +// 0x2ca9dcef95643af6ec5ee055d1a05720f2e3f5e6226de5b206c4a78482963b8, +// 0x72fbddae565406f284bb4dd89623c29c821b6187dd7dfc292dbbddd4094077, +// 0x30e5ea3c2280db52829548ae99a71faa030b4e4bb87679b427f76c594aaa05a, +// 0x45ba1eda942e1085af97db6e189996903cfa09db90e52b4589e16df981f1601, +// 0x8c36a69368bea30f8ecf7de3e461a03b0cdd004ae08a3d44281b093fc63f2, +// 0x5c7194878dcb2d4ba69da97c1a878f96dd78d97612c882ba7179bafe92a6a90, +// 0x20c37b922bb713f2b6772a9ae014715f418fe5da4d53fe9b00cc2fe851f233a, +// 0x3a7e7c684904e82bf0be54290299b6d83f448bac5c6e9ea4d1cd1e844eccb70, +// 0x1ebbb30dbcb3b4fd0da33cf84d456101bbe9147b1a65507901715b3490649c6, +// 0x1409c71e0dcf4a620856775508ce1b4c7d55e4229ac5fd41a3f8ecee097eb39, +// 0x18cdf340cc64b00bf134c9e55396f79eddfbda8e2090542380c5c4967ee790b, +// 0x18add43c036948c8d7e767ae22056e1f5f1a9d1daad6b9a8f2e7da996f4a1c2, +// 0x30e7224d1c98b75e019b60bbe320e358ef35b1adaf12aad044744e640c2a4d, +// 0x25a8793c928ecacb2e84802830fa101fb3839455957921ed7bcb39549b1f80, +// 0x65dd0f91032712c4a8b1b5c35cd6ebdb654efb5e56085a2eef0def4bde4d066, +// 0x4a50e2b14315602b8c97c9d2304db828806c37b751203bb7dad534d7b45d21d, +// 0x5afdcfcf55c58dbf5ad58b17f16514da8dac3e69501fb399c30333ab3050c3, +// 0x20f5ecf9107f9d3e33f462948d955b70d5ec5573a679ae548998c41b5eec730, +// 0x1f70d9f6c203312c6aabf4d191cd4cbc68f8c92bebf561cb8e20ce9fc07ef55, +// 0x14e877449f7005ee874020d6759ce808345e20c3fae4a62e7f12c2c457f71ec, +// 0x780b4537e060e0f1e88ca7337d5d43ef2d4bbb4b48e4899c55ea9a5e7120b5a, +// 0x608a4544987ef3599043e9a8b4aa0598f8d71dee81e46104ca6ac186e2c8044, +// 0x58cbd95dd12e8761a99011f0ae970fe73e03b7d7e43b614510ee7a6a2efe7d3, +// 0x5c533c05cbf2af6d819bdf23272e567b7a49c2c2bd799201ed0e32ce9ff092b, +// 0x342bb671b7d40601d4031045068abfbf2c578f7e4a380e180dbf2b0c8fef6, +// 0x2da269eab1f7e247c0caf3bcac1bb0e5e7abacde34bc54a9de3e0a82a36cfff, +// 0x117cc37e078928598470cfe43e1b6c66c6365d1cf601bc5daf1055a0f8210db, +// 0x4640956c2daa074399825b0404260bee0898f9d24b1c807f5c43159e7a9b019, +// 0x1da36b1fb01d0470d48c3eb4c92263eadb7b58c8829f2ee77e3287a6e39c902, +// 0x78dac96e95e86f83b4a426bd0505d84b5ea967822d0fca9f3bd28331164d94b, +// 0x1d50c82e363d8e7fa2641c9f2137b99832372d1879a2ee02b2c824a4cb620dd, +// 0x2fd5a64db6093c9efda84ba327a43043e41310626073e58331c9f2f9f2db20f // ] // .span(), // }; -// +// // vector_commitment_decommit(commitment, queries, witness); // } // === BLAKE ONLY END === diff --git a/src/vector_commitment/vector_commitment.cairo b/src/vector_commitment/vector_commitment.cairo index 1baedc59f..720e780af 100644 --- a/src/vector_commitment/vector_commitment.cairo +++ b/src/vector_commitment/vector_commitment.cairo @@ -33,7 +33,7 @@ impl VectorCommitmentConfigImpl of VectorCommitmentConfigTrait { // all Merkle layers use the verifier-friendly hash). assert( *self.n_verifier_friendly_commitment_layers == n_verifier_friendly_commitment_layers, - 'n_verifier_friendly... mismatch' + 'n_verifier_friendly mismatch' ); } } From e6613fe9919c4ff206af99a135ea936e5466ed3e Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 7 Mar 2024 12:47:49 +0100 Subject: [PATCH 35/48] blake2s fri tests --- src/air/tests/test_traces.cairo | 116 +- src/common/hasher.cairo | 58 +- src/domains.cairo | 11 +- src/fri/tests/test_fri_config.cairo | 4 +- src/fri/tests/test_fri_verify.cairo | 34 +- .../tests/test_proof_of_work.cairo | 110 +- .../tests/test_queries_to_points.cairo | 31 +- src/stark/tests/test_stark_commit.cairo | 72 +- src/stark/tests/test_stark_proof_verify.cairo | 46 +- src/stark/tests/test_stark_verify.cairo | 38 +- .../test_table_commitment_decommit.cairo | 38 +- .../fri/commitment.cairo | 32 +- .../stone_proof_fibonacci/fri/config.cairo | 10 +- .../fri/decommitment.cairo | 72 +- .../fri/last_layer_coefficients.cairo | 256 +- .../fri/unsent_commitment.cairo | 13 +- .../stone_proof_fibonacci/fri/witness.cairo | 2334 +++++++++-------- .../interaction_elements.cairo | 12 +- .../proof_of_work/unsent_commitment.cairo | 2 +- src/tests/stone_proof_fibonacci/queries.cairo | 36 +- .../stark/commitment.cairo | 276 +- .../stone_proof_fibonacci/stark/config.cairo | 11 +- .../stone_proof_fibonacci/stark/domains.cairo | 6 +- .../stark/oods_values.cairo | 270 +- .../stark/unsent_commitment.cairo | 4 +- .../stone_proof_fibonacci/stark/witness.cairo | 523 ++-- .../traces/commitment.cairo | 4 +- .../stone_proof_fibonacci/traces/config.cairo | 4 +- .../traces/decommitment.cairo | 281 +- .../traces/unsent_commitment.cairo | 4 +- .../traces/witness.cairo | 928 +++---- .../test_vector_commitment_decommit.cairo | 218 +- 32 files changed, 2686 insertions(+), 3168 deletions(-) diff --git a/src/air/tests/test_traces.cairo b/src/air/tests/test_traces.cairo index a93d45fe6..6e8ce5cd6 100644 --- a/src/air/tests/test_traces.cairo +++ b/src/air/tests/test_traces.cairo @@ -1,92 +1,92 @@ use cairo_verifier::{ channel::channel::ChannelImpl, air::{traces::{traces_commit, traces_decommit}, traces::TracesConfigTrait}, - tests::{stone_proof_fibonacci, stone_proof_fibonacci_keccak}, + tests::{stone_proof_fibonacci_keccak, stone_proof_fibonacci} }; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_traces_config() { -// let traces_config = stone_proof_fibonacci::traces::config::get(); -// -// traces_config.validate(0x14, 0x16); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_traces_commit() { -// let mut channel = ChannelImpl::new_with_counter(0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0); -// let public_input = @stone_proof_fibonacci::public_input::get(); -// let unsent_commitment = stone_proof_fibonacci::traces::unsent_commitment::get(); -// let traces_config = stone_proof_fibonacci::traces::config::get(); -// -// assert( -// traces_commit( -// ref channel, public_input, unsent_commitment, traces_config -// ) == stone_proof_fibonacci::traces::commitment::get(), -// 'Invalid value' -// ); -// -// assert(channel.digest == 0x39d06a4cd9e64c43aaec44a5415c4cbdf530040b2fc82308ceddb5f2be39dd5, 'Invalid value'); -// assert(channel.counter == 0x0, 'Invalid value') -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_traces_decommit() { -// let queries = stone_proof_fibonacci::queries::get().span(); -// let commitment = stone_proof_fibonacci::traces::commitment::get(); -// let decommitment = stone_proof_fibonacci::traces::decommitment::get(); -// let witness = stone_proof_fibonacci::traces::witness::get(); -// -// traces_decommit(queries, commitment, decommitment, witness); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_traces_config() { - let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); + let traces_config = stone_proof_fibonacci::traces::config::get(); - traces_config.validate(0x14, 0x64); + traces_config.validate(0x14, 0x16); } #[test] #[available_gas(9999999999)] fn test_traces_commit() { - let mut channel = ChannelImpl::new_with_counter( - 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 - ); - let public_input = @stone_proof_fibonacci_keccak::public_input::get(); - let unsent_commitment = stone_proof_fibonacci_keccak::traces::unsent_commitment::get(); - let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); + let mut channel = ChannelImpl::new_with_counter(0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0); + let public_input = @stone_proof_fibonacci::public_input::get(); + let unsent_commitment = stone_proof_fibonacci::traces::unsent_commitment::get(); + let traces_config = stone_proof_fibonacci::traces::config::get(); assert( traces_commit( ref channel, public_input, unsent_commitment, traces_config - ) == stone_proof_fibonacci_keccak::traces::commitment::get(), + ) == stone_proof_fibonacci::traces::commitment::get(), 'Invalid value' ); - assert( - channel.digest == 0x39d06a4cd9e64c43aaec44a5415c4cbdf530040b2fc82308ceddb5f2be39dd5, - 'Invalid value' - ); + assert(channel.digest == 0x39d06a4cd9e64c43aaec44a5415c4cbdf530040b2fc82308ceddb5f2be39dd5, 'Invalid value'); assert(channel.counter == 0x0, 'Invalid value') } #[test] #[available_gas(9999999999)] fn test_traces_decommit() { - let queries = stone_proof_fibonacci_keccak::queries::get().span(); - let commitment = stone_proof_fibonacci_keccak::traces::commitment::get(); - let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get(); - let witness = stone_proof_fibonacci_keccak::traces::witness::get(); + let queries = stone_proof_fibonacci::queries::get().span(); + let commitment = stone_proof_fibonacci::traces::commitment::get(); + let decommitment = stone_proof_fibonacci::traces::decommitment::get(); + let witness = stone_proof_fibonacci::traces::witness::get(); traces_decommit(queries, commitment, decommitment, witness); } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_traces_config() { +// let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); +// +// traces_config.validate(0x14, 0x64); +// } +// +// #[test] +// #[available_gas(9999999999)] +// fn test_traces_commit() { +// let mut channel = ChannelImpl::new_with_counter( +// 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 +// ); +// let public_input = @stone_proof_fibonacci_keccak::public_input::get(); +// let unsent_commitment = stone_proof_fibonacci_keccak::traces::unsent_commitment::get(); +// let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); +// +// assert( +// traces_commit( +// ref channel, public_input, unsent_commitment, traces_config +// ) == stone_proof_fibonacci_keccak::traces::commitment::get(), +// 'Invalid value' +// ); +// +// assert( +// channel.digest == 0x39d06a4cd9e64c43aaec44a5415c4cbdf530040b2fc82308ceddb5f2be39dd5, +// 'Invalid value' +// ); +// assert(channel.counter == 0x0, 'Invalid value') +// } +// +// #[test] +// #[available_gas(9999999999)] +// fn test_traces_decommit() { +// let queries = stone_proof_fibonacci_keccak::queries::get().span(); +// let commitment = stone_proof_fibonacci_keccak::traces::commitment::get(); +// let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get(); +// let witness = stone_proof_fibonacci_keccak::traces::witness::get(); +// +// traces_decommit(queries, commitment, decommitment, witness); +// } // === KECCAK ONLY END === diff --git a/src/common/hasher.cairo b/src/common/hasher.cairo index 42f4dd501..be4fe71db 100644 --- a/src/common/hasher.cairo +++ b/src/common/hasher.cairo @@ -4,43 +4,43 @@ use cairo_verifier::common::{ }; // === BLAKE ONLY BEGIN === -// -// fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { -// if hash_len { -// data.append(n); -// } -// blake2s_u8(data) -// } -// -// fn hash_truncated(data: Array) -> felt252 { -// truncated_blake2s(data) -// } -// -// fn hash(data: Array) -> u256 { -// blake2s(data) -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === -fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { +fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { if hash_len { - keccak::cairo_keccak(ref data, n.into(), 1) - } else { - keccak::cairo_keccak(ref data, 0, 0) + data.append(n); } + blake2s_u8(data) } -fn hash_truncated(mut data: Array) -> felt252 { - (keccak::cairo_keccak(ref data, 0, 0) - .flip_endianness() % 0x10000000000000000000000000000000000000000) - .try_into() - .unwrap() +fn hash_truncated(data: Array) -> felt252 { + truncated_blake2s(data) } -fn hash(mut data: Array) -> u256 { - keccak::cairo_keccak(ref data, 0, 0) +fn hash(data: Array) -> u256 { + blake2s(data) } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// +// fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { +// if hash_len { +// keccak::cairo_keccak(ref data, n.into(), 1) +// } else { +// keccak::cairo_keccak(ref data, 0, 0) +// } +// } +// +// fn hash_truncated(mut data: Array) -> felt252 { +// (keccak::cairo_keccak(ref data, 0, 0) +// .flip_endianness() % 0x10000000000000000000000000000000000000000) +// .try_into() +// .unwrap() +// } +// +// fn hash(mut data: Array) -> u256 { +// keccak::cairo_keccak(ref data, 0, 0) +// } // === KECCAK ONLY END === diff --git a/src/domains.cairo b/src/domains.cairo index 3690dee23..d83b36f13 100644 --- a/src/domains.cairo +++ b/src/domains.cairo @@ -43,7 +43,7 @@ impl StarkDomainsImpl of StarkDomainsTrait { #[cfg(test)] mod tests { - use cairo_verifier::{domains::{StarkDomains, StarkDomainsTrait}, tests::stone_proof_fibonacci,}; + use cairo_verifier::domains::{StarkDomains, StarkDomainsTrait}; // test data from cairo0-verifier run on stone-prover generated proof #[test] #[available_gas(9999999999)] @@ -54,7 +54,14 @@ mod tests { assert( StarkDomainsTrait::new( log_trace_domain_size, log_n_cosets - ) == stone_proof_fibonacci::stark::domains::get(), + ) == StarkDomains { + log_eval_domain_size: 0x16, + eval_domain_size: 0x400000, + eval_generator: 0x3e4383531eeac7c9822fb108d24a344d841544dd6482f17ead331453e3a2f4b, + log_trace_domain_size: 0x12, + trace_domain_size: 0x40000, + trace_generator: 0x4768803ef85256034f67453635f87997ff61841e411ee63ce7b0a8b9745a046, + }, 'Domain creation failed' ) } diff --git a/src/fri/tests/test_fri_config.cairo b/src/fri/tests/test_fri_config.cairo index 4252e1ab3..694997083 100644 --- a/src/fri/tests/test_fri_config.cairo +++ b/src/fri/tests/test_fri_config.cairo @@ -1,11 +1,11 @@ -use cairo_verifier::{fri::fri_config::FriConfigTrait, tests::stone_proof_fibonacci,}; +use cairo_verifier::{fri::fri_config::FriConfigTrait, tests::stone_proof_fibonacci}; #[test] #[available_gas(9999999999)] fn test_fri_config() { let fri_config = stone_proof_fibonacci::fri::config::get(); let log_n_cosets = 0x4; - let n_verifier_friendly_commitment_layers = 0x16; + let n_verifier_friendly_commitment_layers = 0x64; let log_expected_input_degree = 0x12; assert( diff --git a/src/fri/tests/test_fri_verify.cairo b/src/fri/tests/test_fri_verify.cairo index db96845c5..331a629c5 100644 --- a/src/fri/tests/test_fri_verify.cairo +++ b/src/fri/tests/test_fri_verify.cairo @@ -3,29 +3,29 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_fri_verify() { -// let queries = stone_proof_fibonacci::queries::get().span(); -// let commitment = stone_proof_fibonacci::fri::commitment::get(); -// let decommitment = stone_proof_fibonacci::fri::decommitment::get(); -// let witness = stone_proof_fibonacci::fri::witness::get(); -// -// fri_verify(queries, commitment, decommitment, witness) -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_fri_verify() { - let queries = stone_proof_fibonacci_keccak::queries::get().span(); - let commitment = stone_proof_fibonacci_keccak::fri::commitment::get(); - let decommitment = stone_proof_fibonacci_keccak::fri::decommitment::get(); - let witness = stone_proof_fibonacci_keccak::fri::witness::get(); + let queries = stone_proof_fibonacci::queries::get().span(); + let commitment = stone_proof_fibonacci::fri::commitment::get(); + let decommitment = stone_proof_fibonacci::fri::decommitment::get(); + let witness = stone_proof_fibonacci::fri::witness::get(); fri_verify(queries, commitment, decommitment, witness) } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_fri_verify() { +// let queries = stone_proof_fibonacci_keccak::queries::get().span(); +// let commitment = stone_proof_fibonacci_keccak::fri::commitment::get(); +// let decommitment = stone_proof_fibonacci_keccak::fri::decommitment::get(); +// let witness = stone_proof_fibonacci_keccak::fri::witness::get(); +// +// fri_verify(queries, commitment, decommitment, witness) +// } // === KECCAK ONLY END === diff --git a/src/proof_of_work/tests/test_proof_of_work.cairo b/src/proof_of_work/tests/test_proof_of_work.cairo index 8a0e38a04..67eb01822 100644 --- a/src/proof_of_work/tests/test_proof_of_work.cairo +++ b/src/proof_of_work/tests/test_proof_of_work.cairo @@ -1,46 +1,12 @@ use cairo_verifier::proof_of_work::proof_of_work::verify_proof_of_work; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_verify_proof_of_work_0() { -// let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; -// let nonce: u64 = 0x1683b; -// let n_bits: u8 = 20; -// verify_proof_of_work(digest, n_bits, nonce); -// } -// -// #[test] -// #[should_panic] -// #[available_gas(9999999999)] -// fn test_verify_proof_of_work_1() { -// let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; -// let nonce: u64 = 0x1683b + 1; -// let n_bits: u8 = 20; -// verify_proof_of_work(digest, n_bits, nonce); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_verify_proof_of_work_2() { -// let digest: u256 = u256 { -// low: 0x15aa9b8787d877d61588844c0cfe2fb9, high: 0x7cd36c3da65b8d57331341e661a86574 -// }; -// let nonce: u64 = 0x40719c5; -// let n_bits: u8 = 0x1e; -// verify_proof_of_work(digest, n_bits, nonce); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_verify_proof_of_work_0() { - let digest: u256 = u256 { - low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 - }; - let nonce: u64 = 0xd65397f; - let n_bits: u8 = 0x1e; + let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; + let nonce: u64 = 0x1683b; + let n_bits: u8 = 20; verify_proof_of_work(digest, n_bits, nonce); } @@ -48,11 +14,9 @@ fn test_verify_proof_of_work_0() { #[should_panic] #[available_gas(9999999999)] fn test_verify_proof_of_work_1() { - let digest: u256 = u256 { - low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 - }; - let nonce: u64 = 0xd65397f + 1; - let n_bits: u8 = 0x1e; + let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; + let nonce: u64 = 0x1683b + 1; + let n_bits: u8 = 20; verify_proof_of_work(digest, n_bits, nonce); } @@ -60,24 +24,60 @@ fn test_verify_proof_of_work_1() { #[available_gas(9999999999)] fn test_verify_proof_of_work_2() { let digest: u256 = u256 { - low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed + low: 0x15aa9b8787d877d61588844c0cfe2fb9, high: 0x7cd36c3da65b8d57331341e661a86574 }; - let nonce: u64 = 0x544bb355; + let nonce: u64 = 0x40719c5; let n_bits: u8 = 0x1e; verify_proof_of_work(digest, n_bits, nonce); } +// === BLAKE ONLY END === -#[test] -#[should_panic] -#[available_gas(9999999999)] -fn test_verify_proof_of_work_3() { - let digest: u256 = u256 { - low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed - }; - let nonce: u64 = 0x544bb355 - 1; - let n_bits: u8 = 0x1e; - verify_proof_of_work(digest, n_bits, nonce); -} +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_verify_proof_of_work_0() { +// let digest: u256 = u256 { +// low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 +// }; +// let nonce: u64 = 0xd65397f; +// let n_bits: u8 = 0x1e; +// verify_proof_of_work(digest, n_bits, nonce); +// } +// +// #[test] +// #[should_panic] +// #[available_gas(9999999999)] +// fn test_verify_proof_of_work_1() { +// let digest: u256 = u256 { +// low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 +// }; +// let nonce: u64 = 0xd65397f + 1; +// let n_bits: u8 = 0x1e; +// verify_proof_of_work(digest, n_bits, nonce); +// } +// +// #[test] +// #[available_gas(9999999999)] +// fn test_verify_proof_of_work_2() { +// let digest: u256 = u256 { +// low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed +// }; +// let nonce: u64 = 0x544bb355; +// let n_bits: u8 = 0x1e; +// verify_proof_of_work(digest, n_bits, nonce); +// } +// +// #[test] +// #[should_panic] +// #[available_gas(9999999999)] +// fn test_verify_proof_of_work_3() { +// let digest: u256 = u256 { +// low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed +// }; +// let nonce: u64 = 0x544bb355 - 1; +// let n_bits: u8 = 0x1e; +// verify_proof_of_work(digest, n_bits, nonce); +// } // === KECCAK ONLY END === diff --git a/src/queries/tests/test_queries_to_points.cairo b/src/queries/tests/test_queries_to_points.cairo index 181196605..03eb6023e 100644 --- a/src/queries/tests/test_queries_to_points.cairo +++ b/src/queries/tests/test_queries_to_points.cairo @@ -5,9 +5,36 @@ use cairo_verifier::{ #[test] #[available_gas(9999999999)] fn test_queries_to_points_0() { - let stark_domains = stone_proof_fibonacci::stark::domains::get(); + let stark_domains = StarkDomains { + log_eval_domain_size: 0x16, + eval_domain_size: 0x400000, + eval_generator: 0x3e4383531eeac7c9822fb108d24a344d841544dd6482f17ead331453e3a2f4b, + log_trace_domain_size: 0x12, + trace_domain_size: 0x40000, + trace_generator: 0x4768803ef85256034f67453635f87997ff61841e411ee63ce7b0a8b9745a046, + }; - let queries = stone_proof_fibonacci::queries::get().span(); + let queries = array![ + 0x4c3e3, + 0x53e5f, + 0x5e7ae, + 0x6f76e, + 0xde621, + 0xe0f5a, + 0xf5b8c, + 0x13d133, + 0x180758, + 0x1eeb19, + 0x20d785, + 0x21f804, + 0x245054, + 0x3883ce, + 0x3970d6, + 0x3a8f8e, + 0x3b9258, + 0x3c7016, + ] + .span(); assert( queries_to_points( diff --git a/src/stark/tests/test_stark_commit.cairo b/src/stark/tests/test_stark_commit.cairo index 1d198d25b..f38a76a41 100644 --- a/src/stark/tests/test_stark_commit.cairo +++ b/src/stark/tests/test_stark_commit.cairo @@ -4,54 +4,54 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_stark_commit() { -// let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); -// -// let public_input = stone_proof_fibonacci::public_input::get(); -// let unsent_commitment = stone_proof_fibonacci::stark::unsent_commitment::get(); -// let config = stone_proof_fibonacci::stark::config::get(); -// let stark_domains = stone_proof_fibonacci::stark::domains::get(); -// -// assert( -// stark_commit( -// ref channel, @public_input, @unsent_commitment, @config, @stark_domains -// ) == stone_proof_fibonacci::stark::commitment::get(), -// 'Invalid value' -// ); -// -// assert(channel.digest == 0x0, 'Invalid value'); -// assert(channel.counter == 0, 'Invalid value'); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_stark_commit() { - let mut channel = ChannelTrait::new_with_counter( - 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 - ); + let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); - let public_input = stone_proof_fibonacci_keccak::public_input::get(); - let unsent_commitment = stone_proof_fibonacci_keccak::stark::unsent_commitment::get(); - let config = stone_proof_fibonacci_keccak::stark::config::get(); - let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); + let public_input = stone_proof_fibonacci::public_input::get(); + let unsent_commitment = stone_proof_fibonacci::stark::unsent_commitment::get(); + let config = stone_proof_fibonacci::stark::config::get(); + let stark_domains = stone_proof_fibonacci::stark::domains::get(); assert( stark_commit( ref channel, @public_input, @unsent_commitment, @config, @stark_domains - ) == stone_proof_fibonacci_keccak::stark::commitment::get(), + ) == stone_proof_fibonacci::stark::commitment::get(), 'Invalid value' ); - assert( - channel.digest == 0x28f12249c8cba51796d59e7573019ce2b4608c9a8cdeee26e821b0763c69229, - 'Invalid value' - ); - assert(channel.counter == 0x0, 'Invalid value'); + assert(channel.digest == 0x0, 'Invalid value'); + assert(channel.counter == 0, 'Invalid value'); } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_stark_commit() { +// let mut channel = ChannelTrait::new_with_counter( +// 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 +// ); +// +// let public_input = stone_proof_fibonacci_keccak::public_input::get(); +// let unsent_commitment = stone_proof_fibonacci_keccak::stark::unsent_commitment::get(); +// let config = stone_proof_fibonacci_keccak::stark::config::get(); +// let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); +// +// assert( +// stark_commit( +// ref channel, @public_input, @unsent_commitment, @config, @stark_domains +// ) == stone_proof_fibonacci_keccak::stark::commitment::get(), +// 'Invalid value' +// ); +// +// assert( +// channel.digest == 0x28f12249c8cba51796d59e7573019ce2b4608c9a8cdeee26e821b0763c69229, +// 'Invalid value' +// ); +// assert(channel.counter == 0x0, 'Invalid value'); +// } // === KECCAK ONLY END === diff --git a/src/stark/tests/test_stark_proof_verify.cairo b/src/stark/tests/test_stark_proof_verify.cairo index 025a31dbd..e9106e6c4 100644 --- a/src/stark/tests/test_stark_proof_verify.cairo +++ b/src/stark/tests/test_stark_proof_verify.cairo @@ -4,37 +4,37 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(99999999999)] -// fn test_stark_proof_fibonacci_verify() { -// let security_bits: felt252 = 50; -// -// let stark_proof = StarkProof { -// config: stone_proof_fibonacci::stark::config::get(), -// public_input: stone_proof_fibonacci::public_input::get(), -// unsent_commitment: stone_proof_fibonacci::stark::unsent_commitment::get(), -// witness: stone_proof_fibonacci::stark::witness::get(), -// }; -// -// stark_proof.verify(security_bits); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] -#[available_gas(9999999999)] +#[available_gas(99999999999)] fn test_stark_proof_fibonacci_verify() { let security_bits: felt252 = 50; - +// let stark_proof = StarkProof { - config: stone_proof_fibonacci_keccak::stark::config::get(), - public_input: stone_proof_fibonacci_keccak::public_input::get(), - unsent_commitment: stone_proof_fibonacci_keccak::stark::unsent_commitment::get(), - witness: stone_proof_fibonacci_keccak::stark::witness::get(), + config: stone_proof_fibonacci::stark::config::get(), + public_input: stone_proof_fibonacci::public_input::get(), + unsent_commitment: stone_proof_fibonacci::stark::unsent_commitment::get(), + witness: stone_proof_fibonacci::stark::witness::get(), }; stark_proof.verify(security_bits); } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_stark_proof_fibonacci_verify() { +// let security_bits: felt252 = 50; +// +// let stark_proof = StarkProof { +// config: stone_proof_fibonacci_keccak::stark::config::get(), +// public_input: stone_proof_fibonacci_keccak::public_input::get(), +// unsent_commitment: stone_proof_fibonacci_keccak::stark::unsent_commitment::get(), +// witness: stone_proof_fibonacci_keccak::stark::witness::get(), +// }; +// +// stark_proof.verify(security_bits); +// } // === KECCAK ONLY END === diff --git a/src/stark/tests/test_stark_verify.cairo b/src/stark/tests/test_stark_verify.cairo index 07e6245cc..c264da904 100644 --- a/src/stark/tests/test_stark_verify.cairo +++ b/src/stark/tests/test_stark_verify.cairo @@ -4,33 +4,33 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_stark_verify() { -// let queries = stone_proof_fibonacci::queries::get().span(); -// let commitment = stone_proof_fibonacci::stark::commitment::get(); -// let witness = stone_proof_fibonacci::stark::witness::get(); -// let stark_domains = stone_proof_fibonacci::stark::domains::get(); -// -// stark_verify( -// NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, queries, commitment, witness, stark_domains, -// ) -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_stark_verify() { - let queries = stone_proof_fibonacci_keccak::queries::get().span(); - let commitment = stone_proof_fibonacci_keccak::stark::commitment::get(); - let witness = stone_proof_fibonacci_keccak::stark::witness::get(); - let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); + let queries = stone_proof_fibonacci::queries::get().span(); + let commitment = stone_proof_fibonacci::stark::commitment::get(); + let witness = stone_proof_fibonacci::stark::witness::get(); + let stark_domains = stone_proof_fibonacci::stark::domains::get(); stark_verify( NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, queries, commitment, witness, stark_domains, ) } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_stark_verify() { +// let queries = stone_proof_fibonacci_keccak::queries::get().span(); +// let commitment = stone_proof_fibonacci_keccak::stark::commitment::get(); +// let witness = stone_proof_fibonacci_keccak::stark::witness::get(); +// let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); +// +// stark_verify( +// NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, queries, commitment, witness, stark_domains, +// ) +// } // === KECCAK ONLY END === diff --git a/src/table_commitment/tests/test_table_commitment_decommit.cairo b/src/table_commitment/tests/test_table_commitment_decommit.cairo index a20d00e8b..8010cc63d 100644 --- a/src/table_commitment/tests/test_table_commitment_decommit.cairo +++ b/src/table_commitment/tests/test_table_commitment_decommit.cairo @@ -6,33 +6,33 @@ use cairo_verifier::{ table_decommit, TableCommitment, TableCommitmentConfig, TableDecommitment, TableCommitmentWitness }, - tests::stone_proof_fibonacci_keccak + tests::{stone_proof_fibonacci_keccak, stone_proof_fibonacci} }; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_table_commitment_decommit() { -// let commitment = stone_proof_fibonacci::traces::commitment::get().original; -// let queries = stone_proof_fibonacci::queries::get().span(); -// let decommitment = stone_proof_fibonacci::traces::decommitment::get().original; -// let witness = stone_proof_fibonacci::traces::witness::get().original; -// -// table_decommit(commitment, queries, decommitment, witness); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_table_commitment_decommit() { - let commitment = stone_proof_fibonacci_keccak::traces::commitment::get().original; - let queries = stone_proof_fibonacci_keccak::queries::get().span(); - let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get().original; - let witness = stone_proof_fibonacci_keccak::traces::witness::get().original; - + let commitment = stone_proof_fibonacci::traces::commitment::get().original; + let queries = stone_proof_fibonacci::queries::get().span(); + let decommitment = stone_proof_fibonacci::traces::decommitment::get().original; + let witness = stone_proof_fibonacci::traces::witness::get().original; +// table_decommit(commitment, queries, decommitment, witness); } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_table_commitment_decommit() { +// let commitment = stone_proof_fibonacci_keccak::traces::commitment::get().original; +// let queries = stone_proof_fibonacci_keccak::queries::get().span(); +// let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get().original; +// let witness = stone_proof_fibonacci_keccak::traces::witness::get().original; +// +// table_decommit(commitment, queries, decommitment, witness); +// } // === KECCAK ONLY END === diff --git a/src/tests/stone_proof_fibonacci/fri/commitment.cairo b/src/tests/stone_proof_fibonacci/fri/commitment.cairo index ece2325cb..b8c1e15e6 100644 --- a/src/tests/stone_proof_fibonacci/fri/commitment.cairo +++ b/src/tests/stone_proof_fibonacci/fri/commitment.cairo @@ -13,65 +13,65 @@ fn get() -> FriCommitment { config: TableCommitmentConfig { n_columns: 0x10, vector: VectorCommitmentConfig { - height: 0x12, n_verifier_friendly_commitment_layers: 0x16, + height: 0x12, n_verifier_friendly_commitment_layers: 0x64, }, }, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0x12, n_verifier_friendly_commitment_layers: 0x16, + height: 0x12, n_verifier_friendly_commitment_layers: 0x64, }, - commitment_hash: 0x6288a59e1970d629fdfb5bdea93ad3203511b3c27340db1467a39cf7951de3 + commitment_hash: 0x137de087f31f4e6f54222fc3cebb3c162469083196999e6ee4bb8ceb4d6b786 }, }, TableCommitment { config: TableCommitmentConfig { n_columns: 0x8, vector: VectorCommitmentConfig { - height: 0xf, n_verifier_friendly_commitment_layers: 0x16, + height: 0xf, n_verifier_friendly_commitment_layers: 0x64, }, }, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0xf, n_verifier_friendly_commitment_layers: 0x16, + height: 0xf, n_verifier_friendly_commitment_layers: 0x64, }, - commitment_hash: 0x821aaa485d3fbdf7b0a06d773e565370f794c06bbcb4e23279a39544782c1e + commitment_hash: 0x3bb3c75d228842edce6f6bf6fd6706ce51f5d83c6842a3ab4b4d89fad6f07b }, }, TableCommitment { config: TableCommitmentConfig { n_columns: 0x4, vector: VectorCommitmentConfig { - height: 0xd, n_verifier_friendly_commitment_layers: 0x16, + height: 0xd, n_verifier_friendly_commitment_layers: 0x64, }, }, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0xd, n_verifier_friendly_commitment_layers: 0x16, + height: 0xd, n_verifier_friendly_commitment_layers: 0x64, }, - commitment_hash: 0x7a73129c87d8a60cb07b26775437ac75790bbd415d47912e5eb1f7c7e11d42f + commitment_hash: 0xb606d3c2b341ff9de5ead44f00121fdc4113f3720feb162eeaecb511e73d4f }, }, TableCommitment { config: TableCommitmentConfig { n_columns: 0x4, vector: VectorCommitmentConfig { - height: 0xb, n_verifier_friendly_commitment_layers: 0x16, + height: 0xb, n_verifier_friendly_commitment_layers: 0x64, }, }, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0xb, n_verifier_friendly_commitment_layers: 0x16, + height: 0xb, n_verifier_friendly_commitment_layers: 0x64, }, - commitment_hash: 0x3ce8c532eab6fcbf597abd8817cc406cc884f6000ab2d79c9a9ea3a12b4c038 + commitment_hash: 0x787b0937a4cd02e0143e93979bb79139ca9546fc1654b4f755f8642c989ba20 }, }, ] .span(), eval_points: array![ - 0xbdb64eae5fbad13b4faf374043e73f68b9c428eb0d6b78097c64539add8c6e, - 0x511356e0c2eca37e8d4ed5d88cabe83b8dfba6e3a9ea0c793b114a5fb0a8147, - 0x73cbfe687c88476eed31b84b03c0027712369d3e2ba6947422c8ea8cb72f2d7, - 0x34b2eb47b0eca404696f00d7bf1cb6238cdc6cd3c3560ba9c532a7fa372fb2f, + 0x2318111dbaa02700a1ac0d1ce605b756010af6c39b4e85422e9e8c848ec05ca, + 0xe32c017cfa9260ed2130df2d513340c4a5aaee766696beb2f640ad261e0261, + 0x4103675a55bf63ad036370ded26f12e273026699c056d578c6b01dff2c3e9e0, + 0x2cda81790074e40739eb81556de82ebc000056aafcc09c34f5ba52d6d0ff1ba ] .span(), last_layer_coefficients: stone_proof_fibonacci::fri::last_layer_coefficients::get().span(), diff --git a/src/tests/stone_proof_fibonacci/fri/config.cairo b/src/tests/stone_proof_fibonacci/fri/config.cairo index 00fda7c37..87520ecca 100644 --- a/src/tests/stone_proof_fibonacci/fri/config.cairo +++ b/src/tests/stone_proof_fibonacci/fri/config.cairo @@ -11,32 +11,32 @@ fn get() -> FriConfig { TableCommitmentConfig { n_columns: 0x10, vector: VectorCommitmentConfig { - height: 0x12, n_verifier_friendly_commitment_layers: 0x16, + height: 0x12, n_verifier_friendly_commitment_layers: 0x64, }, }, TableCommitmentConfig { n_columns: 0x8, vector: VectorCommitmentConfig { - height: 0xf, n_verifier_friendly_commitment_layers: 0x16, + height: 0xf, n_verifier_friendly_commitment_layers: 0x64, }, }, TableCommitmentConfig { n_columns: 0x4, vector: VectorCommitmentConfig { - height: 0xd, n_verifier_friendly_commitment_layers: 0x16, + height: 0xd, n_verifier_friendly_commitment_layers: 0x64, }, }, TableCommitmentConfig { n_columns: 0x4, vector: VectorCommitmentConfig { - height: 0xb, n_verifier_friendly_commitment_layers: 0x16, + height: 0xb, n_verifier_friendly_commitment_layers: 0x64, }, } ] .span(), // Array of size n_layers, each entry represents the FRI step size, // i.e. the number of FRI-foldings between layer i and i+1. - fri_step_sizes: array![0x0, 0x4, 0x3, 0x2, 0x2,].span(), + fri_step_sizes: array![0x0, 0x4, 0x3, 0x2, 0x2].span(), log_last_layer_degree_bound: 0x7, }; } diff --git a/src/tests/stone_proof_fibonacci/fri/decommitment.cairo b/src/tests/stone_proof_fibonacci/fri/decommitment.cairo index 8f692b45c..52c5d7b8b 100644 --- a/src/tests/stone_proof_fibonacci/fri/decommitment.cairo +++ b/src/tests/stone_proof_fibonacci/fri/decommitment.cairo @@ -3,45 +3,45 @@ use cairo_verifier::fri::fri::FriDecommitment; fn get() -> FriDecommitment { return FriDecommitment { values: array![ - 0x1df4039af69e125e912b211867884d35420d979e0866647b4c84e918dfa6a2b, - 0x5778fc99f73ad91129ca914e94631ce1d28392c99738faf03e12683a4838e36, - 0x2123c0fca183e1615760f2a0f30fcd74d56a4dbeca64b65cf9b00d30b2a637, - 0x301e0ff2521508bc1995246c050f28804fbab66c46c099e153308fce2343f04, - 0x760239a8bbf1a85986bee75f2dbcbd62da357c55453424714edc4d04799cb69, - 0x11fe2ad30a9ed1c40e110cea60c2e39e29093945e589b89604a68d0a1885925, - 0x4b0bd823f73d802b0aa4d9a974fd8758e27be06e0d116d74831d64b474e5ca7, - 0xa9edbf10e975c870ae27764a7b8d752c6700b086ed026fc8607c588ba16368, - 0x2890ef70cb5228bd05aabb789823695ae42e842ac426308aca77eb5d42da714, - 0x96126e8573fef5bb1532e9f04385082b72d9721905c9ee44e88bbb9ebbdec4, - 0x6f1b45566b1fe3a9a438a4fae0d105a35f31821357a72f9b0e213b22f97fad6, - 0x6591d65b8efbc6448516d0771fd85ac05f73bbc018ac1113f23dd2c045dae44, - 0x4350e020de5955c378f554667cc6323dbf96582d6b27c97f007dae889c85750, - 0x352e6555d2dd0637e0de5a79f39e6d72e97b41c8a19f1f582155a1a61534956, - 0x7c0d65a545fe63475acc42fb98cc8b02d24990f62863763c962c112223906db, - 0x43568016a16821706316295279b93bca132f59d1f3f257694a2e1cf485cadc, - 0x20c4e87928a98ca82cc5ab776a2d9f3ed9d222f0dec8fdedd3114a5f28521ee, - 0x6fc35a853a3d0fc4366b11ca6f274ff18c7ebe7f9c82780b5d0030efb7c9c31, + 0x5f20049d3e8567fb2e6476bbbe560a3124d785b9ce4c34b9bfe4975858cec0c, + 0x1deb42219be022b511341cb5dffa7ddc9abb25acfa42aeea753d3996cc7c9b3, + 0x17abc8f09be5c04377a4c5d3bccfdca062f9959963011b544f26fb7286fc8f4, + 0x3e9db47d31ed896d3d8c65a97ca979d310aadda16b0401bcacb0bd974423c28, + 0x6203abbf6c1297b6cecd1235a42c2c5e5c540582ce810783a690929cac120e4, + 0x5d9da5bbd2a57b17583fa317ff56e9a142f858e23734569c0a377137dc3e8e9, + 0x5ee29dc2304683a7971caa202b53de6b469839bdb9c137bf948fad9dd70a7e3, + 0xa60eae938b5af18241d06d07d26d1c0e2282494f4dfcebfd144a4db4c73af9, + 0x41a3ffbb8e0910e6230072c763afdc34e607fe0ef2a44568b8c4c2c8bcc34af, + 0x2701a54185c441d944cb627cc6091d5c1d05d4f71b840cb6acd5a15d48a201e, + 0x7c6d98059df9d4ccc81ca998fe8602e936f9f5e5f61de08a81f053c2afec74d, + 0x342e7ba595d50ef7126b7964b4f41c34bdf19936abcd9c97c94bc3515f8e63, + 0x5839350ebbe6cc7eeb7469af5d173f17cc6d292c9edc9097ea432fa8ca4ee22, + 0x763bc3f172fc9fc2c7f646ba43138ba702636c45d37d167265d786913f00751, + 0x4ae8beb6c117ed28ad2481e6eb3920ba0d196dcf91fad745d0f3d31bf6d05ed, + 0x2924fde5d241de3ecacc842ee3d3110d2fcf16ba3512e17768ddab1176d56f8, + 0x64d3211f03010d3832ef559fa7159fc080cdc653948ba27c73e681108b96f07, + 0x168dc9a375545abcdd0f89474ef29b7603d6ba848e6dc160e0edd5d3a362a3a ] .span(), points: array![ - 0x2db7913d585ab151bc2b66c288d0bc9b8c791083d1e4a347f418d499696385a, - 0x13de0c034702b2f857d20f1c4392d7308adf523675a6917ef9b24ffe481b3f3, - 0x79a18f6903e3f59a2fa62f2009dd31281ee4edf937ca2d9db9d53aa4136f44, - 0x7101334fb9526f5fd852697914640ed5a1fe8df743eb057b22621942911d330, - 0x7c6b8bb6c7d3e482aadaaa96b6899d8302963e19039896b77d14093d404ed4d, - 0x3b79da623a55f681ff504b9e358c66e4195d0ad90c1bd052f7b84f00023f628, - 0x2dd308f8d684d300811809255d1210ba974487fc02b9f5ae3a63c073bdfe9a8, - 0x23823ef38993551b68657d4607d1617ba0f4e323052cc14b3a5b18dc0bf5875, - 0x164e55f8fda082b5db06c0caedc2dd5a4c39ae8939cc61f7ee2f8255b5849c5, - 0x6638bb689428e37f36e1580ef4c46395758e96562940002b6f37ef33d10ac04, - 0x3abdf6cb714ba6c308c6eef1cc4d63e06928c17129867606802cfc44c961e80, - 0x4e2ad9b9530b45c3dacf36b44a8836844d301661dd9d54685606a917729716d, - 0x2b81aced85615991fd89e616e0ea8fb2f6841436a2565aeb19cbd785ecfca2a, - 0xe6b5ebff913e45d5a57ec627c03acd209d564935994b1058a5d828bfaeee3a, - 0x20d399aac1db0f8e99a1dd7e009f4d165ca411086bef0002edebf3395ef31be, - 0x5c0086656cb6c7208f87148b5d36a14b626ace2c9d4c67f5ae27106c3bde97, - 0x4ee93f199c1a2b9ed46dd9d0c1f51fd453a37698dd8074fe1eb197d4b42541b, - 0x27b6342139b5ab8f1ff29fea7f5602d3a438163f5547d2d341a5418ea90abe4, + 0x4ddbd342f4f82ab4ecfd6bbd095bc2c06b0df88f07dcbe0b21c7e867774830c, + 0x4e44fe7b4265a204508c645697fc8eb67d0bf09bbdba868b251c6d37eecddb3, + 0x47b3cd01a5e03139058603a431e79da6fde4582bf490a83c6307aa9b19dc8e3, + 0x5c733fb4e66a67c5a5121cad23ba24180492c3f50920d6d20bdb66a3aba23a0, + 0x230639dfd4e586ba4a7f8bca6ea016e86ee368ace4d0a9f4580731a68cf7c40, + 0x532de4810f08541e214c25ac4be1213cf3ed4548871589c447e9149f85e985d, + 0x680300f7266fb4318433448cc252952d2f46fc251377350f36a642476bdcc32, + 0x302b4f1be04c30338885a33bb66d7cee910dd3fc9e9595c90afcb0dbb3e35b5, + 0x8c79cabb3798319f1527c206fa41c66c1fbc22a3547f2e8f105b7efb3d9ec7, + 0x13661c4d31fdf33684f2f02fab163035f8d40c087882b07b3d1cd484cd7d61f, + 0x317c1782fc58c2cf16ac2fbac30bdcad623ed12a10ee95aeb0149ed55db0c61, + 0x7b59c1689d94c1ef0ec37f3ebfa889705b0fdad7f9bb1246525214cd4e3d8d, + 0x35f35dc2514e05dd5c0810e9717edb2c1f431f876990c29bafeb6823a307b46, + 0x431c1c8fda43c2b965680e723aefe41ccb0d54e65abefcd152c0a461b2b4cb1, + 0x7568bbdb9e6589c8b2ecb173d2c4de5fe7e22b82b3534821e97f156eb950c42, + 0x6c5c9a950bdf0c568bc3c0b22bc2640ac25a291952dda577938c99c4b0acfaa, + 0x58eaadad1f9488a1fa306bcd1674fd63efa43eef9c416afd6272149b1d36f32, + 0x6a334d04c8fc44e835dd60eb585be69825d6854507921990d90f7553de33ec4 ] .span(), }; diff --git a/src/tests/stone_proof_fibonacci/fri/last_layer_coefficients.cairo b/src/tests/stone_proof_fibonacci/fri/last_layer_coefficients.cairo index 23ef9c2fa..36dd2cc4d 100644 --- a/src/tests/stone_proof_fibonacci/fri/last_layer_coefficients.cairo +++ b/src/tests/stone_proof_fibonacci/fri/last_layer_coefficients.cairo @@ -1,132 +1,132 @@ fn get() -> Array { array![ - 0x3b844d8df7b26d71ddac95a77283731a044d0817799b93504c961643e7536fa, - 0x6eb1a5ad1749834b2625684ee4f1fe4cdff6a2bef8433e7e4f0796d10c80cbd, - 0x75dc13b4e8e554286a11e29269191a31454de9dd8bd1ff74453d3c8282b9c3e, - 0x5d91e860db3002e93c93ded748b5c69b806914610831b81772a7c3c8582b492, - 0x41e5b0b819808f3ee71e801dddd9332ce4bfe3344e1c4a1f98ef7bcc175a654, - 0x68e0292ec793161aaca50432a7eff9844958933f3d1f0ef42ab4d59602eead2, - 0x12ed5ff38e0af36126ae3dad7f8c9324b6295a4b5575332f1654b0eb5f2ba9f, - 0xe748c2e562defed30bd2a97ddf372f8cdff72050ef2fb6d198ec7e26393030, - 0x7f7703acf716b8a8baeea525fd786e6d758499c15543acc9b8b2543d4e9dc97, - 0x606233fd51fb776eb76395b33de0e5b66363061ea0686173b7f2bd51120ecb9, - 0x5aa88ea353d5bcbdcd25060e4dc1f543b5f517b13ded7be39f86f4588184f95, - 0x696e7876c8317fc8c1b64ecd268bca82152ac03e1d67ecf85c58fdd27472eaa, - 0x229795a82fc1785c5d1bcefc966d2d4327ffcf405a2fadedf006d6efe8f5d28, - 0x5dbc9dfb4b87deeb82f1c989dab28eb8238bba970ac6d790bd2bd747150dded, - 0x7dbf60320086c11016809745ab2aca3e78a857cc77adaa157f39e73cebd40ec, - 0x7683f9ad2d57da120622c1831d2f2bc2a21c6c89db08a8dc99e4e2cb4db0a8a, - 0x240d9b78177254aa4901e4d020c99f3f8c83800c46645c0d98781c89a889d9a, - 0x63d07342b1248a884ed81d8ff276960982f30412232b5eb0e82bd2fee795dba, - 0x138b1c827c50360ee6044e071af128a59244515e6f0d25711520cdcc73137ef, - 0x3ef3ea7d0ed81a0fb837e9d978cafb1d50d9ff20eb0177cf67eefbf5e094c77, - 0x644e69300f7345d84329457a43b888423a3d465b303078ad97694882347a708, - 0xc3ba2e34998f165a1e9b6d39e326b840b9624455617ed6b3ab6797e79e7caf, - 0x7dcff7dd27d1406d84e194d2a4a514375844327f4657f81c57c0a9780bdec7e, - 0x5a7f0e7321ed0fd6002caa89e847e828625862739631c23eeb6b1608a6877e8, - 0x7ec3aa585e55878ec09fc43a4c27fa9c6e1650e3a5f40a3f068a8c1edac55cf, - 0x4485c63701197e83d82abc2005661d9caaaf16d06f79b554e8497343704650f, - 0x7a5547e58a3c521e3f1aa05f9fe92ec5b67acf8160412ea40b124cd6abb409a, - 0x61edcece581dfc7c362d5c68413a318a2a13067056735b6f25efa234a8de781, - 0x52d5c55126361364bc851e93109aa850fa97b3c52ff2037943b286ee6945f24, - 0x1874dc6edd4f2907f6d7853dd484138a1ff5dd970345616637b178180f72016, - 0x5c13969e0080179173365d04a5291827a1867b9bb741bfc79fdeb18bdb127b, - 0xc313755e3efe95b1719e3673079bb9a8e65abc715f4272c0ec82b05576a5d4, - 0x70c40cd969fbb58e0ce8fb8156e75ec643198f1655756dd4345731bdda82457, - 0x1ed92b204747f07d2d7d71b6b0c2c714deffd15630dded2baa4e3cd91d6a6, - 0x207b8a3383d80b4e472b398348aed1c1d5d297a9f65ae3dcae1db0d6759b2c4, - 0x54e9862b9031fc989203051d100afac6f79ca47b45b9a8dc7a489631098bc57, - 0x58bcee8afb1cfa88accd584055bbd789dc3ae2078bc24b707a3cbf3d0b406a, - 0x3db80e4ef29231ced584222388716ae2f1fe22a2ee2b0e78d7eec08a2fcc617, - 0x372efeacd11ce8c0baa8181fac21e3a0b81bdbcbe9804fb049b049b157aab3c, - 0x44cf712a574df01e17dadb8536051e939243d5a09653783fa8df7a2340bb0c7, - 0x572b6bfa27ee798bc99814d57c0e3a6a3c1271ae0a15f21cfc879bbb0e1447c, - 0x659e7542be990fd7964775bbb4ffd6312da031a8a75f58619b9fbcbb45ab862, - 0x307c0e7fb6099f26ab78a02fec97a50ccc5af6f3352b06f95b983bd7d42216f, - 0x4f3181ab68c2bfeed59c6581be75f03ceb1f75643627f31c0fbeedf86f42eb5, - 0x19425c4b4d24775ec1d7af92a56152108b62cbb132dee8d55cf57abbe7fbefa, - 0x4fd54238eb975cbc26dc0df31fbf9578f4343910edaba2763dcc0504ee34ccf, - 0x6d948775eef790de896d9a2398764cce026083b1230727fb9d0ab1ded7f4078, - 0x521fe547fd42527e366950ce2e03049be2af52f8014dda1c8c26726c07da0b6, - 0x79ba9a8b07219cbbdadcc343a88ae06619214a2d889a4288e3803a16d9fa8d0, - 0x4c02186dfe672284ecb4debe18262098a3d4da503fe0a3faba3b6a1b9cb24a0, - 0x169cba5fc545966849d5ca4a04c6543274d8ce2062bac7b031905a236d34947, - 0x5ca15ebaa6a4cabcd2ff1b57104f6016078caa2b7b75359f6dcd6768e20ffed, - 0x6eebdabdc4004547e4d0b3498e482206e0b53aef4173833cdb9604206df874b, - 0x73a44590298020a85aad91f4c24dc904858af2a4cb6db5deb48e08737cb6cd8, - 0x2b730dea711f9e6c71bba2dc6f98a44f8b44ca7ada4def018e19d68523345a4, - 0x60b9f200e5d6716a88a77906875f3e3bf36b72ce5f68d7daf71779e6b605768, - 0x62d04931b023c1589b34cae1fb6deb5cfe9e94e1dc55d37dd75b6a3e7422888, - 0x7cf7edb764e6c56c696a0a309825da406c5544f59a312c5be93b0af3f7b7b92, - 0x1ff628b40a85fec511117f3b16dd2e4d85a736a27d0d7f3c522c0f4d12237eb, - 0x531a594ceb7df07524258e025744818b45172044f4630da3af2dd204e45705f, - 0x6cde7377d376d15ddd1644a4f0a01abd299b014a9d6b371be51bb693e47fba, - 0x27fdaea9d45e8b4736145c45a1e6f28376aad57522e9db7d2c82b437aef410, - 0x511cd012f11b52ff77b3176aa6989c1e3717134dbaf4ba25d1ecfddae6d1dd3, - 0x6f4db519f699a96f0d7c31aed14fa67e5b4cf512b41a188dfd05ef2516d22fb, - 0x383f290213017ea0c013f1f6f017313484607d086b1d532cfb01c75fa62bfdb, - 0x63035854e7a9ece60ec27e05ee24b3e8e33fcd66f69f74072029c7cf888a708, - 0x69687f44312ff1c549e15f217d7a05f5d8b730cf6ba2f0b79469ea2aab44fd2, - 0x62d482089605df042e99352b47cb7b0b5745ef70f10ded966e8a2d870af38ca, - 0x6becfa5e1ecf7017ffbc3dd18d59f2c35918bbebb03a8e733bd8e6a8e5a7153, - 0x2dfdf010e2d014f0a2a0ddd980cf270538d4821737c7cffd5ae35879627c035, - 0x93732663ebed60e68ede807f8c0376e38e093cbdce185e0e59470aac5b90ef, - 0x980b7aa5e884a1d9d06c64c3529d7c4f8cd82344f57c58fb8f33e083379005, - 0x7a01e04e34a5e2d6e1b81e433236a3c997933bd4e24329f2632eab796d14993, - 0x407cd2e7882070607f7ac384adb97013b42140e2e86be3851c09e38185911a7, - 0x7c96759b0eefa2ba71c5a83cd18aee4163f1823bfa56703b790c6107dbf8d55, - 0x5f8b457e268f2c4cdd19e4cfee839de5d54263ca574a2a2c1a8a0fde6f680b1, - 0xe45237d0e9527b8349ac30395b8b4edb39e9828b377a69fd1b028d127bc3cf, - 0x4eb254a9333589162bdec968e7342ce56733d0cc3d1119414a38a8ef38f052a, - 0x7c1ebdacaa499725b5b5066ae78dc73a730b6941aa5f89d9f064af4ead97294, - 0x5ecbbeb0fd4df85b7a97cc1192dd59dfc5b483cd0d230274cc04e5ca063ca3a, - 0x6fd5f158bdb22d4ba47967fce9032e20bdafc7f98a58620aa66a69f651be44f, - 0x17a5acc1b4c2f74c9b7b21873837bfe355edc63b70aa7c748eee11d8de9f646, - 0x1c111d2c257fb6a6fb826ead1f994971f528105bb2fd04b339759f5199f96ba, - 0x51aaf4b65bfc8dace07fde3f9ea5966848a1c7ef96ac91dffbe3c6ecf39cec1, - 0x5e33e6e50fa05337c6aaf111d3371a5869d1f3e418e84a8b92f9f6789bd6a98, - 0x49ba34c8cbdc2818f4f09c4ca7484d9a0a2c7f8bce743f08ceac127dd17fbdb, - 0x34b1417dd68894b89cfff52f89642bda9524de53e4fa22103aa3ee7f00366fb, - 0x7664cbf6da8ad539b0b9ed7b9a86b06cc5f80f639e995c0973e285efdb779a8, - 0x3108e8a3aa756c138343ae9a9676ed77f5e3da60cf519fe2863baf9f114c004, - 0x371568ef4831cfff4baeeaa9142f749596b68202c3500fab27993fab77f94bb, - 0x2013ab48977221f9b9861e0d721f563f7853c20222560ead2717f1d668d8e7c, - 0x67b389022e2e540b2cb55ebee82d08b218e186c7169d8a4b99815ef7088738, - 0x275d7eb58495f33c3e03a327146743ffe91eed27b0c7c3501b2c50e0a166ad5, - 0x2cb9eb5d9cbe6495c048aa1eb6faf9f5c0246853832135009cbbec955027bf3, - 0x635663b9e2ef0c57ae830064f0bece8f18d3276f6dd1242a91ed45f067918ce, - 0x73a0767432cddef3e0654942d64bb8b4802334b795250ae4ebbf84200cd226, - 0x65ee582c948b8c4ae64b2eb31affce5771d3fb6437d60e7e5669a0a12f59d21, - 0x1ebb003fedab8cebd11c4e7fedffa3937e5888e1be2bf90b163c5392c6d00b1, - 0x25a290f232a1bafb1c97efbfb4a5a7f6a2c2023b1ab3344b44ccca30f514eb4, - 0x473aaf24106c820bf7a87d8e781626b0a534d674ed814df151ad31c1a7a2c4e, - 0x4fd4711443d02452732fe7304ed5367472b24a37404d4203e552699df38e1e4, - 0x27fca6dd6064dcadf604a7cd878dd6591c2eceacef36ac0f64bcdf8d50bc143, - 0x51186a24a0768ddec0a2ab60164139499df0022ceab15e480fae9e3678f8a68, - 0x7c563abd1420f288bf0b7dfb184af9c8c24017fe652d9e58d8caa3784b445cc, - 0x2a7dff406b5c7b8e910676df491ce42202a037b4b1129b243040fa99a05a81a, - 0x6f8512bf92c7b4a875abb184a245db46fd43cd2908ce912bda10762fd337d50, - 0x51530afb2758fa99dafe378aaa89493d8631de864f53f3d423396ba2fc165c7, - 0x39fe7a0520ea8d4dba51062dee07750a1b77a3e28dc7374f66c6eee8ac846ff, - 0x6e1f1cd0082420e0c59b2d12d972dfe1d943d66670d4abdd355ce036382a691, - 0x11aad3cdaba675421e2b3fba375eb2687306e6742cca1d03fe3371a1df217b5, - 0x7722d41c190586dbc84ec13fdd5ec42d7702f158bc1cc29f08ef3ed19ac862f, - 0x449eca9e55b688a369bf360d6096751456a33168c9ec38e986447c9895ef98, - 0x65339aa37351112d383def9d140b3602cb88bb9decda842fdf1208a6a7f0a4d, - 0x6630d06f5c63e320deafd2c6a4cc5bffbfddb614d347bf1d607d983d404f0b5, - 0x1a4913a89f0fadaf62bd689eec4e9edb14213aaebfc307aa591c916c54b830a, - 0x3a79548f79577c04dd286ad1db64b38dbf32f9b6fa937168c46d2e98dd76d32, - 0x283055e9bf6b05db39cce849f8a6be5419b1ee2106316967b1514f5bea44c45, - 0xf88adab6614d6d445db04fc7cad589cc19a67d6ba3500f64c3effcecfab112, - 0x47c09554878d8fc2afcfa0b136cc3adc102cd6c790b7cfcbd4cc33932a720e, - 0x4c9be49cff06dd947e1f8016f0e65ca839201072bb0ecf54f4e49023d2ca878, - 0x3a57b0961dc7b48db58921d1f6532fc6ac7bd73b0713a80074c6f6b78cc7219, - 0x7d2e0924dacacd0de5d7cd1d74e357fc90e83b28c964800011c2d3bb39f6ec4, - 0x76d089ceb84af74183cf948602f3724a32783a669a61715c12e017ec3eca29, - 0x7fa727777d52242828b4e0ac59ccabec6939789e90a6109882b57903cb1a88e, - 0x58803b504852d9baae0acea9b94893808f8428d3f1b66fdc3e95b35e9231a3f, - 0x32d904eca7ea63e7174ab1f19d0430ca1f8daddf03c7b400cee6380c4f4cd8, - 0x5dfb739807b4cb1fe4387475630c52f0b44a2f92bdc2718e872273c4b4fa013, - 0x733caba128dc8696c58e20e8f451c63dc8711ff6d6e4ec498b5de3b07f0bb47, + 0x167bb5effb7d29d9b4e3218fafd7702e69dadc31f8a864d5ac0fe3097b636f7, + 0x41102a193ca5c0e8674ede3565447a09f3667899566a9d40afee21e1aa66e39, + 0x229e10a7fa52d34b1a3fa97e293feac1cba1e10196e230f2de6989f2411c3e, + 0x27898034316a071a7ef0c75513bfe08d92baf6344343435b0a5218d5ff0cfd, + 0x6efe04074d7d8a38af239fbc89be913131a77dd37b425ff8b94060cc8b9aa59, + 0x121faa944eaea16fde458114d2d656d7629bdcac685054e9cd424d93c46f7d, + 0xc9a00f7b764c2e1ed44e0e0c2eeeca0c12c31a34cc5f2265b9a38f0a7ed38d, + 0x5d15ba310e21dce0f4a781410137250a91b0af85103602f3bbe4eae2adbdaf6, + 0x1cb5123f4fe0249cf7c913d3b4181df300925d93e740c898a6d3495505d9b82, + 0x32cb3ddea5af3cadea5ddf83e33d23978b69f85cd60417d8715ed080c578514, + 0x6e2aa00a293df7d7c9239ba999c4b5ff9143536e202931b273ddc1964c3a574, + 0x82d91d685be2d53fbd13352dfe84f67ef8bcef5642fda229233034e3962c26, + 0x6563ec80886aeb9eddbdd8685608e85e455961b3d77ab22c30a225e9503a1f0, + 0x3127016bb4cc0f51193051ed2ff4064ef947db70d6345e9dd137940dab7177d, + 0x24b56b04af518944597ac14fc34b268e42201f1c7d9297d24bda9636816e6b0, + 0x5276331afb3cfcfb51bcce01cb48d8e002a39b2146a2e9523653c90217c025d, + 0x529ac300eb54957167e85ea581ebd9c3586f79576591101702883960e685f72, + 0x6e4e2602a95fc04646882069c092ffa60a03a2cbe679c6fefad07c3957f5ed6, + 0x708754c5e67236eb2d7e0f2c327795c5f404e3994a0f86ebf5df95702e030ac, + 0x704ffaa47ad6b7ed29854d42564b2a3a5ff0933282ad454a3f5ba52631fe66c, + 0x357af271ee12376b84b5dbba77993eda48e1dc5f55446bdfefef8f274e3a14, + 0x256676081ae2af1de7564ad61fa39d6f10cbbb155509bdce0cf693a6e290e97, + 0x519876a0d40e82e9778c7e98dab5db71f514c78c5e7695708060e5cced972f0, + 0x6d94058bb0a267cc9c53572ce4c77356676b901cb18133ecac0c41278ba4c12, + 0x7c589bfb750bba0212e67efdf323f759aafb7b06ff09f1922567c5e372570e1, + 0x46c64a07ffd30677099fbc8d438980653b27787b662139f73db1bb7cfe3f8, + 0x687582792bb4edf87411881e45e482d0cf5530d5707858c0c2fc6448056eadf, + 0x8fd1e045b895f05150c312b2e14846e9fd48d42b0b2f4ee15cf9c2aa32d72d, + 0x5a092b918807421de4f8d3e1eec014ba3dfc4c7ca3a4d1876374e9d929e07c6, + 0x26585a34dd8be6680fbfb55decc27eb9a652b40825b1e68fc713d51e38edfb2, + 0x67cbdcdb378300459a538a70dd4c53196d4ae7f1c5d0dd19da825f1365ff580, + 0x6c8e94d22310e095f5fa78c2ce9c42d7f3e31315e6008705581b458bba01dc2, + 0x2519baa2ed5f5c5db609e5b1552e2c50d3d9dc0813117078fd4f831337a7351, + 0x21e282a57fb885e48d884681077970971caba75670cf67651acb6470b3e4120, + 0x7547831551a139df4d975ee9b53e3493d96ea0ce2fcc90f71384ea4e8800d13, + 0x3aa726fbfd9516ebb7c28ae809a09d1cdde59e74e3c57702a94c1a1ec9a881e, + 0x2f6a5dd4e8cadbc9a3bfcac3b062dccdc619a97af9f29a7d1f592ab946f4b81, + 0x7756b25e33aa96c928414d9046f62d0acc51feb6e7cf4c2a213e1fcd72616d6, + 0x6d2e5ede2789d5fade221e3e115efba904a0213db25dcb1fe8d149225dc3872, + 0x76ed49707e4e7b8961d28d3e2ea593b87e77198c24ac005f2977e0602b761e0, + 0x1210f7d5a9a2b83a276c0f0b5989b3e78e85aef158d7003f7c19819bafec95f, + 0x121ec5ea29e8f931d7a368e9aca1a5d072609d2149b10de765c271616356064, + 0x27f7d5bd7766a108cc2a0f1bc82be519f34fc171999d53eec63d60b1a826780, + 0x304748affb8a4fcda08ab022bf32d85b039f81c92220215311d2a86c568cec0, + 0x11be77d4586f35c23888b38f76d3452e518e52575aaf0b4b42f210d471e890b, + 0x1e5c43ce744416b118fed7ccaeef5a21317148fe735eadf5347e45cdef5eea6, + 0x7ab65ee9f417c8e11af65922468a86372355e4b66724bcf9e850cc236b06d01, + 0x4f7dab19af57261f65c0962d37a62e9cde3865c659df6ab7c7af177667e7c58, + 0x36dff5d713279871513a35d3c767366887b8a6a066a3ff99d24545058edae39, + 0x49582faa04928673bb360321775c18774378239f1b3e7dc9e71872b6f3b7501, + 0x228ee0d4cea4a4ad707f794172b8d99d9959a66524a1ade66fb026cd2075a85, + 0x27e20e5e5f3a661d1b44dc705ca9b8fefa633dd484947c369aa6297cd5e2e97, + 0x60b67c8e28b390ec3656b14c0dd7d8a555abbef363532376dfcc3b44d4d347d, + 0x7bda6c0acd4597899f30d20a1f1b63f58301dfbc28753877c910bc8dfe2badd, + 0x9b93f46eeb8b114c4ddc3e378afa1195375d980ab42baaf226862f07a90877, + 0x10a61e24b3b0f234a6026eb56bf16e328388b1172b7c69a43fa48cf2715aa5c, + 0x21be7a692d17fcb0d6bc6659cb1f13b73a6f52fb084e687c4d003bf627128a1, + 0x1654ca6205280e3eba5dd5ad4f588b78086b811c18e46a6fe34b8da9add7407, + 0x4461beac288586d994adf101de065103fa360948ea8eb83840ee18683baa12, + 0x662901121be8800f297363823fe09484a09e38af4e9df4b30eb7c6ffe033c4c, + 0x27302ebc7fc34d1b5f62f1b580c78d39ee41adf0738a1e3ec6389da483a80e0, + 0x1e463d9a15f8a3d481c7936ad14073a482558b940ee7b4fd38f20cda3e392a6, + 0x651f9e01e06ebd2118ae750db9105866e79d4a1e1eb27cbf68494800f8a2a94, + 0x1901de9bb65ecce581fb0fb7e87fc81ed0c058180060a73b7711c6cdf966461, + 0x4e485c96287142cfbff6c687eb26086db1f9169f445c9468d551f3a448c974c, + 0x56be58320aa9e6a660cb5ae23333f6bab5cbfd52cc8e5281541d4df59a5fd48, + 0x73a0f6620e2a15e236034142a48d24954d2bbb17d9b33c0f4fc2b20d48e1f6c, + 0x35634924cc010baf05a7d823613cce5db7bf6a1677d9cd87e76b44ea4a492f6, + 0x3fa7820c6f66f416ea04f868715eb3cfc2f8bd129b92fd46dedbf41755e005f, + 0x5bc7c3ba969d4d3cd941f3d51b68ca552aaf9dd160b3c070903a4b1ee8c40df, + 0xb23936d233714b31edabe4613f095b1def81541429c8daa6f3ce95856f7416, + 0x500094f0746fbc3e7e5f40436219b9bdf337bda1ba1e86411020ad09d314bc2, + 0x5df439f6d0c76d11c21c2a70653ac60307b2315d141cdc6368196daf3775f3, + 0x138a5bc82d87905e98110bbbe2be34ca4b8232d281bb703e631383a0452544, + 0x1de3f999b35a98cb978dae972c453a49b1d4bbae15a57b62ba4449c7ab0780f, + 0x30d62c05351c5bbcb372d97ec516b02622eb1b41ca337004139813343adb602, + 0x4fe29a9d63b9606e39924bdb7d159b633b2757d445bab0f5ee5c1f8c84c977b, + 0x4515419b7b413113c54e03b58e1036109659cf450ae183323fac8a41123b71b, + 0x161ccd6c3aeba0448a6ae08e8a4cd52eae759922a900ccc9ba6d502fe486dca, + 0x14d70ba213e21859dd92d7eedd08c37a27433fe03fe1d075ea4f3ea3a43b790, + 0x283c41a33231044b1b53bc900d23a62027081e3666e19f5b0f98200c8fbc1b8, + 0x3dea102b44d43341fc3064d5cbf619dd0f0d5d829f2ce54d714117e19405b18, + 0x140c0f624f83646ce391ab9577387b372464ead271f6dbad103d0626c9b51f3, + 0x6adf105b59a6b9ecec3959e506dc5f4ffbc7511c9c51742764f4a631c9a72ba, + 0x213ec24a27d8bbe6e80feac697026784e8ca95f1bcd122c56abb402fa75efe8, + 0x490ddfb103004f05aa9ef10c6f556433bdbfc4abdd1573f8c95df829d6996e1, + 0x5a1b8fdb09994a6f827d4c2a7e3318b2eb6136eae10a58435a873066b7d4bce, + 0x5097136611e99f9c8c12ff45ab789560371eb1b986ee71e46d960d8decd0102, + 0x681813372acf2faf7ebdde0a5b8a8a18cf12965fae8ec80f16ff7725801186e, + 0x2096801275127b29e18b7bc57367a2ee95047e35b39cf60f3c83b608f42c98e, + 0x2679d008465611dc51efbb6f94c57fce82b5ed49fbafdc9539b0bd4e1131792, + 0x68d065a0b9ce1a712e5d264584b40857d884fa4fc60c036fab9a64bba99867f, + 0x7bd9675963ffda2517c1e817195549ec84347db11322f9f08cfb42b13a26c7b, + 0x764dd7d4324d422fb9a72efe7410cc45fb71d5055eaf6af9354c3b975380d4, + 0x572a6f63d57ebf2ef60067b7ff462862519081d7776b7559cb3611ed4c6bc03, + 0x3356455d996df0c87af517f19f44b1d3d23c55da7a0f6cf3a85ebfd730ac9fe, + 0x3a3c63b080dbd03d383037a22bfa7ec073fbb16ae68a16f6b6605448a3c79ed, + 0x1e552774b6d7254bb9d2f681d84d85e47a9ed02f34401f97629d13e9926e307, + 0x6afecd151395bbe4e56e2ba7a2d24ab9df62ecd30009bfa59cfb8a0e9c9d8a2, + 0x3df3844dee95144663077669db4f74e699cfc3d53a1f0f78906bd84f73d6653, + 0x2a056bcb8d2a84ca671997c452e9b303c4190031750c989cd362c6b740f74e2, + 0x2cc01bcabd0271b8d95b231b2ff20715777e49b807c6995c09afb5a16bc83dd, + 0x4791628898eea66bccb5fb2450de1756741878113cb1a71c0c5f22718c47708, + 0x497fd9cae9e1495763783ef53276388041c72d9e2132240850a7c9c93786cf2, + 0x7c44c6c23e5af9b47fd3739d8b99d25f75747cde3a49b621887bd718f2649fa, + 0x9c5f0180fea0bd9d9fbae19684f0db9487a2810c7996753c123d1594deefe0, + 0x79e36ac2ed5e8a3f6f3c2aefdfa8c3f6b70ef9e3abe23f452c3cae1817ab7ce, + 0x664416d8c86e8f22db30098561aa01273e290b44c2fcf7be7dcd352466994d1, + 0x501209bef57462c1ca965222c960cf635890fcda6e5001fd57deb57b82e622a, + 0x3591e6e6efbefb1cab74b56e40f6582172b7f3cdb83a815041c0d6b5a2e6302, + 0x742002b150aaae9f4ee99017d3bf0c2870960b3b2de0dc6afbfb932a06126e0, + 0x3b5093eb1ef1bcf0c21e59c4f2f1a138c5ee4505ffd5021ef271f07ee69c9b6, + 0x26eb81435dda095ee2efe94bae3790ae94ad4ed7960673442da3acf8217d095, + 0x7152e99d984b346cc2df4b2fabe884944fd667c965f8924cedab59ced71e7f5, + 0x793c545532d36016302e2ef19a9ddceb0a35570cc33b00d8a1b1b378d9c7c1d, + 0x6343a9a884c344ea6141dedbc3f56ece1731cd82cd7d4f7285b991716fbca91, + 0xcb20ef07f32d869a613294a412d9f25bba8afce933f89cf7fd78fd46d694fd, + 0x4a3fb990e62a243b8008f2f05f75dfda534a652cdab33cafec2ad98f1dd5c3, + 0x777ec27d901f873f3828d8f62a355e79402734532a9ef5016549e61567d831c, + 0x4b7a3bd6f6d88634d45152bce560ad55897fc15a15f5713f047026fffbbd28, + 0x3f3c9e0c13098e0104533e07cb9b05ccca845e00183dc461cb3d232a8f745d9, + 0x45f25924c245957ad4241d3993b37f196024691afcb5bbebdd2b95fa5751756, + 0x416dc165e71c13950b222866083574a60e1381959b4b625ef96c5e593b0ddf, + 0x46edfdb30530efe86d4b02d6c9479bd7e0c7854d23d8cdce34eff2256284c78, + 0x15c924ad9b711bba92b30850a5651179b56a97ed12df9ef4c673b42f14dbf81, + 0x2153ebe5812f7c0a27c7b0606540c4b624e7f4c5bc747a9e2bea4a9cabf290a, + 0x27c4fa86661d9f4841ad30a526c5cfb8adc4e429521a479992435dcae92efa2, + 0x23e8dcdb6d76011c42f921ecb9fd3bef91939157fef7b7b75a15efe3eceadce, ] } diff --git a/src/tests/stone_proof_fibonacci/fri/unsent_commitment.cairo b/src/tests/stone_proof_fibonacci/fri/unsent_commitment.cairo index fb9446f69..7ec52bded 100644 --- a/src/tests/stone_proof_fibonacci/fri/unsent_commitment.cairo +++ b/src/tests/stone_proof_fibonacci/fri/unsent_commitment.cairo @@ -1,14 +1,15 @@ -use cairo_verifier::{fri::fri::FriUnsentCommitment, tests::stone_proof_fibonacci,}; +use cairo_verifier::{fri::fri::FriUnsentCommitment, tests::stone_proof_fibonacci}; fn get() -> FriUnsentCommitment { return FriUnsentCommitment { inner_layers: array![ - 0x6288a59e1970d629fdfb5bdea93ad3203511b3c27340db1467a39cf7951de3, - 0x821aaa485d3fbdf7b0a06d773e565370f794c06bbcb4e23279a39544782c1e, - 0x7a73129c87d8a60cb07b26775437ac75790bbd415d47912e5eb1f7c7e11d42f, - 0x3ce8c532eab6fcbf597abd8817cc406cc884f6000ab2d79c9a9ea3a12b4c038, + 0x137de087f31f4e6f54222fc3cebb3c162469083196999e6ee4bb8ceb4d6b786, + 0x3bb3c75d228842edce6f6bf6fd6706ce51f5d83c6842a3ab4b4d89fad6f07b, + 0xb606d3c2b341ff9de5ead44f00121fdc4113f3720feb162eeaecb511e73d4f, + 0x787b0937a4cd02e0143e93979bb79139ca9546fc1654b4f755f8642c989ba20, ] .span(), - last_layer_coefficients: stone_proof_fibonacci::fri::last_layer_coefficients::get().span(), + last_layer_coefficients: stone_proof_fibonacci::fri::last_layer_coefficients::get() + .span(), }; } diff --git a/src/tests/stone_proof_fibonacci/fri/witness.cairo b/src/tests/stone_proof_fibonacci/fri/witness.cairo index b9eebe53f..8a0e49aed 100644 --- a/src/tests/stone_proof_fibonacci/fri/witness.cairo +++ b/src/tests/stone_proof_fibonacci/fri/witness.cairo @@ -10,514 +10,517 @@ fn get() -> FriWitness { FriLayerWitness { // Values for the sibling leaves required for decommitment. leaves: array![ - 0x4d13d818805ede83fe1208349d2d801ce14c7820cbcf579b1f2d78acc73493e, - 0x193e8e8629042aacf77b7fb86bbc402d5072e967a786132979ac0a12f8b9311, - 0x5dab5691a4383e2640beafbd30fb97fc323147657e194d4e64a8780cec8ed91, - 0x13fdf177e77d19437c06c93f9fd536fe76db03f8cac1ce43dc4e819ded7dee3, - 0x1e14f2afadf2137ab61c8d9c8dbbfaebb446412ac4660bc3a4c110b62f343ca, - 0x160ae15b59f45c3e0e8123c77f2458bb26959bf3751d9208ccd6a5ec62e0d2d, - 0x6d403a5e20d35c7f39c9dbc73cf8363b55f3c2b5533ff7630368c8a786b828e, - 0x5ecc2d863ea40c195f280a880a4489c73433a0a04ea6bdf4d45053d2eb6896a, - 0x5f14375beb680a1ac1657057da36fbfc890199c4559d6cc285a707ec01a484e, - 0xcf827cfa6b66acfce87d834d1b8f0f7bab6083af802671fac52d3005427bf9, - 0x923a5ab90e27a579e55edb1146493b1ec5490a8198a29963af9acd7a394b4c, - 0x5ffb4a82f2b0cb1925743444b2d826e4f297eae4caee7350e1cdab10f73581b, - 0x71bfac9200085e72295a493b1919ee67ac2a9d53feb6d3214d6b2194451bac0, - 0x28b827d102df37f771f7a8a9112666c201ec81b317ad0642ff8a649ed237f86, - 0x66edc4eaf6022a3022e89f86db7822b66b0d0a2bdd47a5a2433a365e73f7288, - 0x581ea184dbbd3a82ae53ade331ad26a01d539de3319bb9f4cd035eb6f74ce60, - 0x73b15c6826f9502617089c594f588daf2c84510f70fdee0d3beac19df1cb1c4, - 0xe9b2449d7a843d3a18e6a19eab5c4948853c502be5ab9325adba56a9fbc220, - 0x5651f8774a6a375f3c485689708a7b0ee7eb4ee8d31fd44f44c0caa0e145eff, - 0x42200083cc9fe419b4b1d0cedf8aa3a8d32f4b779f76e934ff2ddca416b2d1f, - 0x6afcfab5538b9d3ce511e20e084c6e3557aeb75f04a3583de2dcac700aaf1fe, - 0x6c263ef43080f1e2d547607b452c78aab6d99f6f2d183ffa223771449c9128a, - 0x597ed0114981c27c659f715b4e7e440d9d4943cb4b76cb0c130095447a07df6, - 0x2eeaf574a0c90629ea6a19cd7beef9b34916ed9389d5c3a5592c3387927b108, - 0x2fa61fddb954539bc383d7f2dcc6830c84a4ae7e8f6f2d7b753d229bc0a41a4, - 0x7455315a9162fbf1662993c6540bd168abce36610e37f1426e11f2c009fad5a, - 0x294f87a3163c598e9ba242a83e554fcda1463bb37ac848cd50483825a470f96, - 0x724d05da0af9611c7dc46b503aff68a96c93bc3dc27e4beb1e17213696efde9, - 0x825aab2a232d19709d52b7c9e94ba904f5b7784120d71fff3f7c4bdc02fa3b, - 0x72f5ea6a88b0f4a175937f757d082490b93b8b5c16bee597dff604fddb81b0c, - 0x3bf355f1e96f3c0a622fa5fd18eef20702e6a2294d053e72d253bb70ec7bada, - 0x4f9b6544042bee796bd844d46e3c2386038a3069820600ab28569573295731c, - 0x5827684ac3e9103bcb202d5a5b8922793872493f8b95ce040c1a0b618e8d8af, - 0x2c41cbcdd1c37a32de929d6ad957512ffad24f108dddbe301c36d4811f9398e, - 0x5fcab1de75c445ecbaec4635e727fe08663b2af05e33d3dc11c6ec41b4cc38, - 0x6fd014331eaa02eb15b90a7ea644fae6c8ec5a6cc42abf4c10028548a9b3237, - 0x3eb9cee1859469fea13fd11d1e058b65c870fb1687386ca17c94aeae0216bc5, - 0x6bc9aec61b8aecb29977da4244fc151341fe675163f28ebaa720346e8d958ac, - 0x58e9851162c41f7d5b937163453802d624176d65eabbd57ad4662d3133ec55c, - 0x3dda3774b05844c8129cf536881fc16b5fa471ec78a7c1fda56149439f6db47, - 0x2ef3be2a0d77c6e240c6a0f6fe863fc143bc644285c20e07d15cbb430f60c03, - 0x6532e675a8d9532d0bf6315be87c915a668b626832af309ae4d17ce02d71725, - 0x10394e3dfcd8e75708a72628f4b66c4a91b55947ea26254c3542c2a7dd8b423, - 0x5ea9d0ea59e11b767d99b7225cd202fd5d42c4af2f428b5cc3316429c205ed1, - 0x7d71eec643b8fbbe11aad342afa4d2b903c144ab8519b445f4e6de84e06a0e1, - 0x1410885178caf0a4411c9f12b0ed49be06d13872b325eed125307fd5500c3f6, - 0x29a39a4d4f88d7a019b291cefde3abfb3ce1d2a47cacec4e2056f7528684c06, - 0x572b754992d2ba79829107b425f22bbf6c052ddf9c16869dfd381fb4ce65125, - 0x409a15e9fb71d3796ac1aec6598552ccdeb4a74a318e825d11ea5c95e427b72, - 0x39b563010983fdecc08edf18c9f21659dbe1c7f4e2e235ce20c8c2542071f5d, - 0x25f91678c912f8771f846e51871095ac2d93cb4f40401a8633804bbd3e81811, - 0x58368eb9d4a640ca69fa934d2d4acef64f6730d671ee2f1fecfdd1fd2bf5dc2, - 0x4ca2c74a972c909b2e00d2ccc491ca8341ec211b467ed428f4b35f0dae64fcc, - 0x98933677499b3802d0bfe0b882b24a05b31af172505a70ab10e8e1eeaad01d, - 0x3e9e46c195dcb888ce2d8175fe19969ca87a5fcfb47bccc6bf6086b38b702e1, - 0x4821f567f082595347e0aeb7ed16879c50cc501e4ab9f83b5f45a8d52acfe8a, - 0x32ef583e29cd0c29a03a3db5220cfb3c24f03f0ea2ce060787ac510ffaba771, - 0x7f6387cdc4b2bfaa1e8d5fbc315f6fec7c5aea73536fb11d3396e41239c8b30, - 0x7524f7420cfd8d290ad519d70e6c24d4a4815a462085df9e6adfb460a9bcbbe, - 0x2edd55b8852a72680b18217b81c46e1469bcbc1eb75ae9e63b7b12ce0585b5c, - 0x7ea02c03d4319b769d0695cf687222e70cd54954ad49848d1af0995cbdccbbd, - 0xaaaf1b9593893cf04c080943ae70b733876052498ecb81747df24f945c58db, - 0x29f420c5111d232daddbac8381bf671516251f650dbd47508f0e716b2504939, - 0x642e484ab5e3b1f839e55d4eaaeeefecd7d4137172de97d6af6d6e624aa7452, - 0x5b741b799a5f899a72d9a511ef6633155d07df10bc95e56b0cb41af5beef64b, - 0x67c5185f3a6bbcbb9bf0ba350b78ba83bbd82a671346a4e9b53b16d9a1e64cb, - 0x22bd325d5e00eab30384e1c8266f90d86fdf4c9be937f59f25728c6ddb13abb, - 0x60606956251e6223c29bdb689e64354c3824d2d98a9ab8f34b660a21a1e1807, - 0x4416f1ba99e66b2bcda097cf4f0a28271e15b5e45bb0fb5743c92555d981c07, - 0x3d877a47fe9335a7852d8fcfd6e2edde753bda1f6576bd83dcf096116f3a08d, - 0x6812209b77489b4c3bab8c97f5224da3b07d2b8e15c75a88bd1159d4371ae3, - 0x22ee6d531b96950c89be873397cd5595c555b6e0c9cda99fa13478337d4925e, - 0x5ebb262df01e1c4ece90741da8d70656831d72bac3d26d12c2a6d9fe67dc8dd, - 0xf7226d9be138108d49cb7ba2777568d50379379f0b8601d88b6c6b26e8e900, - 0x31b8b7ddbb96ac4f0552a15873cd2552e62fcebc58955b9fb3e9e0bd3f34f8d, - 0x475b667c2ff65f588e022eba1ef2f3ca46635d17087cdb08a9534d133cea0fb, - 0x6cc59716d7308fb8af69ee2adafddd6f8bf188f23a81de7f5913357546e4441, - 0x48882976610c3612c35ec4bd2aaacfc78c15159fe0f6e04c18957fb77b139cf, - 0x44fc729c30a44cf829b0f21ea6295e689585e19cdc0200733de4ce5958a3173, - 0x21ef29e494fb420592c9979385da605932d572d2c1974a9b6590ff9e48d6e11, - 0x4afb1854587bca30884ad85df488a28f15d6797a694fc1113532e8afda30e41, - 0x52e63ce108c7a53b2130bab0a63d0e44277de0bf407991d5e08491fb3a751d5, - 0x6f51eabbef4ac94d6ee65c81b999f210b0e49948d564911cd25afdc4fcb3eb0, - 0x4e8e2e68e9551ca14876aac71e26e941096d85fcc2bb38f5ea20800fb649df8, - 0x6a080bedd3e4dae5c4a66f56e9eacb5ad236155cf4e50ca32169e71c5c131e7, - 0x5d4a1c5a97ba0cea089f03edbe0ca3fdb2fe16f7a864e79b71d69522b7a97b0, - 0x4e680b0ba4ec0600d4447f445fa4d3c637334677bf1c9cca52e205d448167a4, - 0x3e5689467f7ea35ae1c6d5bc322b3d95f81b264082240b46b02c6af660a3836, - 0x3d362da343532e44bdf1c0bfd7eac4f0d3a5921764a0712cd4c6f829fae0582, - 0x628a2f524acc3296169a0d98e4a93ed3abc225a8c376b96083ba24fca910567, - 0x1f7a3e63b134ae1e3187eb4e09c7cf44d5955082fc231361e3e10dcf89b0707, - 0x16030bd65e3df2202b834cc6dd364c2faaef49aaf11ef05fef31b57e50cc1d5, - 0x5f01f1d47273e89ed7c443495806881d6e0bb813ee808f3c1fc6f70a99963c2, - 0x5aace99d52cadc72285de6b2f7251d686a6cd62ab747385c91b80c2864e94af, - 0x64e5a4f8a6526aba160a78261bfae253ee1eb8e8f07b4bee2d7b65762b9e44f, - 0x297330c6958a7ec95b848cdec730d631f1ff86bc8a990cbd56a2c78850fad2e, - 0x4c9944132831ceeb012729078d662ba48d13cb4dfac644b7c060d49bba6ff91, - 0x4706d61f0fd8155133dbd63f78a37694bd62403fc9bd26b18673908876bc26a, - 0x16c67d40ab890c2d24705430519c6a419b4833d6d442720ece224b4d6622462, - 0x3517fa9af79048a3f098362a33856b3d59be3e3bd478436c69334176229904b, - 0x2af45b9dbba23fc0d5a99c5b6a527382dee04f924af8fe25c8d12cd71bcd771, - 0x67881cce9abb2d1ea33202761078389f11fcc6c9534b5c12a4dfd89c6eda3b2, - 0x16f81c1a5af8ee7424fcd1ea3863cf9969731340ff10d457cc73422c538d5e2, - 0x2b8c10d5ba4f63fa2d4ed38fe8820f177617c82459fef0c987655f907aa78e5, - 0x213a40dcb1aa9046e578ee4dc4ae1c90393c96c40fa586883d8101aeccec29f, - 0x79545b1458995240eafa900c3c525e117e52f1fa9556f596ac80b19cd2315e9, - 0x1e44fc89dab77711d75eb5c008afc9da07497067e67991a34a3beb50f213166, - 0x86c65a93ba68610a1ecafdb3cbb633b3fe0826ca4990fc0977ed87c5f04773, - 0x45b38b03668c3420a4299b75c1a6842fec571260a3d25c476de79beb7239c6b, - 0x23ed76a77d43ba6449b185ea5239c0e3ec96bf75b5bbd868412c0b6b8717863, - 0x390d069d4b1b039fc2dc3b6ca7e3f4226da329ad0ae0c544e585a9bc48b77ec, - 0x30766109141eab5488ff3afad1cba1ad37a19e7b996c97d480c2ee93c1c5368, - 0x26cc2526ae61323becd72ae26654d8b8f5e8113fc45c33903219e2e19edd90c, - 0x11ef5e0f69042aa80375a5305dc714726d8a88bc4a9cb88ab36549f0cde384c, - 0x7cf8a53e9b091231282582cb7816410c749fa266fbfca0526a59e1b2537d232, - 0x72dbf05499d80af6d5e4b952d1a3021d0b53cb4d95488099fd338a1f42344c, - 0x2738b963b14b88ec1c3c57e2886dd338436aa7a4161013530c4bca154d18382, - 0x686dce3f02f9d5caf71bd80f5c1be8ea3f35f1ef2357dfaece9c77d36e6a056, - 0x29937bc7985a9ca727f7bb19d51eacfa53a648ac267262e5b40609e193a2555, - 0x30926211a2831ec7def274d1d8e32fd836d4e575a5074052b68257e34b96acd, - 0x7a0f533351fbde65f39d6cbff84907ac5f88221f8bae1bcca9d9991b4a99582, - 0x107e4b677f9f26a7a28bb72b12f92810af2669a423beb874a606d3c42795c94, - 0x5023b8efdd694b7a6203c2df3811b7ee6e69a4d7f6d94cdf43a46be1f38ffdc, - 0x659dab227b55987f832527d08c1f0e281e322181bb89699318eb2359b970e42, - 0x6fe17f7b2dd0b1811074a516c4b4e80f9ea9d4f3c067cf5ffe9e1357a8e34f7, - 0x5fb44e66a00c931aebabf9658c2a51cd6d6c28bddb9895b737b5acad7271f04, - 0x6f2fc6f96cc94685d267138905ecaedd019b5635f4bfaf1233a1b40eff3f58a, - 0x6609ecfb6db07a269c5f8a3b28e5ce02e9db5112f1792d0b4eb6c3c4de02336, - 0x57c5182baca1f0eb66ec5cd484383db9d18e52294832ec52a8d2cdcdcf908d3, - 0x483d965e18f4cd9bafd6fea6d8408db4b80b63f9b0dfa476b6509e5f82b9ca5, - 0x1a61fc51d0279d9b295fe62241345c2e76da363931b6822462d16765894d185, - 0x733fd9be373eb402acf8b54c87f61f685a3fb9892a41fa7cf7e6482599c5e53, - 0x3cd2552973bb0b97cc9c86787fd7e9580705e423ef1d9692ce39f0e103a9e2e, - 0x2db786f7279791fe4bb76af0d561d67f033a24abedc73248568e1af0d1ce74d, - 0x56560b0c08a193955c7ab913e9c6d9f019177f0ef17948b61e4e54f75b040ef, - 0x33e891c3d8fe198122db46c8e1cb50b1b88baa8582c06dd2f0d78bd636851, - 0x131765db6c9c43d10468265d84970b7b539f8d4b45813a63f3d0438bde01ee1, - 0x1acb7862f6436c086c98b7286b98eaca484fa739b4b80859441792ec2d40dd7, - 0x689d3b729820fcc695b9c5c0138a43a89e7d1f58cc2dd7fc5a9f3c8f1c6465e, - 0x465d380bdfdeec35198157de3170b590b9a9f4b5d8d7d0bfd838bcfc0ee74b3, - 0x148ac42c0139a3e0f21492fdae68e2f527890a24cf25f854c39e262dd0320bd, - 0x697c84e08e27c257cdfa280f9b37c76386a93c3519f5325c0fc0541f0558fc, - 0x8248e62f39ec024be81a45b5f55a591ecbbbc835d83d4779ddc9857d866a3b, - 0x2258cf9840926ff1906195770d2e241d21cd281042af279ed522346ce290bf6, - 0x3a94ab7d7d54bd1ef87722afae2a6d57d6fc59709bf62036de87a6d7b4fba77, - 0x177d4ae5458762ab0fc4b84ea48862bf9f1b8747944ef8dab20ec66da955985, - 0x1ee9f2e531aebed8082f528c010a7bec15cf8245fd14812ed7dc8b770e87d78, - 0x51912c05a268e195ab9224b2ae535e916970c4aa4d5dbbc257ce5a5a21093e2, - 0x6cdbbc2f59a19b0d96ea4ee7d3ac15f357bb5542c7c3663441aa95483e466b6, - 0x30dd27e0501c89776919e96551fcf8b657269cce6d99a91f847e8d7abb5422a, - 0x51f744fdd0b36dbb5e9df35740fc2ac37750b4144b7fc094dcb7348d19c87b, - 0xba90f0039084a451c846acbc4266228ee2290b6c81be702c0270274048445c, - 0x527e0d4349e9e39fa4deef5bcc1185849badee53775c41e3f4e03b27ba0b503, - 0x669ca7e5d9f8aaf377bace435a4ca37932d0b1eb8340efbba688130448b08eb, - 0x1242f64bf0530f22d2c888fae44a8e6994531e705736cf57b25b5277e96cd99, - 0x19beca68546eefd9a15105256f6ae2d31c83840be988678de4e22fa01a18cc2, - 0x529c6499ffef4bc9e82b59a7b267618ecd5cee3974f0f9763416c9398f6cff1, - 0x6ef8db669de890ab427f3c1a43e2d2b711e7809dd9828236890137a684a6c34, - 0x2dd0990d6e81e6496e5159d9741211dfb3be5f8af7b05b0da41652dab6a7bed, - 0x13d9bdbb67aea42dac450816877c68155fe16ee6048c76c6293556b398a00a6, - 0x16193fcf280df92e5ace9f0df893c2cb508bc05156932cecb614fd5a6636bfc, - 0xfae9b16c7c233e431e13053847636e0415483c30b9f039ba118f56890bffe3, - 0x3bf3933ce14a6e0fde7b95bb8944bbb56e70afd5774a2ca3178e7434acc594c, - 0x66c63bc5078ca58ff875d0733f5479cfdb57281b80707d81e3d2181accba6e1, - 0xeb2cef53675754fe4486cd874a8744a2e1189bbc0f178100c131b2bc2bb5, - 0x3f185d5df86c03c1b587b02ec3495f0837a8a12776cde40efc52d328118dab5, - 0xeab390bec0886611138611a142427c3c80078c21bb999354ae208f29c3594a, - 0xd06f8d1625f0fdef8af92047ae613ecffdf779edb3ba28cf01d189b9cc4dfb, - 0x22d28c997e9b35b1a457a22f7c0d6af052d91035b9b2f3212175eb57e0ea37d, - 0x327f36a78ab8be77f428911536931dbe662e4101fc4af871137fb8661ef8695, - 0x788567d52d28acfa8b558f7c2687c6f422d9ef39d53c770fc73cf2c3e97d462, - 0x5dde3b817cbfeead3d1c1382112694422d60cff67f0157398810930d7ee2ac, - 0x6155d610120fedf8d66d04ca16bc2b6838979857725f79c89ee7d47383dcbf1, - 0x2c3e9d511fd2ce82d72b9a697d3c91dbcf70bd684c92c4c0097848dc25e94a9, - 0x6b5de5b585cc302132eb48fe7c75e1f586a258daf0af3927954f7a679f5df1e, - 0x5a0d0db925496f4bd5673f82b383548a09c0b90c353cd7fbe2839c2a06c751f, - 0x61873cd18ffd2ba86e4659cd44133884e33959a04c078b8e503b65333787b6c, - 0x3772cf982080df8eae00db842f51bf67912f6ebebb8a1feea153b3ccf555bca, - 0x519ba868198e4485a7f96552db483b7bc2415c5d2f12b12ecafb4051f31d11d, - 0x294ed0424f5ba3644c3d9904d766fdfd9901c8fa97652d3e310431d1b21aa64, - 0x3ce9ce39091702914628c6359e95d58e597fab531aee74858e30365dfbe4822, - 0x3de5be8c22b9a3c8d1e5b3971bb2473b33e0d4fd0491b8c36bf427bc5bbe5f, - 0x11321c124a39b401b3079d755dab957c6e1587ef6d6f216c7a845ecfabdb5d7, - 0x4ca7bdcff2ab31e96ff7cb36f1e79133dbdec5315cf696dc64ad88019e2e913, - 0x54c84ee2f95973f7cb51cd915dfe8149790e74e7456e0688d8b915ba96fd59e, - 0x194735589f01d0d1495760a0a5554c63eb3546578c1ff25a5e7b74aa27635a7, - 0x218242050509e905a3c17baac2728ccfbb7622248168237773998149b41d770, - 0x19cb4fcb67d2ce1762c34ae4457de3f46dcce85aec27e79038b57ecdddcb23a, - 0x4d7adff91d78fe33ed4aa36a6e59655c40823c1cc8190643962b55b92fe645c, - 0x75d26620be3ca546ef6b3925c13abd25234bb722b211a8c647c8f62bbb6df1b, - 0x296668b4e3e911ecccbab5f4331fd1a4c33602048b8d76120081a80f1119925, - 0x7ef38d09d1c66e3f44f79d6dbc9b77024a90a700b230e3636466aa50d61b513, - 0x12c54e44942fc2b44d205f08c2e71de2b68693733b377fe63ec9f6a27fa0a3a, - 0x413b16c723a75ae75d339daee7e520847f04ed00f9cec36706beae0524e6e7f, - 0x436882b28a2914bba68db50efa62460ad0333cc7fa10654f1fd438440d9f232, - 0x4c58d84e6a0f778e5a81377223811f2d6a5a7fddde83f40498a2652f08a268e, - 0x514cb8996786f9599dd541cf59155be99cc129560aeff2efd20cbd04bc774d3, - 0x6a307a71a373cb456cdad91d536f1cb5b2a20c3d752ef2512c3b498e135387c, - 0x6c7fe62a5f3931e64a318e7010f24878479e6f35c26f58c728a07c008c7d829, - 0x2936b3d3b84f2b9794d8378d6b7fbdd504aeaba23315cdf502fba4ff446192b, - 0x2bc0490b644d0ff62ffe66338b7f4705e14d2f2c6c9d3bf7298bc784e16d3e3, - 0x4a777aa93f3c15caf252598371c138a1845c1224cb9bfa25e42b9cdc5aecb5c, - 0x65282a097a304cafa7844022c030813f22acac1d289a579c5a210e456aed9cc, - 0xc466181ffe40704149983083a1275edfd61b622016aa6d3cc04989f0270b9f, - 0x54377fe609f965de74338f6fb7eec5d860112e0d28fd91dce527efaae60c905, - 0x5ef0539b94e1e0c9e29e48d0e4366f390b17405f11db2b29db7e0a641a31bc3, - 0x7f8220575aa6909e345bfd1a0d27e454bc5885ca86f9fbec6e8250cee07e778, - 0x468385e544403560d57964014fe70822ee2298108a96155f56d81715b7888a7, - 0x33b550eb45b951f95513c4ade7148051bcdd668a82a678dc48fcb0b2c9db8f1, - 0x195886ef4d490cb1818c60573bd137fa28a9c3feee55c43679f037c360a11df, - 0x3b14005a3eaf72398cb4924e7e9a3ae57b844bdf678356f6b42834a03a8ca3f, - 0x34e25845fe17da2110c301b6bab8cf9e848d505a14a353e1e245999f5d335ed, - 0x9e9e1baa57fb7248fa7d647595a4a31d85e7ed17d11182f57e8ab53027ccc2, - 0xcfae4b397edcc9402a5307d1280d56665106aa998e2a7539910168e184b489, - 0x2653f5e5d5491e135a88d01537db0cc95cd560a4eb089af59b180ffbd1712f, - 0x5bfe44eddfb44970dd554cb20e62fe249e6d374f2779677b9f0857d5975fbcd, - 0x6848643c894a11a2b37366e21f6e689e115da42a41b1a844b5b080e17828beb, - 0x3b17c1c8ca23625dfb78268aaf62f9e5b4f3da2c02d38aa53a738623c89e88, - 0x6a4c54d35fb109365adfa5c9a6ef85d48a99ffd5a307994bbc3e27eaaaa83b9, - 0x3fc19549be7e2fe39aed62123b71591f19c743faacecf9dc47876c461ab7b1b, - 0xc5b651f77bb923367c3b066b10eaa7db850f8154526bada076b779751d690d, - 0x4f66c6fd2f8e0bef9bbd810e20d2326190c95e7d68e591b852fa4fe0907e9b2, - 0xc6ea77abaf28ac8a821e9c554b0d2b87836d1d891050f713916397e74ec957, - 0x3b97bb163fc0abae2f79a192f786cd6ccb51d863d1f1c3b43a602910f0dc1a9, - 0x72a966a0ee43f49372a0e0af31bc1ffaa7f63885f7b85546e42fcb2e283f754, - 0x2fcf5cbde348bfec25602cb18e4ac802f75ccf3bccc1a0e725c980fa4b3c2aa, - 0x7ed7b57e26e34d69f8e6ed5b0414ae1d21307f6cc8106d6f12e1bb11259ab20, - 0x310b20484f4ec73828f636719e457b75541b0757139ea9af98ceb1bce746997, - 0x68d91b5064c604f2fbc20f5bc4c0077015b934143190789f437147addbb315e, - 0x5f393eadc52acabf68fcc1e814d1399b3785923977bff2d947fd54991c3577a, - 0xb57cbf2137812c36615bfac8560760be6c8b525dd78ab6ffce94f296f3bd70, - 0x5acfd01f2030f6abf69785c3ed8ca56c653fbcc51909cca5b3a62356b28e7fd, - 0xd94435de390bb5ccda294d8442233d599b7b687aee650a1c8ac155a504a12f, - 0x7a354fb3ae01330c16b0e3fa4e01674f1d99ab9d3121355c3ae4f1a5f985adb, - 0x6ea9042b8e0263d6067b2dec8d4b98e0f9be1bd47a456279ef32aa89d50416f, - 0x13020a1b73d9011046990fc210b282be2a2653949208f89c0712163a9895070, - 0x2e2458f74f916b41774780170fdb51f4bead54c14a8a058dfa2f62baa22a465, - 0x1a82a889379fa691cdc497e8e2c8a1335e6749e14208f356bcd4f202de2a5a5, - 0x279eb0d26f3b8e436bb3b4cdd65b5f2b94b57591ea83989a423cda6618ea50e, - 0x6bfc45d719403d8290b34fda37d247ac792aca2cc81026d2bae8cef3891a515, - 0x39ef3f1b77a5ad75f46c85c396d3d008b2b374118936c2915c1b243f2f9e2dd, - 0x6bb41405794a6889702c6d958e0c6f01efc3920780c77155f149b14526e201f, - 0x64c967166a095875413572d60876851fff71996ed57aee32bde6ce9cd6eb412, - 0x4f2378479453f6f017e11a2b3393f500f3c64efb51ddcb84fd313fae583e0ce, - 0x63b401e86aa3dfb38d456aa6403bf73581c988685f44a83f996094b59ccecb2, - 0x7996c592584d8fdd5c6107e940f8ecade026acba0c5d4bda1bf3486edcb7730, - 0x137e0e96aa2dec7b5f683226d177914611a9b7078798ed9d880d903fe9e9be4, - 0x1f6510661f0cb33fb39d0c83528705036f6f11b86b148178b780b77f657097b, - 0x4272178abec44a4920a8104e3fb641c7e2f513a214edc635d391c8fb67c2e6d, - 0x1c347c6ca0891733ea63c531bbda1c4efc9a0f0ab8e28e29f1eda476b31942b, - 0x702096d7b8773cab882556809e516b8391427b5aa96ce0587e003646441e711, - 0x2967cd74b2fe9fb48d1ae203feaf52e53dd3f8eb1665b2857e2e31355a73dfa, - 0x35e24cf7ef33ff322de4082539195e3ad6c7bc9e62fc512c812577bfc7d5183, - 0x475ee832a82d64c799724865fd107c048746cbf84b5650a8e3156ca8f30665e, - 0x7435e8c44f6be7ea65c3333948a7b123a308ba4f9d9379788ab6e512496d24b, - 0x4ec24c322298a2240404d29adaaed9085c9bf727eb3b24f72480f12fdae2871, - 0x294df4a18bf653e7a4c239060007ca077d153956b5d1ad03f514474e2f65740, - 0x1795fb8689da8a00e24ad2456c4c21269bd06235b06b49be87c79765d1468ad, - 0x5aa7f2d46a9c8791c57fe4024be9b55b0eb3555f8b68d9114dd06b99bc27f44, - 0x799cae4894baf27a7311bdc7196af2c2ef17ec5b2018476e06a6cffdd6ad0ca, - 0x63b21871b980dfe9ca5a87d2922c5df4c318b765ee1472738890a166e46aa25, - 0x7f2de50f350ee1477d2f96c0c70ee326cfc6250a298dd2fd4d3baeec165bac5, - 0x750c120458e4cbc28732d42d36fad970470bb534cd538f785ac9e0cef7c0d3, - 0xa23c6644836329fa2756d2ded2f2d4e5b085530e22903c0ce2ff53e6dd30cc, - 0x7deccaa7a109c053e646f1623a196bc93148cb3433e4365d3bd755e5f941b1, - 0x360df7bb2634aa3f2ef3951a603df1609d6d5d85f44a5b8a5df91935f7cd838, - 0x305631a624bf88f5df3394c41c374cfab10454eb49f819a0a7bda042586696b, - 0x4bf8c982bbe2ed822b76a600c50e6b531a1afc88727aef351f89e79b491a64, - 0x8545ed29d31f34ee2e005159017f22816268519c1f82819395c87e8933fd60, - 0x62a02c0d86023f5264f9593655712b12862ac1edde55f155d00a1c13e76514a, + 0x125c642476d49a81336176cbda296618f2f8eefac0a9eeea5b3a4714b706c08, + 0x14db47bb8d3d5ab3d82ec170bcc5a8f74f5b59348e840fcfc3313c6ab982069, + 0x2270c638241e74b35b8e861e3b112c2206bed1b77ad1dc2fe71a420a75fc0da, + 0x1f68f798c9ed460b161618c2a9b222fa4192544fe8e0ac9849fbf00f0731a45, + 0x6c86700b0e573a9dc1c219b3f2ac859647146431f75141b822208d456e5fb05, + 0x4c89ee52f1c04e74193878566b3f05ab76f235f5fde3f9c9fa91d999f90455e, + 0x5dfc0198ec4731527876160945232d5e76779fea9531ec6cac6fd046d04e44c, + 0x4fe2a06d70412c3fd46d5e53ff1c752eb7a143f6d7b90c71ff4ea7fe22b4618, + 0x749aba1825d25f9d9552ca30b894c822c61e761c11da1b5b3af2adbe7621872, + 0x336974064795336f43caadbe9a724bc4989c9e0820c8c4cf8361ead65d444ff, + 0x6dcd227b409d323154929534b60135fda893cab63b7a888ff6de67c96e8580e, + 0x2dc9fe9c59c59f7d8b3102fff699189a7d50fc1c5574de5f3321ff20c784fd5, + 0x5522a20dc8f5e9fbc8f09416f96499617fa033f66247b8a40f32654fec45699, + 0x697313d98256c227f3c5d80a208c22de944abe2f08613895ce8ef6b65a95fd0, + 0x764371a2f451c898da8e2c7a184a03a30b16489bf32d4502ac46cbd8723dcdb, + 0x64369e61256dfbbb05f2a57516ecad53665c44ded9a3cd8a95a20bf6ac54bb6, + 0x666eae5007f25497bd388a611a24cf89007df1dd87ac0d16f5a2f9ad913d147, + 0x65bee98767d3c8d477d6f4dce6df1c5d8f1b9cfe8762942873d08106fd402bf, + 0x248b61fd5ec21b1f52e071510bbbb224d6ced95a0b63bb6a1c5c0441349841c, + 0x79d1b69e69143a3fc8c845ffcc4d09a22bb9f72a95ac6522253c3f4a3667641, + 0x389d5c9c4cbfb48841fe5eeb78052b7256cff07cefade3a4e62a25ceb1226d3, + 0x404618b1d7211f79c8e775c216bd07453f3b60599eff143930fe24c6d3dafd, + 0x2d695b32f211b5e92059ab868db3d8f804be6628dd4b6a6bfb1fae6fec369ed, + 0x5579a4e090b2b9d586798986cd231828ccccfdd50719d9e2904772d1544ad76, + 0x2012a2fc613dbcef9dd94d506dbdc23f80b30acd66933156bf1e98824a6b5ed, + 0x75d50621244d929aee288f29039a297a6a565611951de04fe8f05d3ae6f5a7d, + 0x78ebc2bb05b1d3ba8ee4adc4c297349567e79f81c02e8e11286119ad5db2ba, + 0x16b80af1663dcd0088b67643716bcc68dde2854cb289387e557a905e1a4f125, + 0x469e1ce7d2746fecd27b11ae8c1ca14aec70a4849f9f0e3c5c2e5c5b091c0a, + 0x40e43c6b6315f818ce1bf87cde8d92ee79594e3b9c4409283aaf7240c25cf82, + 0x4e2075547388481b81cae245da205cdadf15a0f8b8e04208e3d467c2418b039, + 0x31e21ca7f5973fc3e93f80f847f34cca95bd180ebc8ff4c6da00d3a5c4eb4b4, + 0x3cc38d41a0fc77af6dc4180ff3e5b626a8f40f3e9cd77c86869f39aafc407d0, + 0x4c8105f248ceb70c905428a8266362d4d758e038e9e86d8261ae9134d46eceb, + 0x2d7472982c533d52211a40571ecbbf02b55c288b7a85ee2dbff02d9af8771d8, + 0x20a4c37db42dc7c8362d7a3f6e289bceea85806626c65d3c404b4d887f37887, + 0x18cc01b1d504967c89e6ef1d01c17e4ed8859532988d62ee6cda452d54db033, + 0x33dac8dad7ac6578741935e7b47452daf3905a2cc0e9d1d3bd743c6bdeea8a6, + 0x2c4ce0a40c170dd13ff350e320b49afa840c6cf3af994bd96985d8c3c2c1e73, + 0x51dcbd3cb35f31de274915f4f53e684678e859e1158370037714ca9b3c58e2, + 0x411683581e3dfc8faeb7be0b1147d4748882d06df2ae859ede6ca71ba2be9a9, + 0x6bd4460832da4a908a1a3c9b9ff9c4f38c24819049cec34919b7615ad7f9833, + 0x3606770611f320e5006dfb75e0b48a180ed1276e65f2bbd296d66ed1c5d3dbb, + 0x43fb1b0892ec1c06cb092a0c774914bc5978cbce77844ca82ca13f8184a145c, + 0x190c8a9abaf1ab233850b5bbf27f6cb2dff816ae25266f93fff2360fe4123b9, + 0x5f9f26d8ecf754c5f4adda4b555de4f49f85091a0c91840db5d6a55bade46aa, + 0x39bfd5639fe5f759b11309cc31dc3ae35e939e545e47327412e47274a818456, + 0x4526e5e364f68d89fcc8fa7d90fd128ece9e898f66a67b5e5ef56d4d06d6432, + 0x5409a866da8a3cff7af33f79b2b42e86761be23b00944766c3c86cb124dd99d, + 0x78a20dcb1237911418470f829c4ec73676f1bbe1ab7520ff4b5366825e88d4, + 0x5223c85ae795b3ebe97017e410a7f683b38df94db0f1497f7fccc40bd01d97b, + 0x36e873a7bfc747f3cd39981af054f3de96a678e521af61fb71eed3e87a57ef4, + 0x1d82fbc519999d9760c0c89d2838dd60aa34cbefb9cf5ba81bf91da7ac9da49, + 0x326669999ffdde60bfa9b2bf47dc1849ca1b481b9088d287201fd1f3ef005b4, + 0x1e848f55008405bd96e888e88e4942757473b4f35f9bb91a069d7da287019d4, + 0x15dc9798c00ccbc188a839c39f39e61f6eef5b3104dd425c593d56cd8d74b0d, + 0x1da9ad2ebd2dd09246a1dcc9021fe7c4ecf594a507bf17af9cdc20fb5c9ef6f, + 0x21c4967d6e2d721aa2823b214a69742cb688b186dce3cc2b8baeb3c9367116, + 0x27f520d95cf5555852014e5f9536a46ae3f87911bb7311015a1ff9de3577c54, + 0x48331d50cb047fcfd8e53c40a064f1e5b4d07b06dce0077c3720ea0f6258159, + 0x4c58c2b6811156bc560c529ae06ebc88c35e74ad4954a1ac999c4b3ddc83503, + 0x3ee5e5247be825b20243db087faee18335d8a192ce20caeec55655690c1a149, + 0x1afc5fa5c01d076c0a0f0dcb0ec3ca0f63411d79e80878d42bc485a3f4abfcc, + 0xdd08cdc6a2effa66de6cbcc0ba45efe6012af26e9de49992f4f397475d2185, + 0x4c56bd0b1fcb877f39742e196d9ef70e1b2c4f8fc0ef3f8eb6d3b4a2d511076, + 0x481887678550fab8f883db92b21fdc7235691fb399eb89148b03a3af901f4f8, + 0xa707a5a12f537f09108f5438e92a1c817d67c6aa48b868991c85adc600ab7f, + 0x3bdaee42344f35ce96fb016620c2eea6f7d174ac269bacec77e5b0a11b485aa, + 0x7eae5a9dfc4e0b08a2c75d8199bdcb24746533e6ec56f68725859670cd30bb7, + 0x735665d56e3759fc28693cf00e604544c26b26980b4bad59c487d8accd5ac78, + 0x69df12695176eb6c2e007d319606ec7c05f752a0f46913cdd9d9be416162aac, + 0x2f37c1e9df344c4ad603d41f2aa792463c46dc9da7517b875fe649bf4b49ff0, + 0x7dacc539bb48ffa2991fdab148ac7da1d0b133cdf9438032ea48b531c685331, + 0x233602c6c078875ec47792f38c0d6466bc8b99c642b4b1b643bcb97adeb8aca, + 0x6a7047e036cc0ca852902094da1579ed8098e8bee9fe42e9e6d7745d837283a, + 0x1f609efbf8e014193ee0bf1e8f9384b57d79f1c417a5f57f96d0207516a59a6, + 0x130d6d71e2f1cc6ce8fcdfd70db51e48c09ebbb3b1db054e903d8dfc833c71b, + 0x7632a6a8f403763f8a2a3e3a1ff9283fef0d9d446308769d75521acf2591b86, + 0xbc13fd9f799345409ee3aeda6ff8f452b80474609e485e27b3776a8dccf1af, + 0x70fba9aa940e7e541c675c2093d07ebd0d2c1f64666867cd838e89585f36751, + 0x3ae57a4e0d0bdb926020b4b59235d324ff5a921c5b0f6c8dc24d04faadb1ed7, + 0x7a07afcef0046c63d46696091c17aca78d109c47384e4bfff3ba724774625ce, + 0x3799438c0dd78c1a420411b6c9d0de8376fd2d3978d91f3be20e44ac2ac1bcc, + 0x5dc96e0eb3b42b1c7e52c04ef6e164074712b9f36a6fe6d6135a7b15b7b5770, + 0x3241a80f14b4d8cae05e5dbecbb3466064bf14c27a27f8192063ba946bc431c, + 0x3a7fae85757252e70d889d9ce5d7f6ae6ce2cf1a184fce091ee0d622968ac4f, + 0x4c5ee66ef7c56a68f1147b2fd032410bd899eee7a523de29456d0bd3287cc0d, + 0x195a86c628fd4ac1b54b0ca046b15c78507f1000eaf50613ecd84d6d703a439, + 0xc91e38c8edecf04a96dd33bbb384eed829b3c93040534d46182453866eee9b, + 0x29c924633b57434307fd7010b0fe7a41472e43785e81a84aeea53a2dd7f422a, + 0x74ee2d796cbc0d661f17496be140226df4e76985106ebaecb4ea415276ed61e, + 0x1b0bfa48ce8636766c1d4ee0ecb16365a4719915a95e4f99e822571d7c14eae, + 0x66079e40ad0cf859eb1dea9d83029d9b1ce4d59352b22e129c45f0b75bd1c8, + 0x6793bc5cbf8f3be5ec1a2e05389b79d3b7ccb137ae13eed80a01e7e0e0ec949, + 0x22a3c47a4707a82fc3a54e852ea8e9798f608b03a5b327743474af22452f05, + 0x9e9a3d4af5c3aebf5e139b5e731223fe859de16b2c433b0a393db92fc15a49, + 0x50d8ba0913eb6400c0311268e821f8e62f86818cffc3e5702fc7344e3295141, + 0x4e3875be1017fdd7f19cfefc8ea47b5e900fd40a4f00093593ad5e6cb4fee47, + 0x92ee7bc214d20af867cbb50ea7419b09fdd4e43cd5b5eaa0665e5b1ad5ead1, + 0x22b2b689a4443d6406e81ebbc8ba132fcb16108de5bd14a60b6dbf7930847e2, + 0x14d1600f55f35d53b48d684244a56f5b74762979dfe4290a6b8038947b44225, + 0x1ef0ed204badf496ff0d13aa1d97660ce9859ce8f90a9070c5392c7ed82e531, + 0x1a292b3d7cc546614fa386ef133393c60a086e86d933be30735c04da065679b, + 0x3be441b53bcaaaeb3f563c4c597eaf3de1c927805c9902df372d8aec3c40215, + 0x2c78635c2f3973a32a320bf24b444d243120e1513d2c3b057769c887bc1fbf1, + 0x2bfc6e11f639683606eb769be081f04bcb324b95d5d36f77376c93a7b722521, + 0x479f75e236286f3230d08d3891d1c525d46aebf5e2a5d887972d236cbd513fb, + 0x6bac158c9e8ff4822abc50ca54df64437c3838374f8fb3bb42719e8dbec8524, + 0x361068257a9c5e72a5b759e48a1facc4543eb7552fa7b790e0b3fe29653a924, + 0x74bf398214a1eb333048cfde118c0166aa834c6e5b2a0ccd7d2476524870696, + 0x7b53c7afdc440e9cb5fbab82873119f6dc2f5827b96aa0cf6d86f467d030d6f, + 0x3ffdd6d9f16c1e4cdb7b6c63a952e6b92948905be3b4b71683fff0e0d0c1557, + 0x7323e1252b10b30d085910687f27a6c8c20632711883184d68f330abf6ab95f, + 0x58106022de4473a446a0e2b07dd320ecd6025dcdb982ea8baf7ce1bef1d4934, + 0x15a481e4019787026a4f54b69fefac7dd2fcb526fe49ddb6fb1f226d3be973c, + 0x74efba78c672a7cce735987915d24f0339fc5194ebdbe59298558278f4a83be, + 0xb2d95eafbf4a90c5348a85bfd22086130ce6aa201de2ac4a68260c5e5bd090, + 0x32d5a419a9560b5f50c01f5ac2297d4eef6cc350cffe90fb1c83f104491bd90, + 0x135ca0dede46d9289d1a6d33e45058d274b2c70f1eb3bba6a0a0ce455861bee, + 0x93ea818a7693c21d9a038c5e8f14181f21b75fc7ec40d344b1228037cbc047, + 0x6597630f2d3921c6ecca0a9676af82e4d847763cb297b60d0b8ff75349bd2ad, + 0x559403a8879db9fe90253c0392239ec04ab2cf5d88d748a8223e4b8a52188b5, + 0x2741126318b482c24e7bbb01598ec12a7def1dbe18ffb42945f5218af0c64cd, + 0x34cbb862728c6fef883bc30c7f69e273af09013cee877ad1b42fb07c8aec10, + 0x1b566e921b8dbf880a05bd6b85a9deae06de429c1b17c67900b9977dd2149f0, + 0x1616ed5938510cdc231f150d5d594521f6cbdf379138e2e82b7b594865a364e, + 0x43f358058b6f698a28e9c9f3b7800a42a44e4aa3e136c6cae83a6f4d87882eb, + 0x7ea06f9ab2f11bbef40b43e0b506b4d6bd1cf7597d1c9c10d4c18a62293930f, + 0x2919118b91f2980c76abf9ea434a163a9eeea76d91e63ec55283f78480a5038, + 0x67efc97ac2ca07fa1a909f5253e659dfe9e0b7703f46073d99f8ad7af52396f, + 0x1fc8575757ca461697d41d9b681e6d5d1e7a7d5702e281c0e6652d60a9e55fd, + 0x4bf3d7f51eb4bae9d384ff85caa4497afc96798dd97de2f317524633eb7fb6f, + 0x36b362317230f095ef432f9d62ead571fec416ea86d06ff2db97a3e3ed3d7dd, + 0x3206e7339cee009ff9c0fe2ff14018a2d1b69b69e7a11ba70f44772b8033bc3, + 0x52bbd1c90501d4f36860ec053d4e3c8d4341e504249d3beed2de169fa692a03, + 0x1e4724f37c3fcfae29af68eff91240eff6770f346f7e1dd7d67a00782885bc9, + 0x3a8b7458a3d3f1daf08a782f755ae33fccada613ed3b3f4a43a09ba61c9520b, + 0x5ffdceb406ce108affef1b2cbfc8f4dbe5b7ccf6b0927dc4362bb2d6fc2c2fc, + 0xed60e16ce8d7bacb5196dac671a0de85e879b77c6b37ff8d9817fde1cfef6b, + 0x6319661189b51061f4f1186152ed6e36e3182983b07fb8750d743c964a7c8e9, + 0x3b0cc1f223ec1060d62a83d00bfecdc7d87446de809a70c1cff9366b72686f1, + 0x7e422c93aa5b9aa190e461721d757f8712915688ab6d2f83e89a117154271c4, + 0x22bac5440eb351166de9be46c85d7e19d9215159e7c6b1b5be88e9a8c649d6b, + 0x506fca1b120e07eccb4aa884e0c89a3ee8ef190cc5d42e7e59f222ed5783c25, + 0x55799fd8ee26224ab79d4b43e80d232ad0ee75cd4c263c58d856e418648e264, + 0x747be0a6e113d1735ff1951b0476d3caf7da761647f9d1158c4e6aedcba7b15, + 0x43c943340c527768186ab6b8bfe012fbc8a2d9f71d602ea18c05dc62e17124, + 0x30cfe59f2aa23e23060f8d1d5605cd8f80f3dee4dcd6bd56d2a24fb75a7c4d4, + 0x6588312bd2a8e7e6dcd7028fc117f9dfcd459847eefed77875e4baf69dc7682, + 0x35f4b8fbaa835c5b7c69b5520bb5437abde772317e3d1f940671e4a8ac56aba, + 0x7020cccadac28718ce3561d52155b5654ee889e4998a517d25728615ac72b57, + 0x607effa8fa3d95f3e81ea8fbc5948f39bcee07d9f565da0e0993cd41ab07a2f, + 0x3da78933ff600d9ae9b2973955288dba061a831b46f037c777fd72656839291, + 0x671aa8da42b1adab759de493568253cb5750f64932c2f2885d14d54003ae6d9, + 0x3f8e92e8eabece0c371024232c598216b67f7a46ec5313d9837a9e8997de5d6, + 0x7a3ef969167336d964b8db2ebb4720bacc1f93cab7b5efa07f8ced0277508ed, + 0x51ac682ff4309961fb9b817a655fd9d0ac5d71e03629bad5dab892f686fa2f6, + 0x20ad0c794fd705238e109ccd80cfa2564b096230790094e174afb25d1de4b2, + 0x7aa9de85cf15807922a91a7f762cff148d9cff0fc5955f58198e5b8df1fa32c, + 0x55f1e2e30b4e512733707d2cdf472b4daf1ea4636e3bce6f83217fa722c38e, + 0x290043c7117f45a2a54a3c4d3bfc3628bb76fccd39cfe17e33e365b3d6cf38d, + 0x6528fa40de59ccc1ccc26c383b14aa3cea1977a625385fac76174c035f4e5f7, + 0x46e8bf53e428ea7a1b65e5eef759e8c18571659475aa8239fb24ec27250801e, + 0x64e056acf1c777fbdaa29b04025df4b244f72ebfddc41c8cf9f08a5b01ff0f0, + 0x6ff7d4d2b00f01992eaa434304a2de0f713a22fda0b2915f96d7ab443c6de31, + 0x4ff60a3425efbaccc8f474b5292ba12b53472cc104b4fe813bdb6c767ecd28e, + 0x7b9ded52f9875f7728bf1cbbfd1ac9596245c8245ad116e112aae505e3c22d1, + 0x7dfb00cb4c374171d610a3922cc4be567d812d7930112af9c5ae44f3e50bef6, + 0x50007e222f124fd7988befd649133a8337a72b6cd7496f5d0c46359e2fc23bb, + 0x5bbd6625868dcb0263eb6db3eac52dbd31463474dcdd992c8f366fa07203df8, + 0x576b874b082db4a27d29ea54505e33815212405cc1ae4f42d456632d4cb52de, + 0x755296bbad25fe6f4b8762b01557dbd04999614846fd41e4179a4fe04cc0810, + 0x38d48b75a40f3f71848b0562ba30e7eafebc3252a9decfc5b42ad948ec58f3b, + 0x3eac70ec63f42ed334d03731a511355adbe19030b28b68324239f6f99c28f42, + 0xb30807e6dc84176dc3a78485e28b7764ddfc743291c7ba6a260c065e833caa, + 0x5f533cf5f445dd31c45fa220d626bcd3d2465e4842e02b1a891c04d7e8dfe4e, + 0x4251b4147a4d2f4b9cf003455fd7fd86a5d369ac6443ee18282d1345b23932f, + 0x1d3d97ff9c0a98767b375cfb5a788655e8fc7489d84c41630eb4d6c69a21329, + 0x456ec8ebc3c57c2de23bf66c1b00ef4ac05a0d69a17c2fd105ccc6e16cfc02c, + 0x66bdeb274bf726b8ae0ad581f87de24d4db3dee39de995d887175c5f119a248, + 0x52f3a780de85bd1caca33b73553a6c41e16bfd76df2d279c8bec91e99ec6ebc, + 0x60529221678b4789f7e247c2cce475acfdc2c75d386cbd7187c204463f0be53, + 0x7221dc7419bdedc28dc704f7f375c5392c692ac11dff49b6d10c3e7e7b1325a, + 0x740c0c60c5fd71aa7bec2a5073c2773d473801cda0db28bc71d7099eb2e526f, + 0x43b7ca66bc4b3f144e905cbd842c572e5a9350618d10c669a003e71018dcd81, + 0x5be6c9698b58a9f348c76d2b896bb9cad5b9612df54a9cd21372c7a28e2b7e5, + 0x5fb9bcb40747e431d75877567bd01c39cac27ed4e4789adc72ea11958c3aae6, + 0x5e14959719680fce0dc3e04319f06cfb46eeaa2537024936ff76edc48ccb467, + 0xf50dc07e0c908a7c786a184b049f904c0f46050edee027a0bf9af29656cb3b, + 0x7b00037cd56cf616954e53155f3a4ae109be6b9c615045a7742ddc79ab062ff, + 0x737ca7db1dee309cf85054905db7c628f1c616f3df5ad1788f3ba2a931a47d5, + 0x66f57a7da174d4a9cd682751c185f1e3e42c310c72aec61857560981b3d30cf, + 0xa4d85c675f0866e9587cbd23c893dbe7abc94990e6c5649c454536ab09c668, + 0x7730d002256e64250f66d09de66b678a13fed623cc0ec97d9c148a959b188ae, + 0x3496dedf467f6081378b70d529425fa7b391a3282ce472197503bca4551057d, + 0x4639600d25c9ee9d18ef9bbf659d388c224d9aaae4d9527494d98426dae458f, + 0x63283b11b4f63f91a07d882d8f07c8580e784388ffbf1e87fc4bef99198172e, + 0x62a10202220a9fd66b935d525cd19f378c6af2a14ed562deaaaf419a95b48db, + 0x5b74c8d855f102c11528b7a0b56fdf6d59b2f41cd253dd7294870099edea74d, + 0x73f7f7df64ac4151a14778e1d3ec723798e38b66214974a2cb1ce40e5b08cc5, + 0x69dccf04e181206ac288b53d05b32f1358d863ba8c7feb51778e65a5c42484c, + 0x136f4bee78daeb4d3075c7fe277b77f6b84abc1abdcce4ba2d23499830975c1, + 0x12a9a35ff322d6f7878f98a7f1e830b0e5fc565e2dc84c8f2a402a5050dc8eb, + 0x11a75a620a692db8474c9008dc6326d367f186e361e5e76093b562e4bccaf41, + 0x6f2d96104c074c7a663eccf9be3392d196b42e7dc37e2b8d2de3d8fd9e5232f, + 0x4f327536bf32e8e06921a3e29c315cc531ba219d9b20a6ee7b7cebc4aaea34f, + 0x2bd8b6a1975a76328937f8f8a07cf72b8291cedda9bc94b489736463751092a, + 0x74ea23bba16e56ad02b0cb047343495458d1815ddd7cd5e90bb097ce1e839d8, + 0x621a5c208f2f2f74d325151a3bb7ecc5e73f3a48ed7ff3c278c2e2c893eb2cb, + 0x20835447f49dc9c57b7c752f7f648afff8aee8d0e62532e58e954af1b6ce892, + 0x7de1fa6db92d72ae79384c69a352a3683cf696b7b1d7d3c6cef297a537e3673, + 0x139b694237e7cb122c4f5d81bff06a701383a85ebaec0ba7472545f9803f2e6, + 0x23805fa289774069984995560871318b872daed8b74efeb5dc9e92eca7bb6e2, + 0x3a2c5aad3c1dd57e7f4f9ef69503df101377e61e6d44c9e3552ecd70a6a2fce, + 0x759f807bca6ebba03458c9d33153bc62bb21b6719aa4c59085580865d895b2, + 0x477aac49caf8e5aed7cb79b21552da996237235ea0d3c3003e52d8f68ad571b, + 0x1e206fec0fce3cf28eb68b8b9898a419a698c23c69e06b475257670872f98d1, + 0x1688be5857fcf8f545e4777daad957d1c33e3c70f4161e0bdccbdf7b387bd86, + 0x4acc21481e927c6f7f5d589a1f9818b85eb4a16a8e87ed8d0c66e2a00256cb2, + 0x91149f33d8bfea029625fa1413d533f4c50f56e4edd9b1c3f44f857c17cc42, + 0x6a81fe3396469aac64d950b3bb214f7de3a0d9514e5b358bf6b668f40cfa0bf, + 0x341216fcc55cd0e9fae258a08f3dffb073ca826ee1e3f5bb3cfdbd3511f3838, + 0x5728290cbe17fa0d2135b06f875f0fe324c471f24d876990adf27873d3d7b65, + 0x5079085fe7838d9d07dc4a5fc875b65f465c66f8b7654806d89ff158af89240, + 0x2e23dc42d8be12f9be2b90212b8d67d17d10319eefa4c51e243cad67a2947c2, + 0x2b6f886da105f247e4d2f94f6943ad94efaee196c900fb84e36f95e8ec6c5a, + 0x495f7c54a9c4229b2104867f7f0ed726eee5705f178fd3ccc24df0a3906c55, + 0x5bc9ab13384d972de1c86a3eee9f5d3810a733d975e0cd8c2d3fdad97118264, + 0x6e76ea33615e8364d2713fb22a7764124b4b5b731ab07e789e276d567028399, + 0x219c12b924ea19b78d718c311d2e93bd69b638c04646f7c787cfa4a05f5b3cb, + 0x3f91c408671621d4e436e5eed5d3a4500b756d0312d511c59e0729207a7ffe8, + 0x7a3764be2d3e2bb8d8f7a534931b3bf99bc8fb319e851e01ee7999d07264c95, + 0x603873db9a7dcb6ac6e3e3b90a9eaab8c3a1446535eaa36b3393ef66a169866, + 0x44d67731e91962c39b9ff17b06e8681270141dd9a9a663704446f7e4b8e8a94, + 0x2eb4218a9d91236bc3ab102a9293daba775320a971f909492906bd6273a3a24, + 0x5a99f184e7a7bbf59b5e234e899e4dea99d2767deb7a294460da9f38a455299, + 0x62e63296b2e31d4c550f3b432b58fd8f1ceecf9e9db6d524a523e9f380f5afc, + 0x1c4ba8bb5dd2ea3d832b6bb5b4e7b30fdfc64b889ecbcae0485582a09e9f78d, + 0x2bdda6233903c10ae6b827045c1b40f8628ac5a6156ec3c8f60075af6d61170, + 0x767d521f200e45f9fd0b0dd86db3dc5f452fa30324304792faa4863c9d8b545, + 0x6fb9ee53e69cf38748650da662eab35e9a646bab17e11b6bdae6201d24d7be, + 0x641781a6f32f4515852ffc2376717e7c4fdf0935659fb9aa060be91908cf7c8, + 0x57ae520393b93a1aef5b2f1077289d4727fa16228eb6b0bada5d7be93e8541e, + 0x6b5cb4339d2b6f1544268f5e5653583d47eb4e930321dd94d939aed97c03561, + 0x4239722d458d838059ab7c8f0111ac35860075bca321f6efcadc062abb70ee5, + 0x43d918c9e49eb3c3c65470a3b416362fd0f63040e1c084ab8748ac26f72c340, + 0x92906da4663e16950978a6a3f5f1260f61bc51151a0549996874919cd6d4b9, + 0x71c3d9eb9647041cf636186721cec78c4006c2c726ef9c2fd81b1d6a34a9d58, + 0x14f869aae755ec154343747aaabfc5f2a5695ab57e1ba69e087d3d4dad72646, + 0x260ce536d12fe6ed6f2b737a9acf9330e206e36fce1335ea760ea3f3577227c, + 0x6deac5e30798b001e244d4b3f1c34801fc088d64fb71a8e1d57ccc0a48ce6a7, + 0x41082ea0e21f60c5831f675e8a3d4e6cd0187f6a527b0af6e13addaf9c2d3d8, + 0x33bdd313bf3af9e33958419e907e042e28e67e4fe0370349b9ddb4ac3f927e9, + 0x5cf9975af6c196da376d77e57ee1d659e73b2de77d64d98d83d8fa573b1c7d8, + 0x774e4221252ed18d34102cd060fca4dd13b3fce2fd31a5359bf3e03d34c5429, + 0x1787a7e3d10a96db3be9712126a9d14e986ca564719a8c1b1c39af733d8beb8, + 0x7dd57d05ccc5eaa4703d8101b928560d43cc12d60372bb44a7c7880c338eca0, + 0x7a9a07841f89b7b2d566d143d789c07986180419cb68ef3a1b8a90511bd20f3, + 0x9be33b91fd2b4c2c4de07ce98df33e70bb34eff56279a65acafd7712b97994, + 0x255861c4ff163edda69b0c73dc6654416e92488d4158a9084ff61c766b9a5ad, + 0x571270da08c93ed63630322038d49e754425093312241af00a6aec727a07ca6, + 0x1ee7a06e250c1594a8bc8d8b745a3d7a23c67a6d6b52999da551baa611211cc, + 0x4545f22f5c8d74fe5c06d8697e0396ef36e6236d70cb3570ee8b7ba70ecc258, + 0x4a8d04716774f9673e92bb299f39be6f4a437aef622f1a58bd4e6590b24ef0b, + 0x17e5d2e6202e840630bb94260851ccc2c55d831ac27ad3a9a037e6fad0141fb, + 0xb44ff1e459c88861a4f0d56845430f5b3844f15a74348999397bc7de84aeb3, + 0x238b9da183467797cd0e62480eb078221bb36d3d49086908d0b66c21c8c5eb9, + 0x7e97528cff2d9318830e6c975b708b244442e48435824e77706a198602bb56d, + 0x3b21e13441ecdfd08f7231b2695a6316b9d203f82f149269ee2c2fc5066b42b, + 0x22498106ed4f426459eeffb24f3ee1656a74abc651eb6b7d0df798def15a793 ] .span(), // Table commitment witnesses for decommiting all the leaves. table_witness: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0x824ba30b47d5f97a7c86755b0aa27a5bbd502e6d, - 0x8c3584abdec57834da6839dbcd53b6d08e5104fb, - 0xa371628e57fed78ff32e9eead8d680926127f556, - 0x812f58ad02af1c41536ea92668aaee60b8ab7aa7, - 0xc7340ecfa48c168c609231e43688405fa2951770, - 0x9a260b86f3fafeffd461542d0d2cfe135596ff57, - 0xda5a931458390a716fc98b1c0b7de6dce62c28b2, - 0xf12401181f20969acce8ace366889188cc87c289, - 0x9863ee67e3d89c8210a95e89294d551617316231, - 0xa78600c427c79bfff80d37e4ebb307275207421, - 0x163fb11867a5dc3d9575acced6d69dbc7dc90557, - 0x9a8f983c35241ed7dab081386d95cb6a4e14f1af, - 0x39ad94985d46662a5b2a2c193357aad3538e1156, - 0xd6c4f5ba480c526ba5c84eb13c5e01254c873d6a, - 0x962c21af6d4f03f3b9ee0f787e12405c4cd8a318, - 0x15ab5cf7046e90cbb19fc739a939277107fe1fd, - 0xb33dd1e74a81fe35e87b394f58d0ad06702ac334, - 0x8c05f2b314b4cf498cc58f144de9c68a2e811838, - 0x1cc81082c5494d7fa9507c619f8614d494a8f88e3b9d498c2655a584edc1ae1, - 0x7cbb7e65aef50f57532609d67cf80ad7196c6e4abf14da10d3275562fdf0be6, - 0x7615da499c77d6a65abd856fbd91563e5fa8b60201dbd069434589cc0caabb6, - 0x3b8e3b68c617dac03eee9a7da5b242705b99d9b5f9425921372a056d46bc03e, - 0x5abfdc7151e64e6c1788a850ca56392efe5aabcb4c207e8d01498ae8c4fc1a6, - 0xe02b3c10889fae3aa2b9951c16ae5eea460a04fa77abf4d17c772b181d23ab, - 0x10104a8e04a346b3be761437584bdd5a4845cffb996ee121eef175a5de2f87, - 0x3c08d48c0766bfcf9df5bc5816ca43dbc092ff07493a7839110da6f4bf38d3a, - 0x506e1f89a5749ddbcb965c7097a666b2e780abc9d4610b1648f861f35fe4441, - 0x3b5fd7fb03a353f0f1abdb6912041f762942fbdbb349c8d65f18c8f67fa665, - 0x4c616ac12a98f1d46d375defc464908516fd28b21bc24ec0427a618f7a3416b, - 0x3531ef2673803e660b4e1d4a53268c8c8fcfe3b1fd9a17cb126270283df6f5c, - 0x591175ee15eaf8336f551066b388f2284b42af3d1751d5049fa8f3f012c9975, - 0xbca88fbadc252cbe0128de09686a40bd42ab8d818a0891d1f8855232736e5, - 0x222fb6609655eb33ba149a834b677bd40f7f467d643bfbe67426f0b5a6befe8, - 0x35c5b51469f2bfea84c3584039a4f45d2a5e0a4604d7999ede1f4d1365a884c, - 0x645f0a3571baf94950cae7257810e18e5c06983d1d6d906174f828b1f25d61, - 0x707e0db39f8dfa9da232c060d9be387a84431d7bcd118cf509d7235b03a552, - 0x7cb5a579c550998caee8fc262eafe157a29b85fbbb141bb3f7a8967df0957d9, - 0x7758680402d92a52c6f1899f243dfb13ae59f3cf2cda6deafa9c62bb31cda7a, - 0x3ce42a147e71bfcb724b1e45522c979dea8b236bee8bc80d4030d3396befca7, - 0x556307dfbbfafa81518fc4be60bd5e9fd70d6ea5018ce8b1e02bb4b5cbee090, - 0x7846691894afdaaacce6bc37f90245ac50ca6361a19dd8ae17fba7e4b778991, - 0xfd7901948fe02a5bd64be3ce509baacbad1af961f7e900d06bef884dd0d2d4, - 0x2b45ae1ff7fde230a3deaa64e92d15b11ef6ca4642bc9baf70a6771269041, - 0x4f10eaa57fbc4b51f2897df0d2221106d5df9ea7b29c0d1198af732665a5ef8, - 0x50692f803b44f77ac362704252b77c2b5f1f4483d46c931a83fe6d26a9e0e3c, - 0x607ca549286fb338849a86ff29cea1f4a4900dfbc8feda59cd31c1586380597, - 0x5bc814c516e98e51d10aaddbbd8cf1885093af6150832e0b0b59eace3213d23, - 0x7e87961cd9924cb04325c0e76b8eb9344813cee8764aed6ef6a2e8724916a0f, - 0x23afc1121fe66fb32ca51b2b1455ffeb1dd98aaf34b0562ac4beefa958b82e9, - 0x4c0b0e311572e9bb49fbd42af273a351a8768bb2d0056a73274b01f39dde7e5, - 0x7fbe9fe8f98c67749fd40952d6dcddeae229b96ac400899024cc1b09472c52e, - 0x6cdf861f1627341a41c5dfb4ecb7cd68446f49c00e038675893dc05356b86df, - 0x52f5ca827a0a941956e8aeb9188da22b9fffa39d4d6a4fd34e627903642f3cb, - 0x739462a5222122295dd6d9299b14f87923b265d31cde71b656e6345ce5a5a52, - 0x2ec01195cc530f099bbc752a2bbfda865da892a302a0307ee6a6e3c0d8ded4, - 0xa4fca2cc65c45b1b5925a486be2128a8ad2b365a09885e2cfdd9eaa81255c8, - 0x46e3beb2eef79ab990d1ae427fd00241e78010de06c741e48a299e96ebb0215, - 0x4ccb8d5d0a414aaca0e300b946e8f9c108f98f3c51542fabc446d3124b54412, - 0x5f38ae342a3f9e1f8c354c3b640642ee9c6d54e1551b01f355e580858df1a61, - 0x169b00880c4ea9253b8d2254be045985b1cb781da098d545a6a586656d09732, - 0x475fe158f1a5a52997ac8740f7ede4f6ca3ddb9f5f5a1affc603b11fe37aac9, - 0xa1bee9aa81f84b1c862959c8f8ecb26c0a4564f32e224692876a770e4adcf, - 0x4f221e7f317f1eeff0cbe00256e083ff8cb7b127321ebe6a824812a75a84147, - 0x3b6c2126c0f911f127f017243aacfe888481bf9e3c4d5730979567899a2e40d, - 0x2573a3bf9d3c67100d98b5b0b81d7420ea9d422849b136d8723f9f8a5c9deb3, - 0x5b073ef32a98da65e5194640ae9bc50e7d6a9b7422c2b8dd0f8a9a207101ca6, - 0x7956bafe254c9cb18abd902cfcb9af098a1830498a29d09d2be1f3b0e40827d, - 0x1c9ec88031826357b64574dda77b1b205dfdb3a59a4dd63b0939d28f16b1c1c, - 0x27f6ef95a5491713f13a7535c244373be52a76ee676abfa5ae992c11a5482d1, - 0x5f2c088f33898a8ade15dd51cf014e03c0eac57e8ca9c4969409715a9eb6d91, - 0x108ea6e23ef38b2f729210a915e496d45b0d13407ec5f3fe7ec1e7460d2faaf, - 0xc44475417358c03e38e5be5b6c0caddbf4aa6ff094e6d4001955e72fb65f0, - 0x39a94591cd38c511be9ab6c7556cc0208d22c810db2c948f7ac2670ad5a88f2, - 0x70f0055908fefd22d8e531442c92e8c173a68ec2b60a314781e34474cee04ac, - 0x43a6860c955aba6a16c1380dfaa1bf7376a9e09bdeb1215008f55300d9245e8, - 0x1e09030dd6a99c25f9abdf6e74e94c37669fb20337f7b893ec9625f09c8646f, - 0x32cdbc81c1709954e84896f0066b2467a092e62902faf2a232d671dda69fc27, - 0x6c0f99b6bdb39617f795c17006d42bddbd9584056b072e59cc490ff93a43c32, - 0x7b6543e139341b2b5f7f56801dddcbf6ed9584c38879fce73e4a1a91dd376a7, - 0x7d26ffd4881e7c20e04428fc1f6ff6ae14ab8d8b0451a9cdd0b186555d2ce8e, - 0x536724531cb09c7bfb1fa907a10306a6d4f3f91c7e83259072b649d1c7a918, - 0x5a25743151d237417bc9d49c5130e0b41151087b9a6b115629e48d3b72515a0, - 0x53f17fcc678aff7c0e2645b2142931e85ad6d8139631c5972e607a5dd53ceb1, - 0xfb9b4d19857ab9ced21dcea3bb8933edc75947be94a975240a6c545b4df279, - 0x25b5182611461250b1ee4b32fd1601fc73d401019de7fa7e465cf24c298272, - 0x3c7ca79689894dbabf506c9dc0b4db3d8acce9afccbc70a88eadd1cdf9a9a66, - 0x27586f092a51c0d00694a9ac52297bd6cec081b474cc5e6c2029e6efb28d8d1, - 0x9c7c86ac28cbb8eec5509f46c13e232d9a3fc460bcd040b3a8353170ceeb9b, - 0x64953882b4fadd2e6cb39861c07356df56337d2bbfa0255016f3a8e5b7adc0f, - 0x1f65925cfb5eee53390de59782fc06a6301d25fb023400f013552c274723807, - 0x13ecae8d7680a02da2d328fc86193d332f46e8fc559c00307757821031834c5, - 0x303fa9f3722c91076f4fb0195c057bf9bb0390665af4baf8ba753c5e4f75518, - 0x15d773e014f13bfd65d23169cf637ea8d1cba143443fe81ca4723fdd3c7e9db, - 0x6f5f8a9c7cab3c365cd662016fdc22133713ca5d2c6ec8e7087fc68af2253b9, - 0x40e79706ff64c1d6b2cddaea2eb66859eabdd26f22341ee7db20014d7b6ca45, - 0x32db1f7ce22ee1e38628acfe633350abcd98ae6d6a4d0f9b7a5d05fc3338e9d, - 0x710296cbba5f2a93ba42f5ee32e936cbe85bd7a2974a779b20bcceb2428735a, - 0x16bafad14672a7fe0096b9334c74866a029b8eeeb68e3ef6fd06e09e839db34, - 0x6f95400fb8aa1dd3e5fc695a2eb7b74e013c2856b687464fc083e144c01b0e7, - 0x32b89a6d5d782353c1c8631e0b68aa682605f21f6da6a74561c0031d7d530a6, - 0x727fa66e459bff5555a48547bdd59f51bb24adb2f7d02880676ea1a350a84ae, - 0x5755a13b6d70b2c08d48cc625cd39e2681286249adadc5f23c109f3ab057a50, - 0xeceda12b1e0d7e4bf8d468b8629b1d90ab6e553ff9a329d1e6d18b5efa0d58, - 0x23b428dfe5de6db63a0d878941cededf6199aa1234821f3ef183860e2a8d751, - 0x6c2fbe99d49280c80453b935b54cab84694b624ce08bb64bb00bc1d79c1853a, - 0x213ea8d1916ffbbf40621395004c6511f12fef6e755b4835d4fb8736073b869, - 0x283a706ac5ca09e8937e068080f6cb9c796f8716c6bd1e9592693f13ff3b4b5, - 0x3d7efaa41012da29630e9644a17b91b3e24a8a98781dd3d970d2df3fd51c39c, - 0x5d12e16f870e30d2eef15341cc50760be70b6c8ef2efdc1922ea6c4b72d278c, - 0x7fcbaae7e313160bc04a5e48f466e4d00e7193aca652f22d524737012b540e6, - 0xec8cb16107e6355c74dab500d76d2148809e2cf84addbe6385f3bc4a3e8e52, - 0x9071909c7deb8001dda11b4b055925f5e83923fb1da15b3a5d1eac4d421508, - 0x23d9e0bc707410e1220766b7c7f28bfcb7493ea6f1d7764069fcfd6f31cab7d, - 0x7a32a84a9240ddc9c096997e696a55a0b228da4737cc4bbb3737b0dc03508f6, - 0x32d24deea9f7bfcd3d9157d35eef57d365c9e1a56221231f2c07c5ead1f78fc, - 0x41459f62a93ee5f334897c67865303d4af752bc48d4c5dca2ccfdb546fe8ca9, - 0x58b9dd2508a643870487112849badd631d0bde9bc3ab0acf08f356484a759b0, - 0x4811473be9fa535dc7e929623a591f66b5fed95a32a4ce26cafd0961f7f6f25, - 0x7866384ab0f15f5f5dabd690524f814de087de2259fc418f963248070553f7f, - 0x1b8bff74012788dc3e36cb6e2ca30fa853aba7ae56acfcf52296467992b1e8b, - 0x74ce512fb9fb150d70346388e135fd4e73396c044e50b05ed83c61b6c008a3a, - 0x3ffa57fbbac6ca67f1dbe47db2be466dd8b7dd3c7fc550b2ffe859a7fb3d68f, - 0x3de07ce28a52980568f5eab73daba19135af81729b03f073e2184a397191359, - 0x41bbfd0ff52f2d44474e943524662ad95b24efe27da00d6a437ae3392e0a4e4, - 0x28d39500f382ccf2e54603138eb0d128e846d290e97a59b09c3900c5e56dd72, - 0x7966ca550537da60281bf5e17f2fc53e7a3aea7655b000fd78de3c8ce27acb2, - 0x66fe823fb16fbe991857fb78776d426cc3e45d66fbe1320756486e102c3c51d, - 0x119e32d7b2518109a917fc3363ce317ff208302a5bc600bf50742ca241d0012, - 0x480b1196631ed16a214ac65e2c6bff615d6ee5233a53fb34793463cf48e4405, - 0x7c2b7fe19a9d05021ff1891845f92117661bb939610a1c1b7c53fd273196ca4, - 0x352e81bf7ba151f4bc6ee08b5e53ef926f6f0c2f250629e22b0fefa936157aa, - 0x1d31f972e51be4bd2e74f1115a442d8fcf1c32c14aa827df30ad29d13a7d07f, - 0x25d3fbd3f3e42ca83ddb9278aa5edfd7c95b5f608bfb7c12cc4aae5cca5b3e7, - 0x1ad1adc476477d2e3f61f7dd3a059402033a2b4783a021dae96bb45318fcc1c, - 0x3722fd45079514a4f35a7a700c8126bdffa9a37360a5e9becd9518178617a70, - 0x6b9ab3e6d6ecc93079ee6e9479465b34870a265381ddda8676ead4d268ffc0a, - 0x194d2c788e10a2cdf3bed1a89552f2304c6128f0617ab546fce7b5eb5df6667, - 0x605fc4ab396b23e535050a83647bc07e447daa99ae20d78352d75003747a75, - 0x150f7297f9b3e4a9276df03db7deb9fa4ce083f93dc191fd38b9936372cdc00, - 0x125a9b4405c343f373b472f7ad4941a6e0927c6efe9643445effe2884d5c11, - 0x3d654527e5545ab54a2038f994a54372b77efa1fe3635f4a5c909bfc4943669, - 0x5985f639ff08b9b8e839f1ecae290bfee0dbfd32ea5c119e6464bb50078a09a, - 0x4bc5c80b0970f1180b538227cb23fd03e5e285785b9fe6616faa67cd391f4ce, - 0x2b0076c0c90001b14437b0895d673dcfb951b7ef0e5453dc1f55445d026086, - 0x40d74fc80c71b6c2b78795f308f49951eb604ccecd13b335199a848434ce522, - 0x5bcc98b7a3e8cf227042c009c0d79e6b702414722b7a86c82efd7e7880c39ab, - 0x47aa81dd8045401551fd8712d0571c343948e3df6b4e059d1141384f30aaabe, - 0x7563f1fc4e51cbf3b8744d29151df4b7cc13d75cf63598a7be8815dde27c4de, - 0x4899cbecdff86f9310493b45d0667126b9ef33f6f7d9ec1c3cfe17c54e14ef0, - 0x4f57f1ace9bcbb50da9220e39a13ba4d3a9cf49ec0a03bc3c7f87d963ff3524, - 0x591b35c8db5d75e259c121d1b51a1178e259507fdad40dcc7bd5f3f91db3e24, - 0x2c650b09722c14e7c35f1830a8cf12fc826450edc979a61941b3ab6979fc509, - 0xd5ab42ca087385c5acd14a8408247896f6c98ec08c5596304032a75c530e8a, - 0x67c765acd164b93a5d2de2fd8c90a6d68f264ba732f75b870dc3fd3ad6306aa, - 0x507838cf7b3bc6e1c066c2ba643363e400d9ded0da3e488ecd9d7e33028b611, - 0x63a160d792cb7600660a6004aa2ed7e038fe042569e0634f7d2fc12bc7ae5ce, - 0x5fb316ea93a2d4d829ae998ab91fee7daffe2321a8d0680a397b11a85d141c8, - 0x2d9610c3cda5f9e0bdc03c82e258aeb3ac76ce20585ba9d0c816ff875520a77, - 0x62246bcdfaedef25c0e27a560e3f65a599cf91945bc9cae5ed0b39c26740554, - 0x3e90c4e1e76bc99ccae67b642b2df7db5ba2888a9a217df6b99e45e19c773fb, - 0x1c895c8fddf19088d2e04f6142ccd720ee19afab7a6aaf9d4d8cc5488042d4b, - 0x3fbe17124a76f27dcb7b7405ecc0dbceedd3d927a420d0a1026d68f78f10c2e, - 0x4837f2fb65bb9839a3bdc5226be50c0f68821ff549c438da55a32eb6d844c60, - 0x2099b022b73a8e93d6020a0e938a90495e43fb8fe90d5319ecc8cbd6ae5db04, - 0x6aded798fc3262daca0e67da58268adb791502e2b4d368292fc0f8ed2c6c814, - 0x62ab482de8f9d20dff9d4e5f8e9a3a6351200a3ea81ebdf899415b7f9099a31, - 0x51e7c8cb0f8e9363afb5317e413d1dbdb111c66f0865a6ad9e6381296bafeae, - 0x1963a57dec31a5585109e9682ef5cc1f717495b00aa464becb846613294c6c8, - 0x1c682157857598ce5103bcf98969db4fcc3594286ff2ba75d89ff21e62763e3, - 0x16d47bc4c1a4fe124b356087750debed5fb5c48634d0ab30b35bbebc6232fa3, - 0x340593daa36b5c450b6a99f7a9ac081e58399de03478bad6b8a0b6a67ed0861, - 0x5a82b6a1578ff58ca44e2bad22dce628e9db1e7f0d791270f2a531c038fa043, - 0xd3486ea7dc4d5acd89155f5cf14a256a4b930a1602e73f4704387df2ea7fef, - 0x7a952d958c565e2beb3b5f4c6c47940a2c61cdc57e7b7197eba3f3052106869, - 0x3f82d9cbeb46c6d6df6fc6ba1275da37cb2dc356dd0487b0ee5456a088429de, - 0x5985138623d671700d47e0f77b7cb54f214ae3c6c4b9a672415040da7244d66, - 0x102ab8ebc39b97aef6978a6d0c88207b484c471cdfcd097bb21f3644576cd13, - 0x1180164a062ecea00db3f64169eacf9025d63ab140def354f4132d1c7e43b8a, - 0x470529fe52cc0200373cefa57c9a70798208a08d37c16ebbf477b571d68772a, - 0x239cdd6bfa876961f4680b2a7c726eca238531b5cf27962cd344bccce957673, - 0x789fd85af01f05ff89d68a2a217c579350d0a0d3a0feaa33611ba48aaa05b4a, - 0x2491860822966663beb53585e78e60fc25b43cbeb8f150e747df1ed02d080a7, - 0xbf1084b2e93af68da5772440d8edad6f173aced33342aff400dbd7e42e4d84, - 0x3958fd0a100138999e332d187f7231787d68e43a827aeb0ebcb92106602bdc1, - 0x76702c89b3394fe92c2adcc93ab9e153569977c39e46f4cc7e7bf6658f8c810, - 0x7065964b5fefcc53297ced94889c7ec5dbbfa12bd8a87619769022226112a54, - 0x1cbe43d80aa32cfacd0b02c791b7d49727583b5b8dc6fa5591232d48cdec002, - 0x7ec5c6dcdb50dc81e644e03755ee5193c031c12d2d3fc263afcbc81629fafe7, - 0x3a9b5e5d68cd4b53caf6f919b03d742356a4ab2214731f6c461d1613585a2fa, - 0x758da627ef9f1645963f37047a863a6e961df268c6b4adb49cf7607003c71fc, - 0x7b5bd36771b0264aaf3b2c7e2b0ae4f3eac9f0e4280e2b075be759f63f53778, - 0x2d88c7ce1c43c61815cbbd8b54ee42e894e0921313dbda589f2356179cecb1d, - 0x60ba7dc788b25acb99910e878ce7d5ec0aaa7a34f4ea54a552f1f5d75cd0e82, - 0x51ae77da26ab14269e24d233db4ccf735d3dd2ba0e53a44930168d2f691775e, - 0x4dc5fe3acc9d35b9c5bf301a4431d7562459c07dfe0159e98b5651fe810dfe3, - 0x5f86a59b8f70afc8dd69ca8054df09cd6dd8cae37389a58ed5a42ddf28ef823, - 0x613a3a340054bf6639cfe610f44e9de945d537262311596fcc074acfc85a71f, - 0x76decb6ff86fb7c0a1333e9c570248a54c64ee301b99b0fa39e5d6d018fed04, - 0x6c9dfe696e7e0003c6013ee7b94cb4b1085da61a41b1cf457341cb7f95964a3, - 0x53acb6a9afa8f94f9a78fc1105026ebc8e2b75dbd8f1211cfb510dce839b55a, - 0x843c3e0971963f464cf7d1631058498c2956e66389ea623f1f82c574ddd026, - 0x4bfe49b34a78999a2c0b9f79d50c10941056daede3aac147fa26cfa5b9a0657, - 0x14c7c92bb8e4f19619cc8cb677f2978fd91cdaa83c5b97dfe3dbc601e57f617, - 0x714671f7da30df6a14ad40e0800953663904417e3ec256b4f205232e8cb4020, - 0x428d66e8b19268165d6d6ac5c5986ebb87e58e5e4087a666a7c7bf7a914556c, - 0x370037186df69f0bd3df9139ab254b5e1d79c83a98432be75d35d5cce7ccba1, - 0x4424614fdf4cc3c14326fed7c855f55c579c5cbce704c53b469b2f36c66eebb, - 0x17783688ca2d7f47c685f1ce7ddcff8bea079bb557852ca1dbb541966162d1b, - 0x6e634199c649f403ad39641eee7682415828e7adf0acfc7e003d936cc14a248, - 0x79ce8e9220d74aec1ddae234119642b00e733dabf78db1143ec4e3d1c9b14e, - 0x47b207f2f48b9fb33e971db4e510bd1823b5dba75184bc1f6a3e6d21c4896ed, - 0x5c7c595749844512c25f9485533b29a0413a786cc8f66367c5bf9e804837250, - 0x4c2cc59832277694863b7efd4a946950010f699602da8428bd046674406b181, - 0x707b50d20f7b6bd77c17625f246af4ac92b649247bdc1d7a05977314327e83e, - 0x203f4380ca51456cbe50ef70d299c3a37ca873b7d96aa8e80dc9be23aaa19ff, - 0x539cadeeeafdf5f0a7ad31b58a4fdc0f1dd654b2770036c2130f8e2eb407dec, - 0x1ad54ebcbc85b34ced9e3923a57d8716ccd664eed2d6144ddfc02b1acee31ab, - 0x29f65b9c06d7ba44fb24a6025a0c4ba6f72024d11051d8bef184ca070367e0, - 0x6f242ea706fac2bbe7e45c88fa4190734c37a6f27fa622c175b85771b09339c, - 0x2018085c62b4f22d0c96ea2cf102fecd560827578748762e17d9271ac915608, - 0x54068e327536a16f8577c0098e114d3a4e7257cae31b07a6a94e273b4158b7d, - 0x8e2162281d3ce8408d14d40d7cd71c65e518b5655be76e107bdbef64752ced, - 0x3a0c1f344c876714258d2c06fabbd56d25ba43a4a75385d48522b9aab603a38, - 0x2cdebcd1c8971cfa7720321537a9f7cc330c73b5e444996c64c49f0f51d6d, - 0x2389fb7f9023c9431c870fd482c54191bd1f521763cafa8658d0f749c3b1964, - 0x4aabf39d90bcf4e16ccc0a749431ed0b373ae273064a70d4564867d87246296, - 0x7129715b4d9b083d49264281f7cf7f77d166bf39b05db039fbdacdb3c3a8d8a, - 0x4325597d8d2d345d296a9afaa8234c9a9c0d8a21f46099280561b12db8bf4fe, - 0x7f25caf6621bca71a1b38e1be836f73aa53720c95c95357aeadae26809a8c71, - 0x32a5c55878f357c5fe21e916b7b11176cf17403226e6bc45ec45468ee55e2d5, - 0xbd610d08fc3b14c215082713f29866455c7232d6c55f3579508bd0e6926cf5, - 0x48bcca2f561ef1f2627589c3e66c65f327915a4dfacaecef4ecc6b897481fdb, + 0x20869f3500f1d61b68d4c8bec84bf71f80a556ac3e075d348b5656db148ec01, + 0x6b4f0d4165b44011caed067f34188cfb0bc25caf570a32640106cd1e67745d8, + 0x3b7a76a8564c8d0d5562a304f90ec895ce742cce6ed1f432076ca35f466f0f7, + 0x2b0d7527ca94ebbc6c4c1d52095aa4d03402ae4dd842d05cc4e1e9a1d72cbcd, + 0x141bf8f962ebed2ec923381f19fdad1f21569beb7107c444a30e5d297020661, + 0xf59653ef4333df00b183e921c6ce079e0a84a96410afd1b03da86b0b0dc646, + 0x22a7ba59c816159ff4fd84df53f964589b9b71a621f2be20b79741d0ee1081e, + 0x24add99a64a4e44d0bf202565f0290194fb1f82d4c6fc41703f2c18eed889a5, + 0x2818ac988ec767dd192188b6e76f916776a6e0460ccc6beb69bb0e0b0fc9ca4, + 0x78bf3e6ef8129a7eaf76dda0ad417d562cbfd574a9797dbe1810114395771a0, + 0x4e8dd5df46d41dde2da466b9c34f4ced91061edf3a45a4b72c1911f097d399e, + 0x5e90f21c3a9ab2b64e9fc5db2aaefbf5a747d3ee8f10ce5b83e57584448860a, + 0x60c0fe985b9cbef1e05cc5ea40270f686fdce0388580401b10f2c791e4388d8, + 0x9b639aac66b8d3e7132912efd9b99ebb08d2262ab864ec6ff398e24a2a1923, + 0x7dfc0e39c6385a97ed32d512ac1b16fabca6bff01fb33267b1c46694dc861c8, + 0x5da3fcb96b0930ea8e1f6347a7f774ca2741d952de9a269ab32fa7746a5cd49, + 0x52355d5e055a1795f1049ef10c0927d704cdeeccdeb283ad59e8733e0a42c80, + 0x2df523f4c2f4a7451c5c9b68a304db5107178ea5fcc37f63e95f38bee9235df, + 0x11ce12ea9badf079e294b4d6ad5ad9713a924c9022744159e788014e0da3e3e, + 0x5a7801b48f24aa1e51b19b896481804b2ca7a7b5e921436d74068f0ca84433a, + 0x5d1ecf572eeb1d698a9d5c9f16d2663bbba786254a143549fe7d13726f96990, + 0xec5587e21f20665a5dbf093e48ab514b1c0f383dbff43bc0d7ff25f2b4633b, + 0x3bcff1340efcd5e753e61efc682576067baebcd1c79cb440e5dde986562add2, + 0x99bea3c0df7fff1fa91a570e557f7a0aebfefcee6c45775fb1c8ca88eb3bb5, + 0x2de87f137080687911a592087898ab1a08763c8c21b56f35f3f01384887b936, + 0x2537e02644026c15915aba1498b4028a0de4f7d454c6e250105e6d66b37fb2b, + 0x1b85f4b65b4ddb632de01d275edfbdd49e963f82bedd9bd5d5ce67025092796, + 0x62d594a58ed3393380bc458a496c973665de1135809b603906a80512a7f69b6, + 0x2aa707669b48fdf9af82a6cbbb56a11ae98f210724f8453722f2a7b8c075e0c, + 0xb4ba95556178712ca34763e148bc0c6583644375a03f93872978c5a228377f, + 0x1dd5aa1d0757e738da8846a7c7b3a6791777c80c82d313e72e6ff921c57a444, + 0x56a10eaa42be83ef24a7d77513ed323c32e39a5e8045db75a65fd4625fa2b89, + 0x1cee6eb05eaf3205736b3f12d17795c56fef674d9d29e455aa4388d3292063b, + 0x7ff8a3d084ff15ce460745e5336b13a5aee4df7feacbe4ea8f7736d172db7de, + 0x401ebf952db5503d251067a059f79376a8011ebcd612652c2932dd6a2a73590, + 0x4620dbd8c00f93ece1ea38bfe20dea8a641e93cc6ea8bc3593fa63673f9a1f6, + 0xf83e8c004a4eda74836c2324e731770f7f28cc35d860b1047f7c01a175a2a8, + 0x6247e6f7ea467cb42a7c61c32cf01231d383eefc78772704d195224cba9b490, + 0x6846aa95053d717ddc101c1a88b70bd161a53035e72a5cd80dc915c019de361, + 0x5dfea3bdc05ab419eb715b20c6b63b081cf5597e774afaecc40123486d37edc, + 0x55cc7523f9201625485213feab09cff05d01567b1c0e5551def131b69fbed3f, + 0x2405777a84c92ed20b74cbbceaac9a78a4f04d3f6a660deec687f0287db1745, + 0x4179dbb9c1cac7d3e98d3166910bdbc64ae8953985e08e731cfd449c7d5b434, + 0x4969bdce7dfdc58dee7cf4b0b3b9e0d9d4a3a675870455161152c59c5eb17f9, + 0x46b8263666ce9adb26cd03d6d5e85d4982f6dde30a325ad1bc033df5ca0f99f, + 0x4ff03fd810c977752eba8b5005620998a9098deae6a589e3fd25cee33658049, + 0x6ff5077c8000a66fed6aea7767ebfea3e071fa421c83cd410c650c45f9f8bd3, + 0x425133f384e865d0337ee53bdf16b8aa7afdf05fa7c8fce67fcc4b8fc513ea7, + 0x1c7159720b96e804a5af9fc852b934204444f29aca4327cfd3372ab417c8193, + 0x4bc6b0354f2b6bf97fcc3e21430fdbd72277d4735f8700809c8136cd139dfa7, + 0x93dc8cc48a34550769c828079e3f97ac8f5eee146290a510f028d7e403b722, + 0x337c0688be13553182c241be917f548081c966a9204b992afdf9cdd7764f271, + 0x3d56024b7ce655236dbe459bdfaaa412a6cabd89ce307ca88e2843d13658c74, + 0x1f6ce5ea6d3bc6895956761c84e1d0d1313f08ee46b7b2b7dec081ae6e1ac73, + 0x70f06559be83edeedf1ce9a78dd4b601bda4bc5b0808f9d45f87bf67df6dd04, + 0x2fbc22f29979feb60753efa04bf74b1fc0a3f5ad4ddc1b064b22c0847c144e0, + 0x7f36f25dbda6e4ecaf5f7e339dab50deb3a31d0fedcb3d5b05effd9bf5fb7fc, + 0x14fb673403924750b2fcca6784f980f035df2daec1901f0b279ba34e46adda5, + 0x78c17f76bff59151410759856c39f1a806c657063567f350ab2752ccde940e3, + 0x6874ff6881ada628eb2cfefd18878a73ee3e6159175d6896531cd81200dd38b, + 0x40d24d40871ec90858fc255f7f7764c7685776fd22c136ab253fb59ed560836, + 0x53f608e02970f8a936da0736d4fd648be3749ae8a8d8d874e370e84ee039d24, + 0x74923ef0ced015c4dc746bb43102bd0299528708569f055cb833956ef7e526d, + 0x8a573f7ddac5ae09a193085c80a2c0f004cecad9f401e6a91be0233645202d, + 0x713386f732082ea82817201e9e535d1bd64ce7b82681187e84c3073b0626777, + 0x3e0fa264625111f778051f4e3c73bbf3c076a347c00ec91bf86d0866f42fcac, + 0x7f837a40d4f81e849fcaefb013ac5b7ea4486efdcf7d79974c40f44db97f860, + 0x42a2897a01db38dd7ab932b255967a5471ed41e8874ff86c4a5633593230565, + 0x3d888c9bfbf8ee1c1d76ba3a732deb936b25bd8f0a81099f73171f66cc1f0e4, + 0x4aa6dab735c93e69ecd60222e67eb72668b2ae1c9caa1785fa52fa386037cad, + 0x60e82cac760315c674622e378307475a36ed652ae89e7bc2291497f50ec60ad, + 0x7605395b92bdbeb0f2737698ff320a5e90f6325aa3764b94c646cb5ae20d23e, + 0x37431f74f49c09721123c719d003387bd92fd480e746ff209a687ab481313b0, + 0x72a2773190d3b266b047ba77faeb9e98701b6cb01d002c43f6b69075897fd9b, + 0x73f63756c242b041e4fe304222644dff7b362cd1d45794d3c9a1c8b2b9fc1c, + 0x5724efb69dd44afc6d6ca879a2e914e8acb6adb891bc99eb9cb36f4c31d6b7a, + 0x61d9f864059ab9c9e91b1fc4ccfb0cc750825e51f9b4f3c2c824d75c5656691, + 0x5fcbd2da18e931b1322bfdef30f09f0dbd90089d8f713aac21fa622c149c320, + 0x7c7e3130d236811285fee012108f6d3b8e676cc12d8bbe77c9044a7a993193f, + 0x7262c017ad9d8ad55ee8203de0f1fdb37115f8ad9468f536446e785bc310a29, + 0x2babf64ea1321d0e3d3493d03fee99e9147009ab8bbce247e678e0d8b94a721, + 0x290679bb8ca981dd9a0a8e7017975faacaf0d7528c668a892db2a5e07ffb8a9, + 0x4940a01d5037256669bc1b695adb0033f06e69b10ca23d3464184e26e949ab9, + 0x1befe6e9a5e1ef56427ac56ae19ad1e674d2693710eabcdbb6ce651479bb0f0, + 0x4c89766ee32fc766c25ef0a1c2e98d3f6bd5bd832c1246a7a01b2c041eb1135, + 0x2b248547ab306979110ebf49c8fab6e6d8869def21cfc89acb7e511d0eef045, + 0x54f24ca6d65ecb12b4ab682c0c60ca2efd4a4f2c8f01768e6c53b5d8615b892, + 0x67056b2ae589682623acfaae3f4c138a77f9d5e9b6d0b054c871a7a8d057529, + 0x432a283319867e62a6400c5563e2d2bf2684a37165ee8ea171f85359cd4344f, + 0x294baecace0a4013122154c5cefd1ca095d2392925c51d0aafb3d2217804f31, + 0x1aa6aec88d78813825cb62430f9d8a1295edd652b3f5c934be738164bf42824, + 0x6d08cf12392b399d7d5c6004aa2be62a7e63cb1502aa99ec5fd645d5b0e5972, + 0x78752c367e6c7e53064dee3d621e224cce3c3c305f373dbb8e3df95c9fa5231, + 0x3620f30f7aff00463e4cdab7a96c7b72f6ee7c1744582bcb8cc79334dac9b24, + 0xa55146d6402e072f5fea27f0b161233b53cb84d796a6720842e3878deece32, + 0x68b3852290dc6eff9e3edc1794995176730f99786aa439d5c6ccd813573ff17, + 0x5613d0f6e87327d2fb06e2660748d5a9b3726e2287749f98c7126830da5c160, + 0x61f0f37bbea236644b6c1da3810dba1ccf4166083efb2fd99aae5cac4d8b978, + 0x7965b0164e07331b1ed381fa7ea22f79a14f822a519aa2135d272d09d0edca1, + 0x4d2e6f51fd90ed4e2fb8d2b293cf661a42987f53a0a845b366cf627e36c9524, + 0x7421cdad5858620396f882a03897f2fb8d4b6f5f42fee0af42a780d208f32ca, + 0x557e430afd08f22bcffe17f1d33ef31334029a37c24e7eea4a227172f3e3995, + 0x73047e7e90e3e4bce670329903f3cc813b69faab83f4ac6693506449eca2a81, + 0x49b85088f57f5f4c178834c7a5dc232b02e830b9cb2494fb11ab43b3ca8d32c, + 0x35efa7fd4b35ae45cd1827955c403f7004f18d7fe3650afa6f7a70d02b26262, + 0x685f669a0cf5b378684701f5a21f4623ef5aaf89593a3b3bb10e01afb44af36, + 0x1018cba7e0bc7e4ee7898d5a4473e022ffb40d11d9ae178d34f1e8598cb664f, + 0x1c91c884cb04db58dc46638138120b005a9958b5ed0415a6468acfb8301e96c, + 0x74bad4e5617029df7d1e684f887573222842433476a0010c4ec58a404391655, + 0x52afe9c4c7a5985935a40ca2711335855740407b0c34623991927107884352, + 0x15495459f9449f47529aa4a99ae62e9d72a8d942945427c1471953f2bd0910e, + 0x4d544ef957551ea0a4ad831ee5c4b863919eb58792f62a424d249847d383989, + 0x5dcd656ef0a4a9ae5d7c61ad37fc0a69f6f1c062e1a6e448443d032ff6ea503, + 0x64928712225c85557dcb9dc1c93fd96c2d5a23418a424048ff13c713b00f118, + 0x479d290ee773a1737b59ab82f696c81084965b8ecc5fa5197c04518a4db1735, + 0x42417b18e8cd6e4e85cc1c11a8b918f4cae1a8381a75749a83f6253f472ff63, + 0x471d2ef4dbc5d377ceb5fa94666427591191d4e9744537061177fcd61fab0da, + 0x1d2dca097ffec493e21e5a416eecccfbc3d75fb1890daa028a85a69bea77fe4, + 0xfc402d1d07ddd030fa3ee942fb260f2162f563605a73b36660ad664c9466d4, + 0x55f12afd0d37effe7b273e2aab16bc18c140ee5cd0a2bdb03125018d6c29505, + 0x630d358b02e90f70c66534044c773aaa0ca86f4236e225db3df0d50e0b73e0c, + 0x5008fb8f79bd9c551557cc615de7f7170e3faee3ebc0c6c3bec4cc083d1beee, + 0x11ccb26e80d597c1f29e2ffbbda880c60b068a5ee41964d722909ace38eb7d9, + 0x24f055d7d82f62f385f2e5859d1ebcd29d05da00c94dce8a9155d160aea8e21, + 0x46fd34ebd8a714dc59508895ea4d0b83cbe89e97352f8fdd278b8009b897704, + 0x10ba275e9811fa26a71e575a59cd6e076984d7bbe3094943f519a795be717bb, + 0x3abba1a3d5ed26222411c78b850f8bdf25087673cbb98a57d8a095ac2109098, + 0x34c18612c8263db3e3f82461e11bf80ebf07f83f0c3fa2c0a828f400f041cad, + 0x6151316ee1e48065cca6414c15efd0e2e11e0048ebe1ec5ec60a0d579ac1fc7, + 0x5799a8c166d9aa3518fb20c87b76a1324b113216f964b4cb15dd37389a383e, + 0x5e1a2f89ac5717aa19859f3946495ca3b371be66fbbbd8bf32307d361cb54c4, + 0x536516ab736e9f46f5c060d951e138b4a33cef295774593a5487909e2e4e8d7, + 0x521adc3023703dabe9d78a42d20ad0780301c458a9d317164f0d9384af3a6ab, + 0x5502479875f2d796bee4f782918f179b7e716dcefb31526c0c5c7b2c6f88050, + 0x136206e03aa7b7c58fafd11e296f95b7fcf0644ff156ebb89dd8e7c62dc4444, + 0x57bf4eac998b290a6f984bbd76b0e3f2c4214f433d83976267addae53210b99, + 0x4a950ba3762d0b67d00c07c94000b4f73edd5dad11a63da8d793099607dd8ca, + 0x6012ab1185c1912f06f5201ce5b0f0c180aa8136e2468a1a081d461311da7ef, + 0x3338e80235ec91c81be2e10344a24411374d554e41a5512ac86ca3c16a3f8f7, + 0x5e8872c16bc7d49fa88021959f5fda141147f302c3b81d0f86821fbe7f8ecb0, + 0x6f5b4d5cfd8e5f0b311fdd483d871f62fc10c00bd5f61d828b1cf8a5e83a272, + 0x484259737f73fac135decd85737dab4936dcaaaab4b65164e1ab44cc0a1110a, + 0x523f1e5b64829758e2eeab6fb6414d958405472463189e079594aab9f08eae2, + 0x3729c762c6e850064f35ce042bd8757f8c07abc89479be4f38c0b28cab1bb87, + 0x4f37b0993fe088dd5abbf97925e1fc174013ff757a6ce6f9b637856a4b1a5ba, + 0x6d12382750de16de84d5b2a6313dacf6f06f97936a4464923f0cd96f467225e, + 0x6b6091f4852ad2c13ffd74a0af8d02affe142f33e09f00f53653f6162c7b4bb, + 0x62e040d196bb2a8fe72e5dad009f5a67647c8de823fe31e6f9cdd706b838979, + 0x3f0cb1095ee88e8a2954ee7b5e3f63dd2154ff05082b1074b92be1b55b22ff, + 0x46d68253f1e36db0d6bb61640bb53e58547b00a95b749b2b0ccfd9615172e38, + 0x6e4c7b6c6935589ea9f04acd70d69fb35f1537c5f568f5cdd3fe5c2e074664a, + 0x298f0b36b301b9edee28a4dda72e704cd102a3352181c93aa6f539c4fef9b9e, + 0x605b67fca8e6b7abd32fece364d0eeb90120cae4a2fcedef9af66364065db7a, + 0x51f03bad2ef075c1fc44b2346d43903d72b3a7d9df6e573f672e2f58beb7658, + 0x4ceb70bb6f22e2f4cdc68a20bf5c5bc36c11f569696ed6eb54498a90a4cc944, + 0x2fbf4ac6fc76a4ebdcc0c59a7c965b62775f40c7ba1baae07b6ede18858555c, + 0x5a78f0526030ba964044fa6dce2c1f009ea49ee256f4ede4e714dd0b99b12da, + 0x66c6d25d737fb31316c716c3230e91888720ff065a3085b7fc181712c674e2e, + 0x597709e8d1d5694b20b7ff32c4d33a3329d8dcc4da7d478ed3d9b61df3fc72e, + 0x3d239f6da67299b126235689e05b75ee984170225402c063e050127402c53ae, + 0x7240d2e652456ff8f164b9eb94de8fe66112fc63b892ed652047f7b449f647e, + 0x2aa203bd963e9eede097bb43f7341a507dd2d272a0f68e422e3a7712a58a866, + 0x350163ce1b9941c8505519f01f89cafe96ff190b62d6dc90bc6ed04f0e5a6a, + 0x11baf20b8479ba5c8670e6e76727a8a8b2bb6bd9741f8c741aa4c3c93e68ff5, + 0x51b536b05fc303faa7fd8b54ea3d7fb6859ea5cb95c8db0756f82957951572c, + 0x13e1776082ce5d70b6398c3516fe0a9547f76ccc6e25257fdebc5a65b5ec788, + 0x3527cf4f594342dfd3e9d0b7025f1ea6a04211a0367f379750b52e94bd59d9d, + 0x2e45c433576041f102ae7b9fd9fe811a0b05937d059b33562f16aa22d0b78f6, + 0x7bcac6442f48684058e0476056f28f411d39cf3a69dcbdf809db386a2553d65, + 0x3b411643631a30603c16b97fea3cb906c73fb400bf5e79a04197396ce30535, + 0x67f6411998d53b5d0e05091e0abe6d498703529230bbb8bfb6259df20fda64f, + 0x479daa7d298697b8203192d4c08006a6309ba16bcfa778f71448b067cf3ae68, + 0x87016b7ff2768ecfef42a1d14d5f812ce083c2515e245b9dc614724a56c363, + 0x17c3ad5ad9a6e54ca8072254b6e76c7770b3ca948edfe153530a3f66428305e, + 0x625ed0bc81fa8e80596bf8b6da9ee391c985450607857bc3dfe582e647922c7, + 0x6add361ef1cc593382356675663f9ae7107750becbfd10fa864cd6845155b05, + 0x37965ff235ad6b35b0184ca39acb0ba37b07c05e3e9245578b643e9e82c775e, + 0x100ec6dea683f7f62039c95517975d1003f4f99bc3186be9f3f73a0988d866b, + 0x3dafdac50b4e601689aab5e038ac46ee78cfc36ea5e96c5dba7a9e4bf328649, + 0x54d127e2976b0a6adc5e539ebd8cb6e712aea49bf34a279a7b90be7bc195c92, + 0x4f36d4afaa288e600f4555592825f5493fdb6d066b40a5ab813144f441488e9, + 0x5c5325a05877e4f26538b6aaedd3616b544cc7b7450791a4a84da837ee101fd, + 0x68fd85d5fd1851fdf001af4b5606054c394d5c2441821b3a590588cc7898808, + 0x4c14253adc49a6ad993ef158bedfc3d5a3e11e3b6a3eaf1a58bb0e6fd25b605, + 0x5a861f982f86fef9d8df2a186b1997cd3495b2611bd1581baa6f094867aa5ce, + 0x682547b085ae381242901d5c713078799b98894b0af00c84e0963e8f428b93c, + 0x394c41e357abca96107edbc73d7c1f9c7e247c7a6060cffb0cc2a8bf93f6d5e, + 0x7c8213a138d3b48fa847303f87ef66551140f7f3ffb981db01496e81462850c, + 0x1a70af992b376ee8ef7c5446371fc51e5c391bb6b9e924e94d88e3f2fb95b32, + 0x376f56bbef4e5af646aef6711b513eadb1f743c9bff466ca549911a99b49f78, + 0x2a0fbca761ec813d50f9f1ce1d4e4b1066b6082bd280d4f63370139e3a98af, + 0x43345134f058194bef9e9c8bc2d693ab00cedf93e8380c782cc21ff68347e69, + 0x540414d125b2262da53f853feaf6684bdd0f7283136f362005fc1baaf8fe0ed, + 0x4e5582c9dd479062ffab6cb21dbe5e22c6e3412c81ac3d028f6c3a3b278b93a, + 0x644f80a1725e07d45dff451133d74a78ebf60b628f80a0c16fcb88b5ca57fcb, + 0x106128dde808ffb4ad80c96033619d07d62017b4bed90496c5714781de226d8, + 0x567fc9da74bd3780c5f365de162f8009902647bae77ff0dbea629340c262825, + 0x397b08447ba91b11253d19aafd60fca7377c3973731e3c9697157e843fe4383, + 0x10ff867fddac78acebda827a8f65e19696f2833c885da6d46aa7ed48ae1b3e2, + 0x605b25c4fdfbb827cdab28543a28b4c694060e76ed064435a08d67db25b62cc, + 0x3de047a4ba91cd647a0ea5506ce7836a7fcb4bbcd7544efec7397cbb0f15dbe, + 0x57699782c83940534a405c523078ef7765fb77a528082affcb9128f9fe30771, + 0x5551f150676a53593d4f0c68b02b4804073d390373d0eed886b2d0586a0cb0e, + 0x542b9dea2d21e85cbdb158f1f91e0b8c77d3c63ef689f6b9ca7e114fb4984f2, + 0x2ec6dcef5ed73a7cd50ab5d9da2f05a66f1f91cdf17ded1d66f53194c199ce9, + 0x4e33296eeb57cc72a455063182ab92fc8a3650f78cbb533207d914b9f34cf90, + 0x19f9a5b437d2c4d600c36d3b010d1f4ca882fc0217542467d428b77653d5bc8, + 0x6ae260bc09d64cbf3428fb00ae2a60ecaae0c1040b8e9d5e13f5bd5fe472653, + 0x6f592238df4ed04f7fc7d16b760bb3a95a0104f397ffe0f661f38b4a524037e, + 0x1494ea231b0a04e683b0c8d69bb298b134cef95ed43b6a98bfbd30e2375e99, + 0x277f022478a222716f118bcedf4e21b23946a62ac88e2f2273aa43a87ded914, + 0x1bcd3aab774745596a8d6f4698419bc31dee532b57a90e0862689c08449a3a4, + 0x5849c56843268ed1743bce87a913fcc4725238c93fc018b084250d489ed702e, + 0x1b9f5cbeb93e3136ea2c4924a267a56d623beda7209757c3bdc981335c16176, + 0x73ad7ee64835679cb3838b313b114000efae372c4600687e137095a5775231a, + 0x1b3458d97cd62347101c7916291e85a60036e484cab8e4a7b5bcf6e5d7bda44, + 0x12a3fab273c16ab6c5f897058ff3273d482bb94c6a557e05811983021bb73cb, + 0x66aae27c7b65050c96b4f6028476a3db14ce0a0f39ac68df2c8d4db8091459, + 0x2ba5a411667ea0e6bd9738d1ed57ecd57b205463c0a1940a0b61fee5cd65e51, + 0x34b12295859d14740481feef259834db5112616f659f6259180aa6cfcf915cc, + 0x58adc4baaf49f3dfef8f54868bb6d1620539c1f95320370a689a4d20a32231b, + 0x645e684b141d62e58cff87a7bd25ec0287362bc0a8e84e2ca7dc14ec8415ac7, + 0x18715dfae1fb1049ce52d119eac9f3a7e4d8570c72547c509f2365a03feecf5, + 0x333af8ce2824361385f4d841f8ee6f3623bfbe9a924b49c624bdd41b639829b, + 0x45feb5177de88e4838f60aa93d9734285afec280085a3b4884c33acdf605e3b, + 0x6f6d2662f7e0d52eea9512fd35d50460087ea770cbbda897c6004c2fa77e3bc, + 0x57228fcd3bd1fd244ce9ae5e70258fc75c854b8abfe3195dc9af52201456195, + 0x3ea6d935d02141491db9ebbbf82ed783781031f937c44bcc13261d43758de5, + 0x3a868af1db4e84d77242233221fa615d98370637e00e4594b86ac2bde12eeea, + 0x144b629c4e2371a4db9007077e8ec9f730300deb45de198f612cda6addca2fc, + 0x289b58a30da4295bb1289cbbf6e1df278fe9ffb7d8aadcbf02365c461173eac, + 0x5ee1627d45358bcec706e0233185e9615e9c2d79c7b322d6f11392b384eb9d9, + 0x81582ebf3887152d06b2f20e842f0e76948700fe5c7688a1fd04ce739607c1, + 0x16e5f08b430ae667163ce48cbc53da7444fa589894664715c2832bd7d2aea36, + 0x1e6b7f988e6bc55c13fb30585ac8c2803027351e0dd3c67708bf41efee81ca4 ] .span(), }, @@ -526,316 +529,319 @@ fn get() -> FriWitness { FriLayerWitness { // Values for the sibling leaves required for decommitment. leaves: array![ - 0x51c09f120edc0f269a652e3727e93d8cb872da56e7b75effdb11d4609fbe970, - 0x28b50bf2c67a6a45735f942ba8f447895326fd67f4863ba8463811fd4225702, - 0x13735f5ac21ca7ed160159828325e477bd7a1a0ddb79dbdb85116257cd9e6a2, - 0x663c30c8b49029208065a1627016ac6fa46338798d2f55cd16b4695acd944d7, - 0x439955a663fdb0b270f367ed1d1d8655ec6db0b1336b5a2efbe077fc27fb184, - 0x59e4c0e80a84a253b81d8584dfd3efb466fab88d233b97be79ef2a44e88f2b1, - 0x24b8e03be9cb01147cd2dd05f6793c39f11d24ef12717de809c3902c8684de9, - 0x1db9c423c33e65347ecf817344eaf81d314974a9b8ff3a5df7e5262e39f16ba, - 0x271039a37fe8e2eed3bd3a8f7d20b1e9894766bf029e274df1894474c597e21, - 0xdaf229d1c10dd6317479d59563b9cb31cf94b34f10d351f89b8cd0de795741, - 0x7e3a072963ee78654f1211c52e3dc82637347ae3c6942a1636a261b33717daf, - 0x4ab83ea71299b3c164227ce3c129d3194b10be03821dc9c0ead5bfacffbfedf, - 0x7b4f0c7d52a7d16321d604dc68dfb43affcb1544a7cac54db07dd2d1df09c50, - 0x1ececec12b2d84f22171fdcda071ebf87df290d50b4fef135861c5faa4eac8a, - 0x21fea8d3d545a5f9288653e57d5d7b90866f8c808d0babc3abc41f16377d7d9, - 0x457c91cf5a9bfeb8a4b401584e1f2602ad9ef7cd7fa35c81d3feb7434cf739b, - 0x3d99640d913cb82371c38d47fdec7b0f42033d7a9297051d7d188fdfbb63992, - 0x479bfc53ed4b371d08960e738bcbcfcdcef18a9b279d8825bcb2bbee8e0f2b1, - 0x5c422db3a6009d128d5b08313cccd6d5020440328cd2ee10caaeb9f2b2ac621, - 0x68b2db5394255e4589837c9cd82ae098bd3d032e62cd37f29662fc96c938011, - 0x3906d17d116ad272a71639f28954279e9ffb0d885015c21f4da3491cc9baf3c, - 0x5ac2cceca62206b3dc8b6197d6e3ff1b6b9d5523e28499bbd3e26248a8df454, - 0x331adba34f63e4b3d50c0e0e82ee1d6703a2675bf8630fb98bcd367301cd89c, - 0x36f2b4293946bce1f4ba8295d79ea129b2816ca3505e996374567b570427571, - 0x7feba70d2fc6f064087f17edac326d85b43ef49b70afacedf71a2329d6b7f17, - 0x7040cb329f218533f4545a5f4e40d6db75cb7d370d99b03beac56a5d7a910fa, - 0x49c157144ede914640e75139ce7ab7caa73bda0344ad74f94250c12924dfebd, - 0x7e4e84d5b72cdea761c377085cabea5e3a854efe78073076e812e166b59da94, - 0x13550fbe0cd433154e4f2c1d4e156ddc1bfed816c3d07e94789a6bf2b06dd52, - 0x3184322599f2edcad7f0dbcab56972bfefa49dd12fdbececb25f4be7f8e412e, - 0xc994b15c355b0efcc96603241ac192f0084c4a038d6d2a357711dc002a3981, - 0x203737c5d89a9397e5d27c0456a2bec71c70b481a8fc6f2be04bb13f1111d8a, - 0x706cf9d9bc40d0f5d4d65e2c3e0170cb235b83a4704ee98dac74f3dfbf3c5b2, - 0x1d471d835945aff5cf863bf152da0ef2d751e272aa2b92ef84322d4b37c0e9f, - 0x15ec4a487ddcc708e626cbd67023b40d522c24d7c43742e6a815b49e822ea8d, - 0x6bc956d79e6e852bb3f1985e1c24caee3869bcf77b2bea435d1fa54ed41ce9f, - 0x2c78833854c468bdf2b85a4ec84881565e7977514c15608cfad95bc4883045d, - 0x7c7a7a223880e87c3cae847df67634af734cc7c7929cfa462cffaf6f3d9a317, - 0x738c187206d6d66a2c9ef9dfc6f02a2d87189290d1915c3de0465882b0414df, - 0x62f85ce4bb8652bd03a7e76c41ac8a3c1ea21c80dc13d314ccea753fbebba7, - 0x5d70f10ccb9aabd1b686f6698823e586e39fd9fae737e93c6e5b9787232748a, - 0x450e5ecdbf3f80c83f3e87c72cdd96b9206516348c4c53b4dfa81754aea17d4, - 0x56d5495870dcc34c90399d1ca438449db286bd739ec59ed9aac907e3db163b2, - 0x1806e278f2a75602221919ed3ebf599032e281bdb8dd1c0151360274d620bc3, - 0x55bf8ad13855392feb67c37143a029d2448ec7721ad822fcb0e2795ebf4ac95, - 0x599e3cf654b8e9cfc6f1a8eeabb1d500192075d318677345b7cf3f22aedd766, - 0x1eee880d22f273e8ec4c2550987432810778cdd9ec6d5666dac9fb194caa41d, - 0x4d46dd849060ce4e2bdbbb6a6b94d2ad95572317465e36019a25d7b92a58c, - 0x5164bf0d5cd1f5b0b8b79c0999f54b5dc5bb9695ce70f30de9a585620592cae, - 0x22f8b145c2a43a20fd48ae8d62595681a0e0f499986e91956851e73af2dcfac, - 0x370f08d9db83c057931a3348f30c1a372c89f339e4b17bdac90767d32fc9882, - 0x4d81356bbef290e907170b453a671a6f1626d19ec508187b31ad200735c48a2, - 0x46d8ed5a5332911354b95005102a2cdbb4fb517cf55404f6e6c274cfae5979e, - 0x2ed6a7f4164343c585b4e9bdf7ad73b2e46082454142d1ff13b34ff5d2b1ec4, - 0x2e8ca791da90da273a8b6d5fffbe2ba17d3f1b8a440c09aa547181de9c3803c, - 0x3343da93f498a6f915c09cd36e22c4708e3a7bec1ae21673b657e0081bbfd8d, - 0xcbe7e71dd53e2677e58807cb0e89830a91a11ff174fee6a7486470e75b0041, - 0x4a523c6e488950a77c43c02c99c8ea66e31cb944464c5a059bf56b4bfcc3ded, - 0x218eb10c42a2afd193d2872892b532c8c45d68938ae3de4f0fec8c5fbbdc2ac, - 0x1b69b4a265912649099615de6e8b740fa87fa30425b1eac5ce92a6079074795, - 0x7941c8686d32a59d2310535d3e4ee9b56a0a966c11ca575bda4a68543efd519, - 0x37cb64d296e5c0c1d7e5adeee7fb46e60261ddd7525f56239f57356f5aaac5b, - 0x7df745b1bbe8eac03609c0c2df8de90f60c0458fea2d8b13a04862e0cf892b6, - 0x370190b43c69591098ed3bdd88f3df0d4607a729749b949392da18416d51284, - 0x268ecc8c787d41972921045439207d615eb7c026403878dc9762ee817bb112, - 0x1ba031b71d3c36c4b3e1ad789005164c344da08b4a6fbeb12bf0ef687bcddf2, - 0x24e8cfdfa5c69cea6782a59376c5debd2c9b7ced06a9f665ca986024a96e591, - 0x104c35398f58a44f896af2c64f964c602929752fd2dbc07d0bf8a8db4e3a86d, - 0xef5067c1cb0833449bc534186831b44b6173a7479885b22e61e2b95a5d60eb, - 0x61d0e97d5949f2e8de56cfa6389ecabe186ca4703e74534ba87de0610c7dd4d, - 0x76bbf7c65036da228bfa2a74402e29990816ae3799a40a95ae7842ef48d2901, - 0x24bf1f5c0bd51eb5a9fdc668c4510d670bf703e7a28a49f5ad0b73102b556a, - 0x10f88afe6aeb0248168986e114c61e8b6cdfe055d465459cfcbd8ddff528268, - 0x436583b7a2c4e167746da2797f8644631e9743f82d9c99aef51791bdddb5b05, - 0x603c847065d883522d2a6bd07b44d0a1e916444176cab94aacf62084139c96f, - 0x64d9ea7ba830ddb639439100d0dfffb9a3f8c2b6d77aa25674d0ff19d6bb24d, - 0x52bd915db987467424eae69de902002c726f04bceebca717606c91f86ba8377, - 0x3da3c4c0d80e313b7ed3ef130dbae3fe5f18aa87305443378d1ec1e9b6e89a3, - 0x76f88f81868a60e6814ee4d4daa5c50c2c0cb3365960acbbcda9750904b97ea, - 0x26ce310ebae000b1d31e11a9b96bdb772f870665f6591a46fbeb981ca1abe7a, - 0x1c986eb84cc5fe63b1126c7ddae57eb2ec4326a6da650cabb96cf18ea8e84f0, - 0x2baa56bb86c990f7923567489b2908cd3e136f3bcad66b2148c28bb4aa4ab3b, - 0x24823682e6facdd88ba18bc471c8771020b5fd3a3f8c26971cd893b5355956a, - 0x779ff4a7654c8aca131d2ad509b46a30ea994806561f1e9e01966a8f465dbf1, - 0x26707b838a1e7355764f7034566c3dbee1109f4d85b847ab765294c721e62b0, - 0x4091c0683fba270406f584b6e1fa8bdd553f5cbbb91e8e593b0cfe631bdef00, - 0x245b1d578fa8acae0781ab94ecbaba4d7169cd0f618b33d4ec17f8f3b468494, - 0x15d5492b89ba4cc36abc8be7a776da830999aa1935abd6f1a416f80780fcd9f, - 0x735831b823f325f8fbf3125e64dba5352bd5f2bc738b72639f13f952e3bf3ff, - 0x11b28350a21abf386e6151f8462a4a5ff1d18ea19cdd4e4294cf32766c4cb42, - 0x3d1053adbb6a304c72aa17077f43aef0610338f81eaca58ef4c83a544c8494c, - 0x1e3f14d22995783e6d48e3ff1e20c2c42ab3727b079c9724581c70edfebcff, - 0x7e4dcf1a4485b4c81339d8e6c65ff1a539810d60a6217cf0e54ce675fceb5d, - 0x3be2682d797d919f89432778988457aca76c75371b85035505c75dc4feeaba2, - 0x7b8fcd66323f3350050ba0a4dbe046c472cd6c27763830a3573a7908de44924, - 0x42a8ffca8578cc038362151096cbcf3b267b51b0bd327373ba2c55c04dcfbc8, - 0x77967b6bdf43a390d1eb7781c9a83ca8f1139bd99c636eaaf8ff64f0f3a072a, - 0x79d0bcb25efa6a10818d9fa20947c4033ae1fe2bdb7925281c461229edbf441, - 0x75c6613a9ffd131fb5b2abdd6a54030cbd6dbf586e038077afc1d26ec1b45bd, - 0x2b7ac68aa3e00c0784153770f1a1804e2374ecd9bd67a0b5831b781eadac957, - 0x37bb20d124744df95657c816330a25863b4ed300166fbf3906b63c5bf616ca9, - 0x3415b7387ef826171f3746b8da0d2ef0b4b3aa26a0aa4ff7e2394c8d71da871, - 0x25e569477ece5189b47a0b443e6e1a5559ba77e40f9008a980de08d1ae782a4, - 0x2a70dab9b591a866e31f810041f4524107359966f42bfc0447db3fa4c3b1d90, - 0x6ebb65e1a6a823d71f0720114634c7c89291a124a0e44e57d440f1dddc06385, - 0x36eca7a8cb1efc738d0f2434e4a7e1f0c50438cc8e705548e8c20e74df4a45f, - 0x590df229a22ba3dad6b784bcfe6375abf5bed7a03dc2bd82c0ec63f302e5df5, - 0x775751f9303acccc9c69427361d7e8b56910dd11aaf183528fad2466c23eda7, - 0x4605d2734d67d1cdae8844d8d7406dc4b4ff7ace03b092f0aff440f76e415c8, - 0x46d182ea676a36d9e6888d77e1c5f71533bd0a22cd6180818160cd194664b13, - 0x6bcfbff470571d8f1db8370caa75fbb6ac7192bb0572abaab00ade1ea8378a, - 0x3b4172787c891c59fc7bacc3778108e39a482303c7a0b2d660724483ad27b6e, - 0x2c6b21fe5cafdf7e9ef6a56ea914e140688353010ff6259a039517713493ba2, - 0x75b1c1a0f5688adf9e7c682c5c4246cad116e9e3fb0ba534661936320f5ba4, - 0x7b756beec410dbf428fbac77476800b7b62e5f24f698d29ed3466b8f81e384e, - 0x67fa982ceb4a7c9d4997b0815a3e56674374fc1d4a8d4bb8d659fce8acb82f2, - 0x549d76903aacda5db246caa1a20bf90258e4af6ef4944c95ea35bf8e9d4a0fd, - 0x1b5a290e77290163997ffe227f95824efd42d200ebb2656d5deda340d822f90, - 0x5b3a4be6fbd750dc32586faf37396dd7905b536980a8b7a66986f850fa5ef44, - 0x897ff3e2600313b0d7e4dcbddfc2417af9683ade5a06557e6054a8fa5d189f, - 0x4e076d96f16ff3e4cc55d7fdd92a78e02787cad4c288028a06c635d1ac2bcdc, - 0x6ad7e583f29cf08798e2ddf18ad1c04785de6f499e7136c701b9ca7c995d939, - 0x6f6911e371fe6eac51d3317fdc12c6293bd072e18573ff399c271362070669c, - 0x54b4eb0bf812e73bbb007034f199afb43fa58f2b5a7967fd41683c41b41e44d, - 0x2ac1343419686c574ea656e416da6597a355f1dbc941090626dda4a815a676c, - 0x5561ff8dbaec9c13bba1e440bad5d82159276f8b39a60f744451e395d1af90a, + 0x20f1496eb28b366e839ed38e3cb5d41b2be34c9a9ff9eac76b4d39811d5035f, + 0x7864c860b12de0660dc641b4957b7302c498fa022b8f46f470b198a0e2604d5, + 0x9ce723aa96ec0114ebf8a438354f4d284c432cee4ea083a11f4770ccc0d382, + 0x590d4e8c99ec01222ca82d8baafa8317c5ca15a27562b0f43b7c388e7e2c712, + 0x1e65c36ab0a844938729c1f56c0648c12eb8d391c7be77b637398155edfd48, + 0x875cdeb3c03f74ba2f991e2d52ec2f73f1c0652db930da2c1be5f88e7e0d6b, + 0xd94707f890a1698c4d421623216df013e4c32181e1638e0af5e5424023ffb4, + 0x1e42e93fc3e51c20c1cc7a9dfb56ccc25fa4364c2c745a69a24a94f475fd7a5, + 0x6fc64839bdcf73ccc1d1ce2d7ebe3acf4a512654608af64aebfc5ff2a00fb32, + 0x66b015ae7c0c991676efb483c35b9defa29697b60cbcf6ad86675dbf89262dc, + 0x441a3f52ea62bea7cd4bcbd6209968f975bc627fcf376ce55804545fb81ae8b, + 0x1e228594f56e165cbef0106b8f57a37d88158fade92031050b6bd96270bd0fd, + 0x4027826b8914f2f152ca27383b675724dbd1aa717bf1c65a681d98cc8721fca, + 0x6ebc6727a920cd8685672be39417318fe5fd17f1a42bf1a76b574a269667ac1, + 0x6d6fbf98e0515f0a02a75db31c5995fe1381abef863ade1a414d9b9b8836ae, + 0x472e2ca281994e3cd7f98ac3822db956fbc8b7873846f2d742c237bebdb7c8e, + 0x6423605c707af819762cbda10b772137d048f754fda14d060b8bb5e13f61969, + 0x3a5a6a3342e507ae22848e3b0eb5a3dd7042eac0f83b85e3c097c8ef80d015e, + 0x50621f3c3368cf2e7332073ad5367a2bde59d2110949b47005509bf760f29a0, + 0x38c80f87873c38c4b490d54dfb17d0810017c8b8cfc1a7d9ec825e0f182a43b, + 0x760c87d90d7fe839bce57a7fa2e007d59199dd63b94822dfcb7c45b2507f689, + 0x4f6b5b971e31617b5ea89986aca692ec6e441c8bffb82f520aacbc18fcc3e77, + 0x3406d06a6f265739b3251e5de3e76036f6e83b0a5d884d9f2f8f239c95ee39, + 0x1d2ed5f5953fd6a42a8024b85ae75fa15c18055d9f792ccb3fcdc0f19c09d33, + 0x6c97c8660441263bd90509aff125a8819328db146a4236fcb77ca0e530233ed, + 0x5060bc04acafbb83f799c199e3bcf802cd6004ca00f33463e5f1b72fb11030a, + 0x57f1aa7a07d895e140333b5d6ee90e3c14ae134723e86e672e50a3d3fa55a5d, + 0x6db845bc01d54138ff03306ba2bae8065ca48aa56a2238f68a277cb040f42d0, + 0xe31046e18a647befe57844fb8ba4b361fa6fdaab63a6f8db0b3e57987a990, + 0x172db2e31996c2e7f32c06c7c963aab6feab86edf4f220113edd63c1f3d8838, + 0x69ecc778492dfe3876a26dae14618e2690cee8a414502145efaceff9a96aaa1, + 0x13bab03dbc6ba7ce123b0bce127010fe2ff53e80090ef3bae7523e47b1b8e4f, + 0x372e6ae5c556ec067ea90d676fe90efef7589e2bd455fc0584422891c1e501c, + 0x4584027fe644be1376bca52b5067a3c4849aff0846304246c83f6193df9ecea, + 0x70fa800668d2cce1b8a60358bc6a162634406ae8c913589e30f310028330efa, + 0x44c03aad09697c0f10f7ed354a5b0f60c54f13552eac8cd7c23150a982ec802, + 0x18e80db04749f108be536f8bad59343b7ea31e8f9ada7a9063f32a3d9eb3676, + 0x14aa8920644311d07c71a175d3a89b874110e66831ab1f403b94f29f0b34932, + 0x26f6cd476e402d43ef28781a5b55c0a0a105e6d887ec63cae6252a3eb635fd, + 0x3fe5d8933c1d80e6aa4e7e3aaf079eccd590949d41c70b9660b63857fb1d18d, + 0x5186a9b1f93ea15f608e2b777b9e4cf5e629b98538bb7a2688e1a0d314db4d4, + 0x66e630f8fdd8ba7e773da605dacbf01db13a20e58763342a671637e057145b3, + 0x1e07238f710ec1f34cc71d88fe32c211a25ae1aed5500ff12ac1634d2be8a7e, + 0x136872aec7006e1134eb8c7b0e07d29b551eebbc39dbf58fb5142fff95eb9d6, + 0x15aafbe8615188c7e111fc1d249cf4ec374d0e24538439c2ce3cbbba9537468, + 0x3fe7a85f3ae8d1301a695db8c28ecb541e5475969078cf935ee54390317b2aa, + 0x1e2c4d0fc2672013a11ae62ac088f7ae589bae85ce1a35afab1365e1957329e, + 0x133a91816a49d2675658e3f078a0b167652f7045ac59ea0bd883c20de6522cb, + 0x3dfd72f5b0e2d09ef88df1b51d121e6deee8e1ad867b940901edcc918875ce3, + 0x2f7298af005d62d2160d0d94bd504718155c57213616b319089f15e86663c2b, + 0x387b32daafef44dbb7a0199af7c338252ee0dc7f2b063fa8891744f5a09ffe2, + 0x6c06b4c1194895aea83e339c657d4280adfe08546630fff7771726099b5a6b4, + 0x2126d58f43b052165efd8d2ecd39a3dc7925ebc43ba287ce8374ae39caedecd, + 0x387c5c07cbd70a3774ccbb03f078c3a3c97c23d45fff0f3297b4b7198c7d42a, + 0x602128b2a652a7232877d7c5c8a71d883159724c710362f9190903c716cf009, + 0x58bdbc646bfb00365842f757945408d789e147ba03a35e5578b1cd24cabc7f8, + 0x19e2638a1cea4cdd182869ca01a88c7b717d644e0eb278dcdbc46f3265eb2af, + 0x3a0b67e1c49682726e7c6b7f06976338871fceaa3132949c86d694b6c71c8b3, + 0x10a0c5271140b88135e0a939da6d4bc7ecdbee7d9678674178857e88f93fdb, + 0x64a2da49785ce99f699885bbd2b7b226aea18524ba17b7784eabf7b301711d5, + 0x52726aca5ca3a99a46ea52fbeb10df39b1742ea39b7f664f3039487d05f0849, + 0x71c5f7579fa94ee5bba8bb7505d4c1ee6b45f6101266a4e5dd77acfba57ecd5, + 0x2a1e30b6fbe4c41e743fa2e967ae9233ef61d625a4655a41a0a52372c30a89c, + 0x11b2fc875c3cd906c766d72e975a8a45e78a4aea1ceaf4479198b99db6d5f55, + 0x592092aed7e0a082fe357c3acda0f8d5b4f81cf8af489230726b21639f7832a, + 0x7e737d7fa56f375a152f6f4b8205257ffe8a0182f4675d7b376e09dd89414ea, + 0x208bdcc554f172e00136f2f62e60026e51a3c0356ddd8009be2abc815b87db7, + 0x38dff98a52fd42d7df70d1db87dd2b97b3cd33b4331a55893eeefc5ffa95d22, + 0x2898379827c2b7bfd9c3cec019e5cb9ed95061b54953211b05e2fc93d2986c0, + 0x492aa629717a790edcc9aa655f3b4fdf07f50240ee4d79c8ef39cbe5c1d2716, + 0x26bfeeef604a35a457eea491b997bdf807c024ba23d25d1469062b13a67eb, + 0x6d5b71dceeb17633cfa32feb1533bbc2113ff370df661add8f42e74bf536ebc, + 0x41f7a76a2a2fd187b8fcb2a21ce01e7699128eab79f7406480e7bdb2710ece3, + 0x2a5b4a73f952fcacc2b9506a63de5c3f3aa733130eed4f3b9e659f88e6f21ed, + 0x3ec243540ff6ffbf1fd4ed2528c8af988092b0171ff0aefbdc6996d6b48b9aa, + 0x379a16fe4ff791eba4e8207b767889e69b83403ea490a38b8d61aa5f73065c, + 0x1c653acbe94c65aa8782ddd25005151ba06c6fce59efba96e29d5171ac94fe9, + 0x709c44b0170aba776fa5419c318616f476a9812060766ccee10ab83f734e15a, + 0x43b8fa532357c0e971ada7fd68de694d4471335cfddeb134b91e191730fe60a, + 0x37035789ed5e0ddec529757d9a5058915f8436983569b7e8846ed871869555d, + 0x58994ca124e57b1af535a47f8131a84d10a0fa0777c8f037422b7900718e35e, + 0x154a6999e941409e7e19ca6ef6394a8039629907d40a96b7f5e898e9e8666b7, + 0x7df652b4a85bec829dc2abb444ec1369741686380cd6cd0cd584d9a37be43a6, + 0x16a774991f027a09f97a09e3469606e2be7240d51f102621434e6fc73d77ecc, + 0x227cc7dae58c26f2de45d64dd2f8e786f3687bf4fc7ad4ec30e86be1f393e37, + 0x4dcd16ef8ef49e4b97927238c3c161060ea83d64d8c90ffffb6a1e57e931a12, + 0x444ca5f6bf4871af19de05a24cea4bd5082c1e79c15c1cc9e0dd9ed5e6e418, + 0x66fc91496f8551dc849c32028ea4d215bd0f131ed75fe285c358b351de47c82, + 0x45aae2314214961eb49cb9e3b45f3151c4c86d3fd31683610cb35df9c7c4527, + 0x19e023293d53c2e344994ab02f543ac39c76190ff71e0cbee4d85129f0b51e6, + 0x7d5b121bd49fd058c2073f8f5ba7f450b2e1340a08f128ecc5b8202dfa7a4ce, + 0x7dee98d1dd753dfb3e6446822b74148ff59c28a5244e0c40089063c35043930, + 0x20ca2064a7d9c53f47b3a560aec84e00e120ab2822c016affabba4cae4d1c5, + 0x23382bc2e1af849a3ae539a82826d276d662bb29eccbb904ce675c86113f373, + 0x5852153955a6a01bcac840c1dd3ba882ac153338bbba3f7bd186a7a8490c3bd, + 0x2c4ce3e36b54c50bf8ae18b70f2cc55c738c6b0145ce42ec4e24637c52cba0c, + 0x5d2eb96e86c0ba971a21ef29495d6b31e647fe283abbaf31469a24e4ee1ad7b, + 0x7281fc52334e7607f3859b8693644e52d9c5419c6d9272ee5c750b8124bb21e, + 0x52c0b3086715ce891833bfb9d6cdfce62dbddd8fea6bd243188f78999b95001, + 0x62de3656262ce252075732ca917989447737b3d20f1e0a6ebfb4dbafe5fb254, + 0x60d9ef3bccf7a4eb6a7876864169ddcf1354d56a9f0987e7e6f81f82c50e18b, + 0x5afc907d356e79149cae51a35d6f23a4945ab4a7f34d89b338d3b2875785650, + 0x77240eaa53069c64f957ab61b7740a4cc302b3289afbbdf2a11bf198663d133, + 0x54b9e5353f0cd07d0acdfbb86dfd45c15f9afc49c805b359dbbaa964596ca6f, + 0x6d92a9d40f52e47ac0b0538828bbb1fbb09912dfaa358dffb9be817f730e69, + 0x540dd9b67ee32d0ff3f5d2b9544edf6782fb6e6e588bb920c4dcdfc93493be8, + 0x693ec17a9e025b7e461777608f6ba25fb11a68a56ed5a1b616531970fc0f445, + 0x4319d48555f138147e1af483aa0609f2e4431323839ef1e88a11c8fa219537c, + 0x6f0d27c99487d5d9b3be1a43cfb31e33b0233fc3bcda0b1184f0dc3f79273ee, + 0x41308098869cf62ce6d367975564bdda3d95d26f7f337c05abd70b78e49d8a3, + 0x1a99b5e17d33a0c42dae16b97f5e2a9be9364100901358f59dad6b7d08d09ce, + 0x3d0152c5bf7910676c830123bc0f354e18d0632a6cca26f658e44cdc522da84, + 0x4a218faff9c071eef26364535eefe8d1c2cab8634b7cd1d6d65e7afc1a145f7, + 0x80bc1b5ca6ec83552dc2309ac2247b96426c4f04af9d23571aac79da6bdfe5, + 0x7dbd2b92c9bea8c9eba6db2c0d052680e74032db34d02e22cab8a380331aa1e, + 0x7a8d3d698d71dc28566bf7ca16fb90eb50acbbc303d647fdfc9b11db04c6462, + 0x60c1943b7bae332c6adeefee7274a80c0ea85bb6af5640f41e2454eb25c2482, + 0x37ec15794e15e8b9ad2e5888077739c6c3964c45154b5e6a2b2a64d8f50b30, + 0x7a0412bd7e486a06e9a82f4a9d08d3dbd9f22014a8acf08027df2fb5589d9f4, + 0x42517469eedd384aacd3d6126bc2f196d7767f76f9d675c31ac14d87098a276, + 0x38f4164e4f51d6ee06ad972c4cc0de9bf2a6e674a3fd5eb7dbd83991f03f4, + 0x481b32d10f4f507b04b6867d3b366c615fa97782403fbf7f12f6ecf13a03d16, + 0x18d5adbd93dc9d9c51c5aada92a9468a57f6c1e435ef2cb75bb3013e9069ad6, + 0x19ccdd92bf65bb186984bc6b8358ff0acdcdce20e71b12ccd35143b477d03fb, + 0x75b51f739d616a692f23a6249877c39e15c80e52ba9d88884b9be19ebd37af2, + 0x4fa1db996b9e8c9011f2dc39e30875b2a93bdcb5375ed19320a67034013857f ] .span(), // Table commitment witnesses for decommiting all the leaves. table_witness: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0xb0a447b02e1b4a1b347bc55447dccb3e5de98ca0, - 0x892a03c1eeacd2c6d25d95029ff19797bb4e68ac, - 0x913759543ddda4483ce45e3073010b5ff8f19aac, - 0x84d27e7eccaf23c0d3ada2039f5daef268b8c8cd, - 0x25028cc9c2166cbbe1db936b8d61affc8641e86e, - 0x6d2f6dc2e0c5431e352f4e7224a18aa78201c175, - 0xe288d8c704ab0701acd82c88b3195d899385327c, - 0xd7ef3f40010f78c71fb3a5921f3bf12e8883c7b6, - 0xaf5466d74a296db04371d9b4319072679df3ae0c, - 0x3051a95adc35959686a35d3b88a911edd58cbf6c, - 0x2d492c74ac266de638ef6b0e8c4848455d8d268a, - 0x1039f1e7ca1c7fffffacd29b21562c63ffcbf131, - 0x4c3efddc98969799b41705d51dfa826b961dce76, - 0xeffc79dc8be2710b95e310ba6de6633192496dd, - 0x52664ba11b6a455195c829272daae853c98ea947, - 0x1dd54c186b7741d34782a040e99f192cd2d7aabf, - 0xad697b5701f90e17580181ea8e5131d3ad1a269c, - 0xa5463255f189bd2fbedc84681a4742eb2d19e2a0, - 0x7506e7fc92336b65853b0484aad1fc5f346871678754ed345a58e7d7c043a56, - 0x2fd9031b3e0d9733f8c64007e8797e9f4800f0525898f2d58c62a7d94bd9c05, - 0x2b3b8b0dcad8cff9bd2251072e47aecea14e7ac89f22ef6f8675ce6fef9df5f, - 0x780dccbb5fb5f525844b2396d313010aff50dc35ebf0f5d08e829fdcd8bdf1f, - 0x45379e38fa5503a0089bbc345db8d480ecf9a6c5e480a3863f824332b9a804e, - 0x13a8aede766e3ad1b09e1d9a9f7e0595d369d3a0358f6d4266a1a9e200c0521, - 0x1eab3c03d38494f4ee5d7ab5484ec3e3f06f0dd1b7397ffc2a6814759bf9927, - 0x4d79f8be432eb782666b1b8f75c43f45a8615a090ceffe89b66908fee53d8c3, - 0x86e736d63446baf3ff05f5633014d329c43d3be06248179ccb34ba239e9250, - 0x27cf9130a84e1fe1497d8c0ae7522ba508087c647e135fcce81f985facd62d7, - 0x57665adbc7b286e2f5d5c2414ce78fea5ca4c142955a315301015b28d31d5e8, - 0x3cc5818ef7c15acd44b01e2a624cd3201438bdf540d755e57829ebd555e8de6, - 0x53e8751aa45335936ba48175bf08e665b15f3b1a3c226ac81b365d2c0e395c5, - 0x7b6376b914445b0952d894b76b89a04ff6dd17a7413229f7d27464d33160b93, - 0x84ce40f5a9bf3d3d28d0077189eca141e4aa6351a48dadd056f4bc72c1916b, - 0xdf52df2f23001f5dfc8c974ee998ed382a389ac6278d5d5186fc639204033, - 0xe482c57be8a9d338463fdaaf8774d09fc371e249740e6379468525400a751, - 0x7c661f2d67471f85d580eaca6bb27b296c0c9f512057e9ee2f646ceef9d15ff, - 0x681c2b863a73bb668163748af5c5f6a2b7f4db761f3b053380d0e0a5180a756, - 0x5fde89fb56662b09381cbbf08880a0fc0f9e59ceabff110d022390326f21416, - 0xa6f6b3b79466ac427cc1f4640ff83d183e4671a8380edfd8ceb012a83d9f07, - 0x6d2bc396eba151e9214a9d47d54a69f1df58b03c940a7646d963a05b1e30191, - 0x9147fed28ce017cb58cfa9278305307ee080540b7872e49851a38d1d216dec, - 0x7c50140f5b020c8354aa88854877d77a2a2eb9dac7461b14ed64c00f9f35e7a, - 0x2afcdf74e31c171d17196406083827422924d431289ffbeb9ebfacd47bafaa6, - 0x28b414010d49a3dfb9c613754e2246a1bdf14523e12edaa7a9eeaa39d6601ca, - 0x44391753cd6e36654d3c706417fa48b9e8b97ffdba1baa1a2d589ec48a9f662, - 0x71972b880e34b976de3cd6c7430f1f515cf96600ba564765f832124a036b660, - 0x2931db2901d6915ae12fba763c8524ec5a53613ae9b6bde8fc1a2343d6aa459, - 0x5bd9b692b3d7158dee8dcd479389bb37a2d62d0622c5ebc4f8b232d1555fdb0, - 0x36a37863614f66d0ad1ea5fc0ca34c84e9db5676c72cc965e5a57cec830ed8c, - 0x30962fba70ce97fed8a9785975a044e88cf8bce73706a2f92a0fd834e577036, - 0xcbac60936295ea56320fb86d2163f0dce9c1a7ed6a2d06b843527d39626404, - 0x6775d90fef7ef22aa96cc495d0835e64e6255f1e9145fadee95baa6ff9f168, - 0xe7f2260305cd693c71c9ff8c0ac26f730b21c4d92c03d380c011ea2ff58906, - 0x5dd0eedd817c5ac76b1491928c646609881022cc73b1799a9af82e51dff2ec6, - 0x3d6b5d86abba1de26e3643b315d848ddd831157f85d0baa1e01309bd1c76de, - 0x1a1dc9db2b65ecd4dde2cdaf57ee011f95de07828203211c98814e5d4bcb37c, - 0x653e0987d060480a1d0f1573fb76ef4ea7841b19f61e14e18bcbd0281758a79, - 0x7ea281d8498e5706f07e8f24ec9e73bf886677442dc36a04d61ba3c1b803116, - 0x6f7fde7fc38ffea543cb5e8c667d1e0da43c0aa9d62475f126ff33fc7a07b4b, - 0x3005b649b84d3c330d6c5ae7c05b45b9c09bb732ed58c314a3b80c27feb4c9b, - 0x1bbbb788ce8a0587a333838f7a36b7f3d0d78d0123d00524e0f83e39686d9fc, - 0x53ad82776d9626403051a40587cf690d04db746ce9a3a58c03851e1fb5e84b7, - 0x16e4c3fbf29b67b2e157dc0b6f0c9ada835b97033aa229814bb2fdb467fcc98, - 0x6621d4a5e7b8d3d3bd007035e4d41f2dce4eca9f5bfdb9f089c3916355cf8b9, - 0xe9904de0d4b22c19dd206ab5de3d1a6bd8afe5d02b6cbef7ad5a17287b4ce9, - 0x5df75d05c531927f35bca621ef1b463c0160a7ec409d01482947c9f605a6a26, - 0x359d5c38e66975ceeb739a3a8f2d39a7ea4c01bc50d9ceb40f0d43a93fbd602, - 0x610fb1edb0059777e19cbaf20ad53baaa91af0cb7fe0ef5b3976dbefc91a64a, - 0x2f9c99dc5b29c06d84ee649e1eb35990a7ffcc8a8601da6fb680eceee011046, - 0x37be9614003c140e1255912924fd618d1eee244ab69d2673620734e8fd29d06, - 0x5db9a3f47da773370f5c18c838703538aa4ca987aa311a8986f72e730c4289f, - 0x29f90f26bf1c633482ab0e806200145d73fd0784be8f361a332b9233ed09c89, - 0x436ddc1e75b986e6ec69763376aba5db071587d6663ce9542a7385d1cdc6558, - 0x5a7dda65665b46c22f23299d244180e26806c0535a0d53f2abfeab1da88feb5, - 0x679d4517fec1b0b64f12aac4d359400ca93dd4bc4963ccd3821ffe5fa2c2f2e, - 0x845ead83d9c3300e39a1dc5560bf2689f56a6c89091a128c5941430aa61e3f, - 0x340eda7c96bcbf05c25d283772e530cbee6361e9022ad4d68a79e10f1243067, - 0x3f0b1548439276bb579b8a82a8b8ddff592e14ee264fca1ef830757690a4ea, - 0x40f25c75d8bc4982d37ca63774cda73461c96188571b1c96b6e345e0debfb4a, - 0x4eeeac24be93d35a1b895b4a7c09983fb5362ba74296cade9c28128c2c4aba9, - 0x5b6283a2ed987cdba929ac0bc7dd62fe8ead889af29c1b669467685616b999c, - 0x3d0c0ff4668ba4ed193eed13662b2b56ff121be67e4f36101a8db3a8db4ae9c, - 0x6ca1a8f5c122154cb64cbde2e8f76f0228190aed478e1967035472615d11a18, - 0x1dac45bb8d7447e5b156b0262c6678c6536d4b8473808f235a7b7063e524c3f, - 0x73ea9cdd32d515d67b583a575ab668d541b6583e0444af130488c7392ae73f5, - 0x265e7573031568729cf0b9a048e67ad2a042cd946f0eee9cc793503ec16e8bc, - 0x2ddec60be45cce4484af51a7f3bf86e83e120196d761dca978a6b8200d5ee2b, - 0x7b43c1ea945be57a2dcc25b548b9f8507f8f48e9c0c1cc496b9ebb91c32994c, - 0x674f25574f0aeb5020b15b3a740d998ea70ed8c784252e892498d02b837f60c, - 0x4d9b611b5a427dbcd4284e10e6e77a6c26ad8b271d601f4b6d479ccceef703b, - 0x1f910fb44aeaccf25dcadcde0989c21083deccec3082ba1007260c457054ae, - 0x2bc8a629bf5998654c5f8e30e40cf2e35e7856f6df46500e8fc5a72278d2556, - 0x4ca4dd29836c3e84b1d246682e24e32d7821072144dffd10ad8bb3d5c72959c, - 0x747f042aada6343a0e2f67c2abca9e414939379a4867c019a076214a2e2b7c0, - 0x7d34eb7d9ab2f38f42b0c377ad272b1db996bcd009af9f837ddf37c4d98f918, - 0x7cabcdefa8cd4bf15c94dd8c9dca629dfca1d728a2c1b9719a4f8ed3c7efbb8, - 0x6133e7870aa62a810658e0e6423fa5c94fe3a9bf883a0bbec22f477a92ffd32, - 0x5b0cd0d9e876e036db1a9d8232e8622525445122a662ffd8530cd24e8c9a768, - 0x7c5e1ff07b9b78ec333e8a6da9eefe8d6753f304a2ede230da38f17faf78afc, - 0x30e7a5b56a568020f9b48c489783019c45a22074fc08dc64e00261170d09485, - 0x62aaf59648624d703fcb6bc8d935e9de5c019d9315c33fd002a97ac7b2472e0, - 0x20ab951e5863d67ec5ab6ae434cb3513d9745d914bee01ab56012e4ab7e3975, - 0x656ed3296eebb67964b799bc8589dce7448a1087a54e130b39ed7a3555af457, - 0x3f44d393132b76cf30699b24d213246918b05e9f413c8371ac7d730b7f29303, - 0x19f1fdfa391696368931ead5f8e6b6fc67d7871b311636a16cf7213f95f978c, - 0x38b035861a027f689c6c5abc7953a5c81d2800cf40da041e19c1868775002b7, - 0x6011cc2b8920985eeb3ce5bb865abd570f766ee2bf0be0790cafc06fbad09cb, - 0x677207c9431bc1818646785d5f6c709261a7f472486020d1a1103580de852b0, - 0x68b25bcc8b31ed62b76850ebb82186f30e05a55dab1526c36074f764a851d83, - 0x6d93176f9ec8cad58f1a9e4920d8cbf11e2b786a0a5aa0ec8534a4012122016, - 0x11eeb71224093f8c65ff5a29751c1a1ccb7d330e25abcb6bc9c863826fbef78, - 0x4932c523d1a1e90c5e291f62aa389854b871407255c8204ed79a4a719f58b12, - 0x3710ba91a40e7b55ee81007c46cec52fdad193c1c11ed191c5c1dec4f8d91e7, - 0x888f15b9ed73a0fbc0cd291ec534d177eb68169e69b930fe752d3a2ca57b60, - 0x531e8c6b90a91f420f1423ad75d4fa30b3dd5e774e755f82e064ccbcf79f0e2, - 0x2a1582e60ebf2d72bb80df062bf1b6046ff8dab804c4e6a1d6e926f77d69f0e, - 0x258dd942e3c04e955f7682a5e4199dfb28831ef35a8d0963fb8d66c3d9e0653, - 0x37466b659d3c8bbabf606a8f2ae373013aee82978cb51fec221e631e9683a4e, - 0x3dec2efed3f80a611f53dcd1e00fb56f1b496144402e390ea0a5bc5a36a6ff3, - 0x70f511a3ecad9fd4a81b2bfba2877b2e60ee4b2771d1a2db02c212734d12852, - 0x93c7e4a639ab31d5b0dd6ba9a691facc5c77d0f386f124b97c8f7c2497cf33, - 0x316db6c5844d662d614810bb73de2bbe6331fd2e8da2312a869782e87a1e588, - 0x5873c6dc2317906755f9dd1440175b3943fef5001f387c07a69b3b521041268, - 0x560a783ff7e8cabf8fb67963c50928384dbcfd24f027084f79467ad4078e981, - 0x29c0fa0b9202ed7cd6947c40f123425ecf0cf33d1c3e33aa78942392a213ae5, - 0x64af7b21f1cd142ac2c5a61de120424125022379ffbd81d7899a66ed1fe2f4, - 0x14c1481da77da43d04347572ad9a7d95b816539b4b3b2c03f4e9a252ee016ed, - 0x1c4478c8e7197ae898d3d86cdd43eea29dc96674a85550ff37cfe9046a57908, - 0x4b25d9a0a19908f79f7a91e74a3631a9032d5ce668f3c2cac20b44f93268809, - 0x877ab7bc4de0c57540715263b5316d004260d117eb01b830b471abc0a8fff1, - 0x73b5678163f66dae5f10bc84b998e8dc85c5f497c7923e7095f1f47096c3d30, - 0x14be7aef1f6af50fbca1c715dc285d74aee672c8497c54d635aaf3878e46f00, - 0x2b462bdf0759cb5e6e39ef9cfd8260c1dd080b8100124135a64756c37cddd39, - 0x6027e11cc5cc5b920732987771178c6fe937d65186b4df909b5ab9924a6f2e3, - 0xef1cba1431b83f7493a7191168f84bae152fc9b7bd6be69fc1d936363de9a6, - 0x3e0415a510ce0f0e5902779f4827021fb14e86c14a91af7323c597df6841c3c, - 0xd7a263b6f44bc7ddae58504ff1e9db058f948f667630793ae20342f92a9b65, - 0x146198bc2ffbdec9104a02e73179591b68218957fde65e98c7738253d0b1920, - 0x55ec7c90cf13919859df147fe0fd47367c11bf03489cc8f81d9db5c82ae9196, - 0x3ee3e8a7fa3e39072b862e5b7e22b6d1062a8318fedec260a21c4a43c50350f, - 0x4f1346c1d2180130a75f03332ae60ddd156c5ff9210f883c9c788731d6e1ae3, - 0x6a68b147371ab00f54b8ecd0db21acc74c466faeec1e096951d1583ab40d66c, - 0x42c32032d56766be1e6bbea6e411d42cdc09c6160055424d6fc8c498e56deaa, - 0x1c2a1fafca032a66d72809d385f21e31fb9f782e8c205cfafa49bee4cc733fe, - 0x6856dc7be18fc7422553e56873ba21266bc1ac33deed8bb967ad59d1fd8b48, - 0x6ccc14356b42d548ed81d9e7e8221a7c47372ef9cd1a0e01970c2675d2f22bd, - 0x5bece8fc9b7d80d1cc6ca6803e3e3387f5c616812aba57f107fbe3b432588b1, - 0x7eca089f5e2b5a60dc0ab8acbddbdccf262db053a77bfeb92926134da205304, - 0x4cfc657b820bb806e45e6687f902da16916e972234ff7b2e7e48eb462184f5c, - 0x74210bbd1a12572a7c33284b95bf35fe562fc641f4093b875c4f38458cdde9e, - 0x5e676e97b599c1144c77d97cf6c6a1f429e6b6e5ece6b1d88d7f05b2168637f, - 0x69fb65a12bf893a6865f21031786ea19a508a3404b5d3dd7ca5b4608ac42b96, - 0x47daf513b912aa2c7261745da5203204e07becfa9b32162a81169b3ef2df45, - 0x1f4aa8e52d2287aaa05708a375942d87fdc02360299040a841917a92ef48b72, - 0x450f60c17186331d30b54e47b86653985f58619cf22c03decf543641b5326f3, - 0x14fe73c7018ec5e11274c86eecc8a2caa07c2e99150e62248051ed496774785, - 0x601b015c7c94d5308a912067f7f1053efaf241c49ddfe45ebc3e8e2ca6800a6, - 0x65df0f3cdaa9fab092b11ef17af479be566a040bc8d13d20ef016e0e51b271, - 0x508e3ee800ff3b30334419e2058af211292658040eb4d524a78810a3443dbc0, - 0x7e6853f820c12807064e549ab85cc771d156c72c00de8d2e45ca7465b48919a, - 0x62b7d217cbd75cb2c321730a3f5fb12c383bbd5f1ecbbe9631feda95adafd46, - 0x1ffeb177d5ba5b765816d0b8efa33ac7a9032c83194326fb298c8af0a2a1b3, - 0x2e1fb7e47b42ee71beac44c4b7efed9048f47f6dfb19f09bc9184aa5f0a8aaa, - 0x7bfb6b6d268e28ed4288f18209525eedb8103907251093ba43d73aa9902b121, - 0x3d0021701e0b2cef1165a6863634d6c2fb0c21f9bf037b6b33516c0e043cbb2, - 0x2fa6fd5fd8d69f9d97c4a4527fd4ecc1b1c1455650d756e8f5c91909667c002, - 0x169f5a97ea7061d1919aee999fc085fe71ff8d7d9f015e97b057f579b6d395b, - 0x5616d5704ab7a5a8a298413965555f8cdf6b8c66c6589034a68c8431cccfa8c, - 0x3b0fc82a6c0ef3dd46bb5aa9d2b2a447b0d751a686295108b5e08c4ee4041d4, - 0x5f16cb2372eddee9e5d94912c5d1065216700c379e3ce5185d87a341f47e30b, - 0x40582d40217f8bee3419dcd3580fe76a606a5f1962cf36da858c6eb8fb63dff, - 0x7d4367553bfa4e42f6dbb5aec103a19f9eb672c3463f362f23dea6f64221cb5, - 0x13c4332ef9a002c119674501497e1911260376d447769445b1fe7bb0ffc4e2b, - 0xa4e5df371b112b44a04096dc73274c0ab319db7696e10e20b4eabea4a4624a, - 0x35bd8a5d993b3233e3717a879f3b80a04262a7a776470523e83c2e28630cabf, - 0x62da0c4d1e8da86fc9d51649becaae663eaccd994889214ea2f7cddef854484, - 0x6cc281bd4f41e94f605a3d41068d8eb5031d07493c8dd25e3c6f1fa8053c22f, - 0x28a02fd182c26d2f66e3703ab43ce59b348ca197b8c923019a1a0ce19d90e31, + 0x14489d41d7e224694551e1e950c3bf7b786efc11c5a40f581aa684e0da928cc, + 0x2c49a96ecebd2278f6ae8da22fd933f9e9e5be060c6c04fe7a9df23e086bed9, + 0x14a535ff88ec0c268c393fa660320e7349300f9fdd5107cb16cf338032296e2, + 0x597c120ae66973aff1623942a8bd58c37d397b1e4b6c4ea96607767a5af3c2b, + 0x27e6fabf42c301521e613c98adfc7d48941e8ad65c5e5765f1b21f3edab04fc, + 0x11cc17a2544d53f04fc67f5a59b1912042cc7b504d17c10b12e4cc3b286f831, + 0x1f128d175c4f84d842afbdfab25ae65c9db03172f96fdb2be63105c1e3a141f, + 0xce656d7da429748be680f94aa0e3945b4974576bf6b5483c22cec0c5ce2fe4, + 0x67d6619fabc75320062fa77efd83f2eecf40b110cb6250d24042a55f58b8e65, + 0x583ece279dd97d200dbd47092c46ec83e984fd8bdf290a181f9678b1bced9fa, + 0x271189bfef132070404f86ff855aa8951976b564c408c9e07c9c3c063255ef3, + 0x492ee94af78b5842d2fa54c3417db20b7b5dfb8f47496fd18b7465ae5fd1156, + 0x2ab0e9f15b5cea8959365b06c03bd23d7eeeac21e91dcfab688f929b1b582fe, + 0x552af12002fb5d84cea59a0dbf1874815115ff96edabd6c6192164a81ae6486, + 0x67de77eaa4e9218dd5b651c55f0c1007e4555a8727295ae91b2d0e02cb9c515, + 0x2309dd6ef2030abe7568979281af2de443da15371b12171fb14626571bd274, + 0x6ad313fa17501370b4cb69c797cab3a00d4548c8ce351c5f5ad60511166ced0, + 0x75a9fc82716836aa205b25a1104abcee34f3a48998c6659cf5d127cc8a9ed76, + 0x1e57c9f0c071b9b1d88d8c17b076a1122fbd234ea747b9aa2226d4ade1a6d78, + 0x7701c9e9760c92ca824634e4bbd3597a593f06ff68bcd37903208e18dfbdbfc, + 0x696e428fe7bf988bd4814297f267d2c0770c1ee06f90d81b7315d96e5388c18, + 0x757a59fa570aa0b53c043a2991892dec0d08a0d243fcbdf71582200698b391d, + 0x7927861d7541cccfcf2c66c50d74686033799793ba9ccf620d45768ac1087bc, + 0x69aa464a79e5dd328be1b3166ef1aa37bbde26f43628bdc1927e4e139e4e4d7, + 0x515bbe3f4af560e79306a233982e3c950d46160be5e0b796533a9632e841f2, + 0xcc8168411398d137224396ede41419db087f1ce4719818517f65c9fddd6c7, + 0x65d1698c99da16a608cd976631f7874479ac0b98923fed191b5ad6536ab5322, + 0x7b54750d7216d716906a655143aa87ea3d176f1eb153e657e10114d0ac88cff, + 0x3de6d1302ff69386ede26d80a3a69f9921a93ded5aa091ed762c29fab377d2, + 0x7d8a9991db768f818a729add9e46ff1889e322628a11dd9bca98205afb2b31d, + 0x58545376a98d5b20386b900d15eb4172582044d513303e56211b7c1ba9c5e25, + 0x6f6a672270de2074403db7d5f5d451a2e5f3713ffab1ae9113abdbcc3be359e, + 0x263b6162cf72aff3fa0851033f590e49b99a7a86679e2dfafa16ce93c80bd6c, + 0x4cd35fe4a9f34422f940c575653a5ab70a36e90c02b2bfa809c11b6b5390443, + 0x6ee9083f45884ce7590b5ece76aaf3e4781e4208982386344138763604e5093, + 0x248ec978c6956f5002257b789c6b6b485b967d86c9aade7ddd9ace8b99eb67, + 0x65bd082970639549f9406d1dd9185c0e03df727da9bff44c6ecb3f2004e04fc, + 0x40d5a2612002c0a1ac62ccba45b3be5f39056cfe3f35c1255eb1d12978dae3d, + 0x5b463373aa7527ea31bd0d96c31eb89ab01465fc0cd7a01cdb5b0627c0da097, + 0x65c555f31770294a1361e0cdbc3c34abb55697efd87d57b19bc0c0967f66c0a, + 0xcc66fee589f578804877dccfef3c70722ce6f30312931bae75807e2c7b684c, + 0x2a110c284583220179308e2feacaf04ccfe573215a37f27df9acae8bd9020a, + 0x9eb13ee54d7892e0bc4a770f3bc825e6149af17b3fb61972cd740d4e33074, + 0x77faae68ffb75e584efce3fd533bc209a4bad941b945ccebaec800d3207a55, + 0x21eb17ba7703e17b599d817833aa021d9f4b1989b7071380647e4291c4da3ad, + 0x10de7e43c9280afc98368a806816e90fc0fdbd3117adad09290a14d15f9421f, + 0x1e898b8278d92a7a851f89cbda9221b084d3ad9c7ba1f96d6b7424ad6091a50, + 0x4e2bbb9000773d1801d980a2a2fc663849af19ca4f32f32e4a026bf30537fc, + 0x6d09b6d8446dcb082e276c0afb7babac1bf0882a481ee3a15cb2d8d2c8b9d7d, + 0x4c0fa900fbf17f7cb7bd9cd87c7384dc4634d6f7894a62f7ab5623c1d3ffd2a, + 0x7d4c4cc64724fbd4068a2c3e7202c33cc2c23718b90d8cf4e2ea4cdc3fb24b2, + 0x62619dc51a38b84a1a2a1b4fbfbcba3f8913994d4cb1d9542a2f0bc2353b10a, + 0x72b97a4fed40b1a810d224c684001ed0ab62a62073f62224d69347f5b0783b0, + 0x2d63d3472e7a51fdcece28277d8858df41558d1884adacaf50308076f6a19e9, + 0x6363ec259aa28ee7e6675186bed00eab4a41309d098ce0ce9880b1d277ee09f, + 0x2885c6dc19fa4f62996faaed29ff7bee1dbbd4a1652a569171051a81084fda4, + 0x25f7ece942eece9bf636e97a2c35960a43310fa3435f4e6759b9ca1a9c0c12b, + 0x5b5798e0d68538b4a573c3f0afa8cd310985703644d9a5ed56cb228b89a533f, + 0xdc88a8501a0195668842f51c554ff12e227c7f04ad20cde90fa7bc9f48a278, + 0x79193d22f6b33c3bad34efe3d1e3bcffb6c7984cad193c0150d65d7c44ef627, + 0x2cdc6c347ca1cec2a0ef64c79c66d3e15048747f25676d2b0985501edddd5a8, + 0x60f229a85b6a652a83489f38ea1dbe9dab5b73e30482f10f5ba6139827dccf3, + 0x67e44c90725135e81260c25dde3f3e2a23d93cff6dc3d0683e2d65e0c6d97c9, + 0x3c27409812e63471097b2ed0a088e0ef4736c2a3d71f61d880e2b24189429e7, + 0x485ae457e7075619d48d4d93ee867b625b0dc1f5eb16c7d40bab92817342798, + 0x2d721808d0eb8f89403ad60ad3ed1ea8231af26ab87626d90d361c6a45eb464, + 0x3cd20520914a92beb76f032568d9e3577926e687eb91d5b8529aa471ed1320a, + 0x45f44ef2bc0bc815734c1f22b764d90d6ce81f60ea06f96688c62e501d8c1d6, + 0x4e4c5ced74d8953eff300e73dea99ddd6a6cc04c6d6d21db04f48a5459ff8d8, + 0x2e6a517749ecb9762223313c3ffcb22508cb89e186e2a349355c22f618f3ca3, + 0x7dbd96257abac3f2e435b66ba7425a9eb070dd3602b3f69a535699fd6f4aa93, + 0x3e84b0dbe8b6c2144cacc25fee42fd3206750ab49ed2394a7da4e9a5e40ca0a, + 0x3d81c212e9453817d3fb0e25458b69dbbe9612b917ca4ddaaf9d1412b4ab543, + 0x195eb1cfec45a353893ea65c5fb930367b2ab53054bae35d8ea2129940188a7, + 0x64af31066fc80b3cef211eace9705f698056f40218b664866a69b29b99b9d3a, + 0x4ab164dd275908ab161dba3b09bdf6792d47ca45c1aeece59f4b5438244eb61, + 0x7e108413ff3d5c4450dbda21242cc8b5a46a6fd229b88c0a77df688ecdddda3, + 0x63a4fe91594b04ce410e1d32b5d706be905fb4d832afa55b2688eeb385171d2, + 0x5b81a87db75f253ec1384d2886f44c3d031deb5e5ccac8f2257e728134c7e3d, + 0x5d8126979b5293a3932b03135ac49d65f5780be0e904fead0811ff4558c1cd5, + 0x6d372d876d7db648325eee36e629ef0372790b75f0712028ddf7806d16e95fc, + 0x3bd16bf72e0146ac7212ce8b5749868a6f44c9817dea3c5236a853f7489ff, + 0x8e4da4f150be6cc9908d5e850a9572bd735810baf61a18580b48847ab6522d, + 0x2314f6cc42236ade95aabb6086a6d94c4731c20e45326ee16486acc3fdd5b79, + 0x5492ea606043d615c489994317b5222a181b9f10f4d069980b2cf7a9bf44be6, + 0x753a9c554df069f4da5e9a52df38f7c60f68e69f0c84a34ee5dabd62c624cde, + 0x28b69235d4df1a43a8c38e34b9f88b6feb010095a28cd30bd69ced2de7bd17f, + 0x279fb6736fd28b405d78c91cf4f94c3db751a2a8c0e21baa010a81598c03cb8, + 0x64b24abeee8f54fc67d0e9964d6853679f597659511695e2f60550e7ea572af, + 0x2dae3890d205420ac037b8de09ac37f2223c450fe935ba8c21fd6709e07dc20, + 0x4807877f688e0cf9d5ce88a650c048949f8856ecc631a2e283801f7708ea1e0, + 0x6c2f77930827eca8cddddf9743a5562ec7423d09dda949b33f1f864e67af9c9, + 0x34ff25cc32a52d37373ca5b6adad5b64a7e2d98eb42aa3b6fe71728383cb093, + 0x3073909e80446136451503f224cc0956cd9fc1cf295ef98c1e2dbb46fe5e7ad, + 0x1e4eeb5d1af8ce81c0c50547bf51ca780d01262a0ed0f2d8435c3a4eb074a8c, + 0x742350d0ea163a50e2dfdeb58047d979aee0305359da026f09c7eef5a886787, + 0x138e3316b5c7c76c0bf7a85d451b65b65802f0623d6a9da5829b354a5487290, + 0x3129b8c3f464833036bf0913834007c6108473a5ebe0bd3cf3f7585347a78ce, + 0x36e3b6571eae0a244657b8ccab33730a83961f4c94b5db3945e4fbd5d4859d4, + 0x12b0dcf9a735429648cf5b029162bb5047cc540ebe779f6f2a9341579ad35b4, + 0x57d614faeb110324eef8e21c8972d43a52a881d3631eae0f53be0b247d1a482, + 0x66f99b5df66e7fc28986d655e8376349bcd7fc7a8f773106cd88918de56dbc5, + 0x7138a7bdc6b0ad3dde3b9ec696f70486437bd9560e4b4da670367fddb474594, + 0x7e52b0c8d183ba715038ca1e250154219180a5cc88378b4b516911e59236c39, + 0x3dc59e8716d23ccddf14ba88ea173fad54866d614c9f76976f4c144a21d236e, + 0x5cd027ca84219858d1dbf30cd5b48abb9ca57385a5516627b7e92f4ad83dd91, + 0x557e80f67e6970d9615b5c8d7ec1c4fadc1917da99f415d80488dd21e8e4271, + 0xcc8324f90838b1bc2507f091e7e05d40ebaf3b97fc65acb484474e7e11e2ea, + 0x4d45231629b176c18e624370a196931995ea676dc6a7ba119bc86f3200b8217, + 0x36f1a4b264aea417c9d6d55d3dd36e2eca16c9029d9d9f34436dfa663255968, + 0xb91a16aadb34852b54a237761f22deb980a34f4aeaf0cd2ce72d52b18966a5, + 0x4cde35cb29bce022c7f72baad5793f087915494adb1f015602307f695652034, + 0x6d3853fb0f5760508faf0d82a5de4f7a649ca9c7134122bb745574043c53174, + 0x7d8097a56637ea2de56ecf743042be6b2b76290a3a8d425c9fa86302ea416df, + 0x46c679a7b286b8dc8660498ac9ec8b19ff2df39d4a9f81450f7efe0ae88c10f, + 0x36a6f2c00f62b1c031dca25ee0ef7672503bde709342bf581d5e325e438cf26, + 0x1e7ce61a8956bdb862eacf041cf9f753eaf4c2a09291f37841c74f1bc99d297, + 0x35fb6211f85500ee5316a705590b1d54b2cd37c1cb79eb3993e6927f7f94c52, + 0x234a87df1bdbbc0933474644686eea5e2774c145ec39cc878cd757eb6586172, + 0x534f8ab24434a8704f215a1a0b31a64054424c1b984e8752bc8a9ee316b90ee, + 0x267adc91c96178771be2dac50b804878466d84743340df9f00db5f75c780fb6, + 0x124c606e21e2b9f916540683c368e41d660a430f3fa64219beec2bf9d4f1860, + 0x3104591bcc833dceb4a16ecf8a3885e94c04f219b897d517c96c5381b977b1d, + 0x1d58022a2da8ef3236673781e80ca7796d17392a16699215cb2c5f5228f9530, + 0x409cf1b77cf906080d55214974c1a1df39d9eba30cb976942c1748c3494c544, + 0x4f1f5c3122e31487829b49a305c85330d8c96e54a66694b8c11289458668ec4, + 0x4ea90452b2270b59f6af296a2ef8da8da8aa9da59a50898868abe6beda38b4c, + 0x7e1eb8d182695c5f2135a2afbe193f9bd984966caef303e93bf54a68a23bfa, + 0x145b09da844b502b749ba15f996d6268c0398727bb1dc6789684d5f25587053, + 0x52b99e0c8ec8604754d4eef3cec9681f8be34234b0804b7672161bd9fad38f7, + 0x7d9cc0bbfa5fb6d028446f7ff11adbb869c7fb546d6c19b2ab5231c8cc961ef, + 0x21ba72e024ebe14bd9fc377d662ccff8e759318040cd02d5b165a370ee5bd15, + 0x198ce74165d40335526cffd269be3f1ab5351f7fad26a30f712795aa8256f44, + 0x3beb56a5d6a08bd113bd6bc0704639f2d7fef25b2ba3f72eb16a2692995323c, + 0x456f75bbf34d2b69516022fd41f4cbf4616cf4019f272b679b7eba86b51f4e, + 0x3f2b0a9882c0d011bdc46159feabedebbbfd44b262690c2e4e38a7ad44b0cad, + 0x60019b73cf324b2f86a79e081cb1621aa2691c908a8c25328aaf9ab1492743d, + 0x62d80920f9000fd214db5efc97bd31b35a0752e20f5177553ec75583caa0f4, + 0x7ebf290a349e02bdb3778cc15775b7db321840f3cb434fe1a9c428b51e15aa3, + 0x7380a63d4b901e89b983c12c0ea1a6b20859b5a18d43bcecf5e9325cda2c828, + 0x5a15a629dc60ae18d8d4eedf8a50ba5aa7af9935c531a8c3e20c8dca5cf5ce2, + 0x1731c83c9c15ad8a312f507c47b08590d9f7e736fdea2d603159720d6a1bb7f, + 0x4df9b099c39f18ffa1b8ec59fc21776f4e6638117b24c775566481ce556ed5e, + 0x4eff41e9b21b79f59f471e19e589417ee2c057f48f88298879e0aa5462e8e0b, + 0xdcf1a6b939e7bb9d8e142434cf2594932511985248d10b11c03f1ac53a7674, + 0x2cbe668de292f0b7967ed298ae51cadeca9c9b2befbf922ff2c4b3212c4f0a0, + 0x10a7fd25128de033ec51e73621630aaab06cf8e657b6208a932939c3d5ade00, + 0x2e9492b999c17078297f2292fe151581b22c3676f097ed2a2844d2d1adfad72, + 0x2beaa4b7c8f1ab699c78a5839ccf768543a570eb1dce230851b52c19dabc475, + 0x3b5d8e48d1375bddb85471148bc4c681f0732dc66bb0eda46a1a98dc7fd0462, + 0x7d70426034c4b8eced4bae310103b99913b29ae7df97e72d55732a85234296e, + 0x38b77ee305324920408ffb700d49be2f7945f1b90cf79ced35a4f8d9544383f, + 0x3ba473e239a89f31769971fd47d148647de3bf4146b0ac041310cbe12928d08, + 0x5724b930ff52aff8e94b211127dbdcb64868e54eb8ded0e4d08148980d63476, + 0xc89b4c40af43a068ea5867a1f3e56a623ed9549983d44de9b3a468de348b4e, + 0x571e62b7040d750ab847c615c807108a1b1366ed0a419572f7c0944a801d89, + 0x8db9ccfb9775f1422a3a86b5015047d4825443069158fd73a953bb8d51fcde, + 0x12f4cf16446ddedd7a1cce7c046ad188d2f7369e1f79928f66a7d4c9d2bb0f5, + 0x9751e7c6187e79b3c8a01875f4cabf056485b6cf20cd6c6c4cf778211f6b34, + 0x80d59895089c4959e452b4fd7b15b00db1925ca69a0caa9e5083e8f4cd55da, + 0x4e7f59470e215ae3852a8240ce9edabfc8e07c307dc4c53a109d6ce1a0d76bb, + 0x1d10c902d5eeea762a2156bc4391826abd8f14a156de6a0980da85cfffe229d, + 0x31941fb53326b3be6359b51a0b5076785964f78bc8ecde23f0054e0a53a6ca3, + 0x1ee63ac1b45a687d45391b9a59c722288caac1491c9212752211a7f19982310, + 0x97a17b9c375135580886d171a97edda7464454cf91b9f4f32dd8667142ed45, + 0x25348adf99be6498c48ccb5072f936ffdc6350adceb066664086698262acc4d, + 0xe44b040badacbb17456d63c0b3387ee403a40e20d63a51387824cc9b3b8d34, + 0x3ea3aa2939e90c431a03a451f7e657a307b4bf361417ce0eec05f7396cf59a, + 0x2d7940145d7f4a0fd7de59a1cb8d4aeb87d42be58263dda543b5a8b22bab1ff, + 0x5b5f72be3d24a1f4f867044f08ac8adcb7e1cc8595945e790affd13d75dd225, + 0x2e9918c3d38f908845384c568d4fbc2dad2ab8a05e95475f4f342fade1dc3a8, + 0x4e44656a3ae367c38ff87ca6f16d655041f2e913bef71234bf1d0dd0f37451e, + 0x2cdc9bc6f7506a2953636cb578b21e7792a40ec2fa6fa39f746c3cbb1112fa9, + 0x27b628206eaa210bfd223bd68b345dd70e99c820f8b047519b3b6b018697bb4, + 0x6b224480f4e83b77ea1b75ddc4d5f9dc9190606f0050be33cfd7b1ae8f0753c, + 0xd5ca3a2d58b19a4a80553b5f1831e9fad671b83b800f46e11cb1a4b399942a, + 0x6e3fd01f26f2292c855a86eab83cac883d911837fc1626580614ec686a30287, + 0x2475accf9c728b1dfc1a68931160177080c258d680d3e639dcc52cf52ac937a, + 0x417ba71113a10d99bc0f5e299d5d114e226a30b0e64608cd5ecd35a8a0fc05e, + 0x16071eac454d7ad563706f3c9656c7141a2a2135c4034e0aea45fb51880bcad, + 0x3a440d00cb12b2d37f14f573301bbcab14fc48df34acd992d0748386236c152 ] .span(), }, @@ -844,208 +850,211 @@ fn get() -> FriWitness { FriLayerWitness { // Values for the sibling leaves required for decommitment. leaves: array![ - 0x455da27ef48cb1a1b19aae3d09bd3d76dc7b53b9924c04af05dc8e377bc507d, - 0x4225a8fea03e50594d7122fda111fa9cad465e7f17c417a324517ac51392ca7, - 0x23e182a77b764524b41a82fe26b9d642874e728aba0aadadf40d9ef9bec22b1, - 0x6ca0b8451824a32a08df73765309b1b1016338a04c9314c73f261ffa5012f40, - 0x27b1f89be91630fd5f8a58272cd188fd297b069358a596a5c664c90dcdd2e3b, - 0x433597f60efcb6b38da032d388927d522fd422d7fee7374ae262134eb4fdd7d, - 0x216476bad4676424a9fcaa31f96ee1051e641a4dcf5859d74e9d57f9d5f7d83, - 0x5f3fa7c1c3411cbc4efefa238425b246c855f4b8158eb0592509e65e213746e, - 0x520a6ae91d19de187ed0c64e0d14f1a329427f4ef99bd1c60d50e649a98ce7c, - 0x65d45617dc29e9938140aa73db916b9915005f15381a27de229a05f5d5dab58, - 0x353b4f5ae429e111327a5f5b26130af81ef6acc96d1391be1f34d518bd70cbb, - 0x314174f8bc1fcbf2facdaf281e4ac957ff87679f40639214052f3cab7b7bdcd, - 0xf88482276eef05a58a771e3897935087eee5750d63cb9c8a6887edce66dde7, - 0x5779a1b87467e1e78d179c3dd7491e3314a90e8556908b5f3581d386ecf9280, - 0x19b500c41a88a6b72eb2703bee9cf1d02a45321589f8782bd83cd1b9f27c4a1, - 0x344b894943ee46743fa685e9702c178049f5d5d3945890506c118a87db8b456, - 0x5eea3d3d3ab21903e10b6de7aa2da0ff714f2547d86aca91bae5f3a9eb75a39, - 0x3c6caf3639680de623dc23d709b116ead9289a8f04dbe01d45cf4eda8f1426e, - 0x29828017e7b3cfd07df9aefcb4bd66e2feb129517ec0adf7fbd6a8a3ee14eea, - 0x56d2657ef912ef773346977721a11eb88b22a85304e267e300a20e8b5c98db8, - 0x38094d253b62ff4427ffa7a64e0b86288438eb133b65ff1e0664e0f525531b8, - 0x1df26f7c3f11a0c0ffa1514213ead884f1b4e94a4a3ddbdb3bb690891ed990, - 0x5956ae95581e75de1ac64dad1d1692e4b57b8765009e9ff151015ff1a08dd76, - 0x55c3d23b21f3de0ad76c8302ef3b5de96db4c59c04bafbd51c7ae383fd5dddf, - 0x4fc3cc267d49eb511e74f5fddecdaa8321ed90182f55c2182508715ea639e1d, - 0x3ca6ea010f63dbdd977e7cc2f44f08080e0bffc44b0e6499e5aa5bcdd88c29f, - 0x38e7297fb3d8f378b3e63514edef79b9254051b7d34a32c686a31f9cec6cbc7, - 0x73e839dbdc72e53afa4e2e1b6210e2032f06386c949ef8b0b0cbee6010a8de5, - 0x35f8d0822ce62c79725927fc5661f38fbb78a0b64c795fdbbf1223a67b4b6e3, - 0x6440fd8cc3d961a79010675c49edcf094e031bb6178cc300906b1ad387a0261, - 0x1eb0bc46c6bad956e77aca758851008c4b4d9796d61bd88ea0e346bd3b2b102, - 0x756e99f445eedb8d8810e67c4a4b07cdd3ef96beaf0db3b043b6b97200ef008, - 0xac920bb187e5fb8ed74902183d96d24d546494bf70ecef8f760da541050f97, - 0x6a0459c24cfcf15fd5a7d921a3f1574f914166777c240a371d38b23d14ca79a, - 0x400a32bff581fa86d9318f18530425051ad4af547d8c867fa20368b55ab9281, - 0x5882bbdad4dcea0b94b3c437f90ad617d60e84ab611b1987bc26c3a06147126, - 0x748463cbc39d5bac56dafcd48f1c70d9c0a083457b8bf671ff760c60203b85d, - 0xf7f53934682b09757287f2f4e9518033a1adc73535ea209e72141dbdb9b42d, - 0x23c8f3711ae8d10621a414a7b637d02ee9aadda3542cd68f39dcadcac2615d4, - 0x3961c737b79a32b5a0a18fa7e99cbae55d133447ec03e6476b57e9fa3b51763, - 0x4f47b78d7eb6840ccd3b758c21d74d361aef8f804da05bfe455bddee4623e40, - 0x5e0241815d7d5046aa8eabcd132b8c0a36f1582c3395612e4cc82083198f888, - 0x62c7bbac8a87f06b6d6d676256f33cf3ca479756537c8260e45ea2dae1537a5, - 0xed947a6fab7e6ba1ec9a374c2fbf7bcc7eff8063e81563b09e5b0f26b4e7e8, - 0x50dcd8819d4b6d302469186cdd04f735f1a111e16e63f2730d5ae6d0be57615, - 0x446122e5612f05bee84e465b29d88ad4733b0c44bf63890d3d710f0d2baf7d5, - 0x1bf02e089d74c6d21e7dfc76c60f2edb8c936acde31f87eac5f953bb719e633, - 0xc2701281878f2688c9518364c8226a8012f2444bca154a0152e49dfab86890, - 0x426524642478fb8efdc6be15767371cf2911465e9c780f9ad5dd902086b57e0, - 0x6e13cfd637f806c50c2bec5fb730bc344b515b61c03667471d5597ae12f4d48, - 0x6d41a02c9908ab91744bcaf071a00a69fe7b73fc6c86624b91139eb8671d0af, - 0x21e7cbf6c7878acd1da671b3ff9c66ff83b3abfa28ccd0fa024d8e998f73567, - 0x464472b1f155d2a02aebcf25b95c92e37d9214e9985875bdfbccfb368acbf24, - 0x3d633a646a00da5b1a93df5cb5be1fd0b46359ae57ce412f26e0d492be1defc, + 0x31fa1bee5b8ab86ac0d9be5c8ffd723c4b5d6fddc0f15f6f9c9d44a7203b247, + 0x18f15200c01d9ccf7c2bb1d1e4f5cc47c8fc4e9248c8d392739f11751b51c32, + 0x16aa87cc9530bb01f6afb100a75e359bda75fd0083d38f0915b94039c7d2c2d, + 0x2963048aa4dd7f12eb91893c215d423e945e65e24c5821968f9c946a0b451ce, + 0x25747d2e2763c65cc8e479382880885cacd550dea35000041ab67ae593d53c, + 0x241a5f82f4fdcc8241b9584faec00dda4c954c603da7c9e1fd70560b320cad4, + 0x4ac61bb241106b201dccaabc395ab94e5a4e353aa463dff918c4aa9cec30a5, + 0x3bffc4992a39bc0ea513a3367b012e8dda38c4fafaa33abedfa1fc414381df8, + 0x36a8136e343ceaad7ad49d8612b3b0508d373bd486a2f2b5972d30effca5334, + 0x524aec4253d1022c9904bc5fac68603bd4bc0cd514ac784edcfbc0fbf1ba08b, + 0x1e5b4b9ce67d2cb2b24586a14ce4e225e7eb78f5210ece049532a6820ea1ea3, + 0x2d23b99b7c92f4d60e717d13dfc03b21bd0f4a74681dc8a487988ef1c0a1ab5, + 0x605431804c7c66978ea53d5c34d1009031ec10cda1aa30b8b9c95d30b75ec48, + 0x218f98756007097f738b112938a5322c898b9e537f6bead31b14826c0b44e50, + 0xd02d3f02786fffb746342211675ae75d4edb98b173a5b79b7ce104f54fd4f, + 0x55743ad5e43e714491a1dbc5128495621198c512c2e1b038d53b3a02497571, + 0x3059afdc88c573f54746859a3178c354ccec59d5217f5147caa8bdd2fb5726a, + 0x129bc0b511150310eca293e387f0512f9b0457ddad40cdcd8e221fecbc100ca, + 0x61f19c47ee3b2f88133ef2f75b64df907c98263100a11a5d93de50a062f8e15, + 0x413a8e836eb58da6cc0fd50edd6de7c61b02a46d1a4db748e5ded78615153bf, + 0x10f255a3b4199a08d50e4fc5fbeff3af8596019431ee6620ef9f140cf68af4a, + 0x6ce9ed40b236882c49cf56b5fa34323e16e7a2ff50633e807254629051f0141, + 0x909ae27055e2290bd09cc1c13cbcba80ae477f773deef478126a51d3bb9df8, + 0x7409730bbd246e0c4154b0f69dc53f30f52396fdbacbc57f13ccdebc7231c5b, + 0x4d2cff2f8a097e9a0b372112781be999d7fcda714b36c029d1fd3aabdea8323, + 0x5e9c93d0d4d781c7f9e96391af1098a625a521eb3d4213e7925248e0bf1ad38, + 0xeb067019f07559e34b3969e2f855dc84746001716e6178f6561bf6bd551cf7, + 0x24280de2a7e08af7b0b88c1404ab9dd09b1f63176abff049a859537ea89a286, + 0x200cf54215e91c954251475fe261ca8d841d63a23a33a17f9d0113ba2bb6654, + 0x714cdfbb9cc4ba1bc116b60478a67f2a938dfbaf6d0ecc95c90a771610c9a05, + 0x1ea4add001735a6353031381e1e219fa505e9a4b4c0fbda779f5a1b03dda57f, + 0x486c723b6487d225b82ba7ee17f2085b59611a6f71990a587692f629dff820f, + 0x515b6c6ed204bb43c03d265a1542980eb60f3f68f1bbc07c17d70806b723bc0, + 0x592c86c19f05e9b5c990ee1d121f3af9984a05555525fb75f039a01d26a9d85, + 0x4d0713ccc2c4e3e4dcc9cb185745fa422d5a5becfc354f7f3cd627a7dbf6f2c, + 0xbfa1f246e1941186d5d5bd7b335858abddfc8d60547dedfd84c6261ea418c0, + 0x4ddf127ac9fb7d66cb1c947dac2ae8785f685e60578f09b82fcb4307282fad3, + 0x56288d93d51268cbfe6372abd1bf69dbb9243780d0f707d277b4f778f7c772, + 0x4befedfa3ae9f73233306fcb37b71bc084203fdbd92cdedf2db6d1ee6ef5a7d, + 0x5194296c9742460adb277df148093d16bf6a8b341c9a21f38e28c2ad9581c4d, + 0x7a488c92f2290092658e512e05226aa1fb4491c830a9d9f3e6950943309c1a6, + 0x45b5d147244ac93028a40e666bff05fb780a70cc19a5d7cf2571369dc948f76, + 0x7626dceea9941a943d330e028c54fd1b907aa4fb8274999d922392f03d7875e, + 0x1189b56c98c8af34f2a04c575f207a31fcc2b6fc30ad5b76ef6edec4a3dcc41, + 0x973597e041d0927bd56c27f0b13cf373fe27cd803466246003ff9e8348f86e, + 0x3a5cb29956c783e64c858335a6f1eb946161fa1e229efb001dae5809f6ee7f0, + 0x68b9ac2c8ace14ea26e618d5bfae2abbd29d07ec453fa71cdd382116b232d6, + 0x64483351e9f40dfe427e96faf7899af315dcac1596706c7b92e285a77133a5c, + 0x3f57536d08f87707e384e09cb0c64541ee17ba56ad12d89ddde515a3aa2718e, + 0x2e380dd586a0d75068111beac78757d7f10db36f09c64a0cf32d1b1f35f8614, + 0x41a42a3c08ac422e856f0558cf65bedde5da6af19c34b08e623d8e83a6c82d7, + 0x2940754dd5fefcfa62330ce5bc43223b9392b8a9c8be0105eeb330fff94344c, + 0x4d93548aa431a52fe269597cb1d49d570dd6a03d66926b8de2470bcad927e65, + 0x2e8ad9faec86d735f2874e8035a4496fc39c3bd48157e869060b99738d41449 ] .span(), // Table commitment witnesses for decommiting all the leaves. table_witness: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0xc3e94514aa77a36f6a9f41813af8126ac136b4aa, - 0x49f8b8b10637afb7a1ab9e16e4947f2ee50925f7, - 0x1171c4b3e777a53ce4e578a80785787eedf290e0, - 0x6f8906fff796ad3ee92e6a71da6c1d6f90c14eb8, - 0x66acec1dd66bcf447ddb79fad03b607f367dcead, - 0x83507326c500980ce9f1eedcb9302eb63efd2cd1, - 0xcafb75d02d4420b068dbe310c231a364eb6724ca, - 0x32a29b217b6cfa8cbd59a54e93cc3be081c7525c, - 0x783da7ba22cea0655de35700d61e32f0ca742a3b, - 0xf499c047d3b4c2f1fef0871223c1668891e9c1f1, - 0xc75f3678e0a6898cad60a298b92c465593cff4b8, - 0xe875e4ca7a783c670c8108dcee4a249d0d88e0f4, - 0x7361a467d99da0c45dd651f9aa0c672f3c5379e1, - 0x3dd8cac24ea1cadcdd4bd2bf96c1d0f45b63be81, - 0x61052234c3c7f3aa02e1ceb14e0dadec863a3061, - 0x373c3947410249b5f05df425644953c56f05d2fc, - 0x7537f9a9eb2e829c6ec0f162ff30b2b2c6f4a1a1, - 0xcc91a08de6a21a5c6564b086b538d67efeef0887, - 0x798c38c634ea00e22a26f852c9cd26203ea59ea4076fc8c208fc5bab569c83c, - 0x20d4266491c107a62c6f4c5564e8da08e7eb38f9ec6e21d03724e6b361586d7, - 0x3a684219c93b08205f34f8bd790ba8276003e897ae7d3db112e431c2c9ba162, - 0x3589cadac0b45ba4037942965c2e71affe8789814c51dea3b555a88cd88b65b, - 0x32ee629c190e29af70c3fa78ae0cdf8c21be20593a82413f29525f7107e05a0, - 0x5e9764bff3f67f2662431d01c0039bc4ebf7084693199640cba59d4f1152d94, - 0x42cbe9322f4b51ba13c2bb569d0f56e773e8b06999f41e0c96ef803fe0013, - 0x23257f3a9a77a193a9d9e666c339f0f2eca418cf6113591f872d77020530f73, - 0x60282ff48b747703885a7dc50b9e4effb64d623fd2e55e65b74b3612cb983bb, - 0x5ee568d1f5a9e734f7e8d9582b28d65578b0bb6e962c6ffecb8765f53936467, - 0x71da72e33a552b0673d947368184e91fbe821c7a778b867d95bb6daabb13045, - 0xdddbe37f039b62c7a62fa8a3abd59ff59cbca4619ae75e5225f6c019a65d64, - 0x74f724293c954d9be3d868529d0a458fdcf5af70ea47064c14c3021e241077, - 0x35d9a1b302ce8e4baede9b87ce4d20594daa6a790bac5401154c0f7d9e0e460, - 0x69cf2f38f2f9b6934c0a626d50285b90bdf212e4c88f7cc3d1d14c60896cd10, - 0x6e09a5800512369c61bd19179317231dc588124820711a0847611036ed54c37, - 0x14bcad13570492e60c955faa00c2b7b64f717c0b98e09bd2405e257660527, - 0x14f0bcfa619407fe8eb3701a71519adfb7e47ee08fdd30a0b3fe42adb005e7, - 0x6e93b1715abb6c43ad9a53edc93cb82169218bc5eb30a05db26c104553e089f, - 0x582f7a4410a3f721f11c7b84ba8eeb0c977cc5b50c9475be1754b6f89c5103f, - 0x40690537dde7fc9e4e7cf591ba9c0cf30746039d876c5952e178f54c283d8d2, - 0x208266c53b0a7f9a7eef284eefc9defa9928e89cee74fb6e8e1359825904a18, - 0x7b6441354a2fe25338ab9b3d276ee1083243e45b4b59c5c9025e6c117205476, - 0x2582ecbeb84b9cac9185dcb3ae69b34f7c81d0d41081e6e08ae43bd3a80f575, - 0x29831cd49174b200360d531b696c6df6137ca6671296c43d19c3058dfef8b1a, - 0x4fdac91a023f1194c9b7656a70e36abb64da59b70a83802df00998ae0d986da, - 0x1883f444a2b5d284609d831b99a2fc5f913d934966b6a4d0adf99117f691035, - 0x21ad817c22936856a66b316615b7cb143eff322392089fde1034b6caf25555e, - 0x3de4488718e2d62b92c7741c20e912927c51cc85c3cc1b567b6d90612324a20, - 0x60d7479c2a17294963bcaa345c1c23f5a350dd74621fc1fd464dbea83098f78, - 0x3090a72e0ca08f7b020f7c50bf28c03ecda81238e893625728341ba5175d3be, - 0x5b4c0d9bbd6fad0cde32faf70c04578842da6f46717ea8c54c6c1ecea393c3c, - 0x544c72dc2ed7e8a85d10b12cc560f3841021b4b9d5b220804147dcd81d5ade1, - 0x781560f19b30d624eaacd86602ab796b658b87bd16393c1e380316d7c8f0681, - 0x1581fe147990ac48ce8201cb5df26898c34f64513990833aab8d195095fb1d3, - 0xa3ab77aa3304446fc7906c6804f6e41b7475b44d1d514bea7b053fa0cd99ec, - 0x1a4976701e30a8da11e7006d78fd54a57f5c0c0c11ed0e2528eaf2f1e5433d5, - 0x70cedd6e0815d52a8eb3bb9b007064c0e01e76a90d49dc8d7085b3237628c2b, - 0x2959838bf62c8b6794788a6eb0dcf0f21c9433296d11c6e50db7303b191fb6f, - 0x5451cf74e325301151b8619ea36b0f96fb93824890e1bb6beccee389d1751d9, - 0x24888459cfd1b337714cbeb948038839b96df854a7c8c184aff2bc2be8b212d, - 0x33cf87a63fa8da0def4869348b26037933daa2388bb8aedbaf486b4ddb54061, - 0x1288437b5b44db954b1b446742610f60cec1880a02cae7a7fede364e8727965, - 0x1699e46fda5aa529f77b5ae3dbc5b169d49c251c79491abd60f255ebfb79ddc, - 0x6cb88866e926a9d4d676e54d6b81c8a7269ebb11c711672afc90891bd71c9fc, - 0x7ab12f69971869c61201c8b50666a59ea670acb589e62f9dd6edd6613dd2ba6, - 0x36d4632bc6ac53824db01ef9b3a0e5468daa5787fd21092653f1728100994eb, - 0x5e1647ecf18f144b71cc9e5cf5548ef0baa08f76f9a1f7aa988f85df6f107c5, - 0x5be37d7dd734b7bda63d147a63b331bfa5948e2d7a0891538a0104e7538c884, - 0x67b464f433636e77d1ce2fc3ea69ae3c72833848d8298e72632719da629ccc, - 0x2ad1886cf0d997ed8b818621ddf942b13b1152d66304d9691ce663606cc203c, - 0x939a14688e44d65015692d479f1fac3f9a35694e4f84d318cf2e56d56e213f, - 0x281884e5207110fe5cea18a0017e539938d875a1d346f68f30045d55fe7d889, - 0x5121684e8818763ef1093421bc9a16b2dbc1dcb7085d57b3281576f0e98ba0d, - 0x62b861a7625a917d84568ec0fbf2087a09c949de4c7b6ee18f587cfd315bfc1, - 0x10a2c664d2c0f4610ca376acfd75f95ce8b7269710f3378836ddf449742054e, - 0x6737b42e2c098edb0153f2d41d1e723b1d430f1b1cb71d2ad25e064f362516f, - 0x6a42c28e4829e583f57620d8c2ed31fb9ed7e0133e9c0d46f5ad2ccac3b4c59, - 0x46041a733c464f3014ac33a41b34a124cad22c3e623bc1d510edff4c963dffa, - 0x66d71854e56fba0f236dac60c169f09c61ec073c6a54da87a57a7ddd8656e93, - 0x18c4692cd43a7452a3ac525367a5b56979e460f8436a7675c88875053c07161, - 0x6ef4ac36f38e6b1ed37a0d723f6108148054201a031e9b72c666bd56cf36644, - 0xe9219f736fe58404c500bda77042c76aa4ce9975a40ead8ce0ca250ac48086, - 0x67306c39c8833e99d7553bff08c26a1a330c9f2dfa303964bbdf0e7164d3eef, - 0x5b4aa324b6141f443655f02c9d0415348b3091452c5f62e66b02ecd6fc59760, - 0x1dec1a0ec076a70952066179e0a3823f43268aff6544a7642289ac6edbd5ac4, - 0x195433a62989ad8ffd0b190b46843bca2fdcc72a86ac5f519f08eea8bb7b296, - 0x3322d792118766ede665fd6cd5802ffc4fb07ff1a7e073e15a71df4b8f1c1df, - 0x1f9a1d7c36cf04e63f38c7f3a48233b4f28b12125a9ac92f2eb51728220d3f8, - 0x88635e5ce988595ff78d8242c33e5e0c9261ddb5ffb93383d9c7e2de39599c, - 0x68a7c0d05a8621d36f01345c034e55da86ba872837b0202f1621bcc523cbc38, - 0x27edfdcfa53792dddcbf31ce0ea0b12cb2c1d4f71040796cc460b6b64ab52f4, - 0x710694b2b36250ef6314269840db327e418440000c6ac605a1ab43c75b4f837, - 0x14857a4abb12a5ec5a6b48e819ea2ecb57a5f3d44d848e60496af7aacaa087a, - 0x6c22004eb4259a0ff99f1062395b252c66376a9ab6e56161c89382d98bd48df, - 0x7274f06686de6b76cf05e4e5afc663a8718f787690f89f589f34c34a08aeaa0, - 0x41ad703fe29d8ec4ff0d6803ceac3492a7aceeec7ada6ef818a0a6fa4b998b7, - 0x603daaaa2b6827ca5ff703b2e7652abde0a89c31e2eb3e14dfd04510f4c06b4, - 0xacc3de2007fb23f835a1becb7a68fff31080df8d99363b3579bc9b4b52ecf, - 0x7b98888e83256b58d84e773b44b5423ea77726046115a0daef8d920f068ce88, - 0x52c4a39918e388b73509f5c31260d975a7ac011227976ed4be3fbb7b51be9e2, - 0x5d0239ed0ff6d5d3a873d112d217933b6d31f7c48a6695369047df6b21afbf9, - 0x308c446d8d5fe7a184f5b5f03cd59d19abfcd1d623771e1bd740690cd378233, - 0x154bec31809b0a7329eb1d7a3ffaa6e94fc3208d058735e81f4c4009457aa1c, - 0x44711dbf24ed8fe7e5210e8b15ed359e677b591ef5939ef6ca2fa892e2a0fba, - 0x450d05c6b5530a5880acf1bb9fbeb3ce2682d222987baf7156aad946b15adc6, - 0x46b9ff8424e6beaf8fddafadbe1c472bbb6945a300460cb153228be1c5b82c7, - 0x45579b13d87f7f6a335842175f40920952cb470069f805674d26c29dd08d037, - 0xc3b6026fa76f77b8490d2dcad25b5ef2b5f49eada4ccc681eec136ff448a83, - 0xc8d0f4135ef63a9cd8494ec89eedfeee012d6ec475e0861114417bfc7565da, - 0x994418526c89febce55ef91dc4ef8ceb9d5dcdab746eb94aebb13140d0873c, - 0x291d8087051983a343d3f6169022163ffa0999165e5cd47cb1b84dd71e33318, - 0x530aba858540b6d570bcc45320bd543a452477737e02826f352002cba305a74, - 0x4053ea849f58991ab779a131d58bfb77092e87ff2c80b75320e172988824a3e, - 0x44c2702486b67360f8ddf016ba850e7a325903d7e3bf5853d5bfdc8505cd3ae, - 0x70ed0a6c78eefbd2265dede23f3502abcd782edd2d5ae3580463e4c7076704f, - 0x2a50bec0f7110c516368abde0a81206184e2f2fa01538f8cbb06c57536e1b55, - 0x461bf8367593fc13e35c41446bda699b79c748f7df41868fc2b21041d45eaeb, - 0x28a07d1bcf363266a921055f7381581acee8607ec1f4cf03dfcfffd70d580d8, - 0x3549e6689d39d436ef656638e72f2b6ea4c0d352f6ab141926f568d050d1b49, - 0x41cdda9f5eb3b7c9523d72155881c0873502118f0799b66ea889c5fbac8bf3f, - 0x455fb23ae2b0cb9e089ffe7e951ae0be26aaa277155a1b71d4d4d2c7b46842a, - 0x3f370aa73a0d3b32f3819e82f0ed6f12a0bf4e12492befb2034ddc6899408de, - 0x4730cf627ae1a0c370faa34d5569d6364617814108a6e1e844e244809f7f191, - 0x79bb0cb486dc0a7d7058884e2851c32ff8af081d454f332d7e4eaf1bbbf7b83, - 0x5a9bccdbecf1a8beccd2d710957c3fed7581ab869c1ac76486954bccac5b267, - 0x11fa619335e1ff082b482cd4e7a6f69cf77f969a298b3efbad6116082812333, - 0x5adb7ed8c63c20884bb1c8ac49f8b08b0885ea003172718a0e7c3bea2e83652, - 0x415f337c69debd246a942e06a1534d496185c37d3f1f04dbc18f19ff1cc68fb, - 0x6e88ec7f3e9de925cdd0099c4a98f8bcf4fdf688d35c591e5b71dcdea08051b, - 0x227ab6b7ac10d7cb0e7ca74489eba2ee51e0284ef0889833527a20fcbc85300, - 0x71e57ed557bb47f7db9bc61f6458c1bb49559e81aaf4c53b2e8916b0cac29b0, - 0x696faff6f3ed31936495d478e3bd6611e6f012803580e6811d028c4db0bf0ed, - 0x69c89bf048993da0006008783d6c6efba96ad817b2c40fe194b225204b10637, - 0x27a4341d105f47dac23491db73d7b9ddded0481222d3e3182871541562f0d31, - 0x21a12954e99788363671fdfa45608f201ad28ff1a78816db6be552fd4d7ab40, - 0x5e8f6052137444bc50152f59b4c7e4ee4383de708e202cae758f94c75706e, - 0x255b8c17cbb39f1c134b9df3d84387fa4640bdae53d744a69907d260abebd4b, - 0xac529438574ab715715be48ada2eda5e0b3cf7a9913b2a6477d7f3f09854f7, - 0x5cebb8c8f427c2f740b8cbc725ea7895c878918a6ee672f0028d87be6470b84, - 0x27122de701d85da00dd82aba83976259db377a69ddb362a8d45c6b7fd605133, - 0x594d17d53ed09c87cbb60d8edbe6b06a0150402adb097b4fab3cc7e6b9bceb1, - 0x6bd28199e854d6bc77737e83705f41e5f8e4bcf901b9aae6affb9a911f71fc2, - 0x5e33c31d02f312a48584bf8626d8d09c081ee76f707f6f7e25875dc8140bcc1, + 0x143711ebecdd6522cd5339df694fe5dd8d87ff0895e2e254b4b2fffc637f6eb, + 0x665d975cb1b6342478c0138f7eb252276c60e9d884ab9f92b63fe3cedf48425, + 0x3acb670ea5199a3ce41e1cb9fd1c97a8643b1544990d1e73916eed74548ad4a, + 0x26a2fa5addfd29649b6db90512d8e996aba321a24ac9445eca28a9c692e184a, + 0x34d91991e020bfd36e92fabaf0392a419c117c9955ef8e8ec40bc566684f0d6, + 0x277ac7f591559fd4572ae52b8eb98725771ae71db893aa1f9913ad0c68e6157, + 0x710d865d5eaf1cb81ae17b31be1b9a802cefbd1fbdf647859cf7928aed8e69e, + 0x4883a7ca33bf7be22c916c95f41f9ef0eaa3db73bac28cfff2983c38d271f61, + 0x368f67b800c98d1565209d2a60a4557e42e95144a4498ea23f71298064d3908, + 0x107c8e09f2fc9f6df8f04b511d4316a4f4d0d9c86eb39132ffc8f6dd6cdc2a4, + 0x630dc75e3795ba4fdfdc40653441895c1b7dd6d9725987f1924da9e53cf34cd, + 0x5f0d1911814fd51f3dc024615e4cac7a1785bd0c7e3309f88915ca58133b59, + 0x5923a30f20a7022cd3f0278f9d5516076d341f6c6e41e09f0ce3ed4a4e4c227, + 0x25df6222a3b24ef3f6746b738879e59d5c41fc0fa59c90d31dd652469c691db, + 0x602b0b704dd346ddd5cb470ac01a4709148c3839fd4441340f88e3aed3da010, + 0x7a08143ace28084ec0808779e7a9de46acb1abd941a196a08064a56ec4d60cd, + 0x3d85bbe9ea3179fdc588e749314191e38f59ffaa0827eca9316875d8ecb8ee0, + 0x168eb50f291757c8b2977f590f4655dc9b1290641f48d35543c9daf392c4149, + 0x44de2e93d54559b75839d65c9ee21ec0fbfcd02e47f9c8d899c80a0a46a42f7, + 0x17c60652fe7de124430c34180eb475abd2a34b64be2021ad840cc6fbb19339e, + 0x313a17483eab3519bfe859ac018518e97a0300278fe40d2a85bb964a2e58bea, + 0x6f0041688aaec8dcbb8c2f66b03de94bf08b96db0a68918a188289ea47d285b, + 0x2ffa97fce3df571eb564b5c9a5acc74fd1ad1b48371ea0c3df5aca3a6ae2852, + 0x1cb5ba51af5afae4d1c1a16ef9d8ae0760faa171ba628ca7f72c794c6575507, + 0xfc2f2d42d9685c4b682e611b35a1fdd4e340106ec7094a10594a817ec0b81e, + 0x2c293e843e9e37e00de0e7a149b8c4ae35c598be51619e6f3ba1b8a4f1ed63e, + 0x6bb7045372fcd280ac85353b7f8ea7630356a61bdf3c833f34cab3c428d0776, + 0x579f2103ed7cdc336110fd738814479e0a7852b3ab9bad358eb9545c594a0b8, + 0x348dd175cc696f683ff1af619fd531a48c84dc545afa67d43098394159df842, + 0x5f04ffb5d5ff508959fc2de230152bedb5ca0f1d1c23d4a31ec469e302be804, + 0x73bccf5d47dc927e97f3770d8b753c24af68f9d233a33befcef2abc008a98bd, + 0x2edd7ee55a27d8885c32ff1302c54c5293246130d69c3942e89e26d64721c17, + 0x6c84fed2244bc9f9195b1c8ee7c676f6571e400836ee800eaa9982267a1ae3d, + 0x1342db1fdf44f35e2a32abc355d11a0209ac3e0f90da98abe75ac8924cb125f, + 0x36222f6edd4ff5f7d32ac19a715eee626f920afd14764380f082037e90820d8, + 0x36b22d69a5f3a53776c06a1edb0fbbe99afc37bfef97b410cf19c83b084d4b6, + 0x4d0881d21ac7456c585a3dfc1d14b9968d56ac5856aa6121ed24dae93be7a9f, + 0x5a723eedf157e45c703aec9639ab7fdf9c8ecce1d48710bd3bac9b18f0141c9, + 0x5acd4c220423f614ad27ef4d7832e78e14e34b1756a78240166474969439e87, + 0x49adf60d6fa8f6bc0556a6e0fde9730a8ac0412e56765dd2949486a5f3a1483, + 0x44d7fd4c92582eb7219eaf44c5ac994b8f26e8380cdf1d07e178195c99d1e70, + 0x142cc28cb8470410265c7e9537d9827a3ac82f37c322baf78780f9418f616f2, + 0x13989b391fe3131982dc05daf80f57322ac7b50f60b40868fb4d161422454ba, + 0x77c329fa7baca16cbefc2a727cb998a27b2a227bb1ccb7d6b2ba8a281b067d0, + 0x460a6b1c5ef33e86ac1a73066e6cb3775395454a813452d89e10ca1d3d49561, + 0x675c891022e8b1882489454013deb1d73c7a3374b27faddd5a34e1f4c8357d7, + 0x37ba7a5c2cb7ca75f2ca9bf5d664afd7c4e7995a5428e6ad865fe7a8f49fe14, + 0x4cc980619855dfdad7c9d606cce932c745245cd40f4a325b1fdca5e86515dd8, + 0x302e9db8bc919c3b95e0b1feb655bbc755919f2576dd06ed0f407d2b3def90f, + 0x451cc34146e20cfc7ed7e95d2e7c5d30c9327c6ed5a0be6939dd2924b2e9916, + 0xb880c92a0f23f7b18a73a44235a0912953a2a3cc853ea0e521fdf8d237c09f, + 0x1d1afa276053bdfce7e300c774046fc9c5c14f3f8842f5b104dc506031a8b2b, + 0x32f34bfd2af7ca5bf14fbd5a1bab382216da78648204df8c45c898e06a24378, + 0x1526f22e71da7ee7bed6bb5d299768e7d337c089209f6ccf97d4b4581664543, + 0x46a8a0cf3592f112984edfe63925f3c15a8439df2a2adf5eb273fa811d3f227, + 0x12120254f79b6049a84eb0316cefaf8246ee190e3ddd52301c9e1e65ff6d7f4, + 0x15772430b9a0e5e9a0e3b41b737d2b002632000f32940f3f359010262df9d59, + 0x56b190e03905d1800c8ace54f605714660bdd30bf43522e953854bb13205b13, + 0x49a271d4bc683ab4d2d180847a1a3aa304a0f8da65d8df59eb9de8ff80871f4, + 0x1775748ff812501fd97331eb097d063c99ddb0691642a7dabe99d77a9526729, + 0x2186d21a1c0af0d2fb0a10174a377147141c4d94b1c6d5dd2bba8c1429bf8a9, + 0x3d139015967f9661a4744b64903e8c36412d06d1201611caaf6ade7df953448, + 0x66d827f5acde81bff586f549fa3dd5d7db0cc47790eb89faee12585fab7f31b, + 0x61c24df3dc01126547900794194df6277a86ea6f54bf6e35a0720cc96b5fc81, + 0x3bf16202a76a63003f37a6b221908d58b0f6eaef4037bebcfd37bcfc6f1a588, + 0x7c8b885ceebea1e5130e01d755a4fe500222e5d58d767ed06f290ce7c731407, + 0x60342a8c8fd783d7b93b30df88b1d55e311f456e2376ea82e86d26ae581b6bd, + 0x14563802a9c8983765aa9ea81b40c47cfa71205012ddea9bc40114426771b9d, + 0x68737a6cc6c54e7f3172eeb605fe312667cfffcf228f2a5a500441f56bcc387, + 0x4947f5dab940b7b316b62d7ff5da97d2947be3a5a79eee1e3484c01ddc66148, + 0x5f46b4c0753a9cd97301c5a1369b3eb1eb78538f65bd61118dfa5775d1c9f37, + 0x17dabbf1d79b596074eaae9fdb76e11a2fc5e5f5281827fe4fe68aab7b705ce, + 0x1e8b7ad1c90cc84193c4b40e1d77bf216073f0ce5e69b3bba124abec497fcd0, + 0x471b162650cc411abde16f9c7d756e637b7e213f796053002ab711974a7035b, + 0x63dee79826e6e5b49b2d731e6e100355fb1cf8276739e036992aea6f6c44139, + 0x662abdc3e35c8ee72730be947bc9cda00b5d63940b2dbc06da35be0ecfd3a8, + 0xee48123c8904db1c0f6ddbb08fed39d6693aeb1919a3839336368d4f1b2fbc, + 0x2e4f8f061123a6694bc1c41d038b4689caba0dacd8ef87485692d697b126b5, + 0x3ff47554938a757e91db86854bad0aa399e71efdada4b51afd5ebd78c80e49c, + 0x34c250d8c8bc851d278543f0ee702d73621ba9783fc06e7bfc260e48c0e5868, + 0x533de12217f900368bf23ad61a4644fd9bfa5c34d2f4afd2de1ecd438a6ffcb, + 0x3602915e40a588315a9bda4289995b2e90e8f172efba5db297f1e5cca432ed4, + 0x6886a6e6045cc37bddf4308bfca04c4c52b7cbc96009e30b9c996777a688d5e, + 0x72d9e590f437d78f35411e19c058ca7db7bf57d6e72d18f717baaf1b8f2e0bd, + 0x5545ec235fdb8b093b49a90f34c516221d08078239a247c7003e895710c3662, + 0x4aad80f872c412e619620330b15afef0de63c03031ea428873dd82caa1e92f5, + 0x699bb950330fd913a66ce6120c36b0b52a025acc0b863bfc89501d4d5946ae6, + 0x211a1599d6027deb9e6cbf377ee61a20d8d200e998bfbdf9bf935594e6216a2, + 0x312bebffab585421257e575630a8097f0049d173cfdda4bbe81545b48ab6939, + 0x3522bade85ce3f1a46f790b99b704b7c029f79fcf2188a2ccac4e3468851c92, + 0x571335bfcad30e1cf645cd0a048d9b55929009806592d0e6543909ba5d08c24, + 0x294eeb505d8d6fbb7e973b4f9954eddc11eaef86abf29c1eadc068c49f41f6c, + 0x147ca8f3bbe3605aa04c4cf305e4ae510905732d0ab7070905d6124f192502d, + 0x58e756751da9282efa14b40e9db269786a0a44d40d97601d13bdbdac95549a6, + 0x8b2edef6b27468ea4ee460bfbe0305e4a4d51ade57a264e4934ee4b51704bf, + 0x1ce0a1a70433cdff7e4ead25e6f59a3b1ed34c7242e49f1bd7581cec7d5d4d1, + 0x7c49548c43886479c8d096ac4d1ae617635ff1ddf228aa0cd7a83d56ba5dafa, + 0x57ddb977375ff9fdb7bb15524018a6c969134d406d399930dba32d82a589027, + 0x138bafb3f12f32dc954e940dad8ec8c6c8822c69db533cb551b8fb9b275dd56, + 0x2e205dc6ca4d7011182a04e103aac77aa0ae43418a31f87488f4fa9f3f614c1, + 0xdb54c580e9244c62ee4e12b81b372ea4cad42e60095edbb4bdd17a5b1250a4, + 0x3271cf5872c7968ba5ddb1b8f4e1d638d86ec2943426fe61c5f592e8c74ecaa, + 0x36b60f76538f1f53b695cd32261d22af305869fbd428e39a724617279c2d2a3, + 0x721753722f59349dfe976d4b2427c6444fe57fcbd036e393a6c6496ec0b45cc, + 0x36b72cb1a0119f4ef006696cb4a568e0c684c54e9b43806cf65243803f262ab, + 0x19d76e12fe1aa2201e46d0eef3c0cfe6484668a25f7d26683f7276b4b0f2d4a, + 0x2e9cecf9e6a8b464f2452768c0fe101733a91a84e6b3cda36ce1c93964c7b6e, + 0x6075620072947abf92c495c4b7b065faec38829b9d4fb3805cd0308663f5e2a, + 0x59c177b63376e53579c23e18386f061a35265601cb4520de63c51ab2c5e7992, + 0x477d12af2b5a5dfb09080b7f4e9f667e402249c81175eda2b73ca9cb5e0fde6, + 0x5ae292a2504f82cdee78f2f3eba9bf99c0272b85a0c9f92fac88f705ef745d3, + 0x1a4cd8da85b255983f127b9d1b53f61a69b19b10285bd642e5b975cd654e63f, + 0x737ac6a1fdaf44ff0c0f3f6c2736216768d1701a55db1bb6e4afc796431b982, + 0x3e6c605b260b455721216a22bb52c5454a101d52eed232b4ad7655fcb4ac8af, + 0x6a54a9d8cf67553b0616504e62c8488e373003f470307915114256227065445, + 0x683cb3f2cb7fb68b1a47d8716bcd4f0584fa61985e71086051c8691a4bb75b2, + 0x5ce9df2d74f5e72ebf6411a3425febdebb74f521322c11d3987b007d33f2eaa, + 0x1806928d551b3a4b8a417f978142907b176896295be3e25bd3bb74d032b287c, + 0x70ea092098196748c64d628b6873c069d20d4e91c35af9566a90cde0910aa96, + 0x7b574ccd350708a73f1dbaf32f1f6a08dda8072fc2135d607b9ffe06cb7c82d, + 0x5444d48ee36394313e3dd3f2163a6a198788822cd6d2045a5def5824b114576, + 0xbdc6704c9ec59a29967cf13cb8450bf3fadcbc0881304e98b37648cd22b7a8, + 0x6d5750ac6bb48a6a01bdb8018a6a8d961522fc8ab4f7564877a32f31b058585, + 0x3c6020ca7000e569420ca1bcec4167f766415b321a01bc20bf1b1b595b9f42f, + 0x5acc44a26ee7c7a59efbf56fa9c458f1ec2860afaa5b99f75b0369ed5ca2115, + 0x749441996206cc1451a705d144bbcc8ae712bc43c10d7d3b85eb25d505b620, + 0x3b09d7927b5a2053fc00b213911e593fc35a4ca4df67f02df1d290e889e65a0, + 0x1f18d81524d6f83dc9921051e3242e35cd8e92b1cc79d1ff71217d9168ad727, + 0x525852d7537ddf515ea00c0bc8f20e4f715e2ae2d315fa10d0586c7dedf4d12, + 0x2af3e37c84cd03c4046894c425b1513886f5ba3402fc71bbd133c995bdfc74a, + 0x2abf6820672288d4180898e24492d4fbe0e575aa975d8f602696399494405c8, + 0x7dcb0bcf9fa7b2622164c2c9736fbab49d954efcad1127570e051f98c68d2d8, + 0x1effce2cc4ee3acb6155470bde8c1fef05d81e80db34afe1319c08e3619bcd2, + 0x2b354c50f4326b20852a10cbcc140d1fa0bfa07c011dc4c651d8ad48b354ef8, + 0x1a40ec823f57687ec09d94bb64bc9195de8b254a65eada33770cb92b01ff037, + 0x69b99f131ca902bc1a03727b2d11c3bc52829fc372d02e53115f63e4d498175, + 0x72cbaefda5e78dc67b1a6e20809f958978ee7cd3eb3f3ba4ee900d3cb186eab, + 0x7a4a9482ccef27bfe5c84add82df9860b5e91d36148e212dce00547d8bdc5db, + 0x2ae45222b0bab503afa7a1c4b902f286e1de8e3b359a6304586813b476949cb, + 0x181b9932bcc3152b671a24e99e0d472deff7dd4d99248940f3bc7a6524b7c3f, + 0x6942353e7fe7eb3acf3e00f89befeafbbd318009602afd4aeda4333c35f8888, + 0x45a85a9d13fe9fdc6ffeb61f24820295bc9b8f3ff9e65af2fcf45b43f9974ff, + 0x7167b3173ee546c82d73e0892d2055d0aa4dd5e9a5dab34879dc772bb9f6b13, + 0x5e1ec8434858c3773ad1d7b598dd75c5b649764d96b76da3ed7534002acf2df, + 0x37eeeed73fe8d80c7c9453f77ed3421f5a9ef85361ad62e70f3ab330bc23451 ] .span(), }, @@ -1054,172 +1063,173 @@ fn get() -> FriWitness { FriLayerWitness { // Values for the sibling leaves required for decommitment. leaves: array![ - 0x4bc68e79a50789ef5cff3fbe013b8f846b9a17931fc9cd0416a1ae2c003bfab, - 0xa5d29975f58add08f21910f1837b842e16f5c4a24e0e38521917526e122026, - 0x68d1b5a8dd162c1588d13da8cac43834adc3a7cbb2ba85c063ec7ca6d085739, - 0x73981cf399de77f720ed93da03f00117303dffa602fc5a1ec0b40a4beaf81fa, - 0x58d3ed66e1bca22f44a78ea0a387782978b53ac33b9cac2fd1ab651eaddab05, - 0xe269fc02d3092c00408b983db7c4170139e73ee8b9f70c59883fd3a31679cf, - 0x57917b6f3dd67adf3ca87e7605c804055e4a43b42f222fbfd87264db1eb90f9, - 0x4f7dec59ddfe644593adbc54f550c74b02b90fd868ffe81ec1fb40e4208df1d, - 0x58ad0173322c2aabfe3a87ff64473d62a1b26c673dda98664a8ee3de5f1dc60, - 0x12487a39709e55523af865bbaf31dd07985fa5a7cdb59fd057f34c66f5ede18, - 0x195b9725da75a62535df7359c730f5f268b1d3289f370ac199ad9cfca1d1794, - 0x535760dcc435d8cc05244bfb8724067dccc9dfee4604e9e315533614340583e, - 0x772a1fd2a94a411eadc7ac4303ffebb89882436e550238018a3f0d3729246a2, - 0x75d6268844734a7d5d6323699a8a5afffbe8eb9aca91403812515a66004edf, - 0x3cb4eb0e093ebdd38920b3498885bd4c5cade2380a32fd9d7fdfc9751dcc1a4, - 0x7f2b853a7e5b26b7797546c73cacecdc2729b0cb9b81560d30c99506678e1ae, - 0x756ea2513511aef820935f5e1363aa798411005ad9b10504fb73587ee891e2a, - 0x5dfb1b29b312070b272063aaa74432f1000fcf777982d3e87fcb1b67b38045, - 0x13c054c54a1705c315726bdfea4fd4ff95bced254b38d3e8e12e0c9bc1ba69c, - 0x3e9797ef176cd1e9cc862a6fc82053240b9432834f4706742bea42bb5a3d966, - 0x47ccb02fcecb0162a8d8d4f7242fcca8c255f286f9a16a8ae946929d417f628, - 0xff6e6efb30a87b56677a97735f4ed808ce91e7d5855eaf51d93164e2a86abd, - 0x707a09276d158e5adf05a6d5c57573913b8a09cda115e02ca499d5865fac676, - 0x69bf0505447b50e490b8b1563111e202f25a3d466df3173fc56d294373d62d8, - 0x784de1124b793881b02fbb6c1f64be6cd8dcdc2a745aebc9e78e6679222b0ed, - 0x2141097901c7185fa626b6fa727aead038f0da4d68b104f53a657d9a6f74f9d, - 0x474696bd63eeb50d411ccc39b90731e4a1ba26043d454239f786fafef3eb7bc, - 0x333f34bd7238f4a346d29268a8a44ffaef53e316a1282fdfec45ffd0d74afaa, - 0x476f80806354c5e9c90c80ef4137a88adc7c292cedccfb0843c4e8597f6765c, - 0x23cb9245337fb84308e376de93e2bac3ef3c249954b9531eb27ccb5f9e9d0fc, - 0x560c384b3c0e3552edf1f4eb51836e38cacc48cf32cb320a23ce4ce672d5c7e, - 0x4fbe6faeb2c86847fc269c14c049369e8e075185bb35c79e12cd33f1bb1ba04, - 0x53f4a910cedab8ac2845e2430e3b3030b416c8612e502647dcf74a4665acdac, - 0x5b254c8375bd9bd31342ea52df78c601bbca0bbf0c3b9633896e66f8c11e173, - 0x31ef7251ab71ed2f05be9c996bdbb43055f5ac6980b9a5823ead21cae03be9b, - 0xaaadcd6dc206ebcbb25f111ec55653780ee2c6559b39bb8ebc3d81239bfc4d, - 0x6964b40d6bb01a8d67499f0ef466025648d535fde82e503ba46d67d1f5fdda0, - 0x4def7517ca02a51bf6e88449d8655773aa48e39a354fcfc3a6d278108eb5023, - 0x3fafb22fe3b569888829b1386d5973a584d9fa08da5bb478156c632fa4e12c9, - 0x54fcdc680af70a22f8c2c9c6fab7e40c382568cfcae0cfae07d3a5820660f34, - 0x48ac756c294a4ab16a3f09c31635494cf043a962f315b47da0b008f3c7976df, - 0x5b2dffaf9f85a020ffc0869e656c0bae0728db8e2d4de14a25427a6d6acbb50, - 0xaebdb79608843c51dfa0e52ff7117ea4d5456dd1f770e88e8d7f7767699799, - 0x612c01079a956c0d27ef0ff4701ee4fc2d180f6ec89990cd93f3e814d7a1050, - 0x3720631de9a89485c3be95b62e1de5f9d93ace72c160d4a256a85457e1529f1, - 0x56c56966b40b924fc5e0e40926f5369572289d059a139ccd64a1c0ad4c9b86e, - 0x25f72339d0738419af25639246499cf66baa7ebc24affa5412bdeef682dcdee, - 0x6eb0c92debb4ca1773cc75137fd809c0edc1f88159a743485d50779a1c5a847, - 0x517dc4dd8db7cbd0a5ad53f3c8502e51701d1c27cdc862c4a6064cd145a5015, - 0x5e96cd5e056477b4fc59ece13935d090e49b55c9e122afedea6352505bdfa28, - 0x1b3787dc2be8ace44cdcb514f2ef7331cbad5dcd2c68ec392ad7af8e980cc77, - 0x5707f93582d24ab010eef9f45e609034a0a735f7340503e21509acb0608effb, - 0xcfe64e222d0239809dd5bf0f6c02c5a8ae9b6dd358a35abd1ce3c62dc98d8f, - 0x697c74527ed597f12f5a3759100556ea28010f19a67426b16aed384c7c7eebd, + 0x3b13f551d15a86e1a2091a1ddc03f11f73aa0a814109cb46a4f615ca696a153, + 0x1f021acbf21235fbd0abdf013310454ba4e30d9ef82bfa1a5a0e80ac7af18ca, + 0x458cd47284a8bbd99a91fd44626f9eeb9abfcba6a2280c4b524b2d3db29e501, + 0x7f139ddb24d25d3980e1820a0c0135a76d71c7b15d266a3c041c87a317a9f02, + 0x59b36047fd4632671454935b3fcc79f03b283558d4f7e6010829162e3896a3c, + 0x2ed476baab3a28de5a6e3c7f7deaaa3422d28fddec99d5078ca923172699632, + 0x6610cf89371025fc769d6f25a634ad2a457dd4f18822362a6e4ad31490ee60e, + 0x7e417822a8ec56b1da5ada215542f7c3daa4f5f0c674a710aeb8f33fbe8262d, + 0x1bfd06cce7f946be34a802bc33bc8f5bbed5069447f2a5a706e2fe01314420b, + 0x485ade615c3fd264613a4b55627a02956ec3979c296ac9415db13812ebf1e42, + 0x61b52ce055ed4f8ef11c1c26da33ba375625c3979718b7c51a2de620ad3ca41, + 0x440dd0465e86eb413d6e4db127f6a0da49f1aa87a98e747037913d16a4043a6, + 0x6a79e9926bc729b47abe38f7309a9f03c19629e6c94a233b51bb359fc5a0b51, + 0x56ced3283b7dc90d0bad2cd963bde31c0df33d736d9c2c9f8641b7e38c15164, + 0x7948f9d2752715bbbdde7af68306029b2b71c65dfb7c4c5bc212b80ec9a60a2, + 0x59c747b4ba79e807a91a4d88ed4cd64294f94b131188ca76bcc2303089fa16d, + 0x2773c6ea6ff713c8a65575939b4fb31652993a1250967be65fcd2fc988624dc, + 0x1fb0f204e228a87a07141212a4ccadeb7e477a68531336004d4aaac52ef7797, + 0x386da49003045f33112575db2548898179f0e3ad774cf9f8d1f4ba8f5abc2dd, + 0x524a7d7169573982ce8eea423e4d00e8ea57ac958d652ceeb0a0e4d2a4fd07d, + 0x70bc5fcef60e4ebf6d95750d97d34519131ba03f9d0c5d0b83789c4e4a76f5e, + 0x4d860fc1404b500139722685a975ed718d1aa1442fd86ac7e8d805b16e6771, + 0x69f3f76f145d5124443d329de2c30947f1c6e07104feb878ea6efcfec2db73f, + 0x158a667dd5601f16570a8aeecd4e295ef0c004e2c23e272e418576d2f0c27f, + 0x145f841d7fb5cd22408374c653d168f5eb24f392f7f631ce36bd6e693b38bf3, + 0x7c9b2f18463037d258021bac710d4bfe7213c6d6df88f861626a9aabec5493b, + 0x17fc7348c6dc75d72c898f2369922c39f1707e91fff239632574e17796f01a4, + 0x69f3ad6879fedfed05922bce6c620f4c49fb3536cc97525169603846f2351d, + 0xfcb46a85d3f529e53de17fea47689ffe1774341c9f45cbef82b471b09fd5bb, + 0x5d19dcea4ff3248906cf1f51d627ca033fd430a1b3a2531a1be0ea90d243b4c, + 0x764347e249864fc9d523a7e5effb5415f2729d7bc5362e25219eab6eaf983ad, + 0x72c59ca56fe56732273af90d47cfdff61b49b913c8474abd9067a737ab472fc, + 0x87b7273fd6f56089d478a7ceb7a2ebaa2cb3ae234e59c5e61b54ddce601949, + 0x74b0ec1da50088d4a3c917068378678a7114a872a211e02b5e38b9d3153b229, + 0x5f826a9b0bef374a93a06392c7a13b5af676867a988c02b42dea26debed0c79, + 0x7fe6349adf047080cc6a546c00956e907f882f3cffadf7700c3f52fc73098b1, + 0x2b500a5ea38fdf0a6f9a9a44d7180f002b6fb825aba657ba703313d403c0571, + 0x7523387334b0325cd130c78efa8648bc74cfad07a0b7016d47a9deddc368188, + 0x6d64527a3e20699d6814a5d612123cb831b6c1cd69fe70c3fbbd5b7f3040451, + 0x485448fe697de45bc0c3015bf8967192ce5e536bcd303730e7323d88d0f792e, + 0x1f787896ba564a5581c36302ce7c2406829e0460d701616b4074cc7a2b37fa2, + 0x4a4b73990c1a810007459f0b81ddbbcec77894b047a8c7159f07b6e0695f98b, + 0x1992707463fbc1209e425faeb8a4233c79ea3f079b718da98254e9283d48785, + 0x2fea896ac1c4af273c091775b1be2df39bba97db568382807814ac5e98214d0, + 0x423bc582850dfcc6c3a5e551e4ee6f2e1cd2899972b9fbf1fa947a1ff5d2d72, + 0x4c66c399a5846f55a62ea3773480901bb4db97b0803cdc852fb3d0caf3f95a3, + 0x51ed0a6d25ffc029b3681309a283d9735eae398f4bfa07d2e3d0dd44d380c08, + 0xca69088180c747e1c23a8077e340bb988f5ec8570515413b6592c25648db70, + 0x22dd7c45d79e2bcf9fce96b45225a029be97e568da18b145baaf7cd2960b991, + 0x2b2b51b5bee675a76dbc6c6f25b03380538c079835d1512e33866391a8100aa ] .span(), // Table commitment witnesses for decommiting all the leaves. table_witness: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0xe676ff357a733da543bb3d81e3aa60ca9f1063e1, - 0xffc663afe730d87e8c5b65ff1c4e02bebfb45c5, - 0x9ee28fd2b364c452dfc86e0fb15db982895abb18, - 0x4b2aea8358aa2562fc75d90ff221cf7643da2d30, - 0xe6ca528ff25b6a8027f6f186a6823b22e407d0f4, - 0x2ffc0ca2d4c2a613decdcee120d7ce8bd31270b3, - 0x87525e0ba3a6d4f8ddf4a7cc48deb7546f12bd80, - 0x26d3a33a07adc85a684d7aa9fdf8b6f582b9acfa, - 0xc65fbd68d029050bd45eb8e111a6f31f87c0b451, - 0xb43296f2dc5b4c4d908b80789b193962be8db556, - 0x9465cacc05be1a69f3eb38424e448a73199774d6, - 0xb48f007b7760a3cc2056e5db6f3eca5c4aaa7c8e, - 0x54f3688454cf9b399bca2139a865ab970b02e0e, - 0xadcfc979b6dd3e142d5c1a6dd2f51d1f65651de1, - 0xaaebcd47fccc02841f65830056d1f2d0075a6d25, - 0xe45f1dd9110a7a0b3a6c157b841fd9aff4e66874, - 0xa3b8e22670e0876ec1f042c974359444c595f1a2, - 0x92693ffbfd0ad1f60d4f8843658f20c54fd11a5a, - 0x7281b36fcfc367c94e83bdb8ea3e08d0142cd0d2fe627b80c73acef7e6a49b9, - 0x3b5e95b9b0fadaf1031300d7c0d9f043706f4dc7f8baff7e2dd55a1a6c65b84, - 0x2cc6a33256646a68bed5dd10cb782b229736fc9028ad7addb3ec487c38e937c, - 0x296e424b9795e3f4f1e5c00d6285afbb4c797c6dd8624fd735824cb9fa8fb04, - 0x36931e8cf7d2e8cae2087d7532f93c12c8ffa20fe5c7a02c9aebd2c0657158, - 0x49c91ee3ddec4f62d4c5dd802317cfe81ba9009e7b46f66bb354019e284194a, - 0x63ed1d118d536eedd9a286f4fc633b7625f8af0a2bdf6acbeb4e7462dcd734e, - 0x4620a4b9fa50fbdd167b899ffa02e8965aa056d35086db2322d6a703c7ad15f, - 0x475db860a575eae6424c0bac0039cd8a9450ea558211e42db402a826c14c1dc, - 0x4c69f749f7b1a98b707ea255d786c43a944031f3bf9d2fdb4f5b1310c61bfa3, - 0x1552bebad7cd328047b44545dfdb3412953d8548b7a65bf15f0f1ccfc98fc0e, - 0x44557ef3c00fc68816781800bcf8ef54d988d70c8d22189bbd0415328c8eda0, - 0x4ac53f19aa2254dc7ce25d541953e31c2c143069760254162227ce3d975b61d, - 0x795b6fcf227eb5d19a4e01c5defc88ba05a65eebf23b9306a7513769d96d040, - 0xdbe8fb2afa68997d0ae59711090a255bfbb5f5ed6543a5655ad79577a7aeae, - 0x785cde61bda7ca4638d7759a0a742942eaedbf08d1269d36f373c3908964a7e, - 0x7f0d790427a3fe91985b625ab9138e5ad2a05af440c26201c516a6ff852f022, - 0x5cfc3623a36de637078f8daee039d624bf693db91f8fdb4ed81a41f59e09f3b, - 0x453ff600781c3bb90b791d0a7537f31add3a733ba5ea5bc9887d4bab9948a05, - 0x26befde2c0f7ad61a726b7138869d76f66ac68e809855fec10bb4e3fc846a0, - 0x7ae21aa0e4e1bd6e63527d34e9d493e6b1943d769c3d970e1a6113fb8cdc509, - 0x3c4bb6412da8c8cd9155cf27a22934afd270ce654486b15cd77813d1973fe7d, - 0x765c40ad58db8cf29235128173ed93490d2fee999353fa4d1401cf734bae9eb, - 0x6a8a36b56c2919a2c0f00485d929009d085c52583868aa96a87574e02ac19cb, - 0x7c606e8d4c7a82c9b97c733908dce06038ab72ce1d70026f1458b8b0840162b, - 0x94922071ef2d6c99fe9da993fa6b494e82a25dc10ab5d6bbbd71b28f58b9c1, - 0x53f5dd1bb156b3744de60903a5e1b89fd202dfd0b1c50279c04894f6ab2d13d, - 0x6768cb453416dfac3b0eebbb53efb0748e27bca54c0e870c58d9a8f869fa036, - 0x16c12fcd3cdafd2f4328fc1a2299de4035baa36fe3bf46701c98558166f9b4d, - 0x29cb2a1d86816e6e5ceacbd12c58088385d111cbec53ab677e38b56c3aeb350, - 0x8247a109564a0dbcc9f7bad00e0f4131bd1c024e0f3b76ebb6b6c66b317b6b, - 0x4751b9f7b400984dbf007960a0522b3696277bea06b4a950ef9b98fe0a8f08e, - 0x22907e920eec443995bc55de7ebafec33320ae4ecd0a3dd8635e95ae3ab52bd, - 0x7f92acf18e809b3d2a25deef9f176cfbcf1cee6dc48ac1bd1ccfb47f3d01a8b, - 0x304fb4d291aa6db2a08cb4fa70e7e3fce26d927048a78a725afcad00eebe671, - 0x7748c9d244881a114b8c225d3dc3c212377013fbe9bb4f681024c94c554350c, - 0x1e6e1c4a459327339e22e2ce13a7e5e8b55023617731712613898f011237ed1, - 0x51344e80e161f57469e4695e624b56c9989ce3fc4081a0a5e2c1e56ff5f4d22, - 0x2d8af710272d1e39b101419c80f691346cc93c4cb41d457dbd6697e09490505, - 0x69ad0f6fbd109ea3547b6606981197b802a920a319c61fa03ebee73c346e9ad, - 0x5c0469ac2a93eb97c7cda4f82253280bd681a611eec612eaff3f91b81844aff, - 0x2022f6794db246316b2d2e024e70008bd6ada94a1958b8e5d5cc039202d9400, - 0x23c4647f032d7703fda9ffbb4c2c983323c11ce80412b2b5e3b20efa4d3062d, - 0x37f277ff3e939433e79e156ce68004fe24741f8c1b9264d346919582117e3d3, - 0x4388f543724d6095d53ce54c2b8fec2df52ed0830cff0df933181fb8e377490, - 0x1f9646a1c35ccf8656ec727053aa7fc6a571ca0498bc22624f3e0dadc2e1bd, - 0xad4cd2d1f4c6da0c831c51b13b8bfe987f61d369f5fa64bfc8827f607c96c6, - 0x636027ef64d2f9ba05b3cf507f840c19f12645fb6a0db2a24b8cf1569191bb6, - 0x43c8814510c36a011f1b1994275a928b66812d7c3ef14d93c31463339137bbe, - 0x300b7133fc0cc085144a2a14e496700dbc4f8b583657ffdde33de02ef78191c, - 0x7ba0d828caa7cb414640e08a2fbd789a8d111ec7883ffab5fd538c120c5a5e6, - 0x8dde3adeb2e83b034a5ccc12638008362a24d66835262ad33caa211a6c9793, - 0x849bf4d63ae4007169c0bd9f5a2b7f572ee2bcd188e868f981b5f4f67bd47d, - 0x3ced5193d4bb228dfa19e7f7d46372d80393b242a72d48262e1a8594f623094, - 0x325ba92845f1d7350fa4491e3405fde9ebda7c1bbbf7e066a2c8c10a6c680c3, - 0x155b15335843b15e4b816ae7e6a340d452d6247552864ac53e39b56910519b4, - 0x482777b78954afd4c3ac5ebb92f93a82af11652f50935960d6ac75f75674140, - 0x6fe0d0ec0abe430cf7c7c32f15a7ae343796f6175e292fed589aea79b813616, - 0x5618be8b708e7ddca48c8b971916c5fd9a1ba6eb4252e614ef88c4f2e41775f, - 0x51365af55597548ba0f4543e4fccba8c6e1a7faf6b2e8c48af96dd16b48e8f1, - 0xb5cce5205193c3b87dafdf96fd0de0cdac974558aa47e18e515841b2740b1d, - 0x51a1cc3992db4da580a2a77277cd81e52376c266b8f8c585b879a2251d7439a, - 0x7ca03ac5453cdeff7d3fb2742680345af326e92935686f84462de6f37588dd1, - 0x3b26307ed64a35759b0b4792c1f74803627c6b31046ed9c8ff9cc9bfc5b2c0, - 0x27a8f5d9f84205f8439338257462f4efaf07924aded94b419ec98c0be0ace0, - 0x42223b23fa282ef6a087a92cc400d36ccc6e8d6d953e6d3144bd2f26505a6f, - 0x4ef7521d71a61c9fc42725fbf3e36361b53046b68694ce437f576d079ce86f5, - 0x35fe0ea431a96210926bbe2002d26c15133a0c2bb1d2c6ee31cec86af66922f, - 0x158bfc28d59e25bf7b7a0e9995d1fe201d708db865013aabd6f19fb371a734b, - 0x46b9fd1bf3be4660e16c85ae8854e2dd6a8d4203d4b19926e66b3a881553b96, - 0x4084cc05bc951721e44cbc69526393ece2f17d2c3ed28675d92bf6e33c1c047, - 0x4b8e7e93f3a6888142902582531d0659329a714727f26fa4bc87e4eafa1077, - 0x2e9e738a183faa18f7bdce422e9f49318226b3b32d1d8410a48b1cab0875c5, - 0x20f4db5c5abe20c948b151cc25bd4c2c001eb8a13711742dc665a21edf137fc, - 0x63b799bbf4ec3241fe16b4a154194ccd9e6377a785527ed9365e725521ae17c, - 0x365b2a7dcd62b7b0dcb2d10167cdd87c4ad1174dea6fac139d54a3256c0c1d8, - 0x3e0bfea95daf7c3a3244e35549f078e029e544b9fe65b4548ec28fe8212b9d, - 0x4a899f49847c782e0dbf581f89aa522e4114b42a741d5d78efbe49808ba91f3, - 0x593e1c4dc6e2ed44e0953cf736581eda4cc6873859f3e1614c629cc58d86689, - 0x12b4960751c2799461bc1fd9e8466c5cc1f2bb4e91aa2be4d7d1c87fb7e3d71, - 0x3e3c1fc87c1b07d5f40b728ea660c6320691a1b596edd70d7a2b48bf8e66d47, - 0x4a0eb250ff1e14199c95f1a942542e0ddb486317de03d033b6b03cf6a1f66e5, - 0x2a768272e178821889693ea00ffca5c5309a7ee33b078a675ff2b4f3dd82325, - 0x364195536f59b340f0f315fec7361229e4a61ae63e77d182dac9d54a2170296, - 0x204636737aef25c5f4c8aa332e67fc3618e83a896f134f10ed929677bba4f7b, - 0x75dfb1d1da06ef149195da6171b78ca57f21946e8920aef4da97c59581fc37b, - 0x74f11bef16a2c8923231df2090b074be1c0b017f7f1f12f919f332c9362f82a, - 0x109604ebb9ecedc292252882c8eb95d3ca041db27cf1d8a76ba6dfc2355a9c9, + 0x50abca856e8039c24e2c0d196b4d27a03cd55ff828a3ac3788edfb6a1cb86e6, + 0x65068f206f9273935e935aee471603f1b627f7c9bf15d216925dc1fdbe356b5, + 0x1aec8fba659f36d1b9313e08b4f18e93bfcb1166425d94599c491071e9fc714, + 0x2963cf046ebeafa1649cb48e3b49793813e7e4ecf1cf4681e21b310d0d1c188, + 0x3d5250851cd500cac2aa610a9aa6843fbd8179736871972b51753dfdd2af296, + 0x4efbe7b45472b069cee1736623f326d4924e754286ed94a4e81df482992d444, + 0x70ee94f416deca31646ba77ec3b6b003f4de8267efcde20c93c3d128aff4938, + 0x33fac0a2b2f3ff23e23fcfc13a6cf8be4265629a53d1615eb79a2a3b29c0492, + 0x3efa783638765b0f7c001ca1d3b4d04af15f9b8295d9d38bc8c38a118686112, + 0x4be900723d03e5efda9c940bbbe3f45077b6bc0067596d013ada9fc720aee7e, + 0x5e952b145acb516f40dd993b27119b6f83a5ef8bf9ad5204e1e4083fcfc3aa, + 0x555037bd9e9532d58972d258042728cc375c01a634f6493fa805241a9ca5def, + 0x4b82ef3dfbceee0b5a20ff4945eecb261051d90b07785483fcbe0c7e64107b0, + 0x5a18618aefd3550515ea68f5f2605e6cf3b0ec8bb29ad3164350881036e2284, + 0x32fd7176e3289df4c6ba58f0bcb93d1bf1ae7327411372f96b3fe90526b4b10, + 0x392c9c6ef67966aa65fb098ebbf993dca1249f38742885c27b4fe9e28ec017b, + 0xe693d6ae5d6a4ad42a6b5eff1e6da73c02867b6fd382fbddcbadfc433fdb75, + 0xd88377dd39eb842f266ac49a352f4a417e35fe31bddbc252bda73f5fedca84, + 0xb132c5fb7cd29c4d042ac3f7877a3191e8559ead213e21eced4a06633defab, + 0x615246a3a0a5c50cd80e1bf8f0d815d835fc44f8ec4c97b8de7e599bb3b94e7, + 0xb2fa8062379cde01ac5dc19174d9744b5ffec4a38b112710d89af8986720e1, + 0x22717c87b87000516aa6656a74339e7fd573572d7d3a4c17dc8c5bb32c4e10d, + 0x6a3885398ec032330344d912537d324f0d9d93cede44c8d00b516636a3dc535, + 0x2f862641fa454430f93350e0cd4597ad6fe114ecafe3a2290e2819c227c205d, + 0x7b7287ac1020b94e7773d0a438fe348a2de1137fdd74f544b60087f9e032cc3, + 0x252f564a64798d31e44d32b06f957b206dff28097840f8320677191ee495907, + 0x270569e36be9438c83ebcc3613b2dd2ffe4e114e7821d6e70c88df161d1c786, + 0x7e1f002c558f3fe358ed58615a4ed99d6b17459779d19293d634423be11ded5, + 0x1cc2bace4546ad0c38b70d111b0d6d56ecbc2f7411a474f15c15c272fabf3ad, + 0x438601423459b2f77210da0da86f89d554a3bb5e7eed74ef2ccdb0941309a7d, + 0x1d3b8f3f9b85b1bd12e84f3ae983e32e015c37b8764877a5eb2c6672dad594b, + 0x41c1142d76955e2a591c33c4825258cc7c204e44d555501f27237b9720865bf, + 0x46e766dad4c4b0f9430da61a41ca67d7cec6e244c38e5c47bdc7d46e0ad70ea, + 0x12791c891c678c840669b6e6bf5032a33cd5a2d1e5f2c603330c61f1dddbd33, + 0x7bd4edc4615fa6a7ee595a4e945774d5f55239323854a5683b1172a1ee09344, + 0x3262ccef15e4596c830e43c0a7005d9b9ca1ce67394c04baef1820063da4db1, + 0x6c7e6c881a606549e425ebe5fab7af79ff26edca3bcc85cec10a2c9c22e1dd6, + 0x46b1256ee7c2cfa144bc4aefd9ea2ba51f4f5b59b05a55d0392880139677882, + 0x522d032215a7886fe0afb46b1e98d15f5ea87b2a1b800407c9d623fa873c181, + 0x239b302fcc71209c93936b14d54ffdb3c8023d363e045338967866ff1672c4c, + 0x8e1d5ee30ccd36b262ab85b1e9c62ce70edb0de0945b45e8358125d9b33b04, + 0x1a8cb030ce24c2d9130f31141e59cbc404b532d71aabe52c803179d6dce5188, + 0x1e797ef7ec8c077bb49cb170f47ec65023cc901ce6437efa31e6aa3d674a879, + 0x4764b15c6eb236c3e7fbc50755f0224417f09322adda66545f466e229f56f11, + 0x10b1e4591e8723db352a18130cb81a031d78db23a505df13f1c1ca9dc4d3a0f, + 0x59869fd3a07af1be03e3a5f13af9de7fc7fd5b219291932b2ecf3641d51d263, + 0x23e69c62e65ce3456cfa4a81848ab565917b9906e81830f96ab01c6b2c1dd79, + 0x5512c5ea94260ea53783e109e574f3ac3b263b734ec739d4cac45e358f34bf2, + 0x50e045f94bef948cf50223f0f8da5322f261d90b5c3954638ad1c13759d5dd6, + 0x50634bc8e6dbfe0d4bce07c8291c8ad4e1c100fe8f953f0f9bdb1a7a457b1a1, + 0x480e176d791be2d2f661f103f9361ea59fd766fc57fb814c31358ad7bce7de8, + 0x731400f6e93d582fcbfcee30a631a43eb9e23febc90616e250eac99894f382d, + 0xc90f0fef3c5331186a1f587fcd40b8f30c400a154f402c17638aa8bf6f33f6, + 0x24efb3344ff816a2e4d150debf376363f62ec18d710f1bfc5b6b8b6a6cf4cc8, + 0x619c4d2296e0d62d99048237c5bfd9702e4ae1dce2d350339c329e73f4ea370, + 0x2f8ffcda51a187d5804b1c24d6f3f2443f8d57a1964bc3ebc487206ca62df89, + 0x30ca03d07603a97d8022bad54630893ce8b29bebf1ad3bbac11226acb3ccf58, + 0x5581df070f1fefe92f41e37395b9ab2e60fb32df9687f7037abd3fd20e13321, + 0x7bc8daf9d41cc6df674c28b043926dc351e862593d29867064cd15243b643c1, + 0x5465bd4274a0a4d7fdc3adc43c6157eb35d1bcbe05caaed20c71b73b9952e75, + 0x3238ae6e14c8b6a650494c120cedeaf0f75578548767e04986c07895a2406c5, + 0x450452f6481145ff07b67f78521c65f206b1d3e09114d45333f29aa7ae4fe0d, + 0x237fb15cf6fbc77a2d415ac56a66a3c02a0b5e53a2af853d816b9043c7d4554, + 0x45c4fee1c376b501c32908b75dec89dd984c25b2f15b6520e64617873f0d3ff, + 0x4b933b9fa5a242b7fee166c7022e490b8ab7b2aff15654198383a78d5d47171, + 0x2547f9faade2085b877ed17eb6d4a22816807a9b49725cfedb1dab7d1dac24c, + 0x312c7c9a39533fdd336dac9671a8c2dd64dc6dcdcac13c338902ada5b98f436, + 0x51de286c33ddc9b4e6f036ab3b7a8e5a50820b8219fb083bf292f627107d815, + 0x1a25a3f5ddffe9cf3f21807cbebd9dfb2c753bb08e38c07c8072e8ae3650caf, + 0x33d3f156ed1ea1d59a39ff860399a1c9aab1376a6b87ee8b43c6ec44dd96e2f, + 0x2e94c02869c8793fad094d813096c214af7b499554ffb5125714e7c722bae62, + 0x1c28879b8005ca65af57156a281b2a0a670f3854d7d86d5cbece2dc9fa5c1d, + 0x6cfed06a0ecf9ccd0fc07c70422f0dab5fcfacda9c5cd355ac0168010f2bdfa, + 0x1f053df8563cd5ea9db53dcd718faaf5024dc2a21724472543329aa14534306, + 0x1cb3f39d4aa7b090fa14a41e8aa6b386218f694919b78f74fcf989a5203d3a, + 0x45d3b50e34194dea5e23545c8beb47eff23bb0da2122aaeb38e18ddb93c331, + 0x24f6220e02b46469df75c0e697dba9b81183b3be1232180cd8581a901b2424d, + 0x7d8968c7527019ea328c636fb9b27884f80201ed0e81cf2f63f1de2f0ef65f2, + 0x6001629c083c16a597bb158f91b6839a6b8d84f9d9f3defe3eb2f4b0e024155, + 0x4f68cd48e2f24ee1c2608298c9c0e249289f2e8cf79a61ee5e4ba0d09e3fb91, + 0x1a836c34779b3ee10b5a390cb01417d92e8973955a3759a193c123084069156, + 0x13b0ebfbfd8d0bcab5c0b8d0f627da320ca71e32a455291bc8f56127ed6ca87, + 0x1816b246b669fae4b30ccf4edac50e0652b27807883639d68fb7ed8cf8a93dc, + 0x6d12e82c362f26b8a39ac7ccf5e951b2f46fb501691b11260f9f02028696674, + 0x4070ea135f54194b18ed50e4e53f759053663792c7528e4241b5e5f3f87587f, + 0x232659eb38a1f4ef0bc038b0e8ee111c4a8478cfac3037d8a3f432b6a2beac0, + 0x21659d7951f92ccbb6b95d126ef9b0e2b1664a423281390f037a78b498bbb1e, + 0x4bb6332f6572daee09b7b0e30df398d510bab1f28143e9d414684f8cc30a14f, + 0x3c69f431f609184dc6017131b1d765e94eed98e26b291af84960d760458996, + 0xed188663046a77268685d1ee405c2bdefbd3c96ff8e979460e25ca1e4ef864, + 0x24c350bea667e35c41b57aca99e106a05a3c0d77c33de937d4dd203f2ee9d68, + 0x385ba6aacd5d14ef52f6a83a2b9b53baa1946fe046b8f30b360158d206c880d, + 0x4dd668d4af27d124f415715c362d2e3fa19f0a65762c1caeb9b37f998662a76, + 0x119bb5afa2b1185143991d125e109656da635e24b32fbd75f3918e703f1ef51, + 0x4a0e2022aaaeb1e0f0e738bc941f1982ec4fb5a103204c359efb396cb5d6588, + 0x12fbcf2e0d0c9c3efe7373e88f216a6f70eea974df0b06250682117f0a915c4, + 0x6574f55900524d0c7c3008f0a9d465560335233c7eb9a53beb9da68a4b122f7, + 0x42d21839588558643e90899679709009242bf92654d90053c224be2a88cb0c2, + 0x42cee77f3847560e9c4cdfa6e0e64104a9dd143b2df9a501715cd8974052bcd, + 0x2e64c81c02b3e1738dc7471e0e557ac0ee79501b2b77644a83a7b7d1f1feda1, + 0xfbc4eaed278ce9ac118c6869455b25a66531253de516b732a99095bf1f4f1f, + 0x2d99dfc42cfe9e99356ba1ebfb40ffc17bb92ec5c9e2b313b26881b5baa4fb5, + 0xce8c8da2dc5200b28d077d23242e4d68eacda37825db08de278a3c938a3f6, + 0x10dcd2d683b5a2587297788f47314f1a1710b683b52d0324956f195f3b22e6f, + 0x363a56b47bc0329a53315d6478976ebcfebb323650e03cd4b8fa39908ac2ee, + 0x206042193b67608a2411befa6a08c2f2fd0e54e3239a8f301a597cb420cf468, + 0x3f7fdb66b66c0860c2a23b44f2e179b6fc635d5e05a4f94ce6aa9041306f91a, + 0x7a58d2ba009e4e2c28371536a10a95670f6541ebd9d793f9469915d28187b79, + 0x3286485097624b8134d67384d0edad80cfa40092a107985ef1638a8fec761c7, + 0x285ef0d4a246948be3a38a6bfc8e15e98df02e9a5c37050ea6d462a80251f55, + 0x3d10ca0b15570b89903dad4106fa7bc0b54f222c3df5562283acc71690fe488 ] .span(), }, diff --git a/src/tests/stone_proof_fibonacci/interaction_elements.cairo b/src/tests/stone_proof_fibonacci/interaction_elements.cairo index f8c59a443..c1780d2e2 100644 --- a/src/tests/stone_proof_fibonacci/interaction_elements.cairo +++ b/src/tests/stone_proof_fibonacci/interaction_elements.cairo @@ -2,11 +2,11 @@ use cairo_verifier::air::global_values::InteractionElements; fn get() -> InteractionElements { InteractionElements { - memory_multi_column_perm_perm_interaction_elm: 0x46ecc57b0b528c3dde60dbb870596694b2879c57d0b0a34ac1122ebea470a8d, - memory_multi_column_perm_hash_interaction_elm0: 0x207a232fb05d8c8261c44be98177c09634d23e7aaaf4838d435a4423e3a025f, - range_check16_perm_interaction_elm: 0x2984c71a0d0a47b1d9a406f6c7be890100941f67f5db0656970832e51d48ca6, - diluted_check_permutation_interaction_elm: 0x7793f70cbb5b4ae3ac72e5bce7cd46d62cbe169227257e6925e5564e595ff88, - diluted_check_interaction_z: 0x3c48e3094aeca888fe6781ad7594d14d7f88062bbe320c6d6913f44b116810, - diluted_check_interaction_alpha: 0x1d7304763d588fc98a927959788ad2f21d76121918994f14fc417617e6e9747 + memory_multi_column_perm_perm_interaction_elm: 0x33dd9c083eee682a168398d8189bf14bc503febe8d298c7b254ff5d74868c39, + memory_multi_column_perm_hash_interaction_elm0: 0x6a7aed3206de9c6a434484cc1f499801fc2df433783aef27b67ee8010b9a6c5, + range_check16_perm_interaction_elm: 0x645541a20083f184215fcb20d8014bed0546f6ae292f9eb7ee3de254117c597, + diluted_check_permutation_interaction_elm: 0x11d978931f41d88e9e8930b42c84b6471782ca8c565464dd6f468c2b4804a22, + diluted_check_interaction_z: 0x1e22e58ff299d68ff2d5823796c232bd70a8e700d70379417849503417a478a, + diluted_check_interaction_alpha: 0x3b74ba4892c5814cd3d16f5f28df48e8a6dc70a3d67f18b1b4921510fe88278 } } diff --git a/src/tests/stone_proof_fibonacci/proof_of_work/unsent_commitment.cairo b/src/tests/stone_proof_fibonacci/proof_of_work/unsent_commitment.cairo index 27787805c..6a3b4d72f 100644 --- a/src/tests/stone_proof_fibonacci/proof_of_work/unsent_commitment.cairo +++ b/src/tests/stone_proof_fibonacci/proof_of_work/unsent_commitment.cairo @@ -1,5 +1,5 @@ use cairo_verifier::proof_of_work::proof_of_work::ProofOfWorkUnsentCommitment; fn get() -> ProofOfWorkUnsentCommitment { - return ProofOfWorkUnsentCommitment { nonce: 0x40719c5, }; + return ProofOfWorkUnsentCommitment { nonce: 0x6ee8fc4, }; } diff --git a/src/tests/stone_proof_fibonacci/queries.cairo b/src/tests/stone_proof_fibonacci/queries.cairo index e9d6977c2..67b02404b 100644 --- a/src/tests/stone_proof_fibonacci/queries.cairo +++ b/src/tests/stone_proof_fibonacci/queries.cairo @@ -1,22 +1,22 @@ fn get() -> Array { return array![ - 0x4c3e3, - 0x53e5f, - 0x5e7ae, - 0x6f76e, - 0xde621, - 0xe0f5a, - 0xf5b8c, - 0x13d133, - 0x180758, - 0x1eeb19, - 0x20d785, - 0x21f804, - 0x245054, - 0x3883ce, - 0x3970d6, - 0x3a8f8e, - 0x3b9258, - 0x3c7016, + 0xc046, + 0x4e274, + 0x5d81e, + 0x826c7, + 0x96f59, + 0xfedde, + 0x10250f, + 0x141bae, + 0x1e1f8d, + 0x213e2e, + 0x23b401, + 0x27b28e, + 0x2811e3, + 0x28148e, + 0x2ce83a, + 0x384d24, + 0x3a1e60, + 0x3d46eb ]; } diff --git a/src/tests/stone_proof_fibonacci/stark/commitment.cairo b/src/tests/stone_proof_fibonacci/stark/commitment.cairo index 35764e819..bc1cc5294 100644 --- a/src/tests/stone_proof_fibonacci/stark/commitment.cairo +++ b/src/tests/stone_proof_fibonacci/stark/commitment.cairo @@ -12,154 +12,154 @@ fn get() -> StarkCommitment { config: TableCommitmentConfig { n_columns: 0x2, vector: VectorCommitmentConfig { - height: 0x16, n_verifier_friendly_commitment_layers: 0x16, + height: 0x14, n_verifier_friendly_commitment_layers: 0x64, }, }, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0x16, n_verifier_friendly_commitment_layers: 0x16, + height: 0x14, n_verifier_friendly_commitment_layers: 0x64, }, - commitment_hash: 0x6e8740c697a0302b55c1b26d955e4befbaedc6bceeeeb54ee6f2dbc9a68bca1, + commitment_hash: 0x30b93bbd6b193eb57d9f818202b899b7e8e09b0c7d183537fe85f4e6b6f4373, }, }, - interaction_after_composition: 0x295db9e6b36bd5b5d2591d7d76a57e241821fd478b9f667778f0a09960d3a0f, + interaction_after_composition: 0x1c0d29e24bc79e4679b20a2185841d65fa77a288bdd472e1d4a3de9324338e7, oods_values: stone_proof_fibonacci::stark::oods_values::get().span(), interaction_after_oods: array![ 0x1, - 0x72dee88e77d8c055579c4a61433e11efe9bfd337cbd7f2921e0289eecf5b3dd, - 0x5407254080c87a503ec3982ec47f599c1ac9ecb4287d2f833a336ba623df0, - 0x76bed0e72ba87bd8e5e9070994e58c4af28c53da22b3ed0cf30162655775b07, - 0x730c1269c566424be289e3a2270f5902d9f414a4bd3a8b35e32d1942f01128, - 0x7e7eda8607a457eec4db85bc6ac192ad98c3f2581b3ec041c0891eb2aa78c, - 0x2a0f0991caba8389dbf65d8e568c4736f9c37929faa1d89a359493fceebc678, - 0x1175f288ced0a9fe0e556a1184212c15506f71e7715ed9b9c627578d1cbef9a, - 0x62cf5e53585b02df69c77fb4c6351d3688c1feac3d5c693ec9f1240a4f5eacc, - 0x59a791e285fde54ea456c7a70853ffa14ea9ba2d688c68bc56891747989fab, - 0x21e515f9fd61cbbfcd87202ada6f7c7f8e8f623f54b70224ab41124be19974e, - 0x434fd994ef0b640cff8ff7d3078572e1c83d6588369a66289c2e04ce139ed8a, - 0x6d6cf1b1c15085ae01de41214231318914d95f20effafe3d96568d7701029a6, - 0x37bd6fefb1ab211170df858268b5ee6df4a8998685e27849dac33bbc640f531, - 0x24dce75885267786a015ce77f7248b3ae6a0c82d695da5ea1abccefdb8ff571, - 0x5cc8e8ffe73ac2024c70cc8d7dcba66d97285ec3ec1af5100f0c54bdfd304e, - 0x6a4fd281e45bd28ec8a1696dbbc1d1f1a0f61465889a8394c62514e6912542, - 0x4e86f2babb89acc00463c137628499c8f2f51138290ee27e468ea3d3c0589bf, - 0x3b0f0ce8e5be4b168af7b14c678e861aa0579611d7f9083ba0fc7f8876bb128, - 0x409dca461557554eaf4e70a5f74c52fb5460f0896d443af02f4625811449dc7, - 0x3cfa4ef1dc50d8324cc59bfdc0f731a97b2f1338ad4f420781f7b593714afa4, - 0x576c2b82010159b91e823b0ebecec7793da834c875008f90f5c5822d0e8fd1b, - 0x6b65e5033c372fef8bc10fa66bd972a0ed577e6547801ac0d0379a0dfec9c21, - 0x6d25e54c937cc8ae1f6e79bcac1f1abf32bd946da6d906e3339991a77a64f08, - 0x3e0fec5981eda794915df4a1c9b17c4ba991cee5b8b75fb05a654c1ca4058ea, - 0x37f4a17ebb057c9bfd29d54405e87a5dc573eda256f1f8cf9b7683e89759087, - 0xf637086b64bdd0ff5806a6b5a9183aeb2596afe092af1cd4cd17f0c45265d, - 0xf9e1c114f25f966e41a1099d7910574d145034c670c6c47b0c8c06a7b10ec6, - 0xb98caf6ac90a2db2be413a82e1384eb70654fe09784ef26ec9bd6974078995, - 0x4603ceb52efc3ef1e83a3babce290171138a862b096a1950096668504b60434, - 0xa8432130449cf0d17440a25068c144501af2a0dae225471324af90554138db, - 0x5e2ba735cb03c302f0964976ca7faff372205d9fe79c1f4d678a952affe7c92, - 0x7594e3859664881552a5f643c7145e4edac92326c8f1a6d3765eac3168f8618, - 0x57466856e5f98912e2ebf6f97d33ec5480527bafa41c5dff0e7022b5275cafe, - 0x5d3304284c1a760fea823062c1a477e1edfdd490c873176cd8d6933a06a80d, - 0x77986cd6e98a77f084519b2b361117cc7249af9172c09a272df53cf3ebced4a, - 0x4a8da534fd84998233b6c36f56ef8945767c2e6301087807f90f521070bd89, - 0x2d50b8e37261a0c86a0c0eb0aaf14a09ed7958d249d217d8f6369561f2c6ee8, - 0x118a4a2125bb44c78e12f52dbd8e6948e66b047369597b21982bc529b6a1947, - 0x75c73b587b0d932865f70b4cc0d9b81f041c46217beecf514839231265e987a, - 0x590183ab520efa35c0c6193295f5e296ea20e8a75b70f9135fc98d95fd2313f, - 0x741786cf9ed2d11af8b37bbae63eccdc14b0896ee3cf9e889c8a139ff00d56c, - 0x5e2ee7e34fde305a8adb5c5264d87dd6d4b970b3b71939e585dac3e7d3c16a7, - 0x643d33bb3c2597b1ee00c123f9112337aac4235e70ea83d833d21edb50de9f0, - 0x342a48ace5053aef4aed83d09a25f2253053aa5118d9302f9809397f0fb5efb, - 0x1dfb90f7fc485ad9bd6122bae398d1c7e4bf0dce4ca3b47e249a6444a32cc4f, - 0x2a611dd0e19fc7f0f505d0ba754d0c92c5404fc5440c2e9a1ef6b0c4cbc5a78, - 0x5610ea430c043f198898470e279614c659bf3aac5ec7043714d0d6a3c1837ba, - 0x9ffbf4da715c575a8f0a1e640ec38f8ceba6b7f12e0ebd063ea0daeb4d9da4, - 0x261025c5ee7bd6b63f72f9e76785732d0f3c4ba4bd2cf9174f93650f542ce5d, - 0x627898d4a57f9e27687e1653df069cb45281b48bc5362c3a7f44d4636b9cea2, - 0x5972324c2b7121d75435819900a4795ceace865772e1afb77a5bb8bb6ae0009, - 0xf0bd46ec38a1f14ef5c3a96ee05e1026eb93469f3ecf790d3ad4a9588d0f6d, - 0x4198f3b59a172dae1264c562423d8d32f07285831fe7d329a182b82367857df, - 0x67faf727751602d5e7cca400560039c70d47e3c70e5fefe65a60f832fe3a069, - 0x1afea1dd74346a1ca147e07dd661adcfd400ffe1481a74b46f6e2d725f80c4b, - 0x5c033341b7ad3a2452c6e757c5f7ae0b393f919b45c43421ad1dfd5491e97c8, - 0x68bb2aefafef5e20e91be06308c90f1b4520dfe10382fb5e6e44b1549d92f78, - 0x649d3e1f7946df7db63788ea6d197830a67c383c584b70955d2743b896fbb64, - 0x5dd3baa2a75971672eacaba095a9346e34fa2b145ff2ac0d5b125b486a4e2e9, - 0x4ef4ebca1a210bdd5e356ee2589e9dc77ddb5983a3387481f772397807f63bb, - 0xa72436f152e7fa40babbc0cd86a72d57e7f7cde406de125d513cf70dce8c31, - 0x2bab09c9fe10d67b86a4781e975fbffdbedd3bd950c93a3531a4ae79a979bd8, - 0x31b17ec0b68b4a0023f1c090a6e11212bdde940f8301fb01148fec7d609f951, - 0x49de0a9bea5294cb2aa83e6ca400122cddfd063e378bd55c63e0f1662ec5fbc, - 0x6c8127cf275bdf2e67fcea0696239b95c4313e3884806c0f300e2986e24d4e7, - 0x5c93e34fd8777a9dd92a5a46c6212817c71260ed60c37e6069c5b1d659b5bf, - 0x5edca068d18ec1153afd4e33777d176323a52de7ad6c9a0154985ba5ae3d97a, - 0x45435bef6069d5b898a412b6219f9f2979163dfc942936af554ee08d25f93d8, - 0x766e92c56b355f04e299defc8974aa38160c819424fcaf6773c33d7d4006470, - 0x59b207365353eb41d518bf47014ee06975c22ee7fd3dcfe08e988e84712738b, - 0x6024dd3f17165a71c2adc2b2c0eddc3b27c76e68206202264318c3061a0afe2, - 0x4cbfb7c370f8f87b54579ab45cd7999181f1247835dc6e389e126224fadda0, - 0x6f3694086acef1ea51e2cdc0dc20c90cc698d9f936459ed545510bf9ec2af9f, - 0x1ed83fb7353932a1ec36faacf794c1732c207c370b7b15eeabb92d8879091bf, - 0xaae70f0c2f14c65b4436ec1cbad4d48816510c45965f7ea78f813e5bd0d06d, - 0xb05ae02b4f6278649b0b8a3297f790b3c054ac1b1327ef492573be804c3f23, - 0x2a8a3a59fba53d308215153d044cfc643bf65bb20d8b618078b380c21e518c2, - 0x2ce2cabff680b283c08c5b2b755c455a9ca7cb0192d555367678af9c6d14b2a, - 0x3fd885cb197d8c05117c181fd9997e0eaa3cc6b5576e3bfc05203501a10e37d, - 0x1b8a6b3346e34a0c71cd4f13fb511aa257f92389119cc0774b83e2b9195d200, - 0x402b16107e08414da75860871b071660c6fc7308f26ae30acc2b9f66bfcd2fc, - 0x6a8be0236aa075438aada8e4fc2739c8ceef227ba0c782304927e8710cfaa08, - 0x7eecfa6834074b291a5189f7c749e4c905ffeba00c2161c195496d398d0333e, - 0x17a44e861a61f5b098152fa2da18c665faa501947130c054a99cda31c44621f, - 0x3f9ff2750027ccc08af0ca84eaccce13cc9d371a5b73c5fbe33f12e2a2709b1, - 0x41acf3a8bb441e83ef3b8c24ca5a2ab1d963bac6c2ba4fcd69a8fe9c3df3ca0, - 0x43cdbdc3bd56ae17441027027ea03403a98737f93629c8ede91dd640e65945, - 0x31d89e1632154261200d85252072222b3ebf43e633e0c77be4706125210a549, - 0x560ee12b9be455ec89ddd8a9e499c2ee445aee241355abf55e6cff448f4669c, - 0x579b601b281c0e83f7ce1e0bf1d851865f62282777b657ea15bfdf64652db7f, - 0x151efc647fa24490b0b31378276895e7894bda6ef48357cefd2394d80a67fce, - 0x2ebbc5252afa730020a98d7e0a0e0efac768275a7dcaa1110059f373297147e, - 0x7955ce18bba0b2dcd22e9b673ddeab9902b6401201cb39743466a1b8545468a, - 0x74caec3d453dd21a7dd297975e963d3930c7c823ea3850d5401a4da0e6251c5, - 0x4e71f8c0f21e8918777bf96be0aa3808957601a9bddeb48d3a7ee63b4b3e4e9, - 0x77b2206bbdd62c2babd86d9dac63a62579701afd9a04ab1f1c2bbfbba75511b, - 0x3fb9c135f74c9cd6dd2e86afb370c5f791d13911d45729a6f84614b4bbebcf2, - 0x5c5934ccd66802cd8d944906d607573fbd66ce49feb9149ae7cb1d17bd4eb61, - 0xa6f27c01713cdf4cdd9666efaf13db732d8281c7dd5d9d33d978d3cfd27b45, - 0x47ecb33aff0120c167ac0c5e235776963fdffcad1d62fdf5e67763f41226604, - 0x6f0855746b1e02d0e0a67f99b8879dd1458565f615fd2391efe910add6e9921, - 0x519efb763c11f0f307c6f2ea12b2c00387af05246505d7474743412daad5b4b, - 0xf4dbaf812c1f916360334960996bca0fc477cde4c3e8ccae806d887da3a6aa, - 0x785b28b1c1267e16deafac0280382f68867ecdbd180ee6b0a1b8af85b5c7e01, - 0x2a2500147d114e38910f17873e0618ba7d185555c1b229a9e5fdfb242b5f4d8, - 0x7c33aaf399390f2cad2a3deaa9c5f27611f9cf48e1ebaca3bebc5da4255a8b1, - 0x49697dc3b71f0843cfee83342f822788223342056ca5e6acf79f55a14c13d4f, - 0x6fa49aa74a5cbd47fbef4d6539854af2eaefdb2cb1e85460364f19ddae50d15, - 0x210ee50a67077338f0a85536b354316dddeb97e0785bb64db7274ebd8585ef1, - 0x3e17635aa0b131f7202991d70c6e5c7d2b81b5533ecfb0f2cc0b938a8c1752c, - 0x3ea01277662ca0d6a23618777705558661b1f5ea0124476cd90215cf51894c8, - 0x66d58de7e95ca2a983555c3696e5ff385b151c219738eaa0203fbe85fb968d0, - 0x50f3dabbb3fc7eb03d976cc16c389e952e0aceb936e4f37e1f2a9a4074187f4, - 0x3cac85df32d1aeab3354f87da4859a8f966af2b9250351c3793c08c99d5210b, - 0xead1fa23d3366c384b6cde0be00453909313dc9f13153d6383f7fdd607e5a0, - 0x46e9b7905af0b522c4634a239a9d44f7ea2ee2cf4083629711e3767d69106b, - 0x52083a259003c124cbbc1a0ad663a0615e7ebf32591fb26d0d087df5de3255f, - 0xb1d2b60782351d8351339a93360afdd073ee468006d8b54a0287ed3ae71264, - 0x67a8631ba50876e13b2e7f6cec4b1bb1dfd7f21ffc069cde5ace72547318b18, - 0x444c40553657036980ee79ee6c5dc5bfff83c9c485da166785fe3008ce65d61, - 0x2a28c984e787ade51ef6b3c6252422b6cd25b3e05a5ef0c279c474cfc624ea0, - 0x4c6d5aeea7f478e0e2389c1ba5d65b7dd8b1058217a26cb5d6c3a5b2e98aa2e, - 0x358bf0d97945dd951441ad716c10e10b98703abb2672f108cf7faf6a1f02632, - 0x490decc7ec793cb4913452a4ad04d6da33aae919bcd85752cdd0d60ed61ae53, - 0x5e5b3916e0050242d8dcf649c87612bd1797d5ccd0f912a89ddf1f3ec728bbc, - 0x6683b458297e84380149198f85a337092a06f06ca76d94d6ad03115792916a8, - 0x373d59b6aba0e90f9f4051174f17dd75f5d4d700eb170c44b7a766617e31d20, - 0x18de6b6e56e09e8d6ab9abe0dd5277b3f753ae60d673292b678a77e14f2bea7, - 0x19b2eb3410f7f9eca56582999fb6703485c244a311b2433e4c6b9e788aabe8c, - 0x6952d2c63f42766e96e2eb3c3072ff08d19ba88501181ac8906e0105341b211, - 0x3e6c3b165a5124c12aa92a8024ee35a21702fb7edf33097f50e5d1d35008db6, - 0x4fc3d979d8c4de6a949b1b35c99e7c704faf8f5a81ab2fd5a0102c9340c4de5, - 0x732da191961f02806365bcf361974f6230a46725af95af485d9df03caaef32, - 0x62e58e63775277094b3a3c20a52ba1bf206da70eea6a79c56a395df5d6b3c22, + 0x7868c5d7840087a855b30079a12cc1d5eeaedb666607b31e33175f41d3b535f, + 0x28dbb2cfd00dae2334af761e1bd021bf8021bf2c30d3c75e075d6741ce836a0, + 0xa0a779b5f29842287ca6ad3dffd9018d9a2a37007e18ae898ca4526a9a2691, + 0x53b0e6a89c16e607a26ad5825ff22f14b1b37a7a4f8ee6cce668d15a3648517, + 0x4a56b7d078479bfd71ec6e1c8a374849642f9be4b177a4c71ccd071f87a9001, + 0x24c24c299414aefb657b7eb37f51b3c52bffd6b316bce5d50a594521045a3f4, + 0x71bacb4a16d6dfb5748d1a8e584ae5581d6e33b1abe4f6a491308868b70922c, + 0x27883bc4bd5b8d46948d87334b08d7270601fdb2917c87102537c8d855e17e, + 0x31675df9ac822dc19b536e6e4004c7ae6c9d1e260072c77a8de26eedfc54892, + 0x7ce2971d07b3bfb37262d1d0c27cbbb7cad88db92b4c4bd27b808a379152f9b, + 0x48f786362233207cc8f6005a586dadb865ea42060dcf3cf5fafd463524f4451, + 0xea197a93ef678fa1baf4eb89605f8909a9c0077e7b59fbe3b5e98ef551de0f, + 0x7a0f8520c76d89458269bd95ca9a5256d8b8de284c7404439a59a1d84f05eae, + 0x3d4e323c595da4f57d0f522d8a8ab290fc748c528907ff3c6ab36508ae08461, + 0x50a7aaf380a5b11b7e7f27c368a8bab68af9a1e284ff1f8077f8a93ec9eba89, + 0x672abc6b56e6c8e86f6f1713cf84800b584e5bb9868fd214e03aa82eb761147, + 0x525887e108a04f6670f02a5eebd267c39616beadde7629879bd417e26440076, + 0x566ac532992aa6102365c9f532ac5580dd10d6ee417288edc100425d7306b71, + 0x1a186fc1b4b5ee8431454f616b04c2ab2c2b2e6454150808af7f3880e35f79a, + 0x73a62b0a99dc3678f3829fe586e145f7776975e693e69768d6a55d4c8f36fee, + 0xa400aad225ee0fbd64537626b2612d1cc944708d59f006fef9be305a30d295, + 0x5779b9e99e1a0f7e52d9dac2505af4bbb06a009944f35e5dd5f781631d06d1c, + 0x7ad6019ffc515cd5ab68bb68873a1cdf3d6de72a2db6dc764c98454b2f69c63, + 0x85d80b3054fd0b87bd20ed0f8c2f29f38fad604e1ee95d0445c77b5e99ab91, + 0x30c4ee130c47e053771660990dcb5223a713e95f687e177fb4b4c66d7bffa92, + 0x1366ff50f78d3cbb946503fe9f31dd772ef42c4c192a8847e1111e8eb23a7da, + 0x50dc3456f742c0d9268d2875cab9269600b0b6d031b114e3afa853f8726dac3, + 0x375376fd8a86df55c28b32e17e4f1ebf7a89f80f803c7ee28928172a9f467db, + 0xa493f31f208795fc2b62b2da8d0f6844543a1b462f3ed4b2c83a5d2bf02482, + 0x2a084ad1f02a578edc944f5332363d3f36f01d593a41b1c780c489b89a489d4, + 0x53d6cf238f4dd2bc47147993b629c04d99361b8d324428c49b783bd684fa643, + 0x311beec9a7ace3c500834b2562d048a52d4a0035da10a499e0a705993b70484, + 0x24983c1a9b51e98b9fa4a5c1951eef142ac8cfc1a5b00a1d832146b1be155b0, + 0x4a60957c67cc4f897cf25ad58f46524d8c137b784572adb5737e679e81e9492, + 0x2a67e5b49f7ea96e60b1b6f848ae4a5b7b77256718a9f240474e421ec475a82, + 0xd3d3e58527bc4aa8c8516e0c75b16b7d383d61766bf42d405adfb2868cecb3, + 0x49eb5bfdb52b10343b535a8da671e5537f76dbb082ca80d327a7d1ced1c1813, + 0x5dcff63507da18efc8f32d520061a36104aeb2249d537c96c43a7c7143ffd7a, + 0x43ef0837ba12f3a7954f82a054f2d9a81046ac989bb062b25e192e3da88657a, + 0x19a09684b294b83a9e0fecdb1584f96d1ca69ee8cab3a712cdfcf9fffd8a009, + 0x390c0a24e2d8e1a01326199fc6008e0e7b463d9852d57d110bdc59c42f17d0a, + 0x504d2603cdfc2b30132e63d008313f2167860895df68fcbfa9d06e14bf8449a, + 0x3b7e6118d1d8464495a7da4fd97246675c4df11b018523d52f1d74244ea7c0c, + 0x1d82df8727f2f6bc595814269646919aa7abef2a036a37d43b8d8e39fc29ea4, + 0x738f7a9d17b7b662741d7f8483e48e92ad09143029a6714812b6191e2238f7e, + 0x4c11c2f470ae3ece6195dff93b6a0bc57977ecb2b43e96acc5f1ac48e29ffd3, + 0x21f328e55205e9258ca14096d7bf81b210b60c7c101046085264aad9611b135, + 0x485052252bcc49e1ea8acc424f6108827496ee7cc8f5683de2cf0478d184f9d, + 0x63c3ed7402083ce2c5b87abd46cbdbe322f22ff8ce237b91c077cf2c8d37b2a, + 0x32c3f7b8c5427b30755e4f85bbb54d898d67fc8d3b4614c819819753dcc0c88, + 0x6bb6f22717be61fa33748bfac49d676d7cb3a377c1e069bf4084c284a57998f, + 0x1d4ee2c5711daa03b9639ef283fdd239f5c2bad67725f3cde07aced2599807d, + 0x2900acfeb87a24ab2a68439f8c1ebd9cbbb18f7098b7005c903ea0fac3b57d3, + 0x1d3dc927a04676a00b13136d8b0f4e4c727f32eca4d0fa65a5c37a805ff5fbe, + 0x64e7c25c902ce83ade21bec644d8a900e28a1513133f93c527e11843c605aa, + 0x687d799979e8d19a80487df5a25718162f84ac76df75c13cee8f618fcad89b5, + 0xb250457f66f4a78ba2c5017c23f601e90e0760cdb33e24c02860d1e13df3c4, + 0x3a13b1ad56d28758f738fd802a0480ef904288870178fc02d7a4703f451a287, + 0x700824bff100e6ee21146b5e87a7b75263fd95ef9b874ce510c3f4343e78b96, + 0x529d39dc2c40d2361dd6bb58a1ad002cc6a61aa1a1d3a94b23e8e31aa53f437, + 0x6e2b918db039cc6c8babc5277147573471c949b9e953d2adc75dcf8611262e2, + 0x2f12ad7fffc00e63f6e4f64c711b95113ed1938de094eb547e6cc49c2321c7e, + 0x6518b0f525c8734a23ca5b18a956d3e905e9fe4d973ced1d57e8e625e61a3c5, + 0x212b9c1993150df51af590e21475fab5047f1eea0d287ec5c0dcc3417c65124, + 0x66a7273f0082132160a243e68b5993c7ec54b93a6cf65eee94e799de4fa53cd, + 0x31354d753bcf44b5095b426450313102e3f93f066e690ed9989c0819285a3a5, + 0x1d7e1f9410bc2f92921a49868e53cabdeaa790c00b3faa5d143eecdff3edd10, + 0x60a545f6841027952bb2727adfca1d1563485a8bad43c00da8fbc0210eff360, + 0x101d4ae866b4d9dde4f0044540c4db000368f085c8519aeb9de6c6f2fb5a7aa, + 0x2105965bf04b6634f473f2e90650c0a3faf8c189aabe90105ebd7cc484557c6, + 0x7a1ba866d82ba575bb06bfe4c0a4a178d20213100692ee4e95fe7ef71e3e1a, + 0x215dec25e592192a205946e4fb13448f65b5d42c2219c550233c29c1b28939a, + 0x687fcc8e56012bf95e5016ff81357015ec2f7fb28ac0bbdc9b0c8f4a380590d, + 0x233cbd274d8b58460d0264b1cc6ebb49d1fd4d028ffa8090ca31615d30e79f3, + 0x691ad7a23a5ea05d508ad01202e6b43812a6a334eb4f77b64b756c386f051e2, + 0x2c69c4c3dcd8775145002146f651da0543a32dd17c4ab4a0b36adacd2a34ab7, + 0x549a7522f40646a59a057a707d54507eb0ed13f7e8d177df77d3f272f548a06, + 0x30b02a6d1e321215531cbf98208609549a15b716e257ab61832e5848ffa165a, + 0x4873056097b5936ac52bc208c2d7aa42e4b19ce0b37fde0d79cd5391fc3379b, + 0x644159b987e670f37296a8ad9e29d353919c76b7aa342e202550bc2bac9f1a2, + 0x6ae845044e4a9637400b4ea0f0b2989eb1c1357a09ef4dca5e1734742fd6a4a, + 0x15645602c7c6c433c962ec235abec69d013d13b695e0f092e2c58cd4419ca19, + 0x95a9bbfb14d9d5b1c5e76c6ff8e3e70ad0a673af9b9627b08f8219ad45cec8, + 0x36102f1b66758ddfdea4b1972b5ac2f92ecc6106d965c8d0b57dcdd1b97154d, + 0x4fc697198a5f2668d86ffaa95c126f8ba0d7df780476501eaa54ce0dd94e238, + 0x10c5ca87a4a8cbd70e8d06a010a732b04dc732a896e6e4c6a01b043c64f9c79, + 0x24d88b691a9ea915f9cff213adc7809386417ad8a543ec20adf245b7832680d, + 0x26da6927270ccc76639f7674441c68db2643b9fa93345ed510f258e326b0d79, + 0x3ed1745fd1b8662af5f691b0d84c8ebd9d2f029b4583c7f1ff2b3d2f010e7e1, + 0x32472b1ebfaccf2eaf232d17b8152aef1a1ef35666ec627215f66817a5ca4f7, + 0x111c03561bc1c7d025c511e451815f8a2b2f5850a70a4faa46ebe28a64ba626, + 0x7c3119123eaaadf62974c0333bb4ed999d37891987e66a5b4444ccc2b88651a, + 0x6cfd7778882ec7145f6e999e0d1c177cc66542213f9ff710b91d81d0a84bead, + 0x3217c9ac6e0e7d6dd6f3a9f6737ed90fb91be37c70c2095e0bba34676726e80, + 0x4911dcc079e3fce97ff17cb85f22480a490cba7e7b83f628e67620bbf93e86d, + 0x541e206771de8454d88946900166ad1498f1c44d75287bd6e664f8e91b3fd0c, + 0x5a831acd914777a71daef7a3e732bd421eaaddc87fbcea8d000cc5c2fad27e2, + 0x571982ce59262f88940de7c4eb3ade0f640fb5cace6f944460c496db257772b, + 0x326cdb5e3e572ea92c3534ea38d25f8eb67fa3aeebf8203a26db6cc9866856f, + 0x18a478a5e8f7eac8302a011b946256f9419e773af2143fc5d35e2888b3c0dc1, + 0x72c03ebf725206ee3e8da302d20b3a37f2d3ed459d2558f2e6d8116b80d1785, + 0x4dcaaf578b506bd84cff928af05dcc6b2620546d172e43cceffb67b5a206c1e, + 0x1f37145d32a5066194ab8b71ebdfc0a0dd1adf9fe3ce3259d7caa013061ab85, + 0x6c83957c138ae404609390956a40c0da37f8727d34306ad9c4dcd1f7cfad7de, + 0x4b9e66c32d6b90c49f691ddc606c060a52a14e2bebc3705ab7304079ff55ce7, + 0x56dada58b5a8bc3eb0e68fcbe3ce8e64f397829b050302b8a9058806774c815, + 0x4589baff9a4e06756fca4d5532bafb56bdc8e72c9f41c5cdf969153d066123e, + 0xcee152497866b1b0d5bb9341781f42c8d9777c94188851cae94868c0078491, + 0x4502dc84f2f3786360d7794a1c7cfda27d49184ec17b2a2341514200da3dad4, + 0x35c6954882d08ab1a6dd181def18c9764000b9f9831146cc39906b6da9466dd, + 0x3f2283130bb26ccb827407312d1f9dabff4d836d4d12c16fd7076c0d828a4b3, + 0x6fca8e2aa9223cba3ee1eb02505612b7819d12ffc5c71456408c8ff68e3c08a, + 0x2b989709f8d7f0ade477f131580340a946934c919e2034d3992c12d4b620ad6, + 0x302984172abe1cc0fd9b56037adaa17121a1c25715d54150e9b9591ad5c05a6, + 0x3ccf277837817cfa1874bd425c76a2f630c0a53fdad8148febb0d4328b7323e, + 0x5cf3ad2f296934328999b16c1e9df52553c54d0262953fff91f97269e5ccfb3, + 0x62016b10caf536b5bf30653c3f70ca59c414d923dd853bc3350f2a0e3926da, + 0xa979e1d89fb72dd78e08493bc35fc01de84b8c817e701286bc52fc406f2975, + 0x691872b561270cf8d34259464eae1e3eaee74aa97abf5d2dd6e82387e5cd58c, + 0xbb9cfaa2114657f8d4a9a4394caec24ba24526bb18997f18b8ec960ec66110, + 0x42923db6350cc1e28787e770f5ef18632378638452d64ddcddc4b0754145bc1, + 0x5c7f5aa242c39d158d3607f2c06c35776ddf61baf29b2cc01ff7c1f0f8da753, + 0x2f5c581fb811c24ae5ee543ddbc950712f7e07b6c9105deb9cafcd4ad2dce6b, + 0x5762b8182694a222b32a80f95967c6d5bb3c8058857fd263311eb9b1974e37a, + 0x2413e7815b1965304a941a4cfdfa6d5a3d5421b7604744bbf307359a9118354, + 0x37e7b12db964e3387ca2ced152dad129e4440fa5d40e0a869c1dc139cb89039, + 0x3f8666925feadaea42c59ca59000f215cde3f3822a1c0b5535f0c4cfd218d5b, + 0x1b3b5d5b5d037e1c08818f9b21a521cc355b76ddf3aa9deb40e8027567ec529, + 0x74428bd541585814c94762ade8454e0c868ccac6264b56ec42144b32b0350bf, + 0x6c2bfe5c87fa4817b47dfea851cc65a63eb208eba3ef8d8ff9cc4d5ccc38162, + 0x6dcf7f9d643754dde755f59b7e99d23fa8fe3873081d61cef76746e42f2c2bf, + 0x2fb76d734073db3e5f46085ec5058f02ccab70d70c31508c22e659ed00337ae, + 0x75bcd848a595eeed1e03977dd35f052ebf6a15306961e4fc57670916663e15e, + 0x7a702a902f300a47fb79f18195691f2f1cd57fa870b6d4e12d365ed59231506 ] .span(), fri: stone_proof_fibonacci::fri::commitment::get(), diff --git a/src/tests/stone_proof_fibonacci/stark/config.cairo b/src/tests/stone_proof_fibonacci/stark/config.cairo index 9c106a715..d546342c2 100644 --- a/src/tests/stone_proof_fibonacci/stark/config.cairo +++ b/src/tests/stone_proof_fibonacci/stark/config.cairo @@ -1,6 +1,7 @@ use cairo_verifier::{ stark::StarkConfig, table_commitment::table_commitment::TableCommitmentConfig, - vector_commitment::vector_commitment::VectorCommitmentConfig, tests::stone_proof_fibonacci, + vector_commitment::vector_commitment::VectorCommitmentConfig, + tests::stone_proof_fibonacci, }; fn get() -> StarkConfig { @@ -9,14 +10,14 @@ fn get() -> StarkConfig { composition: TableCommitmentConfig { n_columns: 0x2, vector: VectorCommitmentConfig { - height: 0x16, n_verifier_friendly_commitment_layers: 0x16, + height: 0x14, n_verifier_friendly_commitment_layers: 0x64, }, }, fri: stone_proof_fibonacci::fri::config::get(), proof_of_work: stone_proof_fibonacci::proof_of_work::config::get(), log_trace_domain_size: 0x12, - n_queries: 0x12, - log_n_cosets: 0x4, - n_verifier_friendly_commitment_layers: 0x16, + n_queries: 0xa, + log_n_cosets: 0x2, + n_verifier_friendly_commitment_layers: 0x64, }; } diff --git a/src/tests/stone_proof_fibonacci/stark/domains.cairo b/src/tests/stone_proof_fibonacci/stark/domains.cairo index 27a9a77e0..5f65d8dc9 100644 --- a/src/tests/stone_proof_fibonacci/stark/domains.cairo +++ b/src/tests/stone_proof_fibonacci/stark/domains.cairo @@ -2,9 +2,9 @@ use cairo_verifier::domains::StarkDomains; fn get() -> StarkDomains { return StarkDomains { - log_eval_domain_size: 0x16, - eval_domain_size: 0x400000, - eval_generator: 0x3e4383531eeac7c9822fb108d24a344d841544dd6482f17ead331453e3a2f4b, + log_eval_domain_size: 0x14, + eval_domain_size: 0x100000, + eval_generator: 0x594beafca8a00d9581d81caee93dc85c727c9af7fc4c648e3d47b998574e81f, log_trace_domain_size: 0x12, trace_domain_size: 0x40000, trace_generator: 0x4768803ef85256034f67453635f87997ff61841e411ee63ce7b0a8b9745a046, diff --git a/src/tests/stone_proof_fibonacci/stark/oods_values.cairo b/src/tests/stone_proof_fibonacci/stark/oods_values.cairo index bcf9deb96..a0d5bb835 100644 --- a/src/tests/stone_proof_fibonacci/stark/oods_values.cairo +++ b/src/tests/stone_proof_fibonacci/stark/oods_values.cairo @@ -1,139 +1,139 @@ fn get() -> Array { array![ - 0x3a63c21f32409c9ec7614199b40102547e7f698f903bdbbffe56785684b7e04, - 0x5652f216d992bbf255b97dd1b0a4dde72fab97f1bbcc4a4f53fde7fc50293c8, - 0x7c096e451cd06aa80d11322e82a4f4a9eb62413fbc76044867c36090d416dd5, - 0x787521b50c17169b9729a4522e1a0e7bdc028fc8ffdd87c70147bd67c5595d3, - 0x3c329225074106c03d9385a2fbe9aa6a9eecd2b13c6e26884de5acca7251460, - 0x31c7338a8e2a5b04693650792e9cac8f907a3a1c6bec9866889b0dd230b2b2c, - 0x1d8edac47ced1b6fa8a00305efc527d90a5e2b3d31d6a5d3bf33354d0d77c1, - 0x26dd3e59e2541dbe8a3aac06cc0262054f106cd409750e50fc08a32c5ed4947, - 0x3808f487ede4ffb746a97f5621717e8c247e56c71e4b801a89ea134207447ad, - 0x6787bf2159e5fe087900ca33c820ef7bd8ae0ac14fb2daf34c8db53624dbeeb, - 0x649fba72665a03f0d5fe2b61b227501a5b8f7b7acebc4cbaf09380338761ea7, - 0x5cd1c022d91173ff01b59e57f5ac27e0cc8cd06dc695c68fad795acad56331a, - 0x3b17acce9df933e0f951fa2dc5881337d4637f3da2649b32f6d7cbcec76635d, - 0x4ef09f53ec97c0ae427c01aa3138fc0ebb5fa0e0eff8aa88a58e24d0721566b, - 0x66ba8fee46d58ef5821e2f805c760944899d083a5de8b568f7cb28ba5a5bab5, - 0xab844aafcad2b0be5d1372f76be5f8af13117e83efdeba484c82f4b880d945, - 0x7bc4eb9a0b0c62e4e1b025b3186bc4342f4c1a4dd4f8d906fa312bd94df4883, - 0x30697d309839cef6817d37eff90b7e4e222ab8a7db1dd97097793065acf0b85, - 0x2c1f7ce4803cbea74eef0f6302ab3036a399622ec730d5886de2dc2d07852c1, - 0x2ee0fbc2c470ed13fba562a041682eefaeeff60b9ccf343b98a55135e3dc07d, - 0x4ef8992548369e4218881ec2a87ac1f1236fae994793441faa9c1cb07d76a6e, - 0x1bbd239d9bda4fdd8eb564a4b823b3b8a42c7f092910ba595712385f5844363, - 0x7dd197fc9ed8d7ac52643249787eaddb76f8b70a8d9f8ac17cb333067e5405e, - 0x6242725f5db1976d9d4df1c33e2ee59c5ee6d2f04d8a0938a78936f9969b315, - 0x278f1df82d86f636feb36bfa6aaed961f02f83e00a65f036b7293b998da9a9d, - 0x573e839f79edb998361136674befc4f14a438e32b6b058d44e1881db9a3e0ef, - 0xc9e64e4dc62fba091213d48317a642af02cf3cd21bc1fa99cdf2ae390d76a9, - 0x61bcca7e2434fe2845f1407142a4c2183531a741ac808368113af971fb3e3af, - 0x30323fa36bc5c9f0a646e9c83cbeefe8400b769e415495ce785cc4ab1fe2c61, - 0x6bb7fd058f8d69230d9407b2a6e9a319f26de238a612654858ece15d4056398, - 0x2793a5b8852a2101eff784e4549ec9814d22fb5aaa855ed00aacc26cc16e27f, - 0x416d2d8a6515bf82568ea0d3ba067ef2862ca0b60000fad3bbd148a6dc9aac7, - 0x2e9fc14b4c0bd7efc3c8f9575c01b46c5c050d1a13777e027999264fa2703a5, - 0x35222b20560ccdcf2b44cd9071fb1e74b5d8cdfb0bf3f306720a2dbd6a4131b, - 0x4fa5a00c2c14bb62a783d0683dd6464fc8557b0c2727c2473c3dc1e502418ec, - 0x53f6daaa6cfd4b45c3800ce6a533c547e0bd061fa53bff9cc300f296c1ac75, - 0x579a8f58b31caf4bb0c0eb3c3ff3098d7c22dcdc12ed2b79015df21241e695d, - 0x3662f88a8833549ef08ca409b7d03baae580acb5479db93bea215486116fab1, - 0x72d89620b70f59d95533ceddeea9b42ad6e485ce82ae1e8fdbf909c915a21ab, - 0x1a274e2239deacae84f78e0c032191394e53fef8cbd0ee901170aecf8b14bf1, - 0x219c4fe98876996045a2b738a44dac48a0fbcfee5ada3791e91e899e36a48cf, - 0x38337993a5467391468d056c453deb1184115877703f4bba33e326b8a5f777b, - 0x5e903001774644d4d6b2bdef63c8d61496a86fb9c262e6e7b79d87114132166, - 0x614dd4c24b2c903f07c669017861d7ea495463d63033a6d5253491b024e6124, - 0x4a563d8494f0d712455c57b6944c2bdbf0e5a21ed1bca6adcc84dbab9461b05, - 0x4a2aec687b7b78cd517bdd437d4ec61e855438fc9dfb1b37f6a20088f4f47bd, - 0x208f098c8f25947dc9fd5b138a3fd816599f34eed1e2582301af377fbd66a9c, - 0x5b1c2e1450b4e5027e13dad6ad6857e669f923c5c2f8ccea869a6af4d329259, - 0x9a253af187dc262630e1c872b1291f57dc72580d5c95dd7d63d95c4cd04c91, - 0x4641af946768cb50b17b0e13612b522b424226bb58cfa2881a8e1837e3b70ab, - 0x3f644fbd8949c0cb2f9102e63ea60cb23a9183968d02636a59199e0d3684c62, - 0x3cea05e4cfeef52d0a1b1c0e74179cc527f4b0ee46e5372560fe5b926f42b63, - 0x2c9940c95f9a17a8e5fd12b49a8e2c47266b0e9a4cd467ea9d36d826c29ccf5, - 0x432e8b4a079141d4a798ffd785d29ff0bd91deda0babb3f2b081029fcd750c2, - 0x15c6cf8f973411c95c1311efc333322a9887c58d336382be9933e0167316ee3, - 0x3f49f92f7a848997e79ee607088b0d88b72eaec8c0f0c929a7f28decf22e8ad, - 0xec249e3194855eb2cc9d155c8dcd96fac4716adc4c7d0c61bbc441305aa747, - 0xdf003cd1043ff595feddd0828c442a6c1e00a97157cfd328621a8c9d199c3f, - 0x3239d14b92ddec576421cc7efd6d83d33892a7c1a7f6d191e688fc0071852fb, - 0x6488a1054deb3e1a276884f5fac32701cf6c78688d9ccdef7c7e64e0d96676e, - 0x20fa0bb45d2ab48b84945677b6948233bd32ea373354be935f24073cc323157, - 0x5999f45d12cf8e4529e98bd152625421146584d60080d955dd5199da4a9f895, - 0x167e3697aae192fd8936b7abe29976b802eb8cd635f97747751aae5dadbfc71, - 0x14c7ee181752eaa201dfe4ff523bc8b85199148caebe219117b37d70f913fd2, - 0x2103673965b8927c64b311f493514320b04faae92bd1c2e9bc608c2096773c, - 0x4aa6d83f159484ff686fa304a011b5b89fb9916c8cfcf787f029cf82fcff6e1, - 0x4e94bc0d77b9ee122fe9db048f2bcf67658bb34bd9e29d733bcdfd7ab99f289, - 0x3d385bbefadaa470347c6ab25b66578ada66100f36fe96322b885b349a6d4ad, - 0x51f803cd7449b1fe21b93e19eda29940c5053dedef9fe476ef20717192477b5, - 0x6e251054f255ff83c8bde7d7c38c8148fed2797b5f390b8223a61150ce75c3c, - 0x32d2e7c9da1da713eef599074ad5ebf45b69f5c59bd679196410c116a22391a, - 0xc3e8650c42056870374d101b298c08c96c9ee5b0e36a07c7adeaff9726e36f, - 0x219ff5bd061bae60b15652d7e1576db46b3e62e0516c0e1a5dc1c477a7b19b4, - 0x2d35cbade6e664f8555dadc64a1d6a35e67f981f37673ddbbf4018cd6964488, - 0xff4abb08af6a9e2e15c0db372c9f3ab678440f37f585907b92b9641b2c51e9, - 0x1e561e46de019fd4a58e6ed9065d2431c573dcb9fc64fcae5259c7cda2eca9e, - 0x3eba7c7b00ea052bd85d80fd0593114246bb3dfa7132593e8ca7dc5fb0b5443, - 0x7370fb43eb926b47c873b168f95e695f988c0c0ecc360cb30cc4a7c52e3f705, - 0x7eb81bf822ae7298d79a84af3db1d51686b669bc76448928529a90af30d3ef4, - 0x3add254a71be450b03c0adc48aae3f50921a3c9f2c314992dc816c3c7b8a547, - 0x5ed3690969bb9953f7c7e425fd357052398c7454632d7ee3b56a3f952056a50, - 0x5f2da4667133d7a8fd61f0798eda83afbedd8b8091b588b5d671fce06c90f9b, - 0x6ed3b623a6a56f9cd70870b41e14f39ade27b49032a01ce13d1ac1cf612a587, - 0x2c48cd143e27713d6ed8a431f9f77fbc2e02acda139e82ad2e537d49bab51f6, - 0x486933e036c569cef2e2e1e61105f38e68829090e920ca8db475c5b32453ef2, - 0x7b24eaff77ac3967fccfccd3da6cd1cdccf6b226ea6d9614293a944f1dad6f, - 0x754150aec4b9279797c70fbc410ba05a5b2c98e0d9d4621f3b1c98e4ba29b6c, - 0x341ef6cbeae139dd3883a5a7fa64a886d95d99734682e151b542ebc5416cf97, - 0x7cfa6ad883bdc66f63d7471fd6669e7257534d0f96f489d11fafaaf7e6783e0, - 0x71aebca6d6527b6f0177c8a93dc927fbed6e4f95f38ec2ef0212cfe52cf09e3, - 0x521681b827cb7dbc41977031d2240f791f3d6b4c9d3239de290111c840b7d1e, - 0x1dfe4fcee6093e9d90760a96e4732be752a85bc08f37f9dbcddf7bba785441a, - 0x53750e6013edf3eb9f914afd88e90a888a06ed6c26c6ae8bc47e430189ce568, - 0x2237fc57788563e04e734b907860250c493970a176b9909c4bce453ca3645f3, - 0x19b8aecbdf4f3f4bbcdf454aaf26af393e661d62a6761deb8f6479d9ffd19c3, - 0x34219cf157543e6b906b2cfb94cde84adb067335b671fb76bb820cf8f4a2bcc, - 0x104a69651259f8fc85041c46426951254d543203cd88b1c0ada870c351f5a5d, - 0x6bad92813499115dcbc992ee7fc1a75c28927e4cd0e786206e73d5be67947f5, - 0x49a1442ee229a58408244dfa9a57769bbf0fbe94f408d6e1386d80f88852b63, - 0xc192d6e9d0610608b0a89b2a02e8bdccfb076f774e17a091292f8e01de3755, - 0x1dc818657705c5c14194f7f883b8fb089cbe16482dc3d6a09c500a793b4db03, - 0x41ff704a6c5350dceaa7f302a75f646a885cf43cb44bf4cdc32ee1995a51835, - 0x7339ab6a29ec4a422e1a2d0cf60c0143fc2f6b78a790003964d9651a117e14c, - 0x7f0c9b103d9a004aeed6794bdda1823394ea9e6ad3acc3231eab419d2e3d2ad, - 0x3aae3b74214ef0e905c7457f3a3356cac77a6cfe6c013be1049113a1102fbc5, - 0x145c5870e344304ff0ae0456bcad46b727d3b2b589e8c7172025a0a5af13f40, - 0x3ba3deb76229bbfc3430674974249fa1fc416d6d79752201cf0d5cde98f7fc8, - 0x35b6de4051317e1e9f695447296b379b059bf0968143ae6f74c209bcc6c74c5, - 0x5e72ce3b4c78931a7eb01506be85068c4eff95a3e525662d6f2aca1eb0bef64, - 0x56dc47a1d6d3bdaa3ed59c561fbaaffac9576585b50714befe427155c74e7a5, - 0x6319ae5cbe6441bce0e23c8ec453fd5c37841989016b70a4ae96b64cbe6bb30, - 0x4ce80cb618c9d0ab3b58882cbd464954f42009520811b0d13071c5a059b74b3, - 0x5a826d43a69e8dd1f27bfd81b2c582063a69974e3c1de990b750bf7224dc220, - 0xda9651967f8fcaa4c84c821613af32d366aa34792fad690753773b83b201d0, - 0x626dc09f285c1002cc62a885560070ff41c1618c3eee05c45caabc666a9e2bd, - 0x1cd0e87c51f7f03529f3b5ff4470367a610ddc2602383f68275b4e0c4752d27, - 0x1bfb3b574221791a65cbeb296a59bd10a6f7986d99981a0d6fd85b17265775, - 0x1a9ca90e2baadb83d11267f1be82f40b05864338252abfdb886696c670ab313, - 0x54c3d82cde7698537d4042fb17935160b63cb01d2d40e96ffe1f2ab6766f5e5, - 0x27e58a4c01305deff7bd3648ecec5fdec89105e6ca2697bbbde71dd1ade3ebc, - 0x70200f287b5a6e43528bfbd1177841468d3431e63cd673db3532ef92a7b5600, - 0x3a6789597f753b935d80b5d30389e6b7abbcd9427116c9cf0fd5d4cab89e2c, - 0x40d81f401761dca8b8afce8edf235061bcc94f2d5d600b74d8a16e23be94070, - 0x2f60edeb0baa50960230aa0602c52f65849de23553fb2d64db4446ab3fc950b, - 0x3e088f64db59b998acbc4285ac7ffb2e8ebeb86d6bcebe9263045a6c236cd7c, - 0x25e089f9a8de768f39ba2ae6bd6b8d9e675bffcbf1a69a1969cca135886bbb4, - 0x5d316a5168b8c3dd14b117a910a90dd785064e46cba4b80f0b3fa526c310dbb, - 0x2b215161b6ecc86c5a6b6ef93f96173eb7e793b46c69aa62e5d0410c0275f54, - 0x32595065fdbf761693457954ca73a672b0551735de02caddcb8f717d97b4367, - 0x29286b0c18c3efce3834fd4277a69c4f86ca3bc085e451cb72694d5605103a9, - 0x2440310b813129bf1969eee2292d4f95847ec24f637a71a33007ee8c37d113e, - 0x2b6b8ac9a10379acb0143d12a2d82adfa77c3956eff9f6f17c24759d39f9847, - 0x4f24c5ed930d64c09687660ee1952abfc3775e55f74788c1beff41d1d87fb0b, - 0xe880a9838b5fcd4926834b4c8bc563896d1e5d78b9dff2cd2efb2c99281e2e, - 0x5e2c3c832d4007de9af648e708d3ccfd173aa4fed9d1d63986fb0df2d362dc9, + 0x2f04daf73cc0e87db6f06e64808049ec8b1d87cb9f8306bd5474912b74e59d4, + 0x3f468746ab0fb702742047b0b166f4f7188db1f92f54258f9e74974c6df7abe, + 0x45f3fcdeca621009bf38cf64bdb62cfe99e2c1b15d6d9dc09b30fd1879a32e5, + 0x7d6125af100d52e3c3ba2d19711afa9026a5b19230c5e80bee939c6865006d8, + 0x2a21f97feebb60b3e0a44ece7dce776dec26eb165add1aec206443cf2d3d6d7, + 0x11c766b423fa1c9ccc3efb9167f4039b406dc8d9da4bdced22f8b050588e10f, + 0x7ceed1e3a8d4a03830952e622dc81ceee160d1f42ab2658f1e2aedccc4df9f0, + 0x5d483b26d7401065fd6ad30c8bc96b9b1952adabf9bfe8be41d06ee3d64f794, + 0x2a8e3798e7dd94964897d476a6e3d82274a283210df80797c8b7ce4cf0e1da4, + 0x1909b72a75e3cc9207c4d699413361bfeb57c07ccd4fc14121e16975a745d3e, + 0x45f180401da4a55f5a6c86531835b88298c222b93105365cf397f0d40cb175b, + 0x3d520b40268da3f156f634dcdce1aa4dd2166ad8b474a01160434a80ffdf534, + 0x7b4ec746a79813ae2c6ee0e24bfbbdfb60a45215e773be3da497023df0912a9, + 0x5617bd8ae2f3b8390408ecd8d677056db94abaf8474784f31a2f0e37a5152ea, + 0x29c8c76933bd09f7ebaa2f77fa85dc8aefa26a9ab95604b2f8fd0db9662ed32, + 0x1baa8286d23c3dc7b7d9427c12af81716628e975a9c8da6d07ac9897fbbc8d2, + 0x4a0160390c873c3a03d647f3af6b4a4f92abaf03a2d8d20fdc4320299bf084e, + 0x64725534c5bdcdd3344e66da959639575f742171a2665c81024182ead0641bd, + 0x1a75e0f30fdfc2bd6198672862ca7ce3c083336ab8e35e082df0af4b27c83e3, + 0xd7d46553024fdd8e494e2f39a7e0e9152b256df1285f9ef2e61c33b8c8f776, + 0x370fe78859b47e624f36abce7fefb0e288d34a502a6b9d3b5db2142d3b14109, + 0x5db111a438fe1cb285f733d975fb57059527c13903a066930ee7942d57dbbaa, + 0xd6e192a7ce724cc2b7e80cadc4a1f8053a58fdcd369b832695de91e7bf6744, + 0x3755b20f3db35bb39813761bd2a00ec703c39331deb0e5ed1336c0c55942595, + 0x6ded5aea248ca30f456be1cccb071c5885c18b2163c9a6fc01e0d378ac72df3, + 0x4b6fea1b2302aac24787fab0dc8f5a49812b04eaa1d6a2a53a5e88e73197830, + 0x155ad36cda56d25cc7669787318ffd446053cdd04afc2345efc3fb703f2406b, + 0x514767ecef3e00d3f33b7ab50b5b9878f725c6dea9db5db07570f3b60613a99, + 0x119104fab3d6b214d91fd5ff12aaada04d29ddc17e9b42e1b91e367f8b1d8bb, + 0x1cf1120b5c9764e4b0e9b4229fe078222b96b12b3023cb44ad6e869ecc93ded, + 0x344beb2f3fc53ffb987a3d28883e17c1a5cdbfb4303bdf63cf0f099ea5b4704, + 0x2a18fb99b7490327e783f8d67a6c9a365eb5fb55272cdfea7fb370a2c578bbf, + 0x39b849dc0aca02f3da9e3bd2ae6a5fc7ed88690e3e720b2dc96b99f32604310, + 0x1ca123e5c4a2830d2564ae668599a643ec9ca036167ec5da6d3795d897ebeaa, + 0x157042df629ed9991e578856c9ffdb80ab318a45e087c10db33222dfc785fad, + 0x375691a678e619a2c01c20baf1af5a675a290887afd30d4989b6f16e04b3770, + 0x4986cecd86d54e0216d4f4769851121fc937f5bb066d08d992dd534d6e7a39f, + 0x481db912401b6d62103bd7fdd87c0903df6fbbfeac2e8f26f2499a92216f62e, + 0x7c2211cddc2ea4c5a3e5010c448fc587181214b34702ace45103774d8601171, + 0x317d431a9aacf9643f2a5d680a52baf9fa8acea83e0dda0aa6e007e835c3703, + 0x3d93a07ab9a947700b2e578245f7d3d9b619d038601afbd437aea2e17c0e1af, + 0x3410eaef7d00e980a2a8ab34a3402be23cf4ae5521a9e64d0b580150428361d, + 0x766cf630d81274bb7f16cc6dcc2d26abc8e2b619f6451fdc0e01aa9489b8849, + 0x17b9c166a7591d8363b53b38e8999e20624a230ab90d93bc78fa43c92d1bdaa, + 0x335b3a7b8c72dd794e8f260ffe9849e252e0b1f49f625c1f972d11e268440b9, + 0x3f88479d652c2a04eda7698dbc4944d33f1631b82922bdb2a82654c7734a817, + 0x1d7777a13a1ff702dd78a0d322345eac519d6e82ef610899a8e35ebaac96352, + 0x30098d1d8913f73bd9e44059d3f9c49f24e144d94d93dc1c549df5e12690451, + 0x65525a3c22e53ba60840ac5538baeb8a3ff2301503e7daefd3fd8f22a4c2b46, + 0x2a4d4cd42703b4dcc61b5d3dd89d57b4be7188a93ca1c36fd2e68054009deae, + 0xc91a6c3f782e0c153f4a7b34811a51fac9e83c8b75cf9dea428c358786238e, + 0x613512d9591df92fdce6147baa1ecbd04d10478bc1d09fde5d95ea938acfc5b, + 0x496666fe2ffbc99267b841a25b1df3719b94a86cbac35e3a9a43a2626ce0be6, + 0x7a23471e57d5f162c5e67d5b67190f44125a98c3bf8ea6257bb0f998615031e, + 0x40fac2e713cd44fc1b7cc9b0791c0526b502e4fbb3db4324fb2ea2eae8fe693, + 0x11fd7de31411f5bbb0081163de79549e4f0db77fea54032e0b5c491f1d062aa, + 0x7ca613cd6e79c6e483d15c6fdd4c460b81525bb2d9c0af58944b0a50a5dc49e, + 0x83dc0280cd76da69ecb727d9dfe94695df35bdf1f0061d132ab0bf8e84a98e, + 0x779e088f88c26d813382c3749c3a21717b140d6cdad4143f989423b12ee4420, + 0x1a0b5d54fc7b6d99ede539de893265acc7b37641ca1c8f2812b93dfb6ff5794, + 0x3827fd3047928293d3a3a4b6d0698d3d14f5ebce6e4baa23152d44e45c01913, + 0x30ba2f7678e81f781b0fbe9386a207bb588ef03656df3c32878e14052a412ff, + 0x1a0fa03007fd511e32e158c1c041f73489976564f7a3c81b676b28774d9c360, + 0x2313ded7c4c9bd126abbe21a97f63246960411f0d27f317d313b166601b5631, + 0x52c588d44bd05998bd38186399dccd6851ee5385f92f730a5f61ea7c89f150a, + 0x4f487c3ee9f1301fc4985103e2580ce629d6d01dce8d91bebcb47fa9bcac51d, + 0x400a1dfa12751894496f575d29e397040c4a94754e59273e261b8559a004ce0, + 0x7d34c4bd87ebaa609154ae5a1bc1854ce74138019323daee60a8e674f1d749c, + 0x4b459e97368a0f741b208b87eca80d01d7e79d9e0572abf1ca78d9a3dfffc1e, + 0x32768823e415b9d6f6a6ef685b15cde865e388ef6644f56ce0b5f18ede14e3f, + 0x1acbd9578bf17a015adee0ad144bca314410f58bf7d20b7cc037aa3795390ee, + 0x3d68a2f7a781dba2620d98fc64bab9063bf84865ecba83d0402c9644cdee7ab, + 0x1aa2d28f54fb96102cf465907b595744ee1853208d5d3b00968175ab95762d3, + 0xd955c826facabd68c6b77ab917660b0124e3321774c09cd950868270ab2d4a, + 0x6cb5bf3e857a94b9f5b2c770ac31cafc396d524537fab2f75f71c383cf19f5, + 0x75a1995d99f7f2aeb56b2ab32811baebedac8c3154f303764cc09c8331a3ef7, + 0x6448e006dfe91ee22c51929695122a2588fd26e201fcdbca53f3197acdb9009, + 0xef9eafec849de7d0f3c075814a8d9e52f88b47e612fed005d5f31a70cb8369, + 0x4dd3612326d5fa9cc3d588763a812d2e2bc1252f786e9f38e20d7f29c2284f5, + 0x1605441626ca0b5f5501f74612d8f28b09b05ee82fd654d84a92eea73ed222b, + 0x1c9091ac7b7ce85df6a9715b5bb0bb08a461996d7ecd5cd59bad1fc6e92e565, + 0x65f6e1ab7a0eeacf204db1f4e6987d26724595657b8e181a930af30184a3f0, + 0x29571fcb79c65b4dd361ad0568730197d6a55dcf187c7adb21b88eb651d6484, + 0x17c3ed575ec4eaa5e1e9c91f8b508f0fb607545729e57bec37b3da1d2263c62, + 0x5460c4e492b0f50de1d47286b870cb6361b200b4476536db47549fa4cea9fc5, + 0x6831eaf9764b69dcf1b6473afa5d403e7265dfcf3a96ac6161d2ed3b079acad, + 0x30f5d8ff6c87f48ee78180b703a678987b2fdbd52f50d0d52d22c83bbe8eb40, + 0x6e7ea10610b40a659f139eb8067b7f21943c3504a700290fbb63bbb19083ebb, + 0x5a0d1188995cb8ceb184ee18fe419f6c7f45a46e1a27844209e551645ba8b94, + 0x742c7d5f5e909bab5c242ab486334e869ed109ae161f29eb50596187582a56b, + 0x7554fed1336b9b5f43d560f5fef898e9d358246b98fa5465261aee6798b11ff, + 0x45488780cd91f04ca45ccdf17fbbd1394a59f4c14f0dbeb1453c9ee70d89a21, + 0x28e91210e3b30625ba4e900e646037cbf9aa3418e0461d5fc08dfd08ab2b2f9, + 0x7cb02cc44722ff10eee2f5bd9bfc43db89558dec397cec44286ad0448fd7562, + 0x7f79ca06d2effc42d39d4982592e5529b3e9fabae43ea85fa29a0cf66177cdc, + 0x108fb2d2dfd3fcfcf136cd511613c0e7485dbdc2763c4a2b8fcb6de24dbb461, + 0x730db5de252adb58e57e9fb09e39a352b054327aefe709182858325f96f6890, + 0x1bdd917c0170e168c4e1fa25e5f128673379c75c28477d901ef546afb47f080, + 0x33a8610f41dd8b72666441537b12709bfdc7b79f914c52bc63e5817f17f53dc, + 0x707de6b2c3c50a6fe8074c077f03c17a1933eeda96ad27659c2fff5170381c0, + 0x3d58779d4774beda085070e12fbd2da8aed4e1caa177ada5f09e3d143dcf8d5, + 0x545699a39acd250f145c9e7da8843332ca430126c718f5bee839a0b17f5b6c1, + 0x4007a172acb5a304b6493c4d99a6856fbdec6626bc702a5a76425a7340ead68, + 0x11f1d4bda02e6fd140221a4fc2443306e54161151660cad45fd47958e85a4d8, + 0x2cfac026405cadeecfbe87cce56a25d8db45b72af8c51c65e0698da6ee1bdb, + 0xae7e92da3ad4503d6a5598e94b4bd52e4eb495029a99c996cae456bb4d3d78, + 0x5013f248ee45aa3b1b9c28508d89eb8175ea5405fa5ac20f4789c92e677e623, + 0x7d1e8b63f411418c996705c33c35b21064a6ce2ad29dafd662289cc161d3f8e, + 0x1dab056484f908d4027bdccfa3f3be5cfb5433d8a00a11a98ef8c8c2da99e25, + 0x6dcee1ea3845c7dad1548469ff91f4260ae1b8a70d44afc9455a2d728994a31, + 0x7db4d07fd3c506b23c838e4d94430748ca77c7daa19c1fce75e9d6a035082e4, + 0xfb82a9853f54dd4047ceef4ca6e8272e563e5abb4535e89e7eb0d40dc05fc6, + 0x369fcc0bc846413ea742f2361462d247604fc661f1b4dd7fdf4c1aa9f53b64, + 0x59f72e6e8683095c89f19d565f2aa02e46dd9e9cfdef8a0ce972b748efbfb4a, + 0x48eced14940489592f60ba239ac36ece65185e94da279da84b6fb78192cb883, + 0x54d29271c9eab593619f212177af86e64ca6f6ccc2dbb81448578a2de08a19c, + 0x2326f7c8158f55ea9c52da6f313a34f2a30795c32b526edfb561f41c94f4c55, + 0x1c6d9fea074cf3ca13df5202e4314d07ccd77720fcb74e40da151679e0b4ebe, + 0x30256b73ebcf45779d805a8a9d7e16489725816b9beaa07716627cade327435, + 0x1b32e4a93b9cde356ecb4ebde82385580eb7cbcfa0dc7ee444ebc2baf2eb5a4, + 0x1ea460f34a5e6ea7b4ca65ff51d41c87900b40cbe19ed88a3ee73e055049467, + 0x756cf1b3db222fdbb876f8357b849b29c80fea111452c317f06dfbf29d57142, + 0x49dbb1d0d9f5f8e90b341ae11cddccace9fde415fb8e8fc1d5d73dc1dcf1ff9, + 0x448dc4492edc2aa7cdd0d516cdcf24ea368ab3943b053ec4f84542b9345346c, + 0x2e7861497216dc76bed7b09dabfe23feb7cacc4f255348d0a6a03052bab686f, + 0x7db683698e8a474c56d767f859dac4acc7388ed3dce6a171fced0052429cffe, + 0x4f25685a20ad2dfb4e4ad162a05ecbc1b00bd410062fc8cb05dd49bae2042b2, + 0x5066a4c57a24c57ce2b50e3e87e65c0c89bb5425030bb552af9347637b4a461, + 0x5e50d16c0701ba8772594db85da348154d645476c4f730af943a9e180890548, + 0x440c047f3cb8fbfd549e2924aed54b965f33e50e366f325d367ef34e69587d2, + 0x7ad65e72982b2f4306c1379b9b7c00b09edf21a26636dfdb953db0f9aedb441, + 0x2406a0449b1ed4abd8fc034739bf3582737cecfbe1cd4119cdc6230b9c918ea, + 0x6d0fb89bc233eff8962afa8611aa1647da0f6e67f24f149bf0bc56bedcb4753, + 0x2507a4b7c3596291efa9b8915f34c0e2de6e54590ffb2f0f77f1926cdea7369, + 0x2c2632e56846c7c02c15a87bf902d779f55677a5ac3c67d749d2a6131f86ec4, ] } diff --git a/src/tests/stone_proof_fibonacci/stark/unsent_commitment.cairo b/src/tests/stone_proof_fibonacci/stark/unsent_commitment.cairo index 17f49819b..9d73253d0 100644 --- a/src/tests/stone_proof_fibonacci/stark/unsent_commitment.cairo +++ b/src/tests/stone_proof_fibonacci/stark/unsent_commitment.cairo @@ -1,9 +1,9 @@ -use cairo_verifier::{stark::StarkUnsentCommitment, tests::stone_proof_fibonacci,}; +use cairo_verifier::{stark::StarkUnsentCommitment, tests::stone_proof_fibonacci}; fn get() -> StarkUnsentCommitment { return StarkUnsentCommitment { traces: stone_proof_fibonacci::traces::unsent_commitment::get(), - composition: 0x6e8740c697a0302b55c1b26d955e4befbaedc6bceeeeb54ee6f2dbc9a68bca1, + composition: 0x30b93bbd6b193eb57d9f818202b899b7e8e09b0c7d183537fe85f4e6b6f4373, oods_values: stone_proof_fibonacci::stark::oods_values::get().span(), fri: stone_proof_fibonacci::fri::unsent_commitment::get(), proof_of_work: stone_proof_fibonacci::proof_of_work::unsent_commitment::get(), diff --git a/src/tests/stone_proof_fibonacci/stark/witness.cairo b/src/tests/stone_proof_fibonacci/stark/witness.cairo index 359aea376..df27f089e 100644 --- a/src/tests/stone_proof_fibonacci/stark/witness.cairo +++ b/src/tests/stone_proof_fibonacci/stark/witness.cairo @@ -1,7 +1,8 @@ use cairo_verifier::{ stark::StarkWitness, table_commitment::table_commitment::{TableCommitmentWitness, TableDecommitment}, - vector_commitment::vector_commitment::VectorCommitmentWitness, tests::stone_proof_fibonacci, + vector_commitment::vector_commitment::VectorCommitmentWitness, + tests::stone_proof_fibonacci, }; fn get() -> StarkWitness { @@ -10,352 +11,192 @@ fn get() -> StarkWitness { traces_witness: stone_proof_fibonacci::traces::witness::get(), composition_decommitment: TableDecommitment { values: array![ - 0x7d70f9e31a694048895b0e7e55074ed1cfde491c9539e709bf3aed247a9af25, - 0x5e26502ee71165416146bcc268e03d509fc62d0d38d031c7aeaac22cb72f824, - 0x2ed513ab0a954ef4656bda97a25004ab774b866895697aed479910dc452e1ef, - 0x1913aaa6759648b4a1a43967bea141acb7c6ba929f6f5500766d5a2ec8d460d, - 0x17c261ba9c0de9bcf625cf4c0ec952874e05cc9dcfcc1462e77d05b60bad017, - 0x28be8e0eaf161b053116c3d566b2ff59cc3f6b7a024bece52957b59fd51999a, - 0x2593371d573ba6faff9eb1c589f1e51053ed1b1d970ffd30313950d7aeaa63, - 0x59c8a7f455cf4e0ba8aedb70b0f53cb192db7c35504f0bf2c7e0b56fe3be1fb, - 0x4b92b7ebe05038d31e1ec38ba5334568787253287c8d9a1a7b90b4e5767c006, - 0x6b83ef11a556a581c9819dea0759c5adf525743a987620d8a01c8781b4b06b6, - 0x35d98d88924e9c4e2b09d78b41ade0c346c0fe1b249ca162b55238ad00a3754, - 0x6a591e4de8f3f51f7bd88026d77134e8296a4f836cac857f30df2eff9057219, - 0x41625dc9830ec9c33d1dc02e725c698d61dd43912f3fcc02261a4aadeaba6ca, - 0x264bfd09e6b955c4e43a3e0ec9d2d3baf1dc2179a26d04f05a22e669342edda, - 0x67189f4dd25a6b76696d709ae72ec37a3697f3e5a2f7581c954955e3140d78a, - 0x7ba44a241a837d5b8c80b2115b214d1caf92b5660e9560967df582c2667af2, - 0x7cb7b72b2da943aa771621ae46a45ba57e5dbd754155e3f7bf2568d47046987, - 0x504dd982f7ccf36fb78686cf91359a68b8791569fbadea9f4b9c2357a87d1ac, - 0x315cee9631725b231265881dcbbb2b6e1a696f8e5013d2812607810621bde76, - 0x84a581c13c327abac8f624bcab2fb37d669a080ca956e663a978924f6471ef, - 0x50ad0e3b00768a9ab39954a1c1e682119693fe7a6a6794fbb75408009a389f5, - 0x5c8f2fe65d5bdc7c78817af0db29ae2c16dd36436560621ad2fc32cb973384, - 0x56661428dddde60c6f61c94461e845887554a2e357efe1dcc63429345ce95f, - 0x7974f33232cb7ca8fbca054d7dcba201d29a31b8aa84b523cf2f2c4095552e4, - 0x35096c2712dde63c9dd6ac824893cddda573e6a04e4e011121ae4300005b8de, - 0xe66a05418f8a9fa4bf62cd18a8c36769c54743c1d0fcafa9f9a0d9f932c4d, - 0x437ae9f4d2574c123c1a476a79a33da8e772e8adf2bfd6c03853ac463fb7d1a, - 0x1ffb3aea4db8d6a5378fb7f64b6b3392e68f029886ba9b0d4b5d5f60a72091f, - 0x61e90a61cffd6cf675659ee419852c1198036a6994bbf3dc8016a9c93699861, - 0x6967db9490a594915a00d7e587a785183fee6cb19eea386ba4955013a6ef90, - 0x7505104354075fbdca04792d02a1642f4d5542603a6b1bef715acb17da0a778, - 0x42f2e931d2c12669b23721937419c10b255d61d7dcd7be2d47776239fb4af27, - 0x5e98d3cb5b566817a6ce84667823ac57ce63cfc96690ec8469db9ad529c6fcf, - 0x189438e017af30b3146b84f2ed0cfa1c6d0ec0b67c1b6aaa5be0148841488cc, - 0x29f2c6eb5bd093c9b6260c1070d21c6f96568681ecbd2a8e593fe88811c5cb3, - 0x1003d9936322ad4c6218fe18d906b9e6b70c2146685c27fbf7488644a65c0bd, + 0x7292f156e66e87304f8a7e0e565a3fec43d76f2c80a400c2a590c6660f205f0, + 0x1a5eb53e5336a81290ca99cbd8d3aa638bc94a830b39fdea42631fb79a8a18, + 0x635a6d597a5fa9e30719d9eb31fa71025849d5db13d52978f6c030ff83d5747, + 0x1b98ae2bcfe29abdff214a5d649d2b9b4861785e71114e4126a240bf88ea981, + 0x70bfef37afc339928c0b913331065c9f91de38950d4485ee3554b81049ca7a9, + 0x66530d11b117a33d3c4f625b53bd534209fce354190801eb5511d6e26e876f7, + 0x29c2c6fb927ec573b1b8d28eb0160e54b8386414ce096221c744924329a9b75, + 0x75913dbeef39e24469bc99ced5a8970e3c99a728979115a205198d928716059, + 0x764b5e049a3f2073449e18898e94b404f3c866e29dc24de116311c8ed9edf6c, + 0xfb84335e5da80feb729a0badcc7fc25152b599e8c760474422015ffffda485, + 0xb3aa6727ca035c9b754ba27b146e1aafae0b008cebf7e5c5ed30ea1ba3ef10, + 0x78bd952c31812a3dba9ea82034b8b0136c6e3259284678279222c2c7ec97528, + 0x2aabc8793bdd34d85d4bc8a65892e1a135711c8cf0cb3d28a686b3ce2258740, + 0x7cc04d09f944a52e78c4c0c3bf4c7b412332a63e4bdf6cbabaff72a2096092e, + 0x1e54ed7383142528172ca0a33fc6d858cabd2cb451dcf3e230415a554ab0904, + 0x1ee4666c435c870ad78576ff46d940d2a7c1ebbce56e478e27712b882383fa5, + 0x6b90ce41d9581f9cd6f59e3853d27731d1413e134bf4e460984d2069125444b, + 0x76033ecf0736a2871bd443651416ff0cadc0766d211e5664f3a0615e2934b5f, + 0x121f3f91e17d3331df67d77b6f81c288b538c382d1751d6f81b2fbe247c1470, + 0x18b1e78ed8bad85ab8eb8d5182462144bcce5da7385c14433a5f217b5bf7ef ] .span() }, composition_witness: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0xfbefd6f9b967b98df01050198c1f75daec4a5682, - 0xfed88642424d3168fecb34e0042548cac7369a21, - 0x72b6a038f75efd29d096d1751bf0744b2179dab5, - 0x2ecd6f022527e2a1cae372b512e260ca9d7d4225, - 0x109bddc66acc967199e877d18cb383b7e6f20c19, - 0x4c37dcd90c9aee2919f76b9c15b236cb1ca19a5, - 0x8316eaf590215f97321cedbc5996a1870ac87bf, - 0x10a1b3cd386edb01e45bc3e280f21eb97d464675, - 0xeb79bea6c76f6c2d3e5484b1b673621d7e45878b, - 0x7bb2aaa298e69c2ba373551d56d3f7a6e1b83d9f, - 0x72aea01b3139d25b652723f4915e602e152b48da, - 0x51004f13f7d208ce8eed3c6fc0706a8302908f23, - 0xca8f75309d6182a84357052b985b7deba515cc0c, - 0x1d2aae5c37c34fca65904fff05a562ed4b4ce0c5, - 0x6689f228e13b4e9c4d261608a1506a3bdc342ece, - 0x454eaa8a3692f9b0a72ae771ed92fb7bb50dce87, - 0x837f7b55040e9da06af621d3f7cf2cf1f9c0ed28, - 0x3358dc7048c832aecb6f993aaf70913091bfdccd, - 0x2c9b8cb485efd4cf5157cd4deebfd97b0deecb769503a1c7ebac19dcd613d91, - 0x7536b414a4b6598d9acaffd10cf0d2e264b2980e12fe68a2d0d46dba3801c7e, - 0x22ef0175e0fb493573698fa098546975323d233d79168cc77af0f2ecf7ab150, - 0x2c46cb36be8476a4623b1766044b37209adee1b9b7cfe4fb30b8003a0824795, - 0x123e863197b89985dd2a5545de3543da3d984da39ad289951e0b1ae3569d133, - 0x2ea56c0b72c11f2cc00dd90bc068ae18815e42dec5ff03f94567eeda988af52, - 0x46ab27f65da0e318fe6850e66a0aab39603dba03ee806a1e850251fed686e03, - 0x29c626adb1644be39a05eb0d41d0d5d3271a5a0e13112f52ff4fa43afa660dd, - 0x669ee50bd2c17c007ab15b2993eecb84eee30f170cdbfc57009766a17a46f23, - 0x5d1e71c2117c1910c87441bd2e00e12c1cf57dcd250a600548cf6abbeef3d38, - 0xb321e21dc317fb933d24e607c2a56aeff520d2db592dd9611c40acf4ad19d2, - 0x66f19ddfb2edb1ca0441f0f9e772fa889ceabec0b276a0405e3f6322bea6180, - 0x3f083d1845979f2eb6e6ce71d685d0643ca767572aae1c555f65651b97ba038, - 0x760611b497be73a73b72b680299ba0fbda17317d2208a1b9037718f0b7b833a, - 0x40b6d0ff7abb2745a5804f3fc627c90e3ed9f3ebc13b63a67dcc2268833f5d6, - 0x24d00ea6e750f94356cde9c43bd762ae1d5551278fa4f34c0fb2ff054e8dc89, - 0x49c4dbba3a61d843622a8c3811367d15541279863e65fe3a799f548cb040d60, - 0x2367ba4595a16c13eec3ba40f33a87d521bc2ab57c742b9864d32bd5d130082, - 0x3e6bd79e198a71944daaeb3559c39482f34c10224344bd30b2d8684503b1aa6, - 0x76bd7f5ddf043762d55d9f0293a4d443bcb49e09880c90d4ffae28f59d8fa80, - 0x2491bd5fb9e0a3cdae9e2978135dccbb52792e7f12795ecb52c9f4c467de12, - 0x231c9c384daa4b5ed67b897351281d889911c04a215d31f0b573cf1497086a9, - 0x28391d6736a3457f21c493f0ab67f4c9a34484b7a56ad769eb89b53e1635bd5, - 0x1abe2c7707b72778f86f4d53b3a018d8992948ca9ad4415f964dbd061a71017, - 0x74f7df54181b356a422ed44025c5b2efa1d769ffe06e972f0ea66f443ca125b, - 0xd4d636a4289db9c910b1a6fa9b3cc3628cd1ce5e6f00e1bd76c3f4a3dc9036, - 0x1405f4165cdcce011a4f71f3af2ea0da8785252bcfe5dfddc6864da049bcf90, - 0x72a93a7faf953cb7ce80cff6d171aef36fd5a761dfed16b1efd0587f32d0643, - 0x425ec83d10d21b7b9b9be745cd6e559218db47852514e4074079b994a4ec6e1, - 0x483a576cafc47e7a3d3340be43f6b3bc5e1e7af50a2002fe67254402704be94, - 0x138b9fe93c7f44876ae5208033d6e8b84067c4f23058c904e03d6ee881961c5, - 0x1008a153d62e315f10fc0cd356f15836a80e22a5ebad165b329286920b03cba, - 0x26ccad7fbf54a0d97079b57b1efb6bed1c2f46c9e153d97852857d46dc98be9, - 0x4495e46a2911e447c4b562028d69112a55c2a6bede0b85f2f959c874d317913, - 0x1d1ae53a845058e501e201e9e20e63bf05974f63dd7cc0613552a41db8e67f8, - 0x4dde7b7cb86beb059ef7d781e55f288f5a327408ec54b76ec431f70c790e0bb, - 0x5ea0df0fdccf92148f4ad7f0b70dbe03f7c1d686b992349209964a7f81203ed, - 0x564bc1018e60482cb6fda3bee3ff05d6ad5ba0e30eec5b4841145c82d09a5dc, - 0x4683c70dda900b3fd426aad6b7dfde1bba54ae954e38380c6dea4e7856ea940, - 0x6a925659235f977ffdba42d90fa5f3d776ca26965f0e0e9108920b6ac2f6f57, - 0x29e482e14c04247406a87d7483a0a524ba1ae5a4846f919104ef2c29dc08705, - 0x65039eb6a90427abcd7bf05e28fb31e20bd4a91f2272d960c23894e708e397f, - 0x64c72df322b35b329816e15e960be6b49de6af052597a5cda376737335608d1, - 0x3ffece4a1dd8c94b52c86f4f6bea63a7ebc28feb365a2206ed6dbbfd206306c, - 0xf113a5c418f2c8f8ba37d60b2f9e3637e71e44e8afaee36ec88cab6fd7e12a, - 0x4710904cc3390861e50734eed6d296ffb87328fe7c2a3cfdcca318a020fff6, - 0x28f8df989b8459c0e35e503ff1f286960d602aa303b056b73be2447ad321bda, - 0x3d3ae90691147265af54a84df3da9ce3ab8f5ba69a2c828c6562cdebda2c199, - 0x2d169ce81beb2b5799b0295898e51bc8c6b976a27e5ae20a6a95bcf6d4422da, - 0x7b1ffaf751e683840be069969d29295dd18e0d8c2a419ae5db6c8219d9f0777, - 0x3b2517a13771470a69991fa96c453d5933837b43cb975e995f6ef4a6de1d4fc, - 0x1b044b26abc36db8ff1c069f2ba8b334c225dfa7ad65a3676f66f7d03952e92, - 0x2376a049a284d63b7d99357e3ef37e6e0d47c15519ce941e41a2bcb5e6e50d9, - 0x593a295446f992c0343528b902ca02ca6e9749bab06a923d3aea704b0c12f17, - 0xabb23c147eced60a10b6dbf876a78fb8f4e7e45574fd171d410f3deb409abf, - 0x38fb8a43934a5348a2dfa47cd2b18ea53ad616f5939275bd1171229b0ef909, - 0x718779e836423ce5884857aa054b637b16fc9271729cf0ad046e03770f6971b, - 0x50845fd5511777297162ef262e6e6464f538403f804bc6d1bc41ef1b019150, - 0x662a4b7b2ce3024c7a1ee40c75a42ac1d8e294aa0bfd4fd26707658dbe34309, - 0x599c5c79f65258a529f33b4fba8d4d1556bc86f6b78bbdc5274d06e49b4c18a, - 0x712aa9ccd4d1ac56c0551ae8bf900e4986376987c992320368d5c2a36a94ed8, - 0x43ab2d5817b5ac1ba20cd03573635a35865a3f35058b0f6fc82a14762f73e20, - 0x68af13ebd5baa8fdb96c3b4b7625dc11aa4c8d073b0d6836b115748e599f7f9, - 0x46ea92b35ab5ea7cdf021e5d9a9cf261d82349b0692a4eb9693b530485a882a, - 0x7a4b77b536132734d735310082cbbed7dab6b16164f06e757ee79eeb8e8404, - 0x13f93f76b58a15f116511e9376b84cc4ec169e7fa4293d2278f1f6939552a62, - 0x1f2ee8b6ff35d403c2432bc5a41bb9acada207e1f4c3f5e3b07219cccd83aa7, - 0xb3d2eecbd911ffefa6085204b46eea26c1b681e7bfe7010bec42c39f3585f, - 0x4b36f65527c4bdcc0b1a9c821e31312d0eb48129c40631d3abe42b8dfd15d04, - 0x3a0db1af5c8f9d306e3e0fdf7f69a12337811fa67d6bbf598d8363cc5d5b1ee, - 0x381dcf41fc3241edb2c90907ca6ac353623cf9bd06f9823b93cd57d53f0fb60, - 0x6b9d4d56ac6003af429365402b0063c3c82e100e133e3fb2a935c5dacbba718, - 0x66d8825b9733759c6103d382b77d77e44ee5871d3e6f0128b6ee47cbe820af9, - 0x1d0ed6fc80854093de0edc8c27e9c07b44b89fcc8ac9256acab2e05de117b7b, - 0x4c0b7696c7cf4a4d2751590d6ed96513c8b80f1229f57c5e017c3e2a895ff00, - 0x12fe3470fad7d7d2fa611b3958bbd7744bccffe2d0ed4471af3c44cada7cca6, - 0x512ed69eaec09b5dd4a0d73ccb6976fdff9a4bc4b6d5f2f49926878ec7b451a, - 0xb37718222f0728b52f3855ce8bd25581c171fcb140ea0b365ec78cf7d6fa2c, - 0x1fd4b97dc1236eb61fcdaa8abf2da197a86cb845facc03f41c958c0ca4ecc02, - 0x48b1b84b09b63e1c890a5fee416fca991a15835c47dce9c7d72deb99dad89cc, - 0x2728f248c6664ec0fc306262b3282640127a0906890badffeb3bb565590e29d, - 0x5beb148a665cb5033b89a17826af87a54f7d54854375372aab379be34692a6a, - 0x5e98bf34f53b27f7578c4e4ed1f59c9044d2c24083dbabec9da77b4c7a0e28d, - 0x3da30477033a82502d15fbcc77060e0a4c58988556b835bfb9699baf43c955, - 0x590752842c483b64a507e1e11b8895af40b24d04e965f5f19eaf3f2cbc93484, - 0x5c67195ecb58f1a85a24349f8e433c001fd77ff39c110a4f1b5e4242bcbba42, - 0x1df745a3dea1a2fc54674cf7e11f842fd78ef39975c5f0ef34e655b7abc5c3c, - 0x54a8acd2d4a61e965065608f9c755710c3d520456f7ce48a5e8e0b4d7a14ab5, - 0x5a9803a1b913460e275d6b4c78f8be27928687969d967970d286d1779eba4b2, - 0x439c8562cbc44ee80c6396c76beb264fd240d48d3299f4210262ae638d7a176, - 0x53973de9b15a76e8b65d19471fd17000e2732cdeb993fdcc20938a869c252d5, - 0x3daef1e5172bab6d0382dd6f31f3545e26c586532e255ecfb90927a2f19cbea, - 0x65b53f048df3c977d6665cc38ba71f3280a919da5110c63d619a106f0c20c80, - 0x222864af387c0a082c47589818b8fb5eb1166ba4c5dc8f9a0691ebc9d3264c5, - 0x197cc0952139dd16410fcd49d9df4cf8bf58a013eeefa0e43d5f403f89cacea, - 0x627e8dc78c0603584b700dcb2489aee7b103d7682978a2db587829626887a36, - 0x3ec411b276b4abb438695520b7b37def1f39a837b3dfee9efa349a5c1ab4c4, - 0x3187b20723b52c9b88609db8c3da7fe012ccaf10139633e27e4f1fe709bb503, - 0x71de36249e1cabe452984687ffd4ebcc429a772a7ebc678b653f6d7d0ddb57b, - 0x47f9ba9ababc08f4b2f532cb292aaa26f43e2ebe652d9049b288463d913308a, - 0x5c29ee6b0e5e956a9c229c11aa2f037a9a8e77209ccf5b21758c26b80b713e2, - 0x99c9bb4f0d98491a2366e1928075d2af1472d2073ac08b11b2fe3c2244b136, - 0x7c7077c1c96d2f68f0e5e5ab4aa82912f8a76f71a33963be120746b2826cf5f, - 0x35c18489f367ee7bc575d3a44ce5235ba4d88c26cf60bfe5322c58c09c3cf82, - 0x6c6d33e0a47e42970d1a67a654c7478380d8edb0f326accbd7b2b71cdd156dc, - 0x407e7f13cadd16fa492137d5c0346fc55ac53f3a90a4dcb8c6e2bb598bbe580, - 0x7322e03d24a7e9a0efa149cd7aa1db4708bea8532b5b549bff4338194177b68, - 0x416f5036824da90febd2fc18e6767f10f0f76d211490e9ceaf7044ecc019730, - 0x5b29c79f7fafc3ccec12cf54d9a6f0947c58f6a590cb7f609ca349444fd5d4f, - 0x37648145fc91bf0dd3fb635cd6c13686596e0fe74b49f2b77ecb9b521a52267, - 0x49f89e82f754d6ea7c16eefc4ec513ebc9f8196fefe68dd9b3a679edb2b0245, - 0x40e0c058467437beaf4f6c0f8b609c31a276468fb7f026a6cac874fa9d0588a, - 0x48abfaad7f778619d4aed79783ebab61dfa4af9fa5d4a3df7e5a8fd52b3a6e3, - 0x77d7135047c6383b13dcb75a7cabf8158fb691826c8e7817428831f1bb3e882, - 0x76ca9dd0e88098f294b170012dad388a997fd1a96f9d13bc40a1b55faece9ed, - 0x392ecc43602d14a9d103d6a152bf99da9d95be0e15b21ce3bfaaf0480e22420, - 0x54e916cf832b5dba9ade299f20bb2185ab7bbdb4dc54d910ac119464d53154d, - 0x38d1a08a0c76a8c4895487bb7fcb78a2d7071f457459f821a89208ce5377a55, - 0x1ac1eaba1455eb93ce6f2b1b9af04e2e2eb1b3c0dae2438cf8168e6013c0081, - 0x4c4bb0dc23c2381e69253e094b838c687e449735b77fc13cf98a46e88eafc75, - 0x341e6c14df4434ad02d86b94a72145023ea3d5d8b494ca53fc016704e29c3fa, - 0x5f03c7800a93a94c67066f6dae7db9b1fd9a9ab1b7f9706c79c5c3719d10b7a, - 0x721cc78408d734ef22a5097744c13560e4d6f6ab2c7fe3b6ed144e04330d45e, - 0x42c396301781a50976f0bb9e2265fba123804a3acf19d291c03f381f1be0601, - 0x6f47e87b1b29e64580b74816cbe2244019f5e2ed2998efb1f3e3df918006ec4, - 0x4dd21179b5469853ac00527e86dc96929d3ca8cd572bded7ef41b5ac0d6498c, - 0x7dfc23234f32436a663b0d4612397e729094859892ec4abec65eed61f973d9d, - 0x208b3111bb6a9371957eb813f77ce877f2042d6c5d66370db53096bb5f73f1e, - 0x7ed06ec30125e8d79a351e55181a170ae8095cc8504fc6c5f8aca6fab493cab, - 0x15886e751663d2fd09591f9222e0ec780300685a074610e854f91ce74a7a82, - 0x5f7d4ea221c79ae00dc33d0cd824e7162e7df016b4c127054c6f567fe8e2602, - 0x3d61121fa82b3f02b9c0015655bd024c9a59a8fa55a31a3a9414977215f9ac4, - 0x6e7596bea348181c34e9a6e00068caf16f0c447172207e1447a5c4c52c5fe49, - 0x1348554bcb8620773edc01eb83f11ec1b270ecfde892935276ecf14685a9265, - 0x1abfd52e3b5b76008aa3e39d768e49e9967ddcca70565f58a6a933f87abf2a4, - 0x241f2cac6f5f43dce6ac67c0dc752e47679c686c273ed0670a2269354a6e51b, - 0x6b8697e66407fb8e72a5c1b3f1f0b7d1eec729a7ada529ea8e8f8b28567a526, - 0x5aacbd80b7832d9eb7f5d1fe7d31cbdcbbf32f96f5a6691e9c6e6e7516d27af, - 0xc7151d1825df59082b9c8331f81dbf7ba8b5f096a4beac2ea0de2339a5d4e6, - 0x579940adc3b42dbc48778ce29fcbe96f0cc78a4185d85b60273b95e54612862, - 0x4d30379bfecd51aafd0d058121993c311ad9e723357042a45b90e8ed9234f49, - 0x3eb0f9238e271c79661ba1e8b5f2d6c760c9d4d12e1c37661215fcbcfb910fa, - 0x4730176c0f7d8571bfef8a73a9e6da3f1a46b1dd7d042fff535680eed0f4799, - 0x28489922c312c1d2d64468a08a66e081237d9e641fd71dc256969df380c2542, - 0x29e64d551408ede9ccf136bf00b76d08c80d248bc947f8ba399c0616e595e6d, - 0x1102f21a6dad7d9149ca317d663a163761e98b5923ff66a340a83caa2e1ca39, - 0x63a5590c85a4345fc305c06a3dbd79db130bbcdd006790335f7f7a1f9cbf99c, - 0x3c0d313c1fd910b9293fb11dcdbc61003aceb89f2f720c3bc1f32e3571b97b5, - 0x2e90eddd64e0c7e4aa87425369e1c426cf5521b80220ac4cb3e5068d9515cf5, - 0x7a25d6194af7ba0e45bd74bd64559ef3a8d639a4773730ec4fcea52e77b3e64, - 0x5cb08733cf6505dd28d40bb07947895c7249f2fd9355426f7f55ae6960982c3, - 0xc8f60579f6ec66ecda5dd65dba38c7087afe41f78a357b76c773554663c64b, - 0x302a9dcef212e1125f2d57aced1d2b24045144154f4848410e4ed384aa2d9a1, - 0x3c91862f2e15d1a52e62440c64c18cb60a8fef4412c78f99ff067e62dc3b717, - 0x7eef312d455a81179b0a205188014e61f70118f5a4397b9aa040e76e62ed077, - 0x6b5390ea07820d982c6302e68fc6bd04b11bca50accbb3eff6f98dd6b06a2a, - 0xe2016de3928157b4d7bbedbafe8efc53ab35cf1152aefdce451675e80cbb55, - 0x3e3a658f9b9f836641d8c1a9a425c813271ec9f16ce21f6d4da8f4c54992733, - 0x5ea0f28c61ceea8a3863e6f5686c318c87ce55732bbeea8a7b432ba144e770c, - 0x256c432f53b5d2a6a2cf731f05185d9300c4dc10713b92e2e7be560b5ffd3ec, - 0x7895feecf839c6c1e67d25d27ccff02493e6d3839154b18013db17d6f3d8fdb, - 0x6173f10c7fed46d8e249e3b0ca9ca72f335f3c790de1977e7f590d4db3669e1, - 0x1202279a91469dc27caf3415e6b259571bb31079901c1b48dc0e371a98f054a, - 0x592a7dd40aee48875c5fe2c4af49a264a602c0c312e5d962f142829078734e3, - 0x6e0e46d921452051a1ad93fc0ef5a21a049c48b57f9c664f3e0f317a3c95374, - 0x66117a509adeda332b30527df07dd9e5b9c8e78c990823c79a02fcaeeb2b489, - 0x4dd13b944195dd4a3de88ad265879f9fc15a826d04a0c04fad8e7e014cb6fe0, - 0xfdee3ac080a23730975a6f24e0382caef1324a49eaaef662af3c49516a2649, - 0x3522a8ea00a6f4d31739f9387b415e404ceb397bbd983573f342e7de1494ddd, - 0xcaca10de89e4268ad8cd1285b63dfa9daabadad79dadafcc5f5725f52f8e0c, - 0x75597a0aeca837d6a390d18c98776ebe9e9393fc67291581601a34b8476e52b, - 0x12cd857f5757590bdf8f8c9e74bf1d6d0ac611d8f8da50a8af0c79eebe6e62, - 0x78ff13c68f1511ccdd186b6cb64b078b2b056c1617021d7afc490b17b1dd9dc, - 0x2190bc0030f45b5efbe55a02e2b9bd1dc4a5a59e15fa48657af7441ea3d38ef, - 0x65900e1f19dfc0edc567902b5df8bd9f38052e83ee39644721f009695a10bf1, - 0x4e0fddd78fe68f6194cc78fc7a741aac19f4556677b66d56fdad7158af53ba5, - 0x37e802bf37139716da414284cc220258b2a7d49527fecce633fa13665a5dbc5, - 0x1eef74e59b8ca0deb7d84cccc7bf1e56235bf9455e656c8346464dd30ecf892, - 0x7932b9f55770e0a28f0a89ff4d5f41b7a3a4856e369b015d007d7e51b5b4259, - 0x2678db966a62eed949f56cf9d24435a8137eaa397bf81f12adc7b016917c7ca, - 0x4e371fd33187fabc6df96e12638e343a25eac5cfc0af9cec00470143ac919c6, - 0x26a542aba1113f4025f66cd7023d2ffcc0aa259cb54ed096739d0caededa1a8, - 0x3d6fb4e1d12780c0e94208b2787a444f82546d3660acb4ffd670601bcfcc504, - 0x649c856827298e0b29971d95af294a5692d268e62911a3b11f6216297df3bae, - 0x7db76f4eba56ad34c122bf12e581ef2fac8cfe23466ccec544c14a81f7ab9f6, - 0x10b5ce2399bb31becdb524fa20e3f42f21efc6aa62cfbd9f878ee366898cb04, - 0x44dc8615daada859c342e78af4a3d6861a66e566a1fb7e6922737c38c170d60, - 0x43d57ab3559c3154d42033384b94ced0c26f9b24e0692e2f2d41fbe0a181440, - 0x286dcd76b2c25e14ef33bc3703ac06ebec7e3862a2e39385385ae0f596f4715, - 0x69b5bc98e32345f945bf8a57d432f491a3e4025b466e9a795eace35139d0a92, - 0x634a594654607fc5fba3a25ad1535801e6332ec2370ecfc4982c918cbd37f09, - 0x47830a479a740fda217e61736261a8c217a62e1a4b5fda04f8117d9477cd184, - 0x5e8fe412a80ae067f64e9293c05984505e4becc3cc737f4e2939eeddeafcd37, - 0x63c100605db0b761bc8fc23a3f5c234491c41dc230f8a5dcf41a0fe5c7a5fd7, - 0x6edb953f3d09aa2d668627514f5cb647d5df8ecbb093081616d239b725c470c, - 0x65809ce427422d4af66c95aaaad4c63a2a1ed4f5b54190f355c950392eff09a, - 0x72d94c77022cad3c9953af9dfe0c05829fd805109eb1cde31cf0efe6ee89b51, - 0x93e19e572f1c29356c41533daa9ce67e24f5b79d9ff50d56f09fc3c62b0a58, - 0x5e4f18ec009767a42b28bb5fcfa5ff4588f828d973854765298539a48d4d54, - 0x5b6351792e22714b2b1206236bc654040b8179656c428ed48a9ada3009a9ce5, - 0x6d1cb56e76f3c4003fad65b67fa128e6febeb009c85fdada5ab54644e6a76af, - 0x5d6d180957362a55c0dd555be875a9239abe5ae27907c317798b2bc2b20108e, - 0x5f9777097434290c13e4fc428739d371d94fe0d7e61de0f58796a0176b75bca, - 0xdb90422e88410884a073818e0948643ed3821c6089f12ecf42702ac1d13e99, - 0x25ca365e7f011646315cb6f77f58f01f8a6ce8582a4ddf4355d52bd44d8d55c, - 0x499755aba875554bff5784901753998939db1349e3c1e40450e5c62f4651809, - 0x27d6a8ab364ea8044b04c1fb66644509df7d2acf00a7f967170520dfba4a8be, - 0x2aacbba60e6e2591b65a9164cd69d33f79ee39af5db29bd5991d1948cbfb971, - 0x4e56dfcbd0396feb3580c6703f09269ebb4e2d5074b6adad618fa4b9895293f, - 0xb8a3247fecb4a180b106caf25f4981287dbde2219a30a91868ee07dbf188a6, - 0x7387d21bf8d21411d6a21a9820286eeed8286eab329437d98507d9ae3d48ff7, - 0x4877a9e675f3e33da1c96c40f7b314ce1719ad4630a401ef7edeeb1e890e9ce, - 0x3ce46d591cb74f9ff3fa0e605cc93f467e5b92b36b96db579e050c93b6b6f08, - 0x6d3e671ef910ab199c0023e715c957db852552bac0aec32388ddde4d4e9f6e, - 0x6caf22180bbb9e9d8bf6a8d6316feee23f8ae00b46c63dd678ad507b7a1df72, - 0x67562f09852e9118581bb0bec4be129655bdc3a02a16e762310045d9f56e94b, - 0x54e179b281d4bd5e3f8fb7d908e9b4c9fb96e3b9979773367b3eabdefc7a855, - 0x5c52ade0402a99da001559f24a727301214bac93e6f595f69b58eba5c08c2c6, - 0x7fcd7f7fa6868dded403eae764f6e5fb8ba5eb95025a8fa3dbe78c0b15841f5, - 0x36639ed4ba7dfb4fc1183957d2ac0cf8d8dd15d2c6671892c06c435857cc180, - 0x549bdc74a1868fab3529cb198cf59985f564bab02a715b4655fb326f14ce1d7, - 0x491c75130af4af4cfbd2c9792faec82d7b64c2580adc29507be452474e902d6, - 0xaf92b08fa2a98ee8757cfa01e3e509324ccee845e851cf187e25b9a0b1dc6d, - 0x38953a4c76a7c14ab0308bf57dc75583b7e8a37dafdd740c94d602fe7d3882c, - 0x241578ccf41d83759f8aa4094c7c563b23b215eadac97c817e2b3288d9dfc0f, - 0x360b0bb2abf2137a097d35d51c55fa36dc112cac8ad65e211bd3cc2928ec44f, - 0x2df9df103b6cd28a9c23a474b1881efd64b2a52841def825a4be0b63eec78b3, - 0x4f0292a3cfcfe6e8d9f275430c5e65f32fbb8ff13701e1843cb51df26904ffb, - 0x6d1b38018172302b35a9bd86bd4214e83e459f70769470e537f86195c3f8ece, - 0x5a5baecd80911cffd825b184046f8e22c4dde8dab810f7a86f9976fe3e50e06, - 0x2e6fcffc643f9db7289365ca24c2770303c834900f0ead25176180243da622b, - 0x39bf9a66a306cdbd810cd707a38d783efbab1edcec27ec5eacd25e981176d6, - 0x4440351a5bfe12767c173cb75a84d01c58006c1af357c1fc97d09b52891cdc1, - 0x748acd1b4f6cf4c036bfb9473f8daede7205631d03858a47be60ee995fa3a35, - 0x37b14e20e0fde12adc6782f1c4e53cc0f235d349be2186d5a1d9a88eff43396, - 0x551c046bcbc26538ba87079d42a6a8e04c1a067b7a86bda6e2a3ec415108076, - 0x6ecc929621cbcd012f941a26cb7f0ec59c4f0a2766dd0ba3f81e22c29b9a204, - 0x75780a8cdd4bec45ecdd72b90e65ea7cdf18ca6e6a36e9137de98470dc10707, - 0x36f5b022c21745438dac19c6b4a34033e75a7f0eed7a33ef4c294e8ef971d13, - 0x7635f474524b010528887c972647b2d415c2d9b8aee3631834bd4ca62b1615e, - 0x41c817d56b35618a49b183c4aa954608251ac093a4f7e9219495be948f51041, - 0x3546c4eebe67724d71412d947734bbdf7c5b45965bd3ae706e5e2165a6cc44d, - 0x1794cf560b48c7379b4754ac5bc68e6e73952d235d284c290ab287311c2d6f2, - 0x3bca77135e322fc983a973300ca41f52705a788b03bc65d0cf42008d07f1a49, - 0x162eac3404f498c7251e11417b9f34154734feb05ddc2b47fd33dbd347a9f95, - 0x799528fac31b30cc0da7f17e1b61c82d11ae9bba7a819b39baad3638fb46c2a, - 0x6826da39c944edbea90c50689228bce87fdca3d228dbd74f29e165cf1e9a4e2, - 0x5e2098d0a01d8b4905180cbe8bd3414fa0209450a2f7d42790a069e4a679935, - 0x23182d48ea8c70f6f873438d37bfff005945fd8cc3aa755b4a6a208662cf5d9, - 0x51db512fe4c635d0d6e5ef740c5970c385ce94449f0a1ba8e8da23d7b5d1aac, - 0x2e2a416daab87b5a245bae1df3a6b40aa3439b02c4e89d312cdb58b5fd457fb, - 0x57338ea80242f010a82b0ff602255896d292edfbbcbd15fcfd6e447609967df, - 0x7d49dc4bec64bb61764b4fa5aed14b9397adf143f68609ff8968ca7f097267e, - 0x743ee50f109a1f6a418a0f20b073458286368db2abf390786fe26e92890ca9b, - 0x4dd0c2e007d3ac4c448bcf1124b18d6f8da5910a40768a682f3b49ae84d314a, - 0x7977ae33038d29439143d566754f6a279fabad5652f656c015fdccdf139d992, - 0x4ab9e1efd1933ee4cb65150285b631adf2d39bd0afb7a8794cb2bc4cc97661e, - 0x281877ca7d71bec75f9d4333cc8936a72cff0323166812d867b5c74510a3204, - 0x2dcbb734d1ea36b301e3c498f7193e7660bba5f0888ad6e5247b13703960257, - 0xddb019ddbc69884955ee844be0d9473b18ab08c386caca5d48104de7389251, - 0x5b0bdc504d2b9706b63b4580cc3c3e305ca3622d2ccb10ee3ffe2c80743a35e, - 0x546dcb7a0d9e5e94cf9c3fbb0134ab6b44039ff94aa81d9b9f04c1df90d163d, - 0x6b76b89458ac16fa216b69ba625f1b75fec86a217ca38a4ba543b7fd5dfeb94, - 0x6b4b5c9e99def45dd55fdf296575f1c1e13703efa7fce78bc2ffb823ae40707, - 0xf31672ca4b74faa64825c8f2e7a9f1e59f24fe1668e6b216a09b5cb60cc2a5, - 0x2882777db946d2e843ca50c57539b9b68a04ffcf20ee85f0aa7613a97e4ff91, - 0x5cdde72ab5242bc7e960a7ac03a267c41acec01e8055f364a69a88658ade14e, - 0x775b93c1e23d66802e3966e592a90a52389e6f5edca943f5a5f13240b8edc52, - 0x42c4c3e03c9d3bda5768de854a815b21d2c3f526effc37589d45c2c62cb4f50, - 0x23021a5382d81598d4ec984672baaaaed89226b0c412bec62ab7ccb77a8d7c3, - 0x3afa09f61350aac164c4fe26b36ec71d69592b0aa9f047b70f79684b1e09def, - 0x70e2230755ff2546be7c5428d6ea2d55793c26b7b7e207562db967bd70f9d7c, - 0x3145154f805ae462a1eb7483321f4a996af1623b7b8693efd14eb067cbdece1, - 0x6d888e9fac6c2b00a50c25c1eb6b47999fec89a9874316c073fd5ffb63c4cfa, - 0x4ff6fe6d074db3a6289233dd574930ef8815b0c7f2a6a3396c21d9f676620c7, - 0x7149e859339a6abf38831ef32edba35fc255dfec59786f33bb6282070d3fa75, - 0x118d99109ed8803689b69c493f3dee2d315ba3dc8b91b1f4e46ccdadf5bf1f8, - 0x1670d5c96d93b0e4e3261da2dfc56e5e4f2118673fdf56051a86391dff2859c, - 0x2bef641b9ce105489a9bb67b3b9159fe2431f5f9d2506e6b063d154b5ee620e, - 0x15e2784ccf661a7758f533753e878ddaebc363c42cd77cabe3ecf5eca84c9f1, - 0x2a77759fe57df4274e9c3b13cf8e57bd76c921a3e1bfbb051a42848093c7912, - 0x521fbee11910307c13fa71906bdafce0f4aeef36d8eeb4e0773245e62a64dbb, - 0x23377b34053a229eca02bf28414371c8ae467932b57d75e66278a17ac45ca2b, - 0x3cfa545f07ae1718219c3e3b9bdb180afea14724e79d55b12015f468422708e, - 0x31f6ee2bd5fdbdb12d928253c749672c5268056fd4755f18157988b4dc44060, - 0x20aa030d270f99b8561dc48190eaaebf751d1566077a1519ce26183c2a37644, + 0x3cb594d08bff7d9b1358ff9ac9da944f817b8fdaf0ce0653ae610f164481017, + 0x6beeb3913b3427a3593c2d86e6305000e58bf716d47efd3c2916d1920eebc42, + 0x5f7769ba918cbb40a2828272e07d44ad7d3ce5c75ea4853d6217547f34039ae, + 0x5122cc7612e6f47f2435a9b36e24c4d82ef3221cdc1fc5d58989a56765f87c1, + 0x292e749ce842eecabd0145e88b667f8c8eb3454927618d066649f9029da01dd, + 0x675df17db3aa932063dc2582a6203d43ef047923db874043f74a663cda64cb, + 0x46f0094e0705f5db765eb17d841bf1dafe9267856aa8d9b9968a557855cd046, + 0xe4a16452992bbd753214dfb94769f538e6cfa7ad88934f696bd6b4e8072904, + 0x5a8fecc7ea4a4937efac9693cdeb65b5aebd1e9b1f086a5f779c2d165d2695, + 0x4895c07f340bcd35e4f586daea4d086a4ccdd1af31de176b9d3b4551d81ac34, + 0x7efdbeae58a76eda09ab5c90a5770da9092b8317626d99ba2f05635e625c82d, + 0x539b1eb49224bb04653719dd7da9779b155e957e98cdec817620f7e915bddf7, + 0x1dfa81025ea1530060a750feaa27ba1d7104173de01f00562d09ad373393229, + 0x2f8123a38cfcb85da8c1c17f376f0803d7942a992de9bd487fa3dc866d44a1c, + 0x78128f61d8039e60db9c9ef2bb889575997d64bf290b92aef145b9f707dcf03, + 0x146db43d42b40176c69bfc20bb5a6236a8af56211951c4ee2603de677e69f33, + 0x14a2311e0a67233639f98713fc97ba5484f45b88a9505a88caa7d2046504dd, + 0xbcdba8397236ae18a665525ab1beb3573818fec3cdc6bc9c000d08cbe4fd01, + 0x1ee42a585b7dc319edc981d01e1e7d454eb331b04faea3340a3f0894b5fc0ba, + 0x2af708156a134c9ee7e7458179c1f4a99188c75e014519ef09e697fc89646b3, + 0x67ff1e51c699a9e6609e8beef226d7cf87f0c0cb8697b42f1304f6d912402df, + 0x7d69b2966bacced9b888d055c817576cc3934538922c9a87836f99383ac377b, + 0x6992840697dc922e5144c89a02532d7310bbb7c185d23f6b2899a1d362888c6, + 0x1638a6e1a7c859f5cae7e04bd91bed8bf76d210ea61339a3d31becf05c54a57, + 0x4b2f9b33be1c7117542863ec29818013b7aad58c827ac933a6a718d4b482df, + 0x5d38fe2d23df29a6823a053154fdeaff1b2183bdeaa1e386fb7a0371be523f4, + 0x7b48e0810cdc09560bdf33e85b359fb1b2e4f7a9fcdf6299a24259e3aa318d8, + 0x4d329abf1e5174fba38df8ce481eae174bbd0aadb6a7a07404a265072242589, + 0xc10e250d68ed237dd66d9375485dbb597c112e91950fce43c41a2937434830, + 0x3ff05ec7e2f91a2c152fce7e25fb00359ba73dd714e000face0323b0b9ad859, + 0x6c42a1caa4e2daa10e36d39dd74dd0b47fc1a5fa86874ed7fdc3e3f8bfd9968, + 0x108233f77db3b22474d24c693f8c9f522f54936f0cf3277ac2c0cfb87645124, + 0x2ab8a1eca87570c9b997e548f5ac722ade3cf9366d71c742befeb6a47e1cf0a, + 0x3c2affee148887742e134ea9ca11977a94b08679890b521f808ec7b2938a475, + 0x775753b51de5d58fd9bb81c9fad827c58d5dcc336153d0dac38ebb07e65f3f8, + 0xfe42ed357f99ab116d05b17fdabb3b6f6ee511fbb868fda7c699265165bd88, + 0x1d5c3d5e0d84ddef1a622d374db1f8fc8135d338f563d95c751903f8f32141b, + 0x38c163ca39f9196f79ff1a6c903e1df92840913f7a8547ab7f67feee58967ef, + 0x20600401d215deceb5cbc89919a5757357b09d67a2c75e72bf3e4fe067d0d0f, + 0x75007561b4962ca2fb8bba400509e2a3ee2a29090383c84d4abc2a5e4eacdad, + 0x2c4673c0b845b0808ae989cf8bbda5c3c69c9f9548b60b465fbf36a9a28670a, + 0x1f8be87efb2b7b9421e75eb26a642edfd34069ee45dd3b932eceb252087b6a0, + 0x21543267189894009b51ef02befe0a0578abf1aaed28637f8d5c55407f8f528, + 0x5fbc7f8c4fab96b1a4c4479417b7e386b389154a87872b341e85155c321565a, + 0x349558f943bf50ccd7aa8beb3418c757f7214099cf74b3fc67ce6048d9bbbaf, + 0x6463e1c0d14b29f21794a9d542a8a5404b8c81dfea5eea65c2c934375a98527, + 0x449570e44f82a84cb1e61bde26b1b513627f2d7ddcb86605516c3ecb86367fe, + 0x17b100ac783f096c1b72a51dd4d9301a52a6255c7c1187b7071ee391bef11d0, + 0x55ee5e95d057386481652bab3169514bc5ec69b965335eaf54eea5a50af7165, + 0x47856e9a05c92e36bce9b80b53469266f9d45f3b7e7445a3c17b134c983e375, + 0x2bc36ba245abb63b03df27ceca6bee533a1adb32df006440e489f1d0688919a, + 0x7fe9d86cea470094d9ababab3b597a1f4a02784eac4330e36b6ad28a7a6bf08, + 0x18ff5439d87d54197ffb813a6fc877c321abf337234143b10defa65cd5a0833, + 0x5fc5c99ef905ff0e3aa90d744a2ade01dc747417a8e65389b3e6dc960852109, + 0x38c8386123c89e94f12d22527b04f47736341fa55b384c0652ae3ce9ddc3e11, + 0x7c35d50e96060aa4aba142437400323238167b3090941477d2bc6e84dc55823, + 0x4deb3c05df15e01d3840051ec6d296923de78ed027211414a01691d038e5e3d, + 0x2c89cba9afc6416170e437a6d19acfd1b5064a6783cc5d86292d3d1c465e914, + 0x295cf13ff878e06be0e97c446b4f9741bdd032fa051c2c3157e5ee815374c66, + 0x2f50486447607cd6f5166a1328befa62e4df1a4cc07c2e76ede1a1b8d0e2253, + 0x234f13465a7d4ab2c6180a1cbff778531dd61b95c6966f7ba7f695d5c5a16d3, + 0x3918b3e434316b3522c1ea6722ccb562dc6364c0a6161540c6d6715cf40c351, + 0x3fbfa8638a332a14721cc1285deacde81002291fcc95c5c8bd4b411c2a1bff2, + 0x39c4079c7394555e5a3397abd633d59808ecce390a37bc48affff0ddf10e933, + 0x5024ab3aa4129429f863e34c76d209d7694a3aceffa3130afe5330b8064ee50, + 0x6148d4955dd9a632a1f891447f7422edf7249a73db531d11c9404e052e9a66c, + 0x25e7ec740a351a2b6dcfb0f38d35fe46f11061920dd4684c71450dbe62dc172, + 0x60d30f218cb7054e5dcae4f5bfa204d33afecb8ff4ea81fb874faafa7825046, + 0x5e1e68ff0aedbca5ef936bc41f339392be5b304c6d0b14368d5552a5f9846c0, + 0x69e738066df7e08a81dcab46b703c44bab1cffbe49f3412d38ddbe47ddab6a5, + 0x390fa4304de0305d750c3cd7895cec9ae78e0eb3149205eb12d174c89f2c71a, + 0x5fc3ebf3ed45eca26e6a0926ee47efa667384c16afa847f6994e21c5855d7ce, + 0x5cd960acf717b64c434d60f381284280f5cacfcc24a06219de54341f5ee5d24, + 0x572f23cf3b699f71f7bc560ff23116d93aa820262164e803bdc8dc51cd54102, + 0x429445aa637f3e700e0852f30fded8b119fd37cb83a45fabb63f7c42ac4427d, + 0x14809e472e3437aecff0296d38680979dd0c36623d36ce87602d6c4e561cfca, + 0x3a8127e13d5a0b6f26fc5df086f1b58886c95536ec9b6414d7f24d201633d30, + 0x618c0228e7327fd5d226d347cea78f00cd371d247a0e89752af4827a4d30ca2, + 0x49a17c630c87ef4063e5d298be4bcf9dd10111c68ca9b7319a7c98d50509741, + 0x744d454bdb88286ab2750a2728a5263a1922b91de73e94480a364bbd704d12d, + 0x4af9fec824ec58ecf9a96f0de7658501586134d1034869c6a4b30bdd8494e8, + 0x25e5daf9778cb1d2bda48faa26abc633a3b6f49bccda55ca2f88fb77e4ff914, + 0x2b1bfc7bf6e5d93263cacc437cc586fc47c16057e61037ecf1ff809fc7e2a60, + 0x13e040f6f42f426105b131487a29b10475c00572a41a6521fb8a7622ec198dc, + 0x631a61788f4355e59c5ebd1f66c25dd5a68c1a2bb54c356d1c8caae5102206f, + 0x30365d07d1e1741d10944d7ff7927ad0f80102169bdc0b587ef2184c98b4d0d, + 0x30e12e014ae9072ef8e2e7af4bd208152b991f8bc2e2543d226fa1f38a2b4dd, + 0x5fab63c6b62afa9b991bdbbc26cfa1f67ef6c7b4b840e49c257748ad5d35275, + 0x149d9b98f2612eea8e60d9c30aacc1a5de4228a271fdeccc8a6216b5c3e7b6e, + 0x7adce6bcecc82229d6a94fb56b8e73ddef84f0cc04d857a0058d663ced3be9e, + 0x437dcc1721e94d6733d118c972c970b1a515da439fdef0a693d993ce758bee1, + 0x5460cb1e82124b8e8139c61ed5b868cb8d11be3aa76488cace76b10f5aba926, + 0x29a21f246546bb759ce21a496b9e540a517b3fd12d63903a882e5d157d31ad1, + 0x3b52205144f8e3c9f26cd99d30bda06d2152ffe6d24a220cc36c794d8127f7e, + 0x72905e4e7d3ff5fff996e564e3009f7bb355a43ab7d26f6b89478ef45ed913a, + 0x5d2649cd1f03f9c16d42db2124a84a293cbbde2a95411fbbf30f2f66cb3387, + 0x62cd0e36757cb0cdd0aa74dedf0ec69b193470668944bed1fd017a32ef6948d, + 0x1ceb43411395fb6cbc9f1a2627431812b1fcdce67af91eec4f229382a181e9b, + 0x86b5398d87497716f4b5fc41ec91c9870f519024ea18fdd827db9433a86afb, + 0x4f677cab98dbfcf9bfb9862e17bcf2d3b6a45f1328ace805368d72bc06f20d1, + 0x1a051405e899273ba19e567ae833650933df5715c625a225e3f4ee77d6c9c, + 0x247f785474893aed6be3ee0249f6afa9557af30ebfe8e3b78867540ed8c0f4f, + 0x436c88dfaca7845283a3632581e04d935f2fbfc0cfb33c52a5caf3cc016f3ab, + 0x59cee8905d5819db41f373ff5bcfd80337e23de92938c30e01b6417ba7fdaf3, + 0x6fc98023f05ff2b200033a575d561cdd46b0ef7fb343e4621848abd6d09359d, + 0x2d60fc4e54722740ec97a28008275aebbc26fded34f98186385274063cdcb8e, + 0x25b1a4e6c3d23e63cd2d1192838f10efd5fe18bcf58a10092c5a7f775a3caa1, + 0x1864425ca686df29adcb4669f7fc6870c2d13c5c3b4c15d8e73f615ff66f47e, + 0x5507332cc546b5614039aee429309df762a286641f3002a0c51db7382630221, + 0x6beea637e4bf5ea7d68fbc37e024e87db696a3cbfb79503f546d5adc4ade297, + 0x784b742ccdc4907653cee8cac006c440d964a1b617e12587829f685d7de957b, + 0x2daa54942cd0e22e26bf7a296462fc31726a1e63776aaec3898421555c7d6fc, + 0x23c26c28f00a5f3a0125883cf5442d74f94fe55279f9fafb6b0302a354e1c0c, + 0x3b274eaec5bc0dca6554bf543631863294bc5582e59ed8441bde65c76d01819, + 0x3ab74056d69acb0952862f1d42d3570593bcb207dcd2b2cd2f1725a8f2e11e5, + 0x738828c6509bd7c90f50e296dec71a6dac97158abbec9bd316d8fa8024dc402, + 0x7cc1a27255d6d114a53fa68f0cc68929146ff9171772cb952c10871451deb7f, + 0x6eb82b3ffffd8df6962241c1f6c2fccf5843e3e5fd6ceab73bed56ecfcd783f, + 0x1f807c0f1b03d1c6285db6d1639b23dd78586df0b6adc2b620bfeca154644b1, + 0xe27f902b69f3df42e030038102847a91e48dce5cd08b207630f4ae70ecd8fc, + 0x3db474f7a355d660850e85dc34865db983cbc73424b353b12f8f0058fe639d1, + 0x574ad29fba6900188149192884996d9786de1c9b5f34e78b624137420e6ec7d, + 0x25e31f25948dc259206c68fe3fc81da11f693772e5e1120043aec7f58d1432b, + 0x4bb5dbd41679ee8355c8ad6d3f0780be549631e398e23bc4d63bd89c201bc66, + 0x54f09e9cc0bea3eabb4b27bcfc5e68a6454273e00d99a6eb2dee3defca84043, + 0x637f2a47a217fcacce3231ab81927b5735c0fea75f1a6374c48f5b3b0e1e047, + 0x37cf863ca944c970eb00cc79e2459e4dbcd42e2200f9e88e0935645c9a9a025, + 0x281eeb25c656467ddb8fc383ee46bf85d02c70e2043415319724494f23eff04, + 0x473aba702a0fc32b73daeea042a7ef73aa50a252cc56995330d86fac854f27e, + 0x7b39e7b9dbed77a62a05edb4b4092d9d1b3a2804ec567bb55cbdcb9a98a5886, + 0x5e6864a1413eea78bd6f0b7d5435bdf27107caef1f0d75649cd5410c591d38c, + 0x36b1fb8a04a319fc19411ea7d332c2c0949a5ae0aa8b9afbf9869063f112b9, + 0x68442da2c45c834da3bc13f73663ded7d5b3177a0fd5a140db868489d66c1f1, + 0x78e47a8b710b5b2c0430506ad9c237a8fc232468bc841e8d21f85d7cf492d8, + 0x5f3445e52e9d18f913736d6041e19cc0fdee26aa536e7c2db566250f97fb0fa, + 0x1f6286af5371648dcdd63e59d148c2aa7e310956e66244d6a05e6d6f51967d6, + 0x6147b24028f88a6910126d98fa75161968c4d158fd138c6f188bcf62e25840d, + 0x16205bb839ab37d3a59d7ecbde012de243a3bae36fc71cdd7e5e86fa09c22e1, + 0x2f37b53c53e463db1cec0df3c0ce90f6be7914c6b46bf987eb7a34729bbed70, + 0x1f5455a1df27239cb2c1c0bd09aefc0a4398d98dea440019b3fb7c5ceea9d5e, + 0x380e5e05cac0a77b2867bc6bffdc8b0f79497ae0ac3335ef036b0de906dd06b, + 0x6e27140b9954bf51cd66089e6c5b28df620a50515747449eb8b0b0532ea37b1, + 0x2ede6732683021ca92415e3f1ff06639d4f849d2a72581e5311370edff63769, + 0x10ff3b0f7a9b94ac75d1ef55a6c655e17637d53ca9203dacf960fed7fe283e7, + 0x475cf06599139677f2b9539124512d8dd62ab20526e93d229252ceb4f5c9597, + 0x1e0980b397c1624f781bb7fb706a03b1b3ae80a8ff0b0764442bbb9d93ecc1a, + 0x580e8729a9024e0f4d600affab2449afab794f2213d036ba20e31d750b2be9a, + 0x6554cc0f34173f2aa4c332cbf39bbd8f3bca537eca468195dad27d7d7b64129, + 0x1ae169fc73914d49b3e9b00c1c9a542cdca984830de97dfd9425260bff9e1ff, + 0x3ac22604e3790bb579e53fc1c016b91ce13cfb7f9374cf28a7da7ca3e24f873, + 0x5bb9e0088c52577f6e378d15ec95633988f8e1dc6fc71c9bc4c78240bd79fb7, + 0x36411a1b391b64d0dafa34c3f1eb6451171f689df0405656f2091f560764e48, + 0x3d39b571382b4685b36631984acc33e3688c7e6ee17775d8a4f07e39ebe4987, + 0x18dfe63bef7aa584edb241c740d0de2efc2ef48d54fbd0e3983cd6aadbfa71d, + 0x645d88db1e683befc0ed6014d277795a7ebd22fbef1ce620afee419e334889a, + 0x2e3c72530e78ac9c79e9bdf8ece9c1976d848a1c48b5922c2f2df1fac908a49, + 0x357e35aad82d57c34cbbd8b70df26fd403d0ee0198e6bf1d10218cfa5bb874d, + 0x68fa850803cebb815a363eae319a6068e915ca61653a2672387b7e63c299a6d, + 0x4222a4a1d42276570fefd7dde277e64c2c064480d2bca726920fd9dcb27e755, + 0x52d152c87e6520b614e7851b8ee820b87aa9e1bcffa93f75191122822b9a1eb ] .span() } diff --git a/src/tests/stone_proof_fibonacci/traces/commitment.cairo b/src/tests/stone_proof_fibonacci/traces/commitment.cairo index d58f29206..29e678d1f 100644 --- a/src/tests/stone_proof_fibonacci/traces/commitment.cairo +++ b/src/tests/stone_proof_fibonacci/traces/commitment.cairo @@ -16,7 +16,7 @@ fn get() -> TracesCommitment { config: traces_config.original, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0x16, n_verifier_friendly_commitment_layers: 0x16 + height: 0x14, n_verifier_friendly_commitment_layers: 0x64 }, commitment_hash: unsent_commitment.original, }, @@ -26,7 +26,7 @@ fn get() -> TracesCommitment { config: traces_config.interaction, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0x16, n_verifier_friendly_commitment_layers: 0x16 + height: 0x14, n_verifier_friendly_commitment_layers: 0x64 }, commitment_hash: unsent_commitment.interaction, }, diff --git a/src/tests/stone_proof_fibonacci/traces/config.cairo b/src/tests/stone_proof_fibonacci/traces/config.cairo index 61c873645..03c9d234f 100644 --- a/src/tests/stone_proof_fibonacci/traces/config.cairo +++ b/src/tests/stone_proof_fibonacci/traces/config.cairo @@ -8,13 +8,13 @@ fn get() -> TracesConfig { original: TableCommitmentConfig { n_columns: 0x7, vector: VectorCommitmentConfig { - height: 0x16, n_verifier_friendly_commitment_layers: 0x16 + height: 0x14, n_verifier_friendly_commitment_layers: 0x64 }, }, interaction: TableCommitmentConfig { n_columns: 0x3, vector: VectorCommitmentConfig { - height: 0x16, n_verifier_friendly_commitment_layers: 0x16 + height: 0x14, n_verifier_friendly_commitment_layers: 0x64 }, }, }; diff --git a/src/tests/stone_proof_fibonacci/traces/decommitment.cairo b/src/tests/stone_proof_fibonacci/traces/decommitment.cairo index a79408496..2b964c127 100644 --- a/src/tests/stone_proof_fibonacci/traces/decommitment.cairo +++ b/src/tests/stone_proof_fibonacci/traces/decommitment.cairo @@ -1,197 +1,116 @@ use cairo_verifier::{ air::traces::TracesDecommitment, table_commitment::table_commitment::TableDecommitment, - tests::stone_proof_fibonacci, }; fn get() -> TracesDecommitment { return TracesDecommitment { original: TableDecommitment { values: array![ - 0xd6d1182fdb84accfe1298ff50bdc6fd07f17c78847cafd33a64b52c2b0056b, - 0x6f6c3151d5326a38a72804d1f69fa7e308053d4a733aa1cd2a64dd529b6b701, - 0x101157a5d2b39e2c41ba371abccf31e6167586187b04035d82a2f0130680011, - 0x10af5bf953a81292fc2905ab016ce9fad3d9378bd8afd2aef704c032a68004d, - 0x7b08c1e5cb9244637401aa334d5a2bfae0b649c734efa346a577a520cf49ab4, - 0x7752b0ad96bca0e165adcd78f8986aaa78fd2313163b9dc3f903e5cbcb417f6, - 0x692218a11dc7c9af9885eb983cd25c67dcfd2bafc7ad0a82b3d9b3f8dd7a807, - 0x60336305b643838588925b95385208b8e32e1c9537f2bf225e6f16a9a266dbf, - 0xea7b63993bb0439da2205c302533b909d099c943055003e1c77b9f5b9bd1bd, - 0xb9d08f53ad7b163d17df4b197ab51a1f549437c1c88714ce3d3f4c70d2b9d8, - 0x5f742240d877a0d083193d7eaba2599c4d160629c1d8d727d1ab22cc72b6c7a, - 0x16df025a3060a3d1db82de1cbffb002b33444e9d7d69e5b503301d2804b268, - 0x701a1c1990f56e56db69103b254d0b4e0ed2f03d819cf04c13a52ba061f3311, - 0xf3d0bf7575286b6b885332fdd3a0b68daf62658ac56610ffd5881dc77c0e1c, - 0xb7b26d4db2f0786073f50eddc0564737ca866349cc38362b8e0f21ddc2c482, - 0x2bcedc65351595481f21e81abf4de4d9bf2d78862a91507c9e992a648d98dea, - 0x2c611b5e641945b64273c2b3242735a904ab51d0c0bf9525546764bc371486c, - 0x3b02f6c074735341327e394bd840f3adf549ff2669498ba5ed856b50e9744a5, - 0x618f5d8c4aa2adf934204fc009158d0c650fb712a764245006107b8bdfefc38, - 0x21a5e36f24cff5987baed6fe8f91dc549fe079e5d18d4b638964198038fe266, - 0x72c322225b897479b65957925c89708d1529affe554f51a3a7a3c185b69e87b, - 0x2fe51c212d0b1c050def8faa025689137b59b62d2642893c76fa37ea7413f6, - 0x3a7fa6119ec712e53b6e67d429cc31a5d17133a1cc0539fcfe15a7094f167fd, - 0x60cd6aa20c36fdf94168ec61c227fa3d962bd0490d69cb823f1a94c0e3503b3, - 0x591aa86a5e7e57df2f672c87bd67ef5b7991ceb0c8ff8825dbb62e8e2cb35a0, - 0x7806607824cadd5431f922a7454fa51ee548cbff6b9a283699a83dfa1063419, - 0x144a024e73446bd4cbb092505ec2286535ebf3c7eef60cff673133a1d99b44a, - 0x6a244a5e6246facbb0501fb9946fc3e2e2c8deb5d0ab6cba50aaea2948b62d3, - 0x2efc26bb55cc47db0952bb5b16df2ce0bdd3a2a0b608e7e9f1645f0617e8f6f, - 0x2dc969a5599cb10fd366b8872473acabedd917dd51e5df75ff23466b7e6a9d4, - 0x12c21e6fc49a7f562301c6826bd76199f98a95155ffc8964613ce58c93b9384, - 0x77546879b6ff7c086b12f0ddb2422cb46eb1d4204763f1fd2b4aa265413d0d6, - 0x137cb2c1092509f437d862ed1477ee13062cea5ed43d941b2c8015e2e1ab80a, - 0x508a79cd7290f4149a0a9d79658bb37766d6e20707b4ed292c713c77b8bae2c, - 0x5bbeefb80495185a2851bfc6f29365ed534afbbc6235204263e4bcef299345, - 0x1dff838e0e9d9210ef05a72ff72db9dedec26d6c41ee5f2b62772d73bbf49ba, - 0x521792fda35eb7ab383fc38fe082d8ce2cf1dd16f36fde584380e83b7ff0e52, - 0x3c56d01a6bd346f731c49415a98ffe586e3ab1df7a7c1d441c00d776ca02a2c, - 0x2f30681538de205dcc1048160447f02e3a641147aefc01e974d20f78c2d2444, - 0x59a037137f50978a451ade37d462b95c323be481d2da3298bd3973cf071e1bc, - 0x6a8678982d835c51ded93f518b3f5f396b80882ed46e18e24103e3291b2dc2c, - 0x7c9fa19ca3ba114166ca7f7abad6c2d691221562562eb93b86a45a34a278bf2, - 0x6f2ef99e40dcae60e189d559729611770b8b6278c9671b3c863a5aa3e152451, - 0x2c98e03b9b067a9f5fc785b139026834f6e7faf20ee4267477d5ba870dd2700, - 0x7e4c0a30758fd7b7ea6623010915c8f610c3d0435ea2884073bae2df387f151, - 0x296e57d98674eb9d17a0773939394d84553f0b78b61bbd6aaafc745c63afb5d, - 0x66c80669085a4d7f618e68486123a4cf77a97bf84756cda36c3172c63be0c9c, - 0x7a924bdb828874772054debb4411330e7728f2425471a18ec693565a0a47bdf, - 0x32de12f84c212682d5f9084a3f1eebb0a6595b7c770d29a2a756cfe5b32de93, - 0x79572e0b1a5a96d50a5c9fe7714e8c2c04baf732c1d526a78813c508581974f, - 0x2b907ee672f0647f78b062588eb096530479eefb658d0816a257c6c48fc0420, - 0x74f0f62445e2e2480fd0ba3c7696b1c59b468d0eb47f9a71a1b09515088f150, - 0x35ac490fde3d3844f60ac3be28d55a428a1dadf7f681176a2ba58eb329a04b0, - 0x155b7d33597f6acd52faa4f4b96d4a61256bff1849ef1d3f39beee087b7f632, - 0x6857c66228909caa246128395b8661ca0cc47d8fbd2c68ffa2a2c56dbbdd867, - 0x5d3fbbb4b8589e842f32be659ca0493689b055c6bee3f5e64602351d9f6a326, - 0x62099b9c089b0d23926d47e27c70f77d16b3b589483df52fd7b98edec5e4431, - 0x78a66dee18eb02f90f21ee87755d101f90fdb5a238b0aba66c7691b22b11592, - 0x38230f61cd881a3a847ea03cd94c0ebd64652fd5643350c389bb88e071487fa, - 0x26ea85bf0920a453c642ec7c2b4b7caea1738b296559e58874f02faf2847742, - 0x47c5b4d160e560abe7278bdb357f4c0c5a1f9ebb48d72d0b11bdc240921d97d, - 0x3ea2046f0dbb095644545b4a94f0099527e64d8858f46d7504ebf3d3fcfcadb, - 0x22a5dc860280946124f8cae6e3a56db90f8d30ed0a7ba9bc3635f63fd5cbb73, - 0x65f438b7ad3ad818354d4e62985ef59c409f6a055d9b702aa2ae28e66717833, - 0x4af6d8bc9b11d873123dc0e519aa253081773dd100dbcd80697a317a3987730, - 0x6f822f085a7c17fc7a0c5672282a52ed0ccc73f36ba5e09e06872b8e08bb6e0, - 0x41b6a763fac3629fd9ef4d84bb59694b61f489c0aa74cdb6640b9888bb29666, - 0x43b1f4b2fd87bf78633978d942229f4116734c7ebcd48093b715261e54120b8, - 0x31e47618be048a2d2e4ea183f862c70dcfcedb204da19508ba8f8cc3f659d40, - 0x2470b0f8b5b4ccab002824db06334bb5f025f291d80031eed5144d0d97a8648, - 0x3823bcc6f625e430980c3814ee282fc7b90ad486ead43399345d2532689a88c, - 0x152ea3222c9dd18b26b39bc94716fa0bb8e55dcdfe165c7d0ca4ec3a086f4bf, - 0x4f2e2bff66c96f496aa277b8f44921f561662d585f807521726e7c1f69f9408, - 0x7b4b3e7585d769843d4ecd79d45efb777bc615dda97779b7f4711273b80c987, - 0x340196fb4d1294d95506d6e5053a6b4d911cd0f2ea08098e266123735857de9, - 0xd8113b2d6db372d33c81fb80f819cee096cc0328cdabf9d52ed5e5e70a393c, - 0x3c16204db2470cd831a28d066217a3321626c37381c27ac44414a00a4e109f0, - 0x39a02fd866a8c503b454e18e9ca9931cdd5242ed91563c003d8f93dfbe916d3, - 0x5ca9abfe03794ff0cc4f7ced135ea414516312e4497bddb8a3dfda8975c174, - 0x41eb11a6a81be4ed5bc2556761f93756c6d3b2dd25c499fb94b467932aad461, - 0x38c19212ea0096b37cffaf42683a87a6ff96eb780e61cbe0a8fbad9d5e20f9b, - 0x3ab5950b2a4f1cd78b099cceb8f832efcce9fd80594fa51086759cb6ee803e8, - 0x70dc625c476780dc7c458ccf5c1ea81e14591381ae607e57d924bbd044afbcf, - 0x40bafeaaef4854e23d18012ccf835d5876f9bc8e0c97b2d582eeb6669d0333a, - 0x4353825d9e7c60996b381c1b9ac36236cb06cb7ce7347b9b94d067a4a3e8fbe, - 0x11d0201146ab59a1d1ef40e9250142b6066595e870b101a5a55dd2376d1909a, - 0x1ad81c0d85d16765748c540362e0bb0902d372fdcc5ac6cef1a0fc680475650, - 0x179ccbe62f62afd23ae536589ca006b810354a0bce1055d6fee663b3576b060, - 0x42359fd539c412ae9dd78705527a5d211933e709537e8fb710a1c1246d01c37, - 0x60da13bc0870f3b925eb85443f9627d94c70d89c68d9964f672d419b65fe38f, - 0x22f8d76bd8f8d564a8275f7145aae33db2dd30ca67575bf50b9a2aa4a26daad, - 0x206cb7addda5ce05a78fb79c25da1351bdd3face0c77ee28e0011b0aafaa59b, - 0x34745c8decaf476537c5f07f01a7e2f5bbdd596adef8f97ec77db513e6efa58, - 0x497d47cf2cd60af6861e059eb6a6a3e75736533f80df37ce63bd6373536b66b, - 0x34629f72d8af2445c4d4ae7d4dd0c67dd7d7ac84750b3834cc38bc12ec6d47, - 0x5a2b260621708771a511a8d3b2d5662545dc4312e5114dc6a5430d0528749fe, - 0x2d91575dc138b0a853c0539a0fe1b54ebef44ee71da536419bd083bc31f1baf, - 0x34d5747de6749cb421e91e4580395193f7e3c6467337d5e956a7fd4a1dd757b, - 0x7b09acbba48da3bd574af7166bf7fd174e66cad6cfd3820c8cc6bfc463df583, - 0x693d3381bba96d3160edab00aab6089362542fae579838aa3dc8552a1614559, - 0x5e2dbdf75e852f75f9f8af9bfac5d878fc5073f7976b37765d3a67ce283b339, - 0x5f395c432708f117f1a2541130d9b9fd7062083006925cf8749444ed58caa6b, - 0x62ffc7a68ab161a98f3f2d59fc8655764378827fd3705054883f85c42484194, - 0x2d9912d4e964c8cf26c6fb48b1c07e823ab0dc0578713cf2cf34ef620dc7dc1, - 0x6050a5ce93997c7279c66c8d74f8466b71e90a34d64effe912515be27b47c67, - 0x690cf71fb063d05a6e6d77cd863a9e73b3c4e8f784652d83a2591dcfaafc6f4, - 0x389acfa56c945ad19ea2b9abc14c426303c6328e65b1c2e61798b5a47d3fd00, - 0x12316a65f756a2ace95dea4f33753cc5730bca7807d3a3a98bde8c83467d8f4, - 0x31b00f5482c728077dcfe38325596fd5c2d1ab508dad4def31d1682cb0323f3, - 0x4a98f4cbc4f716704e7cd4a8c265722ea95b72022585bbfc136fcc6651827af, - 0x70e656d47f4e8657e1eee08e92593ec89e29c951c2e84140e58d61abde32f2f, - 0x4cf9bcf1151f7adb32286c2aac227bce49ff36c65793f39fb8833f137dcbca2, - 0x791079f2bbd3e6ac6849e1c4747103c381c54e3c71a94635a3e924d05fb1c2b, - 0x3fdd5fcfea9534882eea0cde04356308a3050066e7b7a1c12e35665551b905, - 0x710721de1b1a60fa61b73d688b1111d625a0c5bf0211a6e36889b75a56b9bad, - 0x7aa10a8e09c0af915b625b8a74118443dd2cf33f3c23e855124c89106ad2743, - 0x2036ba5a8b7b343af815bcd3ec3670787b6c5cf610df5077309e8e21023f66, - 0xa99f12ce8d5631ed40399655070b5968ad663b7f692a894d9a8c92923cd652, - 0x1b8987d2e0fbda72e716280b10629a0c0c2e91fb45dd1a6928c8f4bf9972a52, - 0x465cc38930fc5209ab9c13e30b61f166da9e900abfc26ac7ce2f840b121375a, - 0x574340d33431f3096eb4d2f2a7abf22d95e36ec938b6627269fef207b618241, - 0x7f1a146e05c096608ca7a7222a558776ba1e54551c23b13cd5b99477098b24a, - 0x2be63af1ebc4b5e711c5531eb3b3f5a52d26c5fc825a3460bcf39c8c3def44c, - 0xc1460285464e30adca071c213ae51fa7c06c3b53a5d8137ac9cd657c1af0d8, - 0x5b9f7c683cee3855ae9aa71e3d6177e0909f67fbcd45721f861f7c7780142f5, - 0x4208c4609b8535aa6d8016c971d0baaa41ae81fd757d52be5372aec063271c5, + 0x5a81cfa7b8ba1dd722ce2bcaf78476fd0e0b7fda53287ed2632c2c32ab4f42c, + 0x437f6248b14ae3bc546eafe54a32cdc961c0821ab13a8ef15b28aae6762c6e9, + 0x350167cc2d1223d974e60d87bbadb0bf782ceb21bebca6657ceb3df9d2398b, + 0x6f5f181efbce585e6bfc816c428b043a0f7bde3e6fb62e836300d1bf215aba0, + 0x1e6d05d636513c6d40b99c7760e610b27a05f049e0523f444369f9b1bb98a96, + 0x173e602ff07512f9b50c59fc3471494203877c2da9e02b44b62c44486052ff7, + 0x749f215c8d13b0eedcf5419760e8455603cb0ec4a74be885ebf7a0489f3c5aa, + 0x5b753d91ea71a67ce18a799f695e25b7962d506dced9b78f3bdc8435ee213da, + 0x6e6de7b0565dcdc4b1b62152bfbecb2dba5aeca0eb52e9260dd7f0074e930b0, + 0x672901a267bd4b938a23bad8d6207fd73b71107835aca545ad88eee3100e586, + 0x2d030c78db00d0278dd5637e3456888c15521452c57f8eb3e14665614fb381, + 0x23c90d84e2502f1079a6c4bab62cf77b5feb89f8199276852ac09a885b2b495, + 0x10e35324d09571bacfcf642d0b1f872c6a8071462b5864f23340cd83c5cec11, + 0x24d19d603e658cdac66bcd2ecd484b0fdfb502d32e3d03f3bbfff6bfb3c13f3, + 0x2b85b285285a0543466f2fbc053db9995ab26578dc2db49df0536d3b68d7a21, + 0x67d06d0cdec229eb147948d8917c60a2d5ffaa01d3faa4ebd62c68bf7161d7, + 0x506ae3c00774c128e05fcd292031bc9b5748853e5ecdc2b68efad22502d9dd3, + 0x28e7bc0081b3f64605be467c67679b4694698d61549cfe1a61df01801d8b706, + 0x571894602d25aa56fca3058d68de05b420cf3a610e79710746e8b97d09d9960, + 0x7b36942fb2f4ca2f43f4166792a8e558f86875191d9543fe633e4f95d05bc2c, + 0x1b5edd7c7943548eeaa3b0f53875f7b2a864e7b96fb97264dadca98be349cbb, + 0x6032b3931ed6052582a1eefb1fdf475d8d5f6eca637fe659f3df222d9b8bd56, + 0x6ee0b7bed142500d285418ab68c14fbabbe28cead7517ba6391affbabfa07f8, + 0x465476fca06dcb03e8c5dd71f8b6d6983f75c3e008dd274dac89cb6859407d6, + 0x98128772999f1b99d53878b9337576e4898ab5734534d13895f6d17874fbe6, + 0x3812f410c441ec208f01e579effcf9992c2c316218a8d585e006a9b6a9586f5, + 0x6736142028c68e21e699235313fe5cb080bb63c47d493ca15c09cc854e3949f, + 0x18494ab2c44c2200a93a37adfe8ad06ccdd705aa53085827931ccddb46e2b21, + 0x64dba7947b0037472a738c4af52b1b1b193c02beb2443ed81f63946081b76b, + 0x339d037e561c5811d01ae344f03fc8f847b4a96a7c2d4a4a07db2ab6fa0acea, + 0x47928dcc6bdbb5bc6b3b87d3fbce6b549191693539a2ee0ba232f2d0b2f8677, + 0x56084701a335a410c2c0a73a51b2d59b298dc166480d55e8ca76eb2f0c24c8, + 0x5d9e1faf79f4720c7dd030ceacb7f3bb28c8393fb6311913730a306554b7e26, + 0x470641cdbfdee39e6c5d7f00afdb53062fe672a2c32df1a63ab6674f9f8b482, + 0x230ed14ad7be0bd1f69fd827c65dd357dbceaf022573da3b6b247b8a7965685, + 0x7aa7111c69f1464ca6099e2364519d075ea3113f04be2e0e294664d360b7aee, + 0x5cfd1f2b95c01a8445e16c38c4a268cd6b55a9fb5677b8b548ffeae1ff895a3, + 0xfe0782c363cdecf73f1e7ad20bbbd7bb466cbbc56ca79cbe4d49a1cedf1df8, + 0x47e73e996073fa3fdf22a5dc7cc34ff4119f1b87641575adc3a11e1f296ea1b, + 0x75af7bfc4f26e98c2938fe1452f113f83687949b476710171120b229690bcb3, + 0x4d16d2a61df3d18b4f93bbe01cd7163f15090a4147f73df56de70e688ebc8ae, + 0x49ce8f3d4264f5a7f7d87261e58aaff8e10e56e5ac56ad742b1db67c583bbd3, + 0x22fda7c7beab8b0561d2803247eb8659e51b653250cc18ccad1bf1b5db8686, + 0x590638191c4f6fd6a3bc633578c0fa4059c3ba6ce9f0acc214a55fe44e81bb3, + 0x28642a4c037572cd49eabfe499ce3f3cd0d1ec4a5d9bf997a4de4d79ffc2b04, + 0x7b278073e44677a98119164b79728a594cff1fa6a2b0577be9d28ce35da74bb, + 0x40c384be4aa0577bb23b12fd4151b68919212c1b2f63faa3a992eb133525c87, + 0x5de53658a09a08072e09f61f01fabac07ffd1773423cd2821c6270278c8df0f, + 0x2602d1f5b0bb3e5e49d9e2775940221124b2b2c27acc0353e77e53345903ed9, + 0x4889f879db89dd3394974a06381e4a4f23934fabce6619f00c45ffe1e956418, + 0x25cd05e979f9a05c01282e4178ae51eae662fea72eb6c8ff8290aeb36f9e5ec, + 0x794670d35a13811889251fcf36386e591ff014df483539049a1d16408ad2198, + 0x6752ae4c7342e0d7aa8a64b65f6ca33a9a4ce112c1d70ac8384beccb239eebe, + 0x224f2c778cbc616138aabd3fde19d5dcc3fb89cb20e9670f36aa71b9bb95d3b, + 0x3aede81986738227e8856c73dbc08603a620f9c227a7e72d913e09e0dd3af96, + 0x29adbb8d26e892c0b854f9ecf07556f33d8cb83ab4efd152e6c2168e55f4322, + 0x1e0065b34962535246ad7be5b4b17d66af996b950d1c24fffa317c15d48b72e, + 0x78dc672d38e9d3f7d4c10a91a703b874c8d5f450510775ae1eb9ec4b897918f, + 0xdf66dec5e9469a844fbf2a60fde593d5ecb58b8fc6f4e023dd8348d0a8b753, + 0x647d1a44e02b844416eb63d024eb8065b618dc5d5df1d1e5708ca2c61faa8ed, + 0x1cee497a299c6cb56ff4c3583f6174d8a385f1c1eefb25dc09da3450efe4b66, + 0x3f49a6a6668039023c67c63e8c24a61cb7a7ea93265cccf7f2d84e9ef687482, + 0x448a6f4bcde506f1f462055f82ed18d320337c32ba53a3f4fd4213068672bfa, + 0x3202dea1cd62a3aa3cfc5aa4b8c1a13101018c6d267af36b54f1653ae61c04b, + 0x94593db5d8e77c7a7bd15d1ba888842dd9f89c57f1b6e6e94fd906de911d30, + 0x454446a92177d7f0b2c61b96635abff2f6b5158497b85f29478d057ee71717c, + 0x713272f23405a27a0c8f46705f8c8e8f18286f1b368baace6654e788b437a85, + 0x52dd724126aa589695a807016b3a030f66d035f58ceda4675b08e6eb700e362, + 0x425606a0d129d87548a4315c0548decbc6f1ecd3f76a9b6bf77fbb859e6cf47, + 0x61e378adc06e8c25707453f902a88a58320f383024acb6e8766faad2dae72a4 ] .span(), }, interaction: TableDecommitment { values: array![ - 0x3d1317281ba122c899c9768f7cc61b3a31a18638436355308cc161a315959, - 0x729fa8444aedc7f5dd9c305c989ac3813effc9cf3c81fea1a7eb42a0829dd1f, - 0x742f0ed8ecc11a5736060285c7d1d640ba343438238b4b33a252c80156459b1, - 0x4f55adc163619b17144c02ab91b0858c627cf1e89197199309c920f21b113f6, - 0x1346ba0d152815d3fcf9bc8cc69e6869425b627b0c758e022d41af2123b41e6, - 0x1220001c963e94eb403c78d689ab4eaef1a6935fb5455018d48954e51bc94fe, - 0x2a4605097a49c52105b21485f8010a40c80e5f470da65605af885b0f26eb244, - 0x354c7a654e974315b075e7c7968ac811f91113683381ad2905009add8763c5c, - 0xd7e17c14a90bd1128fb3a1729ccf4d2431dc93a4c2d485461ec9e57b23a6e1, - 0x740b832f9f0c75d4009171aff5a55a7bf5a507506105bd5dbde2594406b2a95, - 0x67d9953d4083afc69429ea96e163f2f6a7bef959019e776e6e8c0f9b18a67a9, - 0x41e5bde6d1f422095bc5ff5cd108a1b57569a27056563b76d8e44c8e3a64182, - 0x5ec2bc2f241cbbb241aee3d5763a9c4315c60ba032a6546ffb79dbfd7140960, - 0x248cd761bf023df6c019311174df5d05f1e94c095369f02007b10b422daf815, - 0x7032163345e555789d1110d33357ffecb3b6599254e379d2a2ee1134ebb6cd6, - 0x55a3864737ad91e9e2c1389b38af8d8a35dc2e4197cb95b146b819a9ea5155b, - 0x7904f9074ea0574f0d6adcdee1cae52ac542d46d924072ad0c572214dc4e74a, - 0x146552ce8ab1d2e7c3b5cfe6ab7eac6c2369f713f241641fed5a0b2c4b0fa47, - 0xacad48020f84b2eeaf95d6c103cc1e7d28a33bdc00599d4f049592b7ba8c25, - 0x4fccc077725ee6cbd9cca2939434408e936f09385e6c1f1755721ea73d760fc, - 0x52427922c6feee12fb96413e36c5bc67d285c1bb88fcc6b1d6dd07ee6e43062, - 0x56c54e056ecd2ece03a970a0ce58f09f222cfe99e0dcb59c2677980681a817f, - 0xcb21b17e1260c16e2bdc9b4d2d804560a2f32c6967545d2e0264ae76ae685b, - 0x1f06a8831de906ec55b93c2ba077bfafdc30471701df70495a10c4c2848f9fe, - 0x7d5eb6967310a3cd65cf94bf2ec62d691493e7260850e40841fdede344a1022, - 0x6cdb42d0e3eefcece87bc2b3297e17112293f26226c8341b4f63820684e05a7, - 0x93dbafc225e0c45fbe5893cf9b358b043b888e8ec92d0ff89dcf6151fe0131, - 0x51014e0311fc1257fce21ce77c78836979653688a22272b0fb96cd6021d9434, - 0x7a044ca39845123c887ca3943a962b5ff79245a4e83bb3869d89b1a6a960442, - 0x76a74eb6c77c36ca56ee90b19177a950f3a795b9cc097d171b09fb2fc367213, - 0x4c239595f1892e185653c4dd7d8de21b17a12dd5712dd46ac9e08802cb2cc6, - 0x342bf676ecedd20b4f40c2bb405b3096ed2d3ca4f81583b749a23eaf66f0fb5, - 0xa991ae9f1823e403083e3cbbcbe08a5b008617694d6a3f236a5b6d426bb164, - 0x3a6f97cf755ee6f6dbc51d7e19526537003fede586917b354933624f7985170, - 0x6220f54cbe72f85954d780e247c44afb3779b0dde8f4f4b170f678fbd5376d2, - 0x4a342fd5f54b3106ee608cb515a9ebf462e1e82e4674f64d259e231b6ff8620, - 0x5f68d7796593d03da7cce77a30f4ca9137811f9ad80739f6f7a544cd1176422, - 0x2462f51f160e411c307db97a2662be5a7e8a1962111ed84f8e0dacc57fb216c, - 0x35b973685bb8850cdb1b0656c148eb15095112d56374e0500719111099c5102, - 0x69b2d563f0a0cc4fc62194c8c3301ca2ea0c58c13ecbc976bd451cadb01a762, - 0x2a41a86a903bcde067a9776713f76fecd9331ac6c7b3d28182e59c7a291653f, - 0x52ef921907706c3023e017b713df48e74241f4916677b18ae983b15706e784f, - 0x640e64ddc734b3144c326a10e6794388cd3a34647415edb42bd030f44615690, - 0x3f79a9756647f02788c43ca3f9a117d01610fcea7d8d5f5004d470c436fb96e, - 0x6b4adeb6f2d2854cdff3c60aff725252e1c0cfcd1a97d517680ba24954b7b3c, - 0x1aea3ff0e84036ce016acf4b80a89cebef97185ad24d067537e821e771341d8, - 0x59191b66d9b03b0ac843518626861d6b3a98b42cded1f9bfe9503319cafc093, - 0x7cfd13e917d8d04fe994f1826ab1dfd7d062ede42d4f4e8f9adc321b0dc97c, - 0x213eb1b1c418b192d869121e5115edb2879336db117d26bc84d57273ee39d1f, - 0x4930495aceaa4656dda3a03f0240b1331057eff422516eca71111d0dce496bf, - 0x7aa39e010ef6ad73eaebfe24cd63fc4847e3b288994a233648b9ff4a6cba89c, - 0x79cbd5d9008c17acc9db4a02c8a61c348b3321d8c5fcaa977052f721ca6331e, - 0x1ebf13deb07846470690aba50e67899c1b0d7879b0b4f80ae20e3ae8aac99c9, - 0x78c7aab3b9642278a45a46a5b3d8c084e15b863db7fc88b8b446831136325b0, + 0x5bf29218811908115445900bc8f367dcf29cf113bfe0e29f3c669b396e12da6, + 0x84945c17d78c44d588525e6012070172989c66a12f876d40def2eabd025352, + 0x73dd90541f088a8be7da7ff68e532d4af514312e6c367913e2d93aebded6888, + 0x6f925f5f494f60aae00761a87d21aa2d29b807514e30407a6049618c4d54db8, + 0x7d3e24eb2c919340e3e8573cdbf8330830b040dc6cd255497435039c9fff343, + 0x1e33d04a094e6d4dc2ccbac5f94effdf5800ec814d42f4b4b30642a1b537c5d, + 0x554156d17b1d78c4503b5d9ac0b5aef51cf1048c18c017318955654b81e106b, + 0x112cbcd71ebd64a09832ba3b69a8ac48af5176386e09e908b5d7118adfacdad, + 0x8fff861ec8a2f0216e8161a3a0dff2a6384f9dd9eb6c1c3cbf39f2c7a8ebf6, + 0x2e3dae8f2a70ca35f49f5ebe4a33613fbb8bcc59c42e9681e81c007aa139f1, + 0x1c9a20fc0184009000e8a93b983d6016117e8279dcd4afeef8b0231313a4068, + 0x3f111d9ad96bfdfc7d467e2ff0b79fe3a7e8bd5e2736a58b4296ab8e910d25f, + 0x3ddbf3767e51556ca3914783920d508c993d7c4b80b7a9232cc132674f4124e, + 0x35a280058cf32f47441a42db2dd0a41848ad8560e2a7e2ae806196006f1d306, + 0x3807fe3c5ccb585140ad0e58ab11f20ccf3d614684b8014a3deab4f607f4a8, + 0x3312b1827bf625d9269f7a2b8597f598b2ab729e2406f40dd089155cdfedeb0, + 0x1085a4ee6cea111d74c9ca967e5b558625bb9e93bfa4d1617051cb66378c57d, + 0x18b9b375d9da086d8825ba6f683a19f1a6afb30d3cd8b3ab8a5b242040d21c7, + 0x718e58a2f2f48f6bfecc1263b2ceb43d26fd1aa86bf12f2c75cc564c592108c, + 0x60c3dbaea374e6b68e8363f5769023ece533a0581a098aacd185fbe657b5a10, + 0x164e1191ba919ecf586655e920bae73134c7b8db66416579074725b71154177, + 0x4a283c8426e01924982760c0180e9b4dad90e3dce99f017eea4e62a43ec1e7a, + 0x72fe1e3b53b3c59593a7f77afd48966ba8a2cbc7fafa7b2ec80ee929d080134, + 0x54e169ac57ec327fc0fc6bfa109ccbf0877335becd6bab57e53e2c5d2963452, + 0xafd9d0db759ab20cfaab153a2e79339dfe6a73e0349059cf0ce17c52603dc3, + 0x23d84e00e69b16f915492c474a2b503eb2ff556c5b68fd3319cca404d7a3c6e, + 0x60ad0242b3f839ce26a48fab179628f81a02768082dfb09c48db6e44e6dd111, + 0x1feaa9ecc39d6ad84bc3bb79327b39731545e636ee2ca7ace1677cb8b1f6887, + 0x6cab97e59dae1d257f420aea18b44d84d40cc76cc6bbf81bb4307f5e28c88af, + 0x461c77600d1fee552f0b2ae8cb786c17c02360bcde0c1b2c568590792af759c ] .span(), }, diff --git a/src/tests/stone_proof_fibonacci/traces/unsent_commitment.cairo b/src/tests/stone_proof_fibonacci/traces/unsent_commitment.cairo index bddcdcf53..d3f6ccefd 100644 --- a/src/tests/stone_proof_fibonacci/traces/unsent_commitment.cairo +++ b/src/tests/stone_proof_fibonacci/traces/unsent_commitment.cairo @@ -2,7 +2,7 @@ use cairo_verifier::air::traces::TracesUnsentCommitment; fn get() -> TracesUnsentCommitment { return TracesUnsentCommitment { - original: 0xa43e1b3b99d987d63116edc58aa49a7d510a667951852446419df5ede6a1cc, - interaction: 0x32b3d365d461b6c12ab7d3396b5225903bd17bc85216f300472afea65cab39a, + original: 0x2a588e8517b956684162e05e373dc6891146c1853c82d3984fbc707ae937972, + interaction: 0x7171ffc67e24fcbb2a7d1acd6244fa91c54dff15c96ca26d193907b716ce2c5, }; } diff --git a/src/tests/stone_proof_fibonacci/traces/witness.cairo b/src/tests/stone_proof_fibonacci/traces/witness.cairo index f29b0fbbd..0ca7371b6 100644 --- a/src/tests/stone_proof_fibonacci/traces/witness.cairo +++ b/src/tests/stone_proof_fibonacci/traces/witness.cairo @@ -8,310 +8,166 @@ fn get() -> TracesWitness { original: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0x9e9fbb74918a1121cf33bb728092d339b7d3749c, - 0x62d01d6188781bab44bd6e352fa8c8d120989ac9, - 0xab32adda63cfcc11c6ef365ac18229806f25b4a1, - 0x64e26f2f2d21ed4c98469bef34fdd41d5dd90ef0, - 0xa02f29e8dbbd2a56e45804822dab46a9bfe53330, - 0x646a2945f9bca5bf1c3bd24aa5e46f8dca67f4a3, - 0xf94d9544d22516d304a2f21919ba8941b95dc436, - 0x7fccca3d22acb7232dca3ad21ef265424d030f1f, - 0x22c940540a258bbf2c2f662b8f617536f731309c, - 0x33ac1aa55fa6b36bc1eae37d52d29309c60d7e1f, - 0x427c3ee898f03bf9a9d002cd4b1fb97f21390145, - 0x8badd58c7fe9562cc4b393a3708785ecd0440f1e, - 0xbac1e86e8b328f73f65da8d1e1eaaa24bcfe05a8, - 0xca26813146ae61221a5c007c63444865198ce9b0, - 0xa62717bc7395c187777ae585660ccbfaf736de43, - 0x22eab228dbf095c2a36705f92ffac32f53f2d914, - 0x22336f9ed3fee63e1bb7f77dd3e3f4ea2b94dbf3, - 0x78086ed19e8273f807d38f72b2091fe37e3d7949, - 0xf0dfc8c03e44953b77b2e415bc78d938c96cac8e33f5a80a8fc5463252c1ab, - 0x29b0e1723f0596231d33849faba64f1f1c65afb55ae7f17b435017d94ddec31, - 0x596a574185cc49030c7625d91b542bc47ec1d1392b3c37ca913c7ef1ee70f4f, - 0x420fb7c2d7999036e56b23930a01b192ac0b659d14d95d902486d12e9105f27, - 0x673413fd9037e76f65483b4c2b301dc663dd159ba8af76f59089c16a654796c, - 0x5087a299417e3dbeefcd653b567237f9f182019a477d03719a5e6ea3785da44, - 0x22930754a7472d769856f9d65cbf62cf481291a483fffe97f79e4bacf1f15f, - 0x18a62282e9b63b42b152f28bf043404b9de6d799bb4cdea53710cbd8ae5d2dc, - 0x2126b64546723d4c78c0137486a6312c6015ef746055fcc229fa0fcb757c9d0, - 0x12d5b7b6b5fdeecaae2a1d1e4795b12f43fdbb9d0b2f520390ccbef2bcd8c73, - 0x739e3e822ca07606d9997e172c49ad3a93d9e24fe8306f74fa94b52cabb7e0b, - 0x207a1ae368ff74155ee7d452db5fae21646a114b3259fc4929b0da7d9aeda5d, - 0xf990d36853d5cfe676c21f40040b2a2ec73ec58e9fef7294c2035d652cbe4d, - 0x1d04c043b143ae6f69de70fec7466b63bb344df909b7f46a02f5f0bcd7491b0, - 0x2440cdc4f152a730d32acbf66049992e0bbb3c7161dbdf8d2177bc68ce7399a, - 0x6bc7d68b0216f52131edfafa5ea4e1653d2d71d5b109f072cd63c2a1905e0bc, - 0x3f8f52992c6dc21ed107c6e5fe6f091e943d1eb6c3bf1a60a34c33ba1905c85, - 0x6b908fdbd2cb00044271997949f2a1ef61d1fa4ac29f0f17ebf34a30570d61d, - 0x18ebe9373b98ca1d937ca0e11a1ff7dc66b41d3f60c70280a787f2b549a0020, - 0x13cebf157bf93a22eb500162579e109f47301671e262b6c8e9fea472d9db76a, - 0x6a58f9d9c0d5bb8b940e3c64c59fae3f83b51f24aa6c0916d456930a8009cc2, - 0x70e22c646970366c56f35331a04aa375e7c51503fe1752da26cc4b24f429898, - 0x4b376494a0c07827f2f931a899069708cc3d6c1d34fbd32927b87963f7168bb, - 0x7a321e560035b23c07ab2e2665a80cebfb3e5698bc60dc3972e9f89b627f91e, - 0x287031cb7b0e31587cf93f6061a6ea4dd80eddb17e50a46c9aa3a596e0b913c, - 0x78621f60a7f8cd5a7b0dc460ce4c44ebabcd4abf99e6fe8a3b7c7c689081d2d, - 0xa9f9d1a3ca36915d344610fd04e0ff747fabe0db181df3198e2805d7f8c779, - 0x411203af0b8673deec2663487eff32f3f0d2d4c2c999c45ea7ce31cc15032e8, - 0x478a0d783ba25caab55d8359ae00e2c8b1867d961232a178cd955b680b94d8e, - 0x2b5505acab099d3565f09cccd036bee0112ea76eb960143f5c2a041b55cc160, - 0x1036df7a8615546a9211a0f1925d60bc29158b3f3071b807b044768df0893ba, - 0x766fa18869423af21f210b4178e6b3f9a45198b6c92577610fa59d1f0aae70, - 0x79b36163d1096641389f1ff7c70f39789122ba0f9466509a30393a89280f6bd, - 0x6b1bf88aef75d77779a5f41bdaee55bcbd9bf531f19a1a03a37aa1dc84e85cf, - 0x7c80e53dc71f60e7d2a349f9a7dd24b6d1ca55ec6a033d9084931c6b59272cc, - 0x1e9a03393dbfd67b7dcfd68a93f3cfde8538703b5970ce35b747123f8f39398, - 0x4da70305eda4b9d1076ba69efcaeb2079edd15234f4603b17c6cdfd253cd4ba, - 0x4c34bce23e3310a2f5c552e9cbb64f90f44efefba55fe51c10f7cef59324a0a, - 0x6faa8411efb85d56ac5a0a0818b156bf23229c03edbe584e5247ae9e8afc269, - 0x110d641ff5b0f89ddd2914d8f1ceb146a483e03a3c8b5e49c2bc74e6fe10fc1, - 0x367f7785f636587895e20c73261f9162f1f3363a5990e1a4a20b45c7abf5e14, - 0x3545002a384a65134f098a41d0fb91fc6e9162b84e7b66be138adafab3ab681, - 0xb0921f6b618f5a767d1503d2fc53b5298305b474f4f03fec2dded8e845bea5, - 0x24ec0d4c32c0d88f03df17858ef5b48722e0ef17ee33e85657584c696222561, - 0x6501e2523b4174f603fcede4539249876b66490d1ecf1d9ea90cf165ed493be, - 0x2f47f64286a53e8c452f5f1badcca748a2a2a27d249b6f650ce0ec465cccc06, - 0x2422dcc1ad61bcafba616fddff950c22cec23ed9570ba583801603b6a285f8c, - 0x7e8907a25db9fc100822ab178e5563b9d845c22c04cc53a4d9764435fc318cf, - 0x38ba1763595033bdc255cee1aa632fde40c46ebc78b68c2edac0cf0023d9cb3, - 0x50d28b25be59b425c465020509dd246af56dd924d08b9ea3fe4514489e89fe8, - 0x656abb558c1ddf9d89fc3548357c1a47ef80ca6bcb319cc68441be3b5253877, - 0x5d9e6555402681341967b6cf42ec1b1c6b39768c6e699453dce148569eeb622, - 0x741c4ab0147d304e31d603c44fd2cc216dd09fa703b8ee8d7cb8751f987dbeb, - 0x4f74d3edac7564eefffea1997f719c7635a20863bae7cbbc97f70c04676b0af, - 0x6dc6fc7cf6f8dbb753110fbca83c0e3cb8b51e221ba2a8ea5d231bee210a656, - 0x1b0817f299ed9bd8ffdbbdd1a5eafd5bb3b3a129e1516b13775cb21eb7df613, - 0x23809eafe6b0d26c2dc44165d97505094dd9b29fee8bb2cabf9ffc52039b84a, - 0x151cae7054032d92230e48d82953a6bb1d763fb1cbc4d21686f5a29bd2a66f4, - 0x3fd45e8dc468b58fd0bcad23d92ea80459f20aba032ba37b9144e959dabccc9, - 0x74e72ae0e8d5c0ad05b172ea1b0b749f636f7fe8232286cc67f16d6f934637e, - 0x4307eae667208de116a6eff76f9aced061edfff91f09f9eaf33e70ded444d53, - 0x2f1023554d021199cbff7de4c4c40d2f69250b6ab10de5c0563e91297ec5557, - 0x215237e19d29260270cf1891c827fb8a2e2f7c72fc29ce8f3b0d914ec8abde9, - 0x739725addfc9d4a77eb9a0f7d6f1eca3977bb95aecbf6e35518c5e725f849db, - 0x7659af83f56edc27e05299f5e379e3bd014e79045f1e2588daf3057973bba9c, - 0x1b4157d22cc958af5244a4bad260b443ce019ba89545b41aa4a651caa084051, - 0x660184098603095833efdd400b8594140aa6f85a411bc99003d79c2426997d9, - 0x6488880a45124abc21ab27d9377140d57c3ed3abc99bf2be57d2b6f490efa0c, - 0x7d618fe411a78ea85e63b54042d43927b01e03da82c3ff39f41a09651e7634, - 0xa078929a7f721aca44678e701c9249b8a8c7c7bd0c3b80b80b3555ed3abd23, - 0x60c6f1b58f55016c5b7598e541f7f23122490bd78196cd1cbe2b2e33fc6e19c, - 0x52aa4b08b5bbe12ada3ee5d001dc276e8d13b293542b43f0ec3ae935512765, - 0x627600e15d3d64961d84a00c9aae7bd3818e5e8d9b4e2a3748fc104abd8041c, - 0x6067a21e3ff06385593ff7f7d3b1316d0ec6ed58b260f48dd52f0dc05623337, - 0x387e039772a8393fe410f59226f04b54bd228ee37456e3a83e337bb8aa8d114, - 0x8254846b640abee3e25de1230a8d48fa4267dc3a6c0d3e7d7a69cfe7d03967, - 0x7d8eb4aaa320b28ff88707b70b6b991ba05fb3d64a1d89ed427366010a0a32c, - 0x3c1e3cec43bb91f805888d86d317e4b6269df1b15f1908008123381c4837c2a, - 0x6788365f59f776dc0ad20606f5aacce9ae469ab76a67e328701ef1984b16612, - 0x1a29a4ec51946479ebc0094ec6c4f6f8a4b85fea48ca65e3b9b95144e1970f1, - 0x5804c02f2674fa034a986888fb488a7f952ad4fc0f76c2a67c894e9a53cb71e, - 0x2d2d43eb69fbd33156ee52b8b45e182edd42436f5be693beea75b08ad2019ec, - 0x2dfc2555682498e9cd71f6fed294bc3a0d50e1c05d85c1df81bc124f8da9aba, - 0x65fe06a29411d210933284a1fb108d9d256158d46b190db006de91583a5df6c, - 0x19fbd09063aceed0425ef0ee6edb9eb13c6062cda1fb3d9b902dd6efc9ba8c8, - 0x7024db6e56fb646977ca0aec29f9143c70036896622b777f1efb2f8ff5a011d, - 0x893688e38f8ebb74c57219bd1568fb94f88611c2ab98c3a270405609ad023a, - 0x6b2bd2ef4dfadea0b08c86b79c29bd73269a42c3edf824110bfd766fcf36aa1, - 0x8fe145f8c6a2a34496eff9fa6b37acbdaf0a99ab64370273d1cd228511b18b, - 0x314d31613d5f5f36a6b07825d7afc5c50556bbd982dc797e73dee0ea6ec325a, - 0x7dd96c62bfcd204138466fc3b2abf79d1ea1f0f114b747019d42a3af677916d, - 0x8fda74c86ba90201e75a45adc1a818ffd6defa714bf70f24c4ee2bb71a4b08, - 0x6d01ea77484e11311c810dbde10c2f6f2adf2127cd157a00fe9ae7274b1f53, - 0x4bea024097a0032e24a2446e30c0cebed07e42dac03467079a4d99f795db61f, - 0x21dc23137a1032d237dea8251192ffbcf40b63419337087e11b25fd8624be21, - 0x20f0b362ac91c7019b6965f632e31c6712c3a132dbbf0cf0daba2444cd7b0f4, - 0x1ff383e371081199d389d4526ad6755674e1da0d4a0398e9695d3e3a11dbadb, - 0x6f287e23ee056c78f80b29cf6632bb8e7fb2b22d3461ff57eb6e0e0c82b6818, - 0x266658239bbea5f80f5a26854e486a7feb37d0451211825782bd55cbb825f2e, - 0x451052e422d4af688e083c41640ac8cf13ff4b1f314fe4afbd9447a17f6ae7, - 0x782b8dee846b99f8131a465b2e81b469e57175fb638c9177ea8ee5aef45f25d, - 0x19cf72ef70ed4cc1257df090036a0835d5cb724e7fb3a227f61c8f86be03008, - 0x6df58fb8764174cc79837660f5d12d8cc5018e13b9986d0d3248a878d31bbba, - 0x2ef2dca4107fb47d2efbffbb19456ef6270b3d2213be9e3c089f57e45ef4b07, - 0x785a690e80121de2e58fc22c23bbcf70575956fe0bb96e63ee913355b9c60f0, - 0x6be398a703c2b62080923c70f0faa5df12a5dcf26a38c864210e41bf4652988, - 0x770a31bdce2edd6f3ffd171bb9674d8e81211f930bc814d684b5204e6e2e5ea, - 0x6fc418d250785e82f39b7086bb0ccdbe4e26edc797f82261001a43e9a919f30, - 0x676b424fa344df0ffa381802056e729e860b22afd9d8a3d943ae293bbc89e94, - 0x6b9983e38f7dfc243a060d0c7530164d6bcb46066ad639fb42f8501ae12797f, - 0x45ac200efd0c89b765bb49b000a00100d1c25b61b7db0ed1a50e5b0f3df49f5, - 0x3da308e501e88e6e44e08f5f04f02c3f06de2be318a198de40f0f0cf87fb11a, - 0x61341ef59187bb8188d1b3d835edbffe272196548b0a3272ef5f5e64e6d9385, - 0x1ac81e829aeefe169ecadad0152813e1a0e8d69e28584a8889e4c81a52448ed, - 0x394b3c1ca35dab516437d01a655254822bd19d51917c8de644cef99594d5cc, - 0x881c2928d4f60b590b7faa9d221c00b0c570dcb2c4600ad0839607da3871ed, - 0x793e7f5b50a37f7efea024435316de6676ecd2a2ada2d00febedab8ce7c85cf, - 0x6758a4ae4dcf4f0665e74033d2db5baca7180c01919d162594233642c9654aa, - 0x61c8f611d5bebdac33f81ac20e0d04f172e255b5fb78a4b5d6344a7e576c97a, - 0x30d83d73c49d1e2a7ff08c4ccbfc3667decc635f8366581c5fc2655f038e5c, - 0x4ada5f56392b213400018a569015abdfd064d474bb60dab1b4a576d60142816, - 0x295acb237720f5817867e28b9dc4aed9ddfa580ec5e7ac0ae0869d1152ef384, - 0x30c2fb616e1f7bdbb0d48f727353d0c54a0377554d14df7eb364148054d6bc1, - 0x6ece8fa47070844e25cfb5c090d0fb3c3520cdb770ea8d0efc3ada7c6626648, - 0x11b06877914606d8041a00f21972dca369afe88676ae49c0f3e71ac153d93d1, - 0x75420e4088316e43ce793c564e4e41b3759ee075f1bc234aa9a974c54c47d68, - 0x5f4fbff006687de50a302c58cf66864dddbfbe4706df0bf08baa9a0203fbc14, - 0x19cc0ef41e590ee57d9bda7cf672e4f16d622f3ab962e1c000a1b82bee61a48, - 0x66ac01dcb17c4f96ebc0ca7381246b2bd3e345e19bbfeea03e508690cd9d649, - 0x61171f99bd4e2818860e44b6dd4fc573c1a5cb4736e623ca577535b56cf1276, - 0x61a08070e8a828d277f273973b6e5419af1a54f322c3e0ebfd0e19312def7cd, - 0x7382dbd16bb8efa92f88a73c248c315fea87677ed93a37480648a39026beef7, - 0x6895ae9e71d3e4f8c9795d3bd5deac3ed0f3380d4dec87d3b30633b4cd2828c, - 0x3594423703554ba99aa76f861a356a039e887f6d8ddb6f0ef16bd8652a8428c, - 0x705336f5f193f0d5da21a7b0ed282a2954efb5335f2a885a860261b242bc117, - 0x3e64e8e44e41ead46d72e447ac76dc9900732f9270f013bd0d5f3f21ad4936, - 0x496fa08169fdf605db83c705725b30e843bbb79897749b495d803cabb5a319f, - 0xeafa9eda1ca3f4dfea56fcb5df6eb7ccfbc66f8e36610716fbbd803a1ef0d3, - 0x678fc3e43aab00f350cc7968055183be2811ef42a03cea22cc7bb0035b47f4e, - 0x6acd08cb057932e7388bb67e6e29ceac0272966e5ab81bb23f4fc7a3bb9cea6, - 0xb4e7f88479e950b829e2b9fb29759452907eb02063e9130cf1117e371586ef, - 0x19f85cd2148d268de6c99c811e34edfba82a7d185a944e513e038f4ef9bc05a, - 0x354a194899848d3924a154befc4abc87398950eee49d7351b161e8afcdc5c31, - 0x7ea34971d130ad3e3972c44af7f9d9be457f71fe747f8c70c7610899e759019, - 0x60898775622ae2a8758f2adcad656d156b2f8b84e338676430314a496154cfc, - 0x34f41d9609d286300560ef6d41b6d1edf4a53d8e23a0d0e3e877855d49c503a, - 0x63bf6337461597f1e33c43da7c626236c4ce01b0777020c95ea1261959b4c69, - 0x352242b6d12f01d9ccb588de1b9663fa6ef8de20c31da58961ecdf3f1a3f7f8, - 0x1c1764f8a3eeeb76dd86e6882b6ca6550d48ff2b26f7af72a8dbdff2a7b7c19, - 0x26c6e3cb35f8770e97f96c1671062f22e184e553fcaf2deb6ad80a725f9737d, - 0x6f63e319bf83fe42e1a61950fe5e4c6fb16cd54127c9325a876cef046eabbe6, - 0x4165a6beb1ad522dd56477024824bd02294ecb1fd9bb0cdc38fecfae10d6f58, - 0x2c3fe26f0fe8416dfadb0f6abfa6921633339c4f8f788ea028845ec28885588, - 0x524a1124f49bb6680977cd8fa852c5e3e64b0a87441af82a3e6ed71d08386c2, - 0x67128321f14887642973b80b73aba8e960d1c689828aef04b3d5c061cd35df4, - 0x4ae7e9ec58427a7e84399390cbe8b3a0b411c5c58421e9eb224db14a5149c0d, - 0x5f6cd18b440829caf1f3986cc59af94f959796948954a703572069517e67bb4, - 0x1c40e8e9c4619ecf9630476681cd5a6669374b6969a0efc40770b2c32173318, - 0x3bda5329f16860c332c09b48127a77987c88409aa591b050cf71c04bbcfb874, - 0x9ad68eee0651696859a902ed7c6a719388ac6de2ebc7d6738ddb2778a1bd6f, - 0x74bf859104c43b9ec75d6efaee9e6e4882f0b42293ad7487ad780f037304d10, - 0x7079156fd29093ff3593d617e489a32254457e0a55e1058e1af8d0e558c05be, - 0x74332dbae657f1aeed4f14978072be136d81b09a285001f1844f83a4b10cf5e, - 0x62dee086605b66cd6d7d46028916ef2ab412fce5a092a58a1f422cc1ca1bbfc, - 0x1d0445b4bbb8928d6012cb9775019dfdf6adb9e3a1c94c7747e388f6201b7c5, - 0x2f456850c6f48feb25bb8813c0c1d4f048cd4aadb792e5942cb2a6597141954, - 0x4299c8e056989aafff53f960a8e85c20a58ab27eddb8ab7e4bdee789d62a4d7, - 0x6a4a1d0b0fdb4fc35f0c45137f931324d82ccc4970f5e4ae034042742a84e4d, - 0x564c65a960cd8ab9e44283aeebee1f9d9bb4709b7f01f69ee02a920d6205100, - 0x367c938c56fc95034df9dff1dcaa86c41bb41345dc1a3b116ae2f7931d34e79, - 0x499c47a526e5e5ad401bb6028da1184408aa8455fbf2640c9c8694ec288a557, - 0x3111abedc2bafb4b17f1225d095853f1d8a1b65f1a0b8a734c9f6907021e46, - 0x58144d125748c9c3ed42dc855a7adc6cde3404c3b0c0e309e435b5f8bd445a0, - 0x5cdb468c382838cc60689bd62ef2ae7186797fbb3a541c7cc6f9b99b00d4a9c, - 0x492059d56f5d3510eb5e02cc6f62412fdb079c951386f864f7641abdcaa9fac, - 0x5f282a7b2876c11e73367c02df5e40f97383356d32deaddf2957d5c976193a9, - 0x2785a7448d7d624f1b9d5f58aa5b5effbebf2a586aedc44a748713530963ff9, - 0x23c0e4f88127cc60941bde28035aef3ea867c45d1e75571518c69d7d9106125, - 0x75ac56f6d17591e8a338536cdc4ff370bb4ed1f001a88dbdbb59887148ed9a3, - 0x1af83e9c42dd10712c100cf762661fc24182a48df40f557ae107f9854fed424, - 0x3f94a434993b833c68a31d3edfb737e68eea28ba47d30e3a8486136ea90069d, - 0x199e76abb4368754c32fd9f391e1a691493e0bfe3e198d6fd6084b4169c4e1b, - 0x5afc2a8f46d49c3b30534f9125cd77966cec0394c7559e95fafa3b517527481, - 0x6908c909fd59f2617efa1b27cea075f032e208ff63526b57820cde853470d97, - 0x43e49b056c2908429ccec89afc22600121d1e82097635cf4162e1a42af66e72, - 0x22909c5b5a71e2d9cc605d496af4d2570c2f85adc148c0dab9c2ebec8590125, - 0x3aa89116c3f5b702a437890c68da163e7d4cce0c794ce0c328b3189d88aed18, - 0x41aa7d8bffc18c2ab5a3ec752f747ee164249304b2acea2cf54f560b2e9a909, - 0x13b99d8178d71fc1904eb3e2ae64919263484b49f74030190c37ecec6b2ce62, - 0xe8997619e78030306b230566adc1bf904ca7ffcf4c2a48ef4a2a63a064687, - 0x7b832c4b2253e0baa5e858314dd710dddb2e608e902279f2ed836392b840c1e, - 0x58fd0aac61ed5faee4cebde8d70011f485b2deabeae604a637de788610f4dfe, - 0x347c0fc6fba3959e8b985352940b7404637455c71d3d739755952e77ad7d316, - 0x5e36d1be623b0f4d05cdcd95b45893ee4b1467c6141d28f65f97a6332e7ecea, - 0x2d7d9775095b6d602f9857774503acfc5b5960e7b7fafe327fef465f0519cd8, - 0x59edc175b76543b591aff2805f7082dba2eedf54ab3db7d8f47485b7b9962e1, - 0x6bb294f7af78be9f7d6c1a42659f603bc29c49d6d2ded18f4c153acc03cbbad, - 0x3dfec6e25cb339e204867f227b6776c022d13bc4c996101ff2cf871279d4a79, - 0x48ec2141cb75861c24395a7c44fe6ab5225cadca7846776b5a9911c6ef95f46, - 0x72555a170c026f1a8daa97505d096aa3bad20eaecdf1c94a56cadacde8d5eef, - 0x77e22b094f4506732d028d6f0f1e3d2852ba8154e649b230ceeb01bdc01c6a9, - 0x332832fa5cf73c833905ded248378d38f130e87e7d45cc5da391794c13887bd, - 0x3ea9a578926b0a5d803b372bd946ffbfa39d5b24229394e38bae65561a470d5, - 0x29651c0b23d75888355a5a41a814c7abacace6ce198610f1ff15b2d3f0081fd, - 0x5483e1a2ab53621341394805a71960243c9afcb25c4815c0a2bd038bff029a1, - 0x7ce56db369d47fa483519b915ebe4d12d0dd4ab2f411d2192010133c1a59c0c, - 0x46f5ad045adf635a988bcb86b07ced470bd630d756e73f4fae4e53e00972c06, - 0x3e09a604d302845b624366b11c5e0cc9894f4c248e69cf41b6a4a4228072bce, - 0x6110defb5dc5d014372c28c4019b3a13b30f8c3903f56058e1a9a48af7697aa, - 0x6db605831b0276243b7b94ac2b31fe227d206e2e0746136a8cf02adf973fdf2, - 0x41b35fc44889d799a893afeae0608e47aa5349bff4f61ceb3413412da740b8b, - 0x749623c95816bfb08e77b32233f68b421597c335ee5c7bd8c4cae60a000f312, - 0x61d22a0f804ae1ef9bbb74d7978e638a1023a36983a5e976d1f565cc760a2dd, - 0x364346a289d9967669a2c592c9b6984b7136715414755e330e465dfec5fbd0b, - 0x696fd287e723c8081a255cdda77973701181961b83dad83d5aad3c278862da5, - 0x7db49b22f437eaa3fb2e704f0cd7066630db544aa398104708b0dd84b1420a9, - 0x2a59a5980ede586603bd2d32e3ce8cc287bad30aae0929bdda319031d1482b, - 0x7a2d529f4032dc132da31a3caf6eb81ae765447720db5af7d7c4024d11d36e2, - 0x2f48338011114551f3ed58fff98dae005c16830ee433c0eb6e796ada91d6180, - 0x30e5f9e0cb4ec3f68aebb9e1de931edc9b0b812ac310c596606824ede136d29, - 0x2d0c7c86a51330f814e8359a13af2e7dc6930cd98089051df7463247f73d63e, - 0x2930a2f7c0d5259cfed119cf27d856026d7e8af539350a30059cd8866ef5a2f, - 0x67279f849410ba8be72f06736ca4a4cd1b3de5257de4e234b9bdd5108372a06, - 0x20ae468d2e7fcf3a9f91f6999855244b15a77cf437e6d74e4dba242c792f8c8, - 0x4407536d6304a554784f93835c09984f373ce2b474815b1d4d33f223d9b6409, - 0xebdddcf0103d410aab8af393b8d3ac77199c8e5bf51f773b3bc3c365eddcb0, - 0x2629a3b3466c1ef129eb34c2c3a4a8bd3770e8bd45d7f781c7c1bdd682b4153, - 0x568c8ccae1be99fbfd8de23f2cd6ca1b8521c799a1ea7e7e616ccfc10883e55, - 0x176a3177433bce584d1fc35457b66565bed7e3afff045093214e6e7898c2001, - 0x168463fcbd0aeaeb00e98b4a9f0d4bcf4f4c4142bd9d600b56d59315bf1809a, - 0x6f874713b76f5c505fa5231400b7ccdac369bc6da3ccc7b25976f637da511a9, - 0x36a174927fd00a37485b4e57070840cfc1045ffa9c2eb5a40976048742fc011, - 0x7f40a3504f083011dc87d5c9cdad1521cf86085b6b9a813f161b135f9f8128a, - 0x1e21d34d61529adb02b850e093057bc887a5ed2c58bc2e37b85ec5bf249fbdc, - 0x481ad6c76cf8cb480cae6bf13d3cd1b6a971911112ee07a7253148e7b413919, - 0x4a449260aeaf24f33ae83d99a25db9d64ce18f12ea60720aaf47386cc455e64, - 0x4b64e3974c5d90d54de5bda3c5d2ca16d3e2f5c8f4bfb01bb78fc23c2c4216a, - 0x71fd793f906651a5afb4009867479bc99e7dd872e3c9f97523a853142546f2, - 0x891e2032722f9019bbd406a833a74c9bbe02b97c384dc0e55650d693b6ae2e, - 0x6296ab8c691d761399ae2271ab7899829293f56961b815cdcec4e64e81405fa, - 0x48a787e07c7a49626956e679d0a7155e8a1822da3453d5c824b33f749cef8d0, - 0x41331a4dc5f7733c20206aa4493398e5350351888bf9b1951a6bc935ebc920e, - 0x763e2780e5ae700548c8be1036d1298d6da27eb2b421a6d61f12f4bbf6636a4, - 0x31724e7efaff168407f5854d2e2830e40b211730b25aededc7b40c21e2c8cb, - 0x78ba9d4fd558b47efc6fcdd7fcbda42fa2847c285530fbcfa54c0bceba9ecea, - 0xb71aa3f60e7efad4ddca575b6adb336bec0137e5dea6080e85c5497c0c7fc3, - 0x2ef84f6fa811af336d2d13fd1c254262954edaf7d19cb38c9aa1739bba03fdf, - 0x5b1d144a9d5af34bf9b3f6eb7505c8629aeb022d2966adf817d437bcaca040e, - 0x47e8c71fbfb96fc79487a80a463582ff27bf4a499526c39fd532dbbf1d2b5b0, - 0x62afb5750129323cb48eec9e5be9aca07e05d2a467ba4629574e5719248442a, - 0x32773af7492de6ffb6fd709b2fd8e559c205972965d2755f5c56ebc960b0c11, - 0x1fa6469b7115d58d9f907a4f669c151c5d7058a79bcdeac213cfc05e689e7d6, - 0x591b0dbf25cffd615364f77e697a0b279cb7a948f42dbae75147d3f74f2319d, - 0x6127b7de56c474a2fd45ec9769167d9d9f010b190b8742b97f891fa5fd0828b, - 0x3d3e64544049dc5b718fce7aac55e36fb6d1ad5f4f2968d84d254f7519c8eb2, - 0x64419f6cad6da8529d369327b24e51eea818dcdb0ab00025f0b154f3e69dc1c, - 0x64450acf98a52fbc73baabb304a3db396371b2d8c3ee0e9a97abd36d41f1d52, - 0x4f0d85ce75a5aadb1c8580da6ceb6ea71fd71f8d8a748d8eb81326e92244814, - 0x625bd26f8b20ea027c0743db295fec22690261aee09c60d7a6cbdf29eea74af, - 0x5eb2c740e64d9380532ae9b6da4139ced725651550d456c39f4503b9d44b3dc, - 0x2a64add595f8dd467c06d36fcd33d809e6a4096277946e9b29bdbf7bdab5df8, - 0x20f7eca801c2fac5bde7a31385ed3d9e8346ee8689fbf97a41574d4711324d, - 0x6514f0f3eab3350a4f714f2808523e7ee4827f3e7891040adfbadaeb43ea66b, - 0x1fa497a5018e95a243b911aa138fe39c3b8c3bb3517813c1096df3f62775259, - 0x1f90e483f69c931512f301b909ab7259a3c6cc8f6549bef03c7acfa2805ba41, - 0x72bec1def7bd1880758201872d0dc8c0023dc85ad85e703d4923c7bd2d128e8, - 0x45dc4148e2cb3ec43fac3a2b688eeb6d46a22d3da74d0fdb6b285aede1d8023, - 0x5c6d815cfecec3e918831f0168c4e3d4b71ffdc4c733b349731d9e27be7f30d, - 0x57d0b5968e92f7f02e897b9518bab40a65ab6d8a9a5391816c10e91fe6613de, - 0x1d31f186364fbde56faee5b921b66eda3415a6af2f2a3cf6853375e6635f7e5, - 0x1406be1e5a3a7c2434d50e08eceaf8a91c403507ca59f11ec0fa2e390d1b15c, - 0x781297d65ad50f3cace36fd01f48043d47f5c22f917c4761e5e3ba750660c51, - 0x4069afa6f3dec9568b0c250407f5fe1ef1fec32e347d7d9d8ce96584c8f75ee, - 0x7ca15a96d01d0e2b88ecc300fae6f86c4f62b23e048f57c8f7761b414c652b2, - 0x7573622f845e5159d78780755a03a7d8dc069176c06ffbf1d69e390c6c9f334, - 0xc3b0cd24186ec1c3b43cbbba265f9ce69d93b3a2c7e1c243043b153e796269, - 0x67b910ddcb1e1095bf1fe1c4c3cb133d535f3f13130e81a828eaa5ed735e640, - 0x3bebd68d968d71ad38db38455676b1dc33c95efeb12304f8947d8f68d80e252, - 0x7f4c8b323e0cd864ad28272b094f31bd44c65327ff240f3acb2c3d665e37b4a, - 0x19b32b9699b8f73321a636eb1d4a51f6b36b95350c88b632e551a3b1b703624, - 0x17456d2a4676e87151f7a7dd5e9ed4b2d55da09f0b38b5041d11aa9e2978c3e, - 0x1e8c565acfdf673e76582b934017a02edc2df29a21f3e78caea64412e3682ee, - 0x6624bb69ae14f5c52d82aa6d5ed9057bf0cf005a4c197a70613214a945ea9d, - 0x6a92e52f65337b5e3c398540d6876c8fa3355ba7e0c89c7a6020a9ab23f58b1, - 0x2f52c454c4c1f979fb03461ee3753a3ea095e7b71e21bc7eb39e464d0dce3d9, - 0x7552453b92a4910d4bef7631da09893b30c15f829dbe3c6f9588f32ee8de6e3, + 0x6732ed418f24c6da3dd615ee87b95896d7b019fc0a47a7bdbd22080a10601a8, + 0x28cabb17e9c835a54d1880bb8d22a44b78f71e17988fe7f55acc911ec04d28a, + 0x6214e719cfbf829a3eb67ba544cc0ab0461f95f64396125c9d3377244aa4d41, + 0x23a6ddff1c2516c5768d2304ddd3f20fd54d3d01d28b14135917a7c5db50936, + 0x498c153909a13bc9a21e67d272aa177363f890a68c79ee4be6ff29de6f580df, + 0x344e1535dfebeb80f128f78ab8f6e380492adcd9f9bd6e1aa211bad8d2296fd, + 0x64f54e174049fbe5a13a0b01fe1ee7a2c9d92f2c845276fc68c6d0fc2dec664, + 0xd48aa0243b93f20afe0b8ebf3e8a4844cae339c936dc36026f07082d9229f8, + 0x4f70db4abb4620c633b896f3e02934a4e08d9375b4c73381d8b4388e8f593b4, + 0x4df0916a10099f167d918e73392695b88eb983a90116edc3fb9e1e78a3ca7c3, + 0x75148d85e336d9e62e712b211ef7dae80ad386c9ab87e4843288d639e7cb9b1, + 0x72cebe5ac503265da3291921e1ff344b8dd3a4442e406647daec029d88273f2, + 0x1e42a2c2272772e6cb0404acafac4b824d4f28cf436193c7e6d0973b3ddef16, + 0x14a9d594ac3b499ba5e5fdaad7f883b374b154a5f3f2c09abb06bc70f52223e, + 0x10b53191bc11f1ce2e38c79dcd4114d70bd37d12088cea6a4e57d984179a395, + 0x18e8f3fde0909cc145912bacd507069fc6d7645c3f7cf50591fec9001f812dc, + 0x2b2d20a915e711d3b05045bce09469deab3e3e9330875e1f49577ed67ad14eb, + 0x7c64e607219c378cad9fb69837871bd2995524fea36456ee08c75516f057e9e, + 0x1f830df4ac2a597a455e750925972c250f671c04eb19319a5a88e9bf42927ce, + 0x7cc08920132321258da8d4bc8ce112720d153209c79587732f5d11726af5377, + 0xbdc3cfd862ccde258daca450cd9cd9fa95bf887cdb2832187936455025a594, + 0x7ebd3b5f3f38b1e32f0eaa6484949e44506f8d713638bd84bb1e85be51d6703, + 0x5bf31b969a1fb675ef5a948258f74d30aef41637e116a8cf28341c5409800ed, + 0x3b5c662319228c1acfd2374dd344e8ca614f82f52cb627a74605583e0f10d22, + 0x6e829ffaffe67889c11a67182281b5700f31889ec09e545ab52ded870910e9c, + 0x1db3811df3a2af1ce0193bfa1bc1e0a3b956a75d3be29b54b301502fc878499, + 0x293985852f3dc44908e44d13d735ba20b537290aae311f900a7364644ff814f, + 0x69d022c6526b6fbfdf17d197b22b0d44d7e320b5b61d66060561bada2194bfc, + 0x1fb3e08e6c8206f2f6251a989682f6032f635defaa6b8f8657d91e2aba066b6, + 0x7c31459b60c9019b9fe9fa008dd74e87def5fb083e7cd03920255ec807e5616, + 0x853f073b93f4cf9072b95f861fa3372876a7b587e1fc21216df1eef4fc4013, + 0x407e552536cab0825d8401d44c3fdb9b7460dccf3682438d56e7f268b0529ff, + 0x768dfab4d41a1e853467c3975fb2a72bab65c88c187bb98ff6b9674b3cba368, + 0x6a6f8f18d681622da6a18cc1cb8b9946ab7ea01262a0b64dbcbe715efab1b77, + 0x4e1b14573ebf91b1862c613d2d06f3cd4f3a2f3b55b86157e048ec0b32c4d84, + 0x26c388389f5ec09a319809f02d6e58e3d993629197fd09c3d73a8ba036658e2, + 0x6df67786292e3125476857fcabc33634700f0bf30afbfd6cc4e8f9b1825acb2, + 0xc5c3cca3ff6053394385f4b5182f03346cfdcef691a8baf348ddc8e31d4701, + 0x486eb37d5579a0caee557c868e1d7d01f967d138e6fbdbfd39a160b6fa4e63e, + 0x574233f66307fdc6f74c45ce10aa33ae05ef1666a0ac0f230475c6238c6c316, + 0x34bc7dbe6b0cd9aadded371788e008c04c56716ab11b7e1f1daac0ad4b2276a, + 0x22f58a09327a3c5bca0d4cf7ff02e2d964404d8eab38f44ff00abcd331b4fc, + 0x526d874f7804d66ee0f7846ffbb7fa0bf73e5a89ee275c9b0a153149842b9a0, + 0x3e5202263e021d963247997e0ece905f915e01322b49dd1c06e973d7a3145af, + 0x37157ac8afd63f0b80f9c80b63011fda9870db44a3bc0e1ebfa145c13189b5c, + 0x20f162eb26186b33832a2f93a5097b01eacd5fe9c266d40408c5b28e136ff0b, + 0xcfc1a205e543ae593f4cfcce1e578402d3517e9cc144cb2358da65368a2beb, + 0x7f7b914d7060aebd82915db4ac186c5fa8bb3a1ac0112883155e30a770d1778, + 0x2ebaf8af434dc0489ce86c51cd9ec27bc1f62f6da4a2aeb942d07cb32607811, + 0x1ee0ba218a55034ad2c249794e75270a3ce5890a138acb8bb2f167f64022545, + 0x20b038b71c9de83ee4d687a67a2397fdbad21f7f41ce615b9b9797221f6f5c4, + 0x7ddae6a4f22044e4471b57bee9932e30ca719f7a8f5716de489bbf5804953b1, + 0x2190bfa79c0319717366b0dac513ee9230cdabb4d5925036194c61ce89d6060, + 0x645cb7d2705a36cbd5201c0dd4cc0813c0f2cecb212c6bfa3b2e10405881895, + 0x70d97fb391d64e7a07365db7778d8d4bf43fb62ee4029193a25a9a2faa96925, + 0x30b5bcb407f000bfa5107b9b3322977e7ac9e4162016c54409a12807c196dae, + 0x17c0823441762d65959d8c10f8a540c1603427121d452b25a01ab76a9dcfe56, + 0x154fd71cf324b5f4529319ed218167886cfad759364e65e0a470ae9e8a2f1e3, + 0x7f0705a6c90cb26cd6fffae0f01edf50c194e68e8c913005705dae130b0918, + 0x56c4b01971cbcd0187fd948ace27c462f479b0f2511e1cdf5dfc8b36cf78331, + 0x1e154c52a43824a6495e09545fb328f97c208204569787b0628c9953b79f407, + 0x291d2ed2440efb06c1946756933d193da55f6b6fce896b9adcd726e6cd73e3c, + 0x2e3d5c712962a223f52d3706de21c457f1d51b5b12b58f05b188f15c5123f17, + 0x2c9dceb210579ce5bbdfb2708a9d84f82ae7692f2a3c3b44ac7c69816e01fc0, + 0x440874703031393332c05adca97d834648ceb06f61ba39aaad460ec543d0db3, + 0x463dbebb01f70a69d81e4421ea80cf2c651f88caca2a6ee70f4f7b33dfe6f34, + 0x4946ebc82ad29c7200d883f0f3a885e3234cc64f8efd4029d917f2ba2e25079, + 0x5394bef18b5a2fdd9b67efef71906b24ef22f8d50b648312b6b9b03b6cf197e, + 0x7071c8130607f557b0a0e3397db423bbc62d3a5f0a1e327b066e2dbc3d53cd9, + 0x3fe45a048eb9d1c5f8095f0853109621d6eee5e57ad72befe9bf1f7862d5f, + 0x22a4f10c4fd1014974e5dbbe269fa8d33f87946bcb9d4880eb4c9dbfa2356b, + 0x635c1a4ac0d8914dc6cd277d580acc6b2f0958bb0139ff748ed00bc4deed673, + 0x6a87208ceed9b476255021ea29afb56773565a44ff44abb467fd32a0334847b, + 0x617423ea49026b3db6e73a8d2ab62992cb5ff7935a2298d4a02e22241e720b9, + 0x1d0f100953bcef2541c0d4beed2b0221b1ac394d762a25d624191bbd539e232, + 0x3269e71c3aaaebb5b4384ac6b27d00b85407ce38736ae193e8b82083a8bcbf6, + 0x30ccbbf3c5921341d0bc54543bafb52a17df09a67b9ca3ca5ecbb7b3bda00f5, + 0x1f4877fef15c2b8af560077483005d7d92d73e2cbb5cf0c49037a5dca54cd94, + 0x42b1269082d2ec500e9ef0cb14f3e189503d70e1b3d456efb4ea804b06622cf, + 0x4b7b30d49419516a6be731f8aa3697504dce72324a34972bac909e9486c1f73, + 0x1c1a6eb3b6ab6b7a98bcceb864e749590e077fbcf53b9cee4c420f67116e8d7, + 0x23b64280140603c379d9b42ca550b0a12580efff0faa3bc48fda4d8d8128f80, + 0x17284e263bfc1ae752b29a2e6949141c22524c90b4d6a777cf3a098c0558ff7, + 0x4c86c3c26ea70dcf6696208d029b4e99bc5c14a65a6c30092c9798a74b7e390, + 0x6879cbfee3412d68d2a3d37aa7670edcf370a763c7753b39aa942a3e4a87376, + 0x2c73082ce23a352eb6bcecf1033e43ae0733ccc7a2954e02c98ccc91a629fb7, + 0x5abfe3f25084dd3a9336d089a44f22d889070b1bd2ce1fbe324a3e849e92870, + 0x4c4d8f51ac2526e39b236dbada19b9b2620434f807098834f8a4bb565edffec, + 0x36d5388ce5df9468c27c1f05de94531a44bb5055825ae8232d6f2a729881ca1, + 0x3727e326c4580489cce7675229cd101d5f3307a32f457bc402a76ec3cc905e5, + 0xbaf6111c17160c8a42a7a8918ef4d1d4ebd660a3d078fd82a1c89745d96734, + 0x2cf77c2c4a5b67b18a664dab073eb28999bfa77f23f82f7192779ac12641722, + 0x4b5af607d439c00deaf1d8201fe17d97bb4ca8fc9f03c47af24540ee4396f79, + 0x2cabfa9a6ef0555401a405edb0e0eea4f8186a7b8735393750ca0b97efe2edf, + 0xc010a4313bb2961d2d4746907fc39778495f3ec3f3068c0643ed2b3f9ce751, + 0x28726d66bc620659c6f830417eb83f344bee66715065d0dac3da9c517ff2823, + 0x3fc3d949d33bc850e3399e041625ec78f4b71f54e0613b4e8c165ead8748a8a, + 0x3e78c52c9c3eb4bfbc60aa980e338f1d00f437d38c0abf093d8e07194dc27d3, + 0x7009097210886a00c53cddb63ae98c8afb242427a55b1f228952bd4d1288973, + 0x26edb847d71edb9280e378b549da39b9038f0eb1e1b1b0e76ff5bac9a9e3f79, + 0x373f5e672c467bb4230774bbbfe4c5a9743007083c8d84465d78ca2d6e1c597, + 0x5aa508eba1a6e119b86aca2af55376d78fe68fa769311622cf4d2f394fe806f, + 0x640c6b6c06c524c0ceb77ff0baa88d0708d6ea90c90afc40ef420c7928402d9, + 0x5a0940a4bd1f9fe590119bcb380ee13a58599a0ce31a1b8b8ff9f00927a03d8, + 0x2a4ab2ff0d066495db5133ff72402ebdc6938cfe3f64fc9b4aae96ae5c05aa8, + 0x38bd912279d2c81a610481db8e8d1e1400f11cff5cd84765de62bd7a46cac8a, + 0x291abccbf06da820f6b587b8982ad2bd26e22edaddb68ceda8deb329d4ca805, + 0xc17238f73ce1700b3b44c07940faa2cdf110bfec091614cff4687e0f8e5362, + 0x23a9f8160b59e063bbb15a0fce3c0ae263f295de9b402c7455585ce130b96e2, + 0x7d44d59a8d8c90c918db722e5be1c2e295432297704c625205fd1f50c68b693, + 0x3908b599e3a55d8457a50d1e326b2cfb094ee4ad68fd509f44e634b27ca8da0, + 0x3454069863fa6875eb329d06b0c057375855873a49391d149263d8beaafc116, + 0x2bd38daee10cb40e369aa08e6fa9a7dc1e05cb8dd77338433665ed6bb9adfa, + 0x34a16e03e0257f63665ceb0d8334cde97e8ef7f14b83274030aceca4023a5ef, + 0x2d32fd8ec6adcfc4d6f45422c29c88f0630f56b72b067dcd0fc18a9ed853804, + 0x766af779ecb5150b5776d86e21771dd5ad64433a4d5e9938a24726e1e0e9fd7, + 0x32af82e56c41157fb82a3d08dacdfea6d70e3bf5c5424bc08a596eac804f900, + 0x43f4dca133dec1e6d58c6d163fc27ed39ee6128bd990cb10e391f7eed8f96bb, + 0x1067edca8e333f40ab18b93d091cd28dc8f8afc70696fcf6ed76694f707cbf3, + 0x1c14e5e24a2c2bfe16e1d0a90c936dbd43ba9467e10109ae3e475a4056d42c1, + 0x5f4509c8e31b52254b741304e3e6496e56f19bdab195c3ccac0973b48d49e68, + 0x12d788c4f12a4df5185fa8bd38412cb5e63eac2454aa686b2c464aebe2e1783, + 0x698dbfa8c6562c6e73e2781713ffebf2205b28364269c20ccf1fa4e796a571f, + 0x28b21fd43315c6961006929b05d1a6ccc9b64470ff662030698cceec5e55aae, + 0xd7a1df6f3ba83ccdce826f2cd014b84a362fb6736db1cadfa6237fc8d73aec, + 0x47b6f1c1dade8b1f6311cc396362e91a1af807b5350f22196f768316802b964, + 0x1282d312559ae4c79acf08a05317a9a8efecb4b1cdfca1599dd7fb9dd29bafc, + 0x60a76252f1d03af1f3a08e91748fd0105f5a333e220d70eef6965257419bcef, + 0x5df76e8553798d8191a847bad0879513734a2ce104b73a1805bb1e3c437b590, + 0x77b737e49112692f6801ede2baf488409259669d233e528955c68ed889e22a6, + 0x239a69e7ce3bca46c1e773e8680e0682052bb03f9cca0fca989fa93e1a1749b, + 0x44fba54cae99b80cf8444aa144a4e3340ea58bc62456e1cb9a5bc368918f54b, + 0x3210573a40c97423e5a015b330897273d0c2b296a957264866810a170ab4282, + 0x71e66d53ada090738b30a0f4615c780151976b596dcc9b26e8782947202e65c, + 0x72614e1c0b1c0b8adf9ddfa02955dcba24cf4b371e772acdb7513444aa08243, + 0x5abefe3de6e8ebc82cfdcaae9ba109baddefca8c5fb5a5d31fd548b014e7375, + 0x1df514c95e4d5ad87549b1aa50b6770f8a52afd741187a6e3a099b482a6cbc0, + 0x711b1a87e6fd6257d2c833e421d8904cd547f5054dfc8da6313a8061bd7f2a, + 0x35eaa41c1e1e082e88ad2a35c023af601fc1a1bacab369a8d64d795cfb0b9ec, + 0x7d7c5af6bdcbfae8f3e0508330c9d0445a5d9bf3bae268d20abf12597f7bee1, + 0x1119b2579a3c18ab87aef0397065f478de67247357288640a274da392f60f77, + 0x55755fde7fbb97ae849498ac138c1b8dd4e053babeedd20e416851a6e838472, + 0x7ccb4e2f768304a9d373116ba7cc359f7e70ac3f7252561ff8e42d500e9db13, + 0x2867592c2f90fda6d1fde967e38815bed599e2421027c77728ed2a5892d0a27, + 0x5be1bdc992630a9d29acf21c0d56301795e918457ba844cf307fea401caf398, + 0x603e4f88c5f30e2b23ad85c51f26e0f6cd06f7713c3dd0594859e68e47874d1, + 0x681eea6ba8b99866f1070e021b86861819eedf1c6ce4ffe6fc4c8b6da3bf2b1, + 0x312fe6432443aacfb621362ebafc3e7e0939e4534541de8513fcae4a597df26, + 0x53ddff8b1074d2528caac08fe263e096b0cbfc8486e83b2695f0807e533e776, + 0x89980eb76a496aadf5f20f818e3e6c294eec28d43e4e279aa74507a411092, + 0x1757afef11afbaee9a4d8f4d340a300b8f547823f9d07789321ff14ed3aa4f2, + 0x17ef0fc64f1918228fb54e73fb396cf186bf91df493e851ae2d9f0903f20132, + 0x6760c353d97754a630a2010fce738b1f3fa9b58217e282815f69d6c1be94f51, + 0x48c0c505f9e4d0b61fafcbbc6e590d207a7f5a846ba23c69b01226d4a8f2dc3, + 0x3885f08a49567c29fcc27fe8dfd4714dd45c3ceb612095b5e98f8917d8240e1, + 0x54b0867a7337fe41dd1859a4741a055247b5590e6357a20378c98a6bdd915ac, + 0x24f4240ff5bd7d57ca965cff4cac11c302a3b00c7403e34c41c616af94c3c24, + 0x72a01166e63162a7acb698f5d52b18a8ca5ae4ec2f8f46eeb11846986d95c6b, + 0x2a1f13ceea256bb43e72aff3f9cfcf945e1b7d8fd787e49162e944470d81804, + 0x3a30fc5f86d8991365c4b32a67a38acf28b8a4a6db00ae0a2fd9b7dd6da2df6 ] .span(), }, @@ -319,310 +175,166 @@ fn get() -> TracesWitness { interaction: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0x951e4515ee8e7a80d9a9fdb1b200f1858b37bf4a, - 0x43549ef9474fd86a16a3b97e1ff7ac2d83cf5c57, - 0x5ac06135bdc1156d1cafdcf256f99c8d8165176c, - 0xf8cfee105fca19478bc292c7d2942a95162ccafb, - 0x92a2f555dda59cf73d780dba44037d6cf9c61e15, - 0xb8980da31c02632c5df380acfa0135442e34c8a, - 0x4e36c06689d152087102892f989b322bb12132ef, - 0xe9ebb8f5a6d1241ebfdc1ca535eff7140acd7eb9, - 0x61d9d45784a9c898b0fef2466a611870d953359f, - 0x6445cdee7ccd6a1610afaf4d0b65175c66cf514, - 0xbfe91a1433a2165a3446f13c05f851b757298d77, - 0xe162c0cf215f2515c90b53f9bdc7939fc4bf3b23, - 0x81b76dc9cb914b96b12350907ad4bd3acb24a8da, - 0x3b587771c1a99105581a03fcc45b6c07fe1bf99f, - 0xb080b0a1eda893335b616e8d01e3879f245893a4, - 0x481aafe11c7d87cafda96a3eaf80941b54fcb241, - 0x3d836c58527be2b8bde17607a4ac682e1b248cd4, - 0x58c4a7d5a0eadbb58b81b5dfc8824edd8d29a925, - 0x2c6297eb6fd1b5553067a85e157f7bfee4a62eb29430620b43eb1856f221e7d, - 0x6588cd42206557956552b5e222fe5f6088a2b11957f97174310cb35f66b6a8b, - 0x8bb0330c45bcc4aea84e46fab644a5ff16e375e870262c3891dec0246aeedc, - 0x31ef9e6a1eea0c3e8ce380cc10dbbbfb8a5f49f5ea84ee65cc040654b0f83f, - 0x2c3ab93c76635c16ec975b8556c4fe89ae61678f67430823929704f95a71293, - 0x3181cd8dcec0cf772efee0ea844237e0ced65c2e4ae9af910eb9774d02ff4ee, - 0x797afbd14b79503696d6c69c6c629e672443087d839e927ad4e4e05eab06715, - 0x647f6f10e0592025c8ed2985d33743e316d8720e503e302ef341d56031329c7, - 0x451f837d73ad7773f193f42faa66573ffa0753c5897d5ae8ed499a141d0767b, - 0x64f7e92e4b78b873d628bda9ca6f8b4a4166a63b05d6db56c3105f2306a181b, - 0x4248b5c41b8b26d73804b2a73044c7205a2201e3203beafa99272641c31f67a, - 0x42514c5de5c0fb41b8974de29e789cbb0b9993c48080d86fb9318b799bf9481, - 0xb22f455194fb862259439ac65d2d58dde33852adb30e6a2eedc330529c89d3, - 0x5c115351756206ade42991f396fea37eab7f6d9559186059a9578bde5f7e7af, - 0x1ffb0ea869fcd2bd210e9140842e9a4ab00cafb97834fe99d602d71b479fdef, - 0x1cb8f53a7bff3a3f51d7ecaed95c741a84b6bc36d667ee8db1c053192e38353, - 0x7c8b23902e4f1bfa2f534b9811522d1bf55b6d4583a5a2739df7aeb4d2db025, - 0x2af0453ac7ecafc233b8afc84695790343e845d23e738882c055861acc81503, - 0x7d664be717b0f3846f239a80f4a2f3242638141add48f93eda3fe4f2c609cb0, - 0x7d0d193d8728a6af01327dd8782ebdd2c5ce41d7a05c16ecc2d7aaf73ecb072, - 0x1ed9da039a47af0d18a7caef2d043cc4d48be4db050ef0859a59496ac854dba, - 0x12cef23da0d1c28a856413718598be5b7f72f97e5e9119f61b96f9607800e9d, - 0x6823afd23e3b6025e6436aeb1585b22ac5bfc369bbf3899de31df3efcc14259, - 0x68914bc8eae41713d01bbf205922ce31d4b25deba77ce7fc87505f6c7824321, - 0x3070a8e968cec5b31f822acdf3a814510d491ad8a6e1c1306a1fbb90989444a, - 0x5a09e39ca2e5c99279864804834c9511b0bce9dbe9d5a70ad1736217fd1c881, - 0x443fc6edd13cff1f1c7fdca430f6e654a7cf75ed3362d653a7057f7510d4a84, - 0x12737a66ab2d206fae408360b6f0a45c984a4282e66bc9eca22634de18ef122, - 0x77e5829607b4818fc4a489aacb4486356dfc00b4be6486fa749aa5294e9dac6, - 0x339fcb96a8eeff6c1f7a24acb53658f9d4c1778f6e80666ebc74e20ce325d40, - 0x423a88fb74db9047cd62602a17e2a3efa18f54c1ba0556ca4556f93d345e12d, - 0xd0593316ef91ec5141f90bff50de1d206d45c6f7ff1d891f34a20e6cf7c71, - 0x6b807bab6e313b78e392c04cad7b963a93d169ba9666cc98c96dda9f7a830d1, - 0x3449fed161641ffe45e1247bf54fb4f4b81254434692353c78d5ce212aba6f3, - 0x344f866f7b2299be26e16e669a0dd3be5ac979e3a8e28b49d119739c16223fc, - 0x633724bd6996703d5d2180051b219f7ed61ada1459c89057bb5f26626bb0424, - 0x294f8959c32a1b860e68618aeb4d3e250fc4a4fa5e7848da606cf7d1ae70341, - 0x248f00c3a78b1eaf12517413e2b8eb21562a6e33e1f2cd4192857c4d1fd3eb3, - 0x15eae0bfa2428502412afcfd8f587eaa8e2de8f1f6a783a4acd60ef8263dd4f, - 0x5c967b2d10cf22ced5f48c771680f81e2d7e5b0f92b37542d99fc18096522cf, - 0x4b0b0a4ca4a102c3ac732ff992c196009facecf7acc4a47d8efc87a16ccb048, - 0x37ec216277dd21763db3c58c209183c9a2c455dea5dfb53000b2397e4c43ea0, - 0x9361d8828394426c971d959ca745c25deff891b876a82465a8eaafddf990ca, - 0x7cc69b90366d529e60528552a3b2559e0928641dc478c65349e29af6b22803f, - 0x4d52b0bb29f4f77765a25bc315b1cffbf9dc3e7fd6fa44747e85f2028748dd4, - 0x4da940bacbe8f617233009f02cc2c9061b27eed9f7d510538297274e7da9935, - 0x43c4938efada8638b903046ef004e3d6a60ae44f7433ebb9486a21392aeb754, - 0x5c75e76c0f39458e7e7ac9bf1876c90b3214274051ee91d48d2ca28b2d601bf, - 0x59f00c8b2d0a83f4f3e1d0d79064ad170ccf53d89b8c7eae896445057696441, - 0x5544cee6df4c6541246f7371bfb9efa20fe17debef719d088eb817475569ee1, - 0x1435c853cf0022b826427f99bc8359179bc5fe96478c4c8cf8b0e29f1243c84, - 0x51a740c743d7ec4cdb663678383485fd432df55fc5ae33daa7b94c1094982c3, - 0x7144a6316fc9cc395ca7309c6b536b50892a65cf2dda949597e552d8786463, - 0x7680b9bf3b8a5e71c93dcdfe45996e0945235c1fff11704046ca442e73bebbe, - 0x7a663cbffb5905f237d7b95f8af7e73c53ec63f4d0392b97ad6c3eea55e2ef8, - 0x3a15756506d48bf2e9cc4a0fab3156f1719981e4bc5def2092e71ef2177702e, - 0x68ee02859f785e5d9ef656b79b768273fd1fcec0fe2dc951f13c44b0303d693, - 0x39a169f1b6f2bdc3c115f617133dff7b6e752fdd52f7d859403ea9b45e6b80e, - 0xa8aefe267b3198163cdb35eba4f7d7652405889ea9d46c0910e567758468d, - 0x73eb4435dbe5209700d0beedde24b6b42b40599838610530845c4ef60c3182c, - 0x65dec49fe3a35c7985dddf9aadc61c175eeb79df723ad7c8404c7513d809556, - 0x8eae14631bb11edb0b98597da8e5d00599a6b0ef313a088e3e7d620631fddd, - 0x6abd77a5f369309a0fc16e7cd75f934809abc107539701e07452777e88253b1, - 0x287e7e62ab1db17f97b8280760dfc34602d2fec70ac62275f8d54416cce1afb, - 0x241291ba69ec50b221ecdd2d99be9b94581e4592cd2675645be4326ed37de9, - 0x1843cf86f5d574a908d15c99abf1bf094d032520b28ae5964daa0cc35c49a09, - 0x1724989d6d6e16a12c0481ea5c1f71a7d4bcc29c7a337f79e06b79659225a5f, - 0x6c002e148a54fddabaddb43024026db440c50f5c2c57d33c044beecbb8abca1, - 0x27092c2c1afe621446086e345dd995f65e26b43fcf2a65571afeef4194da408, - 0x5898027969f6eda607dea50a69661a1df9a9044f10f6fad336c6bd5e2d11e83, - 0x7181ecf927125142bc59d4335b948b833e1e67ee95838dee51ea4fb0ee5d9fd, - 0x147c13f51b2f174c9646ba4f7c19bfaefa477b89048c58df0120b2b941b8cec, - 0x37ad0abf8b4613ce684fcf19ad27f8a7611f18be86b2263670b0e4cf88683d5, - 0x31f2638c28e8e68f9e43cceb850a261416274f6d5c09e23628c3ac268b15915, - 0x88eee324c445ef44815fe005684ec9c66ac8d52b2cb1c589cb00162665c79b, - 0x55ee1f078a9300d2917ecdb40ad3d6daad07b000f612eb805f05513f602b25c, - 0x543b9f81bbc4acb922b659048615c69a5e6c1c0deb4c2fd7493153b3a05f237, - 0x6881dc835222d67ccc20e1a9d6162e94c09de32a97a3c4498e4c97f515fa3af, - 0x69ddee5a9a83c31fb501e19682d3595955ea534e8a46aec77b020d6def4bbab, - 0x7af4ee31b8af969e5875beefd867a90f0e4307d53a36fc900ab57794921f2a5, - 0x60fba1b1484878045597f1371956f1846a189209fb7edcaaf3f3b778c73613c, - 0x274b1f4be454d3c0cd0072f8de765661236caef67ceb552fcbf5be3bef87b2c, - 0x486e59e857eb69e2180c5a6085b5880f81057ca7c98d7d92089bf77adfe580b, - 0x67ea120756323832f6c1da840459ade585ba22064f7fdbc1bc841e68712b3af, - 0x45a26aef2d1028166ccf1beea72f4c43ffc5e469a90238d7ce545892726ae12, - 0x2015e7313145db9630f72138c4329828d726e104b8f959385de1c4ee2fb3816, - 0x349e53c20baf9ecd606369788a81672a3b02a039d8649343f392bbbca9b8ce9, - 0x7ac941161168bc7e377109e31371620d216c083e595d62e1f26e3ac35b03bb6, - 0x53402abb3308d32dd9343a88026e007d7ac14a5e7f32fd18d03ee983102ac88, - 0x63f07152f6eabb777e80017d6c6df8b9fe4cbb204cee23f9aa8162010320d03, - 0x19a2173eae03ec1f83191d82382f20f1816c06449e54631544d45b4974eef81, - 0x76ea600ac576668be827e1e4f301f41237dc617f22293bfc19bd5e4ebdb3267, - 0x2d24f970102ae192e9ec3c14ee3fadeb2146175bea5ed244a1f1b9800e1962, - 0x46d3f3cd548981ec0e61d4e872784c745181324d5e03ee8a17078f653c056e7, - 0x9318fd3885c59b225cc0cf0ce29975de7171fa32f1920561012704c481f243, - 0x77a7ae2e017aceb0a3d0ed988cc2d495e3163d9eeac9ec60934ed97e419985e, - 0x60ce3ef299ac409a39ede60679670e2fdf63f9540812742027e81221c613b08, - 0x7028646da476c01b403f1e4c184782ab75284eab39e3e250dd3c1354760da9a, - 0x638e3207c2a7b992121dc98938efb88182de14ce296793753489304bf272cf1, - 0x74378aa13fb4e3beea68f368ac4e470ce19584cc9609c4b4164950c67648e0, - 0x75a989d1818f65c1236ce4adb661becc9ffa44af423053ba1bc3cb4ba9eab61, - 0x6cc748e0214d2d1dd86156e3fccb439ffdbe0f535efc3c76c731fea2471cb4f, - 0x1b2b7808df654e54d6860a12bcabbb425ef41fdd47acf90a655e3244fcb86ac, - 0x2e114b866595b71895aaf38aa9e71def001733bdba912088e6bf1f96fb1a363, - 0x6056658fb801897b6674924b2bf70cc34cb4cb24ba092feaa458b769c12ab9d, - 0x7f4152fd4d8faa4ea33d431ed9db123351560fc2f463846190e1ea2987b7cde, - 0x4358efe3a164add29d20ee763d7df500658543d9704e2e801569455bfc1da8, - 0x133cf64f26ba3afb188f007761943f9242c94f2ec0178f3ee90ed414fc7e687, - 0x69a3b3176cedba89a57ca91f515b32c088e6665b952aa035fb738aabf50f994, - 0x72539ee161aa50d9ddd83595a1bf19d2b90bf745a73c6785e5088ed061a4fe0, - 0x3e3b65b135852a2a34f6336c396aee28d58671bbccbbfc76f66d55065a82bdf, - 0x2dc7064ca80e096040634bdbb5d7d4bbe83370a88d3e6f441f6a5136ab237e5, - 0x3441de9e7870d05291c826f3e62fb6a2e3bd6b9bd0663c4448550f495a79aac, - 0x1dad8fd2402d6e1ffb5a1b5ab40732f047057fd892a6486d074399b551e7839, - 0x7db0b341243f67f34f91d4c164fb5d2aa4f91f7123ae14cecb2ad82e8d7a99b, - 0x79aa8ff0d74e95a8667cd542d34ef44a6c83094df6e9b89e6c6f815b59731e7, - 0x599f54371e93af03405ea5a344b4cafbeb8168e573c87396cc984b5be738d71, - 0x32759117b254d3404cf803db98243db55340f734d4dd1b9929973a379634d45, - 0x545db41d3645d776f05e808c1bf357f54481771459c7d87bedaac1b8ea2f8b2, - 0x30c61750dce1cf50556d5d97d5ac6ad7e0d2d2551a01c8e507977912c489ee8, - 0x6e4b721943480e225396cd138133889d896e1bbddf39991f329580701d23b64, - 0x403e814168bbb25d754aba731b2e0fb913888686f027c5d67dd80b01669397a, - 0x59715aff615d5e30275a944caffdd2e66f8c466bd62cf320f7e2b897d666c6f, - 0x7d67211da77cb1de6b80f5f78b8391abcfeefc4adc183e621f3ad1c89e8b92d, - 0x1f16f4509494d4187a829ae710076c12d7d30345489bd558307d364cc7b5996, - 0x1594525fef1db4c755e35f8bb763d921402ad330042b5cf826283fb0975b8e0, - 0x69a1bf04b9bb5ddc31b5593783934f2b1017f8b5c38c4abb7c690e624711e99, - 0x7ee8ff18a0d63e13ae725962862dbe7f87c7ee0b6baa5d6415a549a2f2c6e39, - 0x5fbdae0a33b0fb76f3fd3ee8dd21e2fb3120a4416359b179a2126e353aa85e2, - 0x5f1c2e16fdcf37343772e317c4e374cddda2c07b4e7718f0e2dafb1da60f315, - 0x7ac7864682934ee70bdebc12d314f7a06063c1347694390fff583fa7a8c5656, - 0x40d26941d22b2129ee0fc647dccdee7f1e3a611af6b3f32e8b6a28fecf236db, - 0x65a140dc74e26c6c3acff3ca4f987f0014833baa4916c188a783927d41ca834, - 0xe3ad3b6cec3cf0c9eeee6bd51324af86a621cac96265bdc2ffd4dc67c05b7a, - 0x2b36f7b75de79050da759ca463e44d50fe632d298253faa84c77de140e3dd4f, - 0x551307c9e22ec00cacea09c9ce0e5baf08d28bdb4c0e2cfcc9a52a86b0f918b, - 0x434013e540ddc719e420a03393a8422ef7601914e76e5a9f7e688e264d5ab9d, - 0x6dd1a543356833f16ac4e2b9015d8ddb3104f30cb0dcdee2dc81476f655e783, - 0x781756226f468487cbf713c69d9d48df8a006c6d52d4d9e7ffa6dc2edbd5c72, - 0x750eb8527be9a29b4ec0e62d5601ff6fbaf91f4f08b74f255c80865db5d7ec3, - 0x39ce2acf36d105bfa5e894925ef4ac058f80462f8d9922d563e394569545efe, - 0x507f26f7d00a65e28decb442f20b51fa732f87630139ade78580f8e66a46c5f, - 0x4a3a2653a958e288c8a968935278745144ab854bfebd306d58812c401ce1aee, - 0x1d6b36d4401e06e56284a06ad0bbc55955a164a02b7ca0f775591ed0e315f61, - 0x60f5780d62f3a0401ca79795294b55770d3a733450eb70b6acab0bffcd26b23, - 0x40863aee3e61ea6f46f46a38e0792bbaa39dc33296e1f816ec41894bf44b0e1, - 0x5fe8fbb00f5849410730a1a859b6124f0a0dc91c6bc7e69c30a0a5020c4d56c, - 0x4cb2eb6c2865ce9358840aa1647ddfd61fdd3a25ccb5ede2f5fa043e6d08a50, - 0x5088d8cfe286bcda102499c7459ef8f2a15d43556b93bde6048d85ec5a4f3db, - 0x5350ab52d71f43b54b0aae2d43e1e883636c216fbf6b66a7bcade3cc6b00776, - 0x1f1d34ad6571bc19dd909e675e698c0d1d8720f5e9f60ce2aac5a52f91c33e4, - 0x6f416b2cd3aaa619bfaea554f0fcf255af1bf0a4f52c941ab40a7118640d62d, - 0x714605449664afc10579cb11b0696097dea9ed244bd22f83ee2ca5a278bef32, - 0x3c533299692c92dbb688e9fe34d85ae20df0ce2e1e3d699ae180fff6a86947a, - 0x4c3a931a365762d1cb710547f9ecb35a31a2b9859cbcd7a72f8cf8a2896886f, - 0xe2e92cd0a3b6cf2fa4926f0ba5ffea3fe9ebb4f7cd244631055cbc0197c888, - 0x7f25f2b7d66f7bc24b031cf982dddce23c6d2cbcc247ac6e3766d0a0714c2e1, - 0x2e44240e7f5927c5995018bd32231088c4ccd6987a85f46f54c727c62262fc6, - 0x4b3062362e27734b6e7dc33c1b19380fe81136ad424ffb8f8c2cd931711de35, - 0x1f5962d3677af34912cfe186400941a81e90383a66a3c28846cc75854efda33, - 0x339f313abd9fe992d72ffc2b74a9cda1618a813fe89c5bd9e557d92a1ea8fc, - 0x3ea501f9a1680ae9c1aaf38867ae5b51300a286ed89691e5c52cae0000671ac, - 0x5db0213fdc479210998466c4c8a025d0e9f5a67f0120f1df03cca37f14af031, - 0x2327e41cd21899c36e9042b2b04acd120d635cf58f7f3f9619a92bfda461a6, - 0x5f05ded50b5e67d31254a5799606994cb1b9d10a155d30e22f0c033ce9c49ab, - 0x3b44b44e88f4d7ba0c7d45a6bc6a02787eb75f836dc1bc249fa96fddf5acc4a, - 0xdcd4a2e6676addd3a29b17f77a00e1bb05e5865c5bdd3bef54a3067a82e5f7, - 0x266d2103e0620a22f4ed4ce5111567dd9842102b6c862fb269d8dbdcb5cfb63, - 0x54ad70a211e5f1577ac7214b8aba5cca0466112995668d2b2a0310836e6259, - 0xb19b898d5fc60539dad903d50a86e8d8a4c53e0bca9ae2c396393fb3d4686c, - 0x6c1d31debae5e0e30ef745ec47b859e5896ea4bc0609e8fca2395a722e6760c, - 0x20878fff225af6e504e1d9541720ef0d99f620b66e360ef9e2610cbec42df00, - 0x1bf78945cf6dd2a2a60f60c96718196365686fc649259bf1d5d944082e8e705, - 0x3745e368478e1305ca2892bf1d5832d1cca082f66a8092c11ceaeac08ef9dd, - 0xe68942bad3b6220f4ba7f15b5682e360a91588ec68bcf10af93ac8911dc37d, - 0x1356b663370890f5489189be20a74092fea738ab0efcd51f55ce8a9d1ee0869, - 0x4c05760f916d81fc16b00b9fad6df02d0f58f274003745f78e16285c782d06d, - 0xe2800b640ee4a15171f411d5b9b15b2ec93dc4d9be26014dd6c6e211e1408d, - 0x59e4424183763bdcdd05d2fb202983bf40f464acd1a90ea72e54e7fbe8d5f7e, - 0x46946d273db012c90f37630af3fb26c61a05d318429bc019f772cc2a08a77d2, - 0x56c8aa12e9dfeeccbb1552c167de0f8e4542043aea6c9d8d3596adaeab9f594, - 0x5430a234a35fe3b8171cfb99c45939b7de203bf092320ea8e621fd4501c7c43, - 0x6b63f4a158fa615e430b86d1d5ac5d5ca4986a871d78e90bb7e1b2236b07483, - 0x7d2c8a16cba479c749cdbbb2781411aca0b9d9e369f5cf839615b7975e8caea, - 0x46d667db2d45a22f945c0c2f9d5292adca85b64c41a91e2f944edade673ea56, - 0x3e0403ed6505a94a29b9d465e57933b2abad592f046473426d7ba559d4e022a, - 0x19ea545bb15f1ee886489fb6d583590409d801cb87f66261d460fae60c9a09c, - 0x28db8da88e77155796e4293b0098eca410181c0ab52b8f4bf8f91d6cc062395, - 0x5cf44cae6308af6cb518bb71a89ddb55e262042991150fdfe0bafa2357eb4fd, - 0x26032cbbf7be34c6e3beda6550df7543560f1ad9fe013e38acc36f94edbccd1, - 0x8cc746928aac6e3e842aad0d95fa78fdcef66e986064098893cba60d9079ad, - 0x2b72c8bc511896b06bed5ce0952b9dd226b6a82f1fc2e9490ebea3ece37ea51, - 0x3b103dd8a1b84aeb69a5ed6ee32748cc4c51e8412593e4ad3c082ab6da15fe0, - 0x7f2d4d60049f1afed46492f00dc1f03b8dde2c7d2106ab7ca6604abd18bb916, - 0x2c978836555c63e845196c6683cef7e17ce318365bf43d5d2db262b953f19fd, - 0x301bf0e1921734d9e142b2898b24e97040d8eae282b56c9486983ba8cdffb1c, - 0x5dcb7a90790418aca417753723807e5437d2f05a84d90728176225282671784, - 0x194f39085b46785d672e4ce4adf634b717d1d8568f5e03b63368ee1fb94a9df, - 0x5627e29dc2f44b4896719162d673f846b02205728feeeb158d632ddb0137cc2, - 0x43505da073910c1ec5316a6d672a0e6dc0d7aaa9bfadf50fd31a221c2bf5994, - 0x564a27c3f086e919efaec58b2d07a92116eb6410323c649c7660cadb80cff96, - 0x5168b7d955843c9d09046905be8e333bf316f198f02c2670d790edc865444e1, - 0x3b90e8e1677dbef2936b8dcf191ca846abd9865ff960ef2689f527154f56d41, - 0x7b50108f4ab9d1dd7ae06dfb67d72a85aae3b7f1f7fd4c1e36f060a8059e3f2, - 0x4cb2f99843adf38be8efc050ce58d27f3362ff2377097db764f528afad6281, - 0x7fa6af4f88628741a42deac1105e5f370d6484bb055345e486353f0b975ea9a, - 0x404b05446d289333a8daf17c71c544789338a12099bbcce5dbadc0b25adaaaf, - 0x1966b1a45de9b1513620335c9bd58999abbd078fedf211144381b215437c806, - 0x101c4a8c0d8550bed15a28bda4b9b3846137f895dae5e7fe99f96d771705362, - 0x28d80f4c1c59d18aaeeb3add29f4f301c100650777b41c78d0fce47199771a4, - 0xbd62e5463e3972da707406da05aedd1a1086a72472ad10e21a634010ca2bd2, - 0x3686d1f8b5c8b1a954fb627ba76228d5a5a96bc287d60c7a046067f4e649b36, - 0x4a680c551199e01d5a9ea7124657133e04bc7c30ebdc4e16cea293e78bcf7c9, - 0x40620827ae6e5213f9e3442acfd08a16eb8bf755e4d882f6effe0d2421dbc1a, - 0x303972a7883e73718b39d5c7d51f78013c9b1e02afa26dd5e76ad99d6095163, - 0x12ee3229385820a89e81c1db7b442734d3040863b078c29340211ad0afe03d2, - 0x56c549c37e7f514011a173a0b3bfbbb2f41ff6c6a7d073557c7936441ab0501, - 0x17f5bf004530df134c142bf57d84a393cd81143bbb5b723a974b738129fa018, - 0x7d6e098516004e061871589a3b46a0cac6a987ece2b5e0629cfa8336d5e94ae, - 0x6edc7b86e2673d039c987c0355489a5bcd5691f34b4009da3b7b5b1403fdd3d, - 0x30a31e6b9fe3d8fd846d1df4b6da7b7f6439492d2fab2c3b4dc53c9e501688, - 0x703f3bc747792ef331a61d38c202b32e410644dcfada565953af97c3e5e127, - 0x5450f8574fb99f4690f1d7dadefa390ba270b05f65ba40c373d25915979d608, - 0x121b549827a326f357c3ea7bd5a496254d15711d589d0a4aa31ab6b4ccc83ab, - 0x2612620597b4872ed409d868b72b03aff4706e95a7b5183b616023e40cc0c2f, - 0x2d9f76fb313956d5be29d066bf712ce49d4ac6fd1d2998c5e45c955a6cac263, - 0x1af00fb2ea07641c3c796e86633c0dc57da52aeb83bf2f497269b5619bf107d, - 0xfd4f4f7179db142f912042117c8dca3ea39cd346245cf094ac7f1eac3670dc, - 0x391abdd6c1540fc87b9770dae5e2b14ea6ae3a5a7a39c967dcdf35653b1b42, - 0x4e5d41109de6e1cc726bad28d2d930c3f06d931a545ea7c07ea13fb5608cb8c, - 0x1d1f1e83229a1d6b303815910be9c36f643bae5c59b5801d8d7e021bb42766, - 0x59e02964719d655925123905a19380a460a8a9279e839f10021b705770e4b66, - 0x60472f1cabe06bc19d50db439e4d45c691359bb640facec270335f17bdc54ff, - 0x62bd95e7b6a30a39ae43689d8bbdcf5d2e8f250dc1e6f12a35cf0306883ccee, - 0x284c8bb3e97fdaf98f581684d5a1345db37891ac3be811628a31f9d70ae9a02, - 0xc3733b01470db74a47b25cace2536e6a8158df7960ee6465da870690ffbc51, - 0x552eabb6a6fdcaf266faa48015390c4df3aea711c6c3de5735a3d0cb725756a, - 0x54529f6a4228ff42d207b61031bb30849e9dd579aee47f2778754154eade793, - 0x24b14483d806e86c1239f61f234f40b5ec81033ac5472913dedec5fdcaedd28, - 0x182177091bbdde27199fc9e4e26ffd61019116744e8737140347a19f43fa70a, - 0x34e39511c7f811165b04fca65bd39828b17319bbfe9e13b634e5312a77a4bf4, - 0x241b1530bd128756ce6a06244e180bb33b56d525b8f6769e14572a075e5b114, - 0x44b377f26861e5a4cbe04e061d78fcf72ff939549a66d4135cb904b40e793b6, - 0x376a4f49acdb8b5a2ea1767bb3d83bebe6044077e2324a20c3b9e0050532c8d, - 0x4601327a68c13d451e8b57142c918915249d8d5f2a1499903d5f0dcf680fb06, - 0x13afcacb754885e9a7658b284e3a8f64bff18fbd0920222b93cbba99f01eedc, - 0x7b78ae087a71d65629deaf9f284c0a3e214a501d71416ed8c5ea704011aad22, - 0x65e7c6f7928072784d087bcb20a21336ead0c8c36541c69b3d4ab05f8f27046, - 0x18b9125c4d2110fa138ffee1ab9516cc7cb00ba1180f9a6e0e0eaf439c63af4, - 0x6066ce57f7b710ff3e8b4c5c99f68178383b72191cc06b0426a996d3bb2d0cb, - 0x5045879c21857622c576f95073bd7b5e8ec7097e33e292efe1011fa4d522c46, - 0xce5ea73bb067bdfd82c544c85f5e90b4debe6ba7cd52899645d3808a57859b, - 0x4a44b5ed45d3d6ed70b51d32de3742f71955bc5e3b6274189c85df816cce92d, - 0x841b74dee81059d9a4d98d3e725a0cc31f98f557ac8a852cdfd6643003720a, - 0x1c1d828c5766e984ec06a50bafc9b7db16f902a63d8a487659f801935e44c28, - 0x73a5a45a834c9beea57fbf2ae20a76c1cce7769dc18a38976f77afa31d4e55c, - 0x6b5c941ec661d341284131d2454ea7de6f21747f43c3d65c2ce7c0b777d2d03, - 0x214bbcc8f1c86afa6b4389c883cf448264a47c9c6ded548434173ae19aef748, - 0x1fbe0ff9946250c88f1b3de50785250444400bb60b06758338f43f227116943, - 0x1bdccc5f8b4e72585f6ad7d61b38b050f68f3234c35f762696245468c423325, - 0x659d2165021169508cf23596ceac27a3f65f06542fb07379fb4c636f0526518, - 0x56050278e5835b9c719ffe7ca1d08c5b74db8a6743598b8c163ed0915075bba, - 0x5d7e9fbb1a1ef00745d17beb1957fe2ce236341daa635273e3681a9e4b509fd, - 0x29e144a976e1fb7ae5c8b5c520e1deded07bacc1c5327fd5584d53d07a215bc, - 0x583e10109446114487c641bda1e8ea1d1b9090494d8966d9b985ab35b7af60f, - 0x5cb4e89fe68f2a59e84ede4fd1846647378640c5006238c80be2861d031408, - 0x4800e46827434f5b2ced428e90c796f001901257f44c8f3d551b7ef15c347dc, - 0x7a4b655b4d0c58f170327294b1f5522f67ef629656a096cb4c8e1218a98fc7e, - 0x2e3de57377c0d79c4dd9ae5621609b40199691e64d84c93c2bbb0eb5a87fb09, - 0x56f0b6125714f821de293878ecb8ae39bbfbd521620081ba83cb77b29a29eed, - 0x5277b2cc137e70afd0b42e0720d06866127baa2a67b2e28fcb9ef12c046f7c9, - 0x3e24640b2ecc838daebc3da6491fd32011367b6ca8a9831909f0d2641d7137d, - 0x572b0d2746961ce1c12528fc30a1db1dac74d6e5970ff61656e396050580f0a, - 0x5ecae2b198fc670d5f2f805438ec3eea1421ce0ad4cc73eaa045ad742b19341, - 0x6cc28af6cf619ade3ce0661c123007426ec73ea4b745916a564b4c238e6375e, - 0x41b9cf3583f870325e4104260f963f9452440e1fca18403e157934777c3a0af, - 0x67f5137788f4ab9cea810e45834c75eb68bed11a9383993bb1d1145ffd94af7, - 0x157679b7c5692e0df705777d164f736f652ca20900e5621d90d674474c94409, - 0x2ce7c5358788749f0993b509ce63f6e73894d2ad1322beec1cf12fc6436e393, - 0x1cf00029ba972e1f13dd5dfb7dbdc9ba119c241fde9fcffa777c13c2d554b03, - 0x77dedbc9cfd867367b962543cfb162b226bd0dd8229651f70b28d927fb8a4f3, - 0x52f5019e8798075621f3f1474e3657e86f2d0726893f2d3a04d1b13007b8965, - 0x1a29f8fb40730bdc9a9a28f8f910d8c99172730693bb53d2a4f918a88f74036, - 0x4e36f3b0e90a137a94def7b1d91b28d436b2b3b7d3d3cb10d0ba5e1fb6a38b3, - 0x3c4936e30bd45327e136520a4926f3b8f2257019ef05412ff7ed596d1951db2, - 0x1118e1d91a3b9d4143d1929023ddc96b62276ba1d1a6626cb70ac7303f5fdf6, + 0x76b789ba37b249ed446240d80a657fd3a5216fdef370ac2e67966da1781f111, + 0x364dd8b93f77e8fe4a4220cb995c4b80079891290789864fa3c100ab21bec05, + 0x3cc20832ca880bc6ad2eaacb38e0ffea115901137c46c31fe838a4238514049, + 0x348907f2e55dce07e27d77e7deab058a8f501647dcb9eedee3e250615a04884, + 0xc301771c274048c2e4cf9a80cba0f5f6c6b55ad24f7f88c74cdfec6d9a40eb, + 0x181abc85910722d6eb29e740b06d2c45c21dae09a007c0f0df98de5cba3b7d2, + 0x202effed198702786efe1dc32cde6df6fa54278bae9c4d801e05da6292c0f11, + 0xc9e7ce3c1c9ddf651f57010923085513b541a85001eae3d4a08f1ca1f63298, + 0xdaa9ce9b236f5d9f5b07937d8d042a354fe1e2f63c10000b0df1693bd8ce82, + 0x5a09b9f8b632d9d548b473a53d9b0c2412d5c36382bf6f8d13ba59a7475f455, + 0x2913951a49284de65d5ab35c06dab42cae6e92ac073035d0af51d261a6fc08e, + 0x35464b46b9239eda631924a70a930e9f8d08cf1defe97a9ba33b2453a5b6291, + 0x70eb30da3695280edfba8b540a75732aa6dc840dcc99a0b730f81c58f4bd4d0, + 0x4ba37beb9e6735d2e47788d96e841e10fe506e5a6b88f275a70ce7beb2a9967, + 0x4d2703aa177413be9e1e3b4580d7921eb0df767adef8aa0e0dfb43d3a11464, + 0x2d9bfc4a97be1ad887ca557e1063cf7cb83af174b61d977c3950eca104685b3, + 0x90a12c9a8964cea0a0062997bec48724249543e13ee96d120cbcbf3f31a56b, + 0x496b8770873e2597d658f6d918be7b6545d1dd2f85fe19fb4a8fd416e8b513d, + 0x69b9eb7973b0fcaddfcb3c8a6ea0c5361375f7c7ae16385cf9c887d30bdf2cb, + 0x287a3ec04cda03b1ba5b4c117af129033e5571356e78d4527f2cc670d022856, + 0x20d7ac2523a5c88f689a4da0f18fd7394fdac8c34f567d2951fec771fa984d8, + 0x2f445fd061f2ba231c04fb1e32baa117563c07034cfcb13c1b3fb79b07a79b6, + 0x6eb3c9fb9dd1434531abf6e291f701e06c13c987d1c3ba3f643d4e45064742d, + 0x17afd828f62de9cc5ee017618c80e7e064f66b9a631ba13dce6ef7949b6bfc8, + 0x38d895b73ff320fec7098cdf7c1a1b68280a184b3db3f5b452d5019f5e5361, + 0x492c1da796bb73bb3029eb41451c8b779c7cb92b80c589d9094861c065a916c, + 0x679b2916f02ceaceef3c3ed8c3f068229c6435316a2ce19b9ab463ea67a373b, + 0x3bf581f4d94a39b2b41494919584ef328f3bff01e7e58b4c9015a3502a737cc, + 0x7c934170516c3836f2ce10df2a3cf5339cdaecd2353ab97e89a77cc6aeb14bb, + 0x43c46699d2ec397138b261d4bcdab798903f2cf2890730476011135826c9a2f, + 0x42cde356b7bbe38893c983635932cfd0a5ed77eb6a77f3788bf388f67d60af7, + 0x3f25a361d52b2ff8fe8267f07650c9506b1de04cc9ed82d84f2102af0fc04c5, + 0x696d504019609ed98b34337eae1e5d4590c3c7ff8d7c333644e400734a63162, + 0x30bff263f7ce997b2a79c0bf2f6e0598632d7290a721a15edd725be2c69df29, + 0x3d45d035c364e5f1f28236c55284427305a30afc602feb34e0e8b9df582bca3, + 0x4a714cac0662c1a852d712a26e4cbeeeacb9f7116b769dd11fc6684e2efddf4, + 0x362768880673b2913007dc8606dbe556457191f2afdf607764b93954b024281, + 0x480ab8e6165c76254bd56054b8a8c3ce6d5de60cb3084a2669af5ec8f36f75, + 0x7fd76d34699b64be7a980af9c8bde3737c61df11b38fc5fa39fa71cc1d86c5f, + 0x4c248805022a02f16a9f650e015f829d1c89d1c459af7157f14bcc1f46bfa1, + 0x58288d9c1b845ddde62bbad387ef2d6960ec43ff3412c67ca0720e9bd63614e, + 0x40871f884f21fb25bfa97e01ee9a2bd4bfa689e0c34a86e907d1f5f6a0abec9, + 0x49cdacb2c7bca4996af15fa53d6bb45862fd34986d48f217cc3047ddf6c4d45, + 0x503de266db2ecd69cc2ed3a2410be913e777179891a49aba0f931c165a2420b, + 0x3573f6fce688a827535a2e82ea94b515c13d26e456fb719d2a2f4ad85eea13f, + 0x6a2904e5ef366202b5c2c263a4aa230b80cd44d5e037faf7f3d130061ad20f6, + 0x4759e31171ca140476a936f4dce9d15c412cd99044839c0913d2784f1125b5d, + 0x251ef225175f621ec7d6cfc275100997d019544bc3d0b8262e9abdbea6e4bad, + 0x709fe6fe7a173da6f301e8ca6a95f32c0d8964070f58ccb059c57a919baed62, + 0x5d34845bd23ac1fdfb64d6f00c8c0a3eb52f13ca1af0a773d91330cb29ed206, + 0x6d0dac6849e3c1b12aa08d641e8647954383b1375d258b490317060f314f614, + 0x6c8c76d1fef8b75cbabd284f621f49e76cf60db0c6739d3f1120ee5fb6427a, + 0x2a06dd43d9c6b756330563bbaade7f47898924787aae724f6deade207d02811, + 0x3d2e609634b4d1379703bf2d9d54bdfdfee3ae14e1a2f94502366695b83f536, + 0x294f7d5a2984cf078d5946973f41dc80a6dfe3d5bf89a24791d85f7ff3bb9c5, + 0x3d88ce09803c433f5442d75cbd3d7d35b00912329664b8fede98627febd77d, + 0x12bf84d3ed4b26d5c5de2fe84469663f717905dbfd614e4551bf71cf82ff4a5, + 0x4fbfec4a2da7ab549af92264fadfcf01c26d2591904cfbb6e02dd714d705e89, + 0x687fda78e7de0256d84f04eb7f94b9be5bcd017f6618edfa51858bb32d510dd, + 0x6087d5ea70a6389469e8fa2094785812f75368e86faee9bce58ab74a17277f6, + 0x1cc1ea86d5772b9a7397ad41989f2e73e76eedd7605177ad3131cd8a150126b, + 0x27f2f556a6e391fe6328aa105917e8c6d1dcbb2e4c7ea92de6c173757395a28, + 0x69d1b243bcecd8b1c8abad30db6b8fa74856970db0843669a805edd2b14c00e, + 0x1d9a02e2319e56be57a3cc2be932d9fee602960a6229547571b2e1b92eadf50, + 0x4bd8ed28820db1ce055f4b79809d9e11a99c1e1f766777dde07ec452892041b, + 0x79fe4421d71a83ff347c92b6ff8d231b6e74b43c5f2a0c098bdd7ea4bb30b7c, + 0x49d6aebc099ac97edcc682cc0b76e22b4a8c93303e458b5d9b6e4e13a158fa8, + 0x7cb5ef83e467ab67f9795ad86bd45fd55487cb68de0c316ed16cf4daa4f1505, + 0x7d281768a3b3492df15855e1080411807790f9b89286277ac0da55ab13e3176, + 0x7b8052c7ef750eadb16ac7e87527ab76fe331006f61752ca7b9dfdca97bf493, + 0x2af715167fefed6fa0887799d9798ebe99b256fa2eddc94b43c6c9146f5090a, + 0x18796cd4ed88e1750e229851cc7861bf1ea23d0f318b5605d4712b2580d5e1f, + 0x4e408e992bae49aab8b3b66696af3dfb886beaec391fb412e07eda5f65941f1, + 0x7c6c81a18bca75581a49438eae384067c07ed270b3d68a6e48348265e49e6b3, + 0x1ca7da8b0480c44aeece37621be633fcee5c4636a979000abd383ccf9d224f1, + 0x70f86634c6abc920496946dce41c0d5e4db8118fd83d63bee0fe94f35d6a36b, + 0x7ef6623b4cb856b176b3a18dad4bca6735b5ab73c0f4a0e05ad0747ea73006a, + 0x2a193cb6a0683e8a19cd4b59f9ca501cfad289be86b80ec5c35b4f85bb10132, + 0x25fdcaffcebdc6bad5c375e9936dfe096c2a77b86059a86aa4ec6e8cb5c4216, + 0x3ea2279958ff5852eeb4e64d80f862fef7d10e17eeecf8d9c7e9d56fa9c6430, + 0x4c0db58654eb85c6c576963d5318659f6bb24784c995d200c6fbfb630eed95e, + 0x46d53379d0a45e9bb282186624beed25ed6a5071609b35a394e9df575094b08, + 0x2f260e73f0e718a49a5668cc9f43b9e0766e58692ecdf8461857e043dab2b7c, + 0x4e9cb4e481222e66f386530a57ec2ecd0451fda60ae2888f4450b3c55006073, + 0x26bf87fbdb5e542c9d918347faf9f4a3985519f1f7ef4f76bdb121016b26de8, + 0xd224688a01b4489679359f96d88f3dbe7905beb5127535dac5948fe725fb07, + 0x46997f693222169d68fdd91d920e60bd72ebaf0a6767718242198b1c370c796, + 0x1d170d2e6be529b17a8a7f31867fe76ab89ddd45321866bc3dcb8b92fc519a6, + 0x1157e7065cd177bbc01cb84d1d7a6e03f974a9047139972f9c25e1bef27214a, + 0x36fbfc9c34a54cb96e770b3dd8ac439673e9793e26ed5a220382567bf7bd77a, + 0x531bf470f6c585696173467c023cb9c5f5fc44a38c5df75db366b8cdceea9cd, + 0x3840da2268d57a48cd43834e90d8d0d693fb567cfd1dff5d6a2193717859fd3, + 0x3410a3b1e98235e5d44e8bf65221d3cf9e4cf6f37fd18a296f3bf7c23069125, + 0x458d0ce8934f2e68b5a240e88db9093d2afc49f1534c9fda46652a04f1138b5, + 0x6e23116750b4494e3331dfb20b71ae5de2a2903cdf0cca6d2fd7667bf98c3d3, + 0x575a6eee8491b3f94f5a0bdc8d69b11114f1ffa778d0ed456fe916497dff86f, + 0x75ccf0e20b9bc788de40efc15e207f2ea100b1ad222aa88e708f3065f42e02b, + 0x302f0e3dd5518420328c09910b7b0c4e7583276bef4f44cdce91f2bd642dd5b, + 0x4a3ac75b61c5b5cb3064eda42c4e3d236c20530f5a847e0aa19d477974306fe, + 0x580ffaae66cfd97404ee879c52902a30f4c8de26d660df820f78f95dbe48dd0, + 0x3ef650c119753a23c13fec26d43cc5ec950043a36ec58c425d5f2b1c76f078d, + 0x4483e16171bd32594824649dd4c271ef9d3ffeccb94a52ba9f9ae63e83afd8e, + 0x596d276a006d16d98fedc2a0c8f5b44cdb68a9742feeb83d25a2c3a43ac3a91, + 0x4d15b8fe7cc7be20ad80b9815fed60bf1c9e192cb481b9793fd964de29d2831, + 0x7455767862cbcec3e835abf1533cdb6da3940549bd2923614fae97dd2e15628, + 0x3242c7b9abc0e845e5789bffcdc074b38ec1aef8ec29ea06dc9b6a9bf72727a, + 0x1193f34976cb21fdbeda00f8f6016e0ed5d235589a6cd12a33ac335e7ee3451, + 0x53a712804fb598609746cb9ddc53adf71ce01e8f6646e87e20576613b3ab893, + 0x1f485222649b25d762b6f580b3c7408dd51d4a41887cb3bd11ffa5e007b0192, + 0x47ad45c0dbb6b27545cd95ddc7c4316e91a5ae7615d87d6646e728379c715a8, + 0x180374fe491b2b7439dabe9ee9ad0f4b3e1fa5ab50d3b137ef6aa4cf3fd71b3, + 0x3559b1b89d680c86863ab37b25535e877c6bf88beefcba745e483159077ddb5, + 0x2724cd76d2abfcc4f293b7894621ddfb7adecdbf1e4ed32d3a4e43bead7c3cc, + 0x1a0029238afcd7a0779e39a8158fda0942eb14b2734f9921428b96638ee8f3e, + 0xcd7f8ec7105c1a67b2c1b9b7de0d1b53d820ea4b5a108a3bcf76f5580d71f9, + 0x1c3ebbea383770c83c8eff8d24aff4ef6c75cbe60caf27794db0bc0ae069352, + 0x45d5c5c1eaf7b3cc85e6ddf6b4f8308603b51bf01e2731ad9eddd0b6f97f173, + 0x6cfb748aa36ddefbbafedd60df791e550298023f9cabde71ca9a7b3b12590c3, + 0x5da9e3f1e07085fb498e9acaca82ae002f347845dfd292f6ace331d9efde939, + 0x5ca30e4aab922d075b5381044d90dc3a9055e2f3d74334db41c878cbe50a3f9, + 0x3b600e2f955c36e52a123047736afbe3668092e8da0d87e4499ca2d33e14723, + 0x2fcd621cd66fa329296e7494ddffb13131b2edcc0d2e23e16e4583831deab9b, + 0x1414487139a8c1ce17740db3931d82bd8cea317d27977ee0b844b0317c5c8e5, + 0x67b9fef9446991016a899cd5fed72896fabf2e04c77107d267733ad58f524a1, + 0x6e33d20e800e78463a51dd4550112d8e5fec1b010a77c1e00e4a087b381e611, + 0x58dd95737a203c3981ab8a6dc97957f557c4cbbdcb752ae3168ed6590f32b82, + 0x468f3c0fde415a9c5d2aa36f1a012cb9cfb34d308bba8b7187c7ab6e25d2eb9, + 0x481e7e3d48be9918c1722bd598049aa7dd3336d6bb3d1d6f625bbd9dfe51aa0, + 0x229b56d9c6e88a2f968227234dd3b0566253b952df03d7d09a93d1a76e927a9, + 0x33443ebf07007f6dea85ff4d506cc3edc02cb316ddff09d77cb754a14e03b34, + 0x46ba51410bc8e371d1a75ef0069301819bac23dd3e1041fb4fa97fcbcd561c8, + 0x4bfebfc9f423838dfd4cb28b6d70a53646ea57002ce4afc91e371e6815b3c4d, + 0x3d809e239ad34363d350a1af2a2b0e0ef9968147357985497d50de7da341a64, + 0x3e43249e901c2d86ace654b820a4a9c86ab22e792a74f3593066cbeeeb028bc, + 0x63b92167d491f8d3ca069ad069553961059cab349317f5c8b5f2f38f30c8f39, + 0x2b14efdd8315aab3f3fc8e72b151131a3f5e68eebd6b710773a83b96a906967, + 0xff9d7b63a123f19014da4be885187928ac982e6605de9b8a23cbd4ec59b929, + 0x38cd76ca81385261a7b2687cca02395d325ac759ef35f07354e706c95c3675f, + 0x6e3cc6ce52df290ebc16600c5b2358c195f7138e1e8a77e1c8717facd5943de, + 0x6f5237cf2ff3d24c6c2a5172890e9734b34a15430d4327dfef99655e09c1715, + 0x5eec4358e0dd031543e035da38030f9389d1f517b576450d1c7bba3cbce370f, + 0x3760b1561e21245e82dca98edcd6f0d32dd98e9deb253e0ed56d542ad393ed5, + 0x74a631cf2a833c70e1388c23a2c9d12e6ccc18169fb111c910a0b3119ae6aa9, + 0x5794890aef3be791ae9619b98d45bde617134519b933cf9c7327cdec92991f7, + 0x7600f8a366a525a42b38da4da5a6880d0683e27413f8d7f700fdb806856fba1, + 0x1b3f2bd4523c83536ca69293a9d412acc3ab3b1e3ca90c0c1a7fa52799583ec, + 0xf9f931aa1e228a15eac2f97c43c045d26604331d829afb40a8d1f68c00e17b, + 0x50f96bad1eed06805a2eb595f2935672dde616e68fcb21530fe13c45019cb5, + 0x50a55442b12ab08a66eba124f4eadb678d7e47be6bc3762aa41000e652af7c4, + 0x7f1b6af56db7871e9eb4c4bc70694d0aacc31b9ac4a76f079fc4ed8d7cdf47a, + 0x1a84ce8e1e09ff9a37ce8827f7a9eda4680343c23adbb13e669eb8874b74558, + 0x7030ad79dae6c0fb2ff37c6940ed5d5c427ca6e40d66a4b92ba45aa418b7876, + 0x58cee4467ffcb3a8c615e75eed63da75f9ce0070fd56c54038fe7287c162193, + 0x33488d700e4f77d7f67f64ed336ef8cf669bc6bb71c0b0e798d4b9ac431f5f, + 0x1819dddd855e88e064337c6e6157f38b86867304f27eec9df48b4dfe67fab6b, + 0x4d783b6bb8704ad7160508cfee86f790552c368e20e9d0a0919266164de74be, + 0x79c5ef984a8e33b3ccd3539ef8d73f4617363cc93fbe909d088e0943749c795, + 0x72f53cc49512032ed82e1a53aa5ab61f94b540404327fc433f752ee75247594, + 0x724a99ba8eeb2811abed127c86b74ed92e051812cd58e4ea4a15f709d29b850, + 0x39ba80681bf41d02a2af546a30ca8a2c22386d2c3059006da659f8a5ef4c917 ] .span(), }, diff --git a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo index dea3b3e40..2ca20462e 100644 --- a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo +++ b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo @@ -4,121 +4,16 @@ use cairo_verifier::vector_commitment::vector_commitment::{ }; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_vector_commitment_decommit_1() { -// let commitment = VectorCommitment { -// config: VectorCommitmentConfig { -// height: 0x9, n_verifier_friendly_commitment_layers: 0x64, -// }, -// commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 -// }; -// -// let queries = array![ -// VectorQuery { -// index: 0x73, value: 0x12346ea425a6aebc8c323a401410cc325aabaf99b54e600a7271f146488aa2d -// }, -// VectorQuery { -// index: 0xa5, value: 0x1aabe006a27bfa5f93bde192ff552adbef87058e62546c831ed14ce94866ac1 -// }, -// VectorQuery { -// index: 0xb0, value: 0x7205a2b5f5f403b8053b4e4ac65e2a484c007f6d118524fe28b7cdf2a56bb8a -// }, -// VectorQuery { -// index: 0xf8, value: 0x5d49462d844a3f203c59d39fa005cbe153c78e6ac831987f19c0d6dfae38fad -// }, -// VectorQuery { -// index: 0x115, value: 0x53d21587a9cb08d1b9402a4b8c2a9d37942b26963936200fea3122eaaf870b1 -// }, -// VectorQuery { -// index: 0x11c, value: 0x7c3355a75f6b36a95068b68d48e7539cd97531b7478e2cf7d2dc85b32bafc66 -// }, -// VectorQuery { -// index: 0x12f, value: 0xb6f3a522577229ac26f12df90daaf376afbd960ee4b0ab07f270bf9c5da56a -// }, -// VectorQuery { -// index: 0x13c, value: 0x174cfc44eb57da0eda6ae9407db71c5144940f05ef51f858bc8e229d15703e2 -// }, -// VectorQuery { -// index: 0x153, value: 0x2220da78b33e155482bdf0534dc30fc17fe059a7b9e30f710ee2681a8151484 -// }, -// VectorQuery { -// index: 0x1f4, value: 0x566b71a4f84556a3816d911c5dfb45f75cc962d9829acd0dd56e81517cc73b8 -// }, -// ] -// .span(); -// -// let witness = VectorCommitmentWitness { -// authentications: array![ -// 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, -// 0xf3fb7305323c5fa68ad49a509a9c470e2396af41bfd2c9cf86228504436a3, -// 0x9dc63f0ac48b17304af16748798567f21bb25f8cbeaa48a462a74b3e0c5d79, -// 0x5d35649398cb24bc00458a32d01c61a8450c7a30cc5b95043f4e2b30df01360, -// 0x4493f60ea79053f2a96439d50d6335fd35e13599190e1656b724eacac658e37, -// 0x7f58b9c9c333dc5b31e3ee5e8a98d8cab0c84b3a886042b279dc2f2c408d92b, -// 0x349a976371b7aef1b1992908fefa423b9e5d4d0be58092ff6e5ead51ecf1ca4, -// 0x3ffacb144085ca3c572a314c6bb0e01b253827231285fba4084e3b624438ace, -// 0x55d22158d5bfad58ddf2633f24a3fae4642afbcea1cb9155e8b54c2a432fbfd, -// 0x63c1598794322bd8f1686e89c94dc60b0bb4f7940b5427af72187091e71ef63, -// 0xebaa8e9ab29cfba43cdc1f2cacb9cbc08b2cb17317fed571718e5e66b42488, -// 0xa31370f89d85108378244beeea13a2b2c379d16cde55c2fcd674f4296ddabe, -// 0x4285440535fff0ba31e970a1948a09951ff740c91c6d6cf4635527877c55ff1, -// 0x49eb1420843ac1a3178010c314906d28f6118e8b36620ce4469dffca27a047d, -// 0x4e65200356931c3ea1e20e087b5bff96ba268239ed2e2f784def64f5760418d, -// 0x103809d798aab5452c77f42bc4c8fcfcfa9e6efdfe24077e41928a52daf1dc8, -// 0x4253b3498a013d4473d43686f9e509be7541daf00afae0d7216f7019bc75d8f, -// 0x689297a643de6bd5955e314f94367af901eac67eeef51a52e40c0205cf8023, -// 0x2ca9dcef95643af6ec5ee055d1a05720f2e3f5e6226de5b206c4a78482963b8, -// 0x72fbddae565406f284bb4dd89623c29c821b6187dd7dfc292dbbddd4094077, -// 0x30e5ea3c2280db52829548ae99a71faa030b4e4bb87679b427f76c594aaa05a, -// 0x45ba1eda942e1085af97db6e189996903cfa09db90e52b4589e16df981f1601, -// 0x8c36a69368bea30f8ecf7de3e461a03b0cdd004ae08a3d44281b093fc63f2, -// 0x5c7194878dcb2d4ba69da97c1a878f96dd78d97612c882ba7179bafe92a6a90, -// 0x20c37b922bb713f2b6772a9ae014715f418fe5da4d53fe9b00cc2fe851f233a, -// 0x3a7e7c684904e82bf0be54290299b6d83f448bac5c6e9ea4d1cd1e844eccb70, -// 0x1ebbb30dbcb3b4fd0da33cf84d456101bbe9147b1a65507901715b3490649c6, -// 0x1409c71e0dcf4a620856775508ce1b4c7d55e4229ac5fd41a3f8ecee097eb39, -// 0x18cdf340cc64b00bf134c9e55396f79eddfbda8e2090542380c5c4967ee790b, -// 0x18add43c036948c8d7e767ae22056e1f5f1a9d1daad6b9a8f2e7da996f4a1c2, -// 0x30e7224d1c98b75e019b60bbe320e358ef35b1adaf12aad044744e640c2a4d, -// 0x25a8793c928ecacb2e84802830fa101fb3839455957921ed7bcb39549b1f80, -// 0x65dd0f91032712c4a8b1b5c35cd6ebdb654efb5e56085a2eef0def4bde4d066, -// 0x4a50e2b14315602b8c97c9d2304db828806c37b751203bb7dad534d7b45d21d, -// 0x5afdcfcf55c58dbf5ad58b17f16514da8dac3e69501fb399c30333ab3050c3, -// 0x20f5ecf9107f9d3e33f462948d955b70d5ec5573a679ae548998c41b5eec730, -// 0x1f70d9f6c203312c6aabf4d191cd4cbc68f8c92bebf561cb8e20ce9fc07ef55, -// 0x14e877449f7005ee874020d6759ce808345e20c3fae4a62e7f12c2c457f71ec, -// 0x780b4537e060e0f1e88ca7337d5d43ef2d4bbb4b48e4899c55ea9a5e7120b5a, -// 0x608a4544987ef3599043e9a8b4aa0598f8d71dee81e46104ca6ac186e2c8044, -// 0x58cbd95dd12e8761a99011f0ae970fe73e03b7d7e43b614510ee7a6a2efe7d3, -// 0x5c533c05cbf2af6d819bdf23272e567b7a49c2c2bd799201ed0e32ce9ff092b, -// 0x342bb671b7d40601d4031045068abfbf2c578f7e4a380e180dbf2b0c8fef6, -// 0x2da269eab1f7e247c0caf3bcac1bb0e5e7abacde34bc54a9de3e0a82a36cfff, -// 0x117cc37e078928598470cfe43e1b6c66c6365d1cf601bc5daf1055a0f8210db, -// 0x4640956c2daa074399825b0404260bee0898f9d24b1c807f5c43159e7a9b019, -// 0x1da36b1fb01d0470d48c3eb4c92263eadb7b58c8829f2ee77e3287a6e39c902, -// 0x78dac96e95e86f83b4a426bd0505d84b5ea967822d0fca9f3bd28331164d94b, -// 0x1d50c82e363d8e7fa2641c9f2137b99832372d1879a2ee02b2c824a4cb620dd, -// 0x2fd5a64db6093c9efda84ba327a43043e41310626073e58331c9f2f9f2db20f -// ] -// .span(), -// }; -// -// vector_commitment_decommit(commitment, queries, witness); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] -fn test_vector_commitment_decommit() { +fn test_vector_commitment_decommit_1() { let commitment = VectorCommitment { config: VectorCommitmentConfig { height: 0x9, n_verifier_friendly_commitment_layers: 0x64, }, commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 }; - +// let queries = array![ VectorQuery { index: 0x73, value: 0x12346ea425a6aebc8c323a401410cc325aabaf99b54e600a7271f146488aa2d @@ -152,7 +47,7 @@ fn test_vector_commitment_decommit() { }, ] .span(); - +// let witness = VectorCommitmentWitness { authentications: array![ 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, @@ -208,9 +103,114 @@ fn test_vector_commitment_decommit() { ] .span(), }; - +// vector_commitment_decommit(commitment, queries, witness); } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_vector_commitment_decommit() { +// let commitment = VectorCommitment { +// config: VectorCommitmentConfig { +// height: 0x9, n_verifier_friendly_commitment_layers: 0x64, +// }, +// commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 +// }; +// +// let queries = array![ +// VectorQuery { +// index: 0x73, value: 0x12346ea425a6aebc8c323a401410cc325aabaf99b54e600a7271f146488aa2d +// }, +// VectorQuery { +// index: 0xa5, value: 0x1aabe006a27bfa5f93bde192ff552adbef87058e62546c831ed14ce94866ac1 +// }, +// VectorQuery { +// index: 0xb0, value: 0x7205a2b5f5f403b8053b4e4ac65e2a484c007f6d118524fe28b7cdf2a56bb8a +// }, +// VectorQuery { +// index: 0xf8, value: 0x5d49462d844a3f203c59d39fa005cbe153c78e6ac831987f19c0d6dfae38fad +// }, +// VectorQuery { +// index: 0x115, value: 0x53d21587a9cb08d1b9402a4b8c2a9d37942b26963936200fea3122eaaf870b1 +// }, +// VectorQuery { +// index: 0x11c, value: 0x7c3355a75f6b36a95068b68d48e7539cd97531b7478e2cf7d2dc85b32bafc66 +// }, +// VectorQuery { +// index: 0x12f, value: 0xb6f3a522577229ac26f12df90daaf376afbd960ee4b0ab07f270bf9c5da56a +// }, +// VectorQuery { +// index: 0x13c, value: 0x174cfc44eb57da0eda6ae9407db71c5144940f05ef51f858bc8e229d15703e2 +// }, +// VectorQuery { +// index: 0x153, value: 0x2220da78b33e155482bdf0534dc30fc17fe059a7b9e30f710ee2681a8151484 +// }, +// VectorQuery { +// index: 0x1f4, value: 0x566b71a4f84556a3816d911c5dfb45f75cc962d9829acd0dd56e81517cc73b8 +// }, +// ] +// .span(); +// +// let witness = VectorCommitmentWitness { +// authentications: array![ +// 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, +// 0xf3fb7305323c5fa68ad49a509a9c470e2396af41bfd2c9cf86228504436a3, +// 0x9dc63f0ac48b17304af16748798567f21bb25f8cbeaa48a462a74b3e0c5d79, +// 0x5d35649398cb24bc00458a32d01c61a8450c7a30cc5b95043f4e2b30df01360, +// 0x4493f60ea79053f2a96439d50d6335fd35e13599190e1656b724eacac658e37, +// 0x7f58b9c9c333dc5b31e3ee5e8a98d8cab0c84b3a886042b279dc2f2c408d92b, +// 0x349a976371b7aef1b1992908fefa423b9e5d4d0be58092ff6e5ead51ecf1ca4, +// 0x3ffacb144085ca3c572a314c6bb0e01b253827231285fba4084e3b624438ace, +// 0x55d22158d5bfad58ddf2633f24a3fae4642afbcea1cb9155e8b54c2a432fbfd, +// 0x63c1598794322bd8f1686e89c94dc60b0bb4f7940b5427af72187091e71ef63, +// 0xebaa8e9ab29cfba43cdc1f2cacb9cbc08b2cb17317fed571718e5e66b42488, +// 0xa31370f89d85108378244beeea13a2b2c379d16cde55c2fcd674f4296ddabe, +// 0x4285440535fff0ba31e970a1948a09951ff740c91c6d6cf4635527877c55ff1, +// 0x49eb1420843ac1a3178010c314906d28f6118e8b36620ce4469dffca27a047d, +// 0x4e65200356931c3ea1e20e087b5bff96ba268239ed2e2f784def64f5760418d, +// 0x103809d798aab5452c77f42bc4c8fcfcfa9e6efdfe24077e41928a52daf1dc8, +// 0x4253b3498a013d4473d43686f9e509be7541daf00afae0d7216f7019bc75d8f, +// 0x689297a643de6bd5955e314f94367af901eac67eeef51a52e40c0205cf8023, +// 0x2ca9dcef95643af6ec5ee055d1a05720f2e3f5e6226de5b206c4a78482963b8, +// 0x72fbddae565406f284bb4dd89623c29c821b6187dd7dfc292dbbddd4094077, +// 0x30e5ea3c2280db52829548ae99a71faa030b4e4bb87679b427f76c594aaa05a, +// 0x45ba1eda942e1085af97db6e189996903cfa09db90e52b4589e16df981f1601, +// 0x8c36a69368bea30f8ecf7de3e461a03b0cdd004ae08a3d44281b093fc63f2, +// 0x5c7194878dcb2d4ba69da97c1a878f96dd78d97612c882ba7179bafe92a6a90, +// 0x20c37b922bb713f2b6772a9ae014715f418fe5da4d53fe9b00cc2fe851f233a, +// 0x3a7e7c684904e82bf0be54290299b6d83f448bac5c6e9ea4d1cd1e844eccb70, +// 0x1ebbb30dbcb3b4fd0da33cf84d456101bbe9147b1a65507901715b3490649c6, +// 0x1409c71e0dcf4a620856775508ce1b4c7d55e4229ac5fd41a3f8ecee097eb39, +// 0x18cdf340cc64b00bf134c9e55396f79eddfbda8e2090542380c5c4967ee790b, +// 0x18add43c036948c8d7e767ae22056e1f5f1a9d1daad6b9a8f2e7da996f4a1c2, +// 0x30e7224d1c98b75e019b60bbe320e358ef35b1adaf12aad044744e640c2a4d, +// 0x25a8793c928ecacb2e84802830fa101fb3839455957921ed7bcb39549b1f80, +// 0x65dd0f91032712c4a8b1b5c35cd6ebdb654efb5e56085a2eef0def4bde4d066, +// 0x4a50e2b14315602b8c97c9d2304db828806c37b751203bb7dad534d7b45d21d, +// 0x5afdcfcf55c58dbf5ad58b17f16514da8dac3e69501fb399c30333ab3050c3, +// 0x20f5ecf9107f9d3e33f462948d955b70d5ec5573a679ae548998c41b5eec730, +// 0x1f70d9f6c203312c6aabf4d191cd4cbc68f8c92bebf561cb8e20ce9fc07ef55, +// 0x14e877449f7005ee874020d6759ce808345e20c3fae4a62e7f12c2c457f71ec, +// 0x780b4537e060e0f1e88ca7337d5d43ef2d4bbb4b48e4899c55ea9a5e7120b5a, +// 0x608a4544987ef3599043e9a8b4aa0598f8d71dee81e46104ca6ac186e2c8044, +// 0x58cbd95dd12e8761a99011f0ae970fe73e03b7d7e43b614510ee7a6a2efe7d3, +// 0x5c533c05cbf2af6d819bdf23272e567b7a49c2c2bd799201ed0e32ce9ff092b, +// 0x342bb671b7d40601d4031045068abfbf2c578f7e4a380e180dbf2b0c8fef6, +// 0x2da269eab1f7e247c0caf3bcac1bb0e5e7abacde34bc54a9de3e0a82a36cfff, +// 0x117cc37e078928598470cfe43e1b6c66c6365d1cf601bc5daf1055a0f8210db, +// 0x4640956c2daa074399825b0404260bee0898f9d24b1c807f5c43159e7a9b019, +// 0x1da36b1fb01d0470d48c3eb4c92263eadb7b58c8829f2ee77e3287a6e39c902, +// 0x78dac96e95e86f83b4a426bd0505d84b5ea967822d0fca9f3bd28331164d94b, +// 0x1d50c82e363d8e7fa2641c9f2137b99832372d1879a2ee02b2c824a4cb620dd, +// 0x2fd5a64db6093c9efda84ba327a43043e41310626073e58331c9f2f9f2db20f +// ] +// .span(), +// }; +// +// vector_commitment_decommit(commitment, queries, witness); +// } // === KECCAK ONLY END === From 06b1c71bd917cd85f167093de9cc7bc1cce3f159 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 7 Mar 2024 13:30:12 +0100 Subject: [PATCH 36/48] blake2s stark tests --- src/air/tests/test_traces.cairo | 4 +- src/stark/tests/test_stark_commit.cairo | 6 +- .../interaction_elements.cairo | 12 +- .../proof_of_work/unsent_commitment.cairo | 2 +- .../stark/commitment.cairo | 276 +++--- .../stone_proof_fibonacci/stark/config.cairo | 6 +- .../stone_proof_fibonacci/stark/domains.cairo | 6 +- .../stark/oods_values.cairo | 270 ++--- .../stark/unsent_commitment.cairo | 2 +- .../stone_proof_fibonacci/stark/witness.cairo | 526 ++++++---- .../traces/commitment.cairo | 4 +- .../stone_proof_fibonacci/traces/config.cairo | 4 +- .../traces/decommitment.cairo | 280 ++++-- .../traces/unsent_commitment.cairo | 4 +- .../traces/witness.cairo | 926 ++++++++++++------ 15 files changed, 1432 insertions(+), 896 deletions(-) diff --git a/src/air/tests/test_traces.cairo b/src/air/tests/test_traces.cairo index 6e8ce5cd6..9b4cfd154 100644 --- a/src/air/tests/test_traces.cairo +++ b/src/air/tests/test_traces.cairo @@ -10,7 +10,7 @@ use cairo_verifier::{ fn test_traces_config() { let traces_config = stone_proof_fibonacci::traces::config::get(); - traces_config.validate(0x14, 0x16); + traces_config.validate(0x16, 0x64); } #[test] @@ -28,7 +28,7 @@ fn test_traces_commit() { 'Invalid value' ); - assert(channel.digest == 0x39d06a4cd9e64c43aaec44a5415c4cbdf530040b2fc82308ceddb5f2be39dd5, 'Invalid value'); + assert(channel.digest == 0x484f5da62866b3e2a0d4ceb5e00cf7ba33ec5c57ce032df6ca74a40cc6015a0, 'Invalid value'); assert(channel.counter == 0x0, 'Invalid value') } diff --git a/src/stark/tests/test_stark_commit.cairo b/src/stark/tests/test_stark_commit.cairo index f38a76a41..1d89ee85b 100644 --- a/src/stark/tests/test_stark_commit.cairo +++ b/src/stark/tests/test_stark_commit.cairo @@ -7,7 +7,7 @@ use cairo_verifier::{ #[test] #[available_gas(9999999999)] fn test_stark_commit() { - let mut channel = ChannelTrait::new_with_counter(0x0, 0x0); + let mut channel = ChannelTrait::new_with_counter(0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0); let public_input = stone_proof_fibonacci::public_input::get(); let unsent_commitment = stone_proof_fibonacci::stark::unsent_commitment::get(); @@ -21,8 +21,8 @@ fn test_stark_commit() { 'Invalid value' ); - assert(channel.digest == 0x0, 'Invalid value'); - assert(channel.counter == 0, 'Invalid value'); + assert(channel.digest == 0x9c769c7e0797cf043b06b980072a798b141f2bc41b14e85ad93ba178b13de7, 'Invalid value'); + assert(channel.counter == 0x0, 'Invalid value'); } // === BLAKE ONLY END === diff --git a/src/tests/stone_proof_fibonacci/interaction_elements.cairo b/src/tests/stone_proof_fibonacci/interaction_elements.cairo index c1780d2e2..17102e342 100644 --- a/src/tests/stone_proof_fibonacci/interaction_elements.cairo +++ b/src/tests/stone_proof_fibonacci/interaction_elements.cairo @@ -2,11 +2,11 @@ use cairo_verifier::air::global_values::InteractionElements; fn get() -> InteractionElements { InteractionElements { - memory_multi_column_perm_perm_interaction_elm: 0x33dd9c083eee682a168398d8189bf14bc503febe8d298c7b254ff5d74868c39, - memory_multi_column_perm_hash_interaction_elm0: 0x6a7aed3206de9c6a434484cc1f499801fc2df433783aef27b67ee8010b9a6c5, - range_check16_perm_interaction_elm: 0x645541a20083f184215fcb20d8014bed0546f6ae292f9eb7ee3de254117c597, - diluted_check_permutation_interaction_elm: 0x11d978931f41d88e9e8930b42c84b6471782ca8c565464dd6f468c2b4804a22, - diluted_check_interaction_z: 0x1e22e58ff299d68ff2d5823796c232bd70a8e700d70379417849503417a478a, - diluted_check_interaction_alpha: 0x3b74ba4892c5814cd3d16f5f28df48e8a6dc70a3d67f18b1b4921510fe88278 + memory_multi_column_perm_perm_interaction_elm: 0x4e0295d5d071e74058eef68f686aac70757fbe53d10971f6187a0e76ff440c1, + memory_multi_column_perm_hash_interaction_elm0: 0x2f73db13acfcad0387e92ccd565128e7e2c24026015ed4c0ef8619a213019cc, + range_check16_perm_interaction_elm: 0x7ea83ddd48c6068a1a11f3a107ada2da689636c6028061ff7fb8ef8f2a18bef, + diluted_check_permutation_interaction_elm: 0x4bc33ab9e5b3855f07ad50717b923e4f8bea45737b6462fa60c27e32b315d95, + diluted_check_interaction_z: 0x1c695cf20c4393e7ffe8d8c7efcce3797f0744aa575c58b99728a573ef96529, + diluted_check_interaction_alpha: 0x163023769a9ccfc222f8cb9a71a4630d400cd89c34dc14718e907fadc66877f } } diff --git a/src/tests/stone_proof_fibonacci/proof_of_work/unsent_commitment.cairo b/src/tests/stone_proof_fibonacci/proof_of_work/unsent_commitment.cairo index 6a3b4d72f..9f8b7b156 100644 --- a/src/tests/stone_proof_fibonacci/proof_of_work/unsent_commitment.cairo +++ b/src/tests/stone_proof_fibonacci/proof_of_work/unsent_commitment.cairo @@ -1,5 +1,5 @@ use cairo_verifier::proof_of_work::proof_of_work::ProofOfWorkUnsentCommitment; fn get() -> ProofOfWorkUnsentCommitment { - return ProofOfWorkUnsentCommitment { nonce: 0x6ee8fc4, }; + return ProofOfWorkUnsentCommitment { nonce: 0x3bdd531f, }; } diff --git a/src/tests/stone_proof_fibonacci/stark/commitment.cairo b/src/tests/stone_proof_fibonacci/stark/commitment.cairo index bc1cc5294..9dd4e6a3a 100644 --- a/src/tests/stone_proof_fibonacci/stark/commitment.cairo +++ b/src/tests/stone_proof_fibonacci/stark/commitment.cairo @@ -12,154 +12,154 @@ fn get() -> StarkCommitment { config: TableCommitmentConfig { n_columns: 0x2, vector: VectorCommitmentConfig { - height: 0x14, n_verifier_friendly_commitment_layers: 0x64, + height: 0x16, n_verifier_friendly_commitment_layers: 0x64, }, }, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0x14, n_verifier_friendly_commitment_layers: 0x64, + height: 0x16, n_verifier_friendly_commitment_layers: 0x64, }, - commitment_hash: 0x30b93bbd6b193eb57d9f818202b899b7e8e09b0c7d183537fe85f4e6b6f4373, + commitment_hash: 0x420cd425d306a0ae0692c16909c51f42a16f848e318fd2d0ea61255e5f0ca76, }, }, - interaction_after_composition: 0x1c0d29e24bc79e4679b20a2185841d65fa77a288bdd472e1d4a3de9324338e7, + interaction_after_composition: 0x47148421d376a8ca07af1e4c89890bf29c90272f63b16103646397d907281a8, oods_values: stone_proof_fibonacci::stark::oods_values::get().span(), interaction_after_oods: array![ 0x1, - 0x7868c5d7840087a855b30079a12cc1d5eeaedb666607b31e33175f41d3b535f, - 0x28dbb2cfd00dae2334af761e1bd021bf8021bf2c30d3c75e075d6741ce836a0, - 0xa0a779b5f29842287ca6ad3dffd9018d9a2a37007e18ae898ca4526a9a2691, - 0x53b0e6a89c16e607a26ad5825ff22f14b1b37a7a4f8ee6cce668d15a3648517, - 0x4a56b7d078479bfd71ec6e1c8a374849642f9be4b177a4c71ccd071f87a9001, - 0x24c24c299414aefb657b7eb37f51b3c52bffd6b316bce5d50a594521045a3f4, - 0x71bacb4a16d6dfb5748d1a8e584ae5581d6e33b1abe4f6a491308868b70922c, - 0x27883bc4bd5b8d46948d87334b08d7270601fdb2917c87102537c8d855e17e, - 0x31675df9ac822dc19b536e6e4004c7ae6c9d1e260072c77a8de26eedfc54892, - 0x7ce2971d07b3bfb37262d1d0c27cbbb7cad88db92b4c4bd27b808a379152f9b, - 0x48f786362233207cc8f6005a586dadb865ea42060dcf3cf5fafd463524f4451, - 0xea197a93ef678fa1baf4eb89605f8909a9c0077e7b59fbe3b5e98ef551de0f, - 0x7a0f8520c76d89458269bd95ca9a5256d8b8de284c7404439a59a1d84f05eae, - 0x3d4e323c595da4f57d0f522d8a8ab290fc748c528907ff3c6ab36508ae08461, - 0x50a7aaf380a5b11b7e7f27c368a8bab68af9a1e284ff1f8077f8a93ec9eba89, - 0x672abc6b56e6c8e86f6f1713cf84800b584e5bb9868fd214e03aa82eb761147, - 0x525887e108a04f6670f02a5eebd267c39616beadde7629879bd417e26440076, - 0x566ac532992aa6102365c9f532ac5580dd10d6ee417288edc100425d7306b71, - 0x1a186fc1b4b5ee8431454f616b04c2ab2c2b2e6454150808af7f3880e35f79a, - 0x73a62b0a99dc3678f3829fe586e145f7776975e693e69768d6a55d4c8f36fee, - 0xa400aad225ee0fbd64537626b2612d1cc944708d59f006fef9be305a30d295, - 0x5779b9e99e1a0f7e52d9dac2505af4bbb06a009944f35e5dd5f781631d06d1c, - 0x7ad6019ffc515cd5ab68bb68873a1cdf3d6de72a2db6dc764c98454b2f69c63, - 0x85d80b3054fd0b87bd20ed0f8c2f29f38fad604e1ee95d0445c77b5e99ab91, - 0x30c4ee130c47e053771660990dcb5223a713e95f687e177fb4b4c66d7bffa92, - 0x1366ff50f78d3cbb946503fe9f31dd772ef42c4c192a8847e1111e8eb23a7da, - 0x50dc3456f742c0d9268d2875cab9269600b0b6d031b114e3afa853f8726dac3, - 0x375376fd8a86df55c28b32e17e4f1ebf7a89f80f803c7ee28928172a9f467db, - 0xa493f31f208795fc2b62b2da8d0f6844543a1b462f3ed4b2c83a5d2bf02482, - 0x2a084ad1f02a578edc944f5332363d3f36f01d593a41b1c780c489b89a489d4, - 0x53d6cf238f4dd2bc47147993b629c04d99361b8d324428c49b783bd684fa643, - 0x311beec9a7ace3c500834b2562d048a52d4a0035da10a499e0a705993b70484, - 0x24983c1a9b51e98b9fa4a5c1951eef142ac8cfc1a5b00a1d832146b1be155b0, - 0x4a60957c67cc4f897cf25ad58f46524d8c137b784572adb5737e679e81e9492, - 0x2a67e5b49f7ea96e60b1b6f848ae4a5b7b77256718a9f240474e421ec475a82, - 0xd3d3e58527bc4aa8c8516e0c75b16b7d383d61766bf42d405adfb2868cecb3, - 0x49eb5bfdb52b10343b535a8da671e5537f76dbb082ca80d327a7d1ced1c1813, - 0x5dcff63507da18efc8f32d520061a36104aeb2249d537c96c43a7c7143ffd7a, - 0x43ef0837ba12f3a7954f82a054f2d9a81046ac989bb062b25e192e3da88657a, - 0x19a09684b294b83a9e0fecdb1584f96d1ca69ee8cab3a712cdfcf9fffd8a009, - 0x390c0a24e2d8e1a01326199fc6008e0e7b463d9852d57d110bdc59c42f17d0a, - 0x504d2603cdfc2b30132e63d008313f2167860895df68fcbfa9d06e14bf8449a, - 0x3b7e6118d1d8464495a7da4fd97246675c4df11b018523d52f1d74244ea7c0c, - 0x1d82df8727f2f6bc595814269646919aa7abef2a036a37d43b8d8e39fc29ea4, - 0x738f7a9d17b7b662741d7f8483e48e92ad09143029a6714812b6191e2238f7e, - 0x4c11c2f470ae3ece6195dff93b6a0bc57977ecb2b43e96acc5f1ac48e29ffd3, - 0x21f328e55205e9258ca14096d7bf81b210b60c7c101046085264aad9611b135, - 0x485052252bcc49e1ea8acc424f6108827496ee7cc8f5683de2cf0478d184f9d, - 0x63c3ed7402083ce2c5b87abd46cbdbe322f22ff8ce237b91c077cf2c8d37b2a, - 0x32c3f7b8c5427b30755e4f85bbb54d898d67fc8d3b4614c819819753dcc0c88, - 0x6bb6f22717be61fa33748bfac49d676d7cb3a377c1e069bf4084c284a57998f, - 0x1d4ee2c5711daa03b9639ef283fdd239f5c2bad67725f3cde07aced2599807d, - 0x2900acfeb87a24ab2a68439f8c1ebd9cbbb18f7098b7005c903ea0fac3b57d3, - 0x1d3dc927a04676a00b13136d8b0f4e4c727f32eca4d0fa65a5c37a805ff5fbe, - 0x64e7c25c902ce83ade21bec644d8a900e28a1513133f93c527e11843c605aa, - 0x687d799979e8d19a80487df5a25718162f84ac76df75c13cee8f618fcad89b5, - 0xb250457f66f4a78ba2c5017c23f601e90e0760cdb33e24c02860d1e13df3c4, - 0x3a13b1ad56d28758f738fd802a0480ef904288870178fc02d7a4703f451a287, - 0x700824bff100e6ee21146b5e87a7b75263fd95ef9b874ce510c3f4343e78b96, - 0x529d39dc2c40d2361dd6bb58a1ad002cc6a61aa1a1d3a94b23e8e31aa53f437, - 0x6e2b918db039cc6c8babc5277147573471c949b9e953d2adc75dcf8611262e2, - 0x2f12ad7fffc00e63f6e4f64c711b95113ed1938de094eb547e6cc49c2321c7e, - 0x6518b0f525c8734a23ca5b18a956d3e905e9fe4d973ced1d57e8e625e61a3c5, - 0x212b9c1993150df51af590e21475fab5047f1eea0d287ec5c0dcc3417c65124, - 0x66a7273f0082132160a243e68b5993c7ec54b93a6cf65eee94e799de4fa53cd, - 0x31354d753bcf44b5095b426450313102e3f93f066e690ed9989c0819285a3a5, - 0x1d7e1f9410bc2f92921a49868e53cabdeaa790c00b3faa5d143eecdff3edd10, - 0x60a545f6841027952bb2727adfca1d1563485a8bad43c00da8fbc0210eff360, - 0x101d4ae866b4d9dde4f0044540c4db000368f085c8519aeb9de6c6f2fb5a7aa, - 0x2105965bf04b6634f473f2e90650c0a3faf8c189aabe90105ebd7cc484557c6, - 0x7a1ba866d82ba575bb06bfe4c0a4a178d20213100692ee4e95fe7ef71e3e1a, - 0x215dec25e592192a205946e4fb13448f65b5d42c2219c550233c29c1b28939a, - 0x687fcc8e56012bf95e5016ff81357015ec2f7fb28ac0bbdc9b0c8f4a380590d, - 0x233cbd274d8b58460d0264b1cc6ebb49d1fd4d028ffa8090ca31615d30e79f3, - 0x691ad7a23a5ea05d508ad01202e6b43812a6a334eb4f77b64b756c386f051e2, - 0x2c69c4c3dcd8775145002146f651da0543a32dd17c4ab4a0b36adacd2a34ab7, - 0x549a7522f40646a59a057a707d54507eb0ed13f7e8d177df77d3f272f548a06, - 0x30b02a6d1e321215531cbf98208609549a15b716e257ab61832e5848ffa165a, - 0x4873056097b5936ac52bc208c2d7aa42e4b19ce0b37fde0d79cd5391fc3379b, - 0x644159b987e670f37296a8ad9e29d353919c76b7aa342e202550bc2bac9f1a2, - 0x6ae845044e4a9637400b4ea0f0b2989eb1c1357a09ef4dca5e1734742fd6a4a, - 0x15645602c7c6c433c962ec235abec69d013d13b695e0f092e2c58cd4419ca19, - 0x95a9bbfb14d9d5b1c5e76c6ff8e3e70ad0a673af9b9627b08f8219ad45cec8, - 0x36102f1b66758ddfdea4b1972b5ac2f92ecc6106d965c8d0b57dcdd1b97154d, - 0x4fc697198a5f2668d86ffaa95c126f8ba0d7df780476501eaa54ce0dd94e238, - 0x10c5ca87a4a8cbd70e8d06a010a732b04dc732a896e6e4c6a01b043c64f9c79, - 0x24d88b691a9ea915f9cff213adc7809386417ad8a543ec20adf245b7832680d, - 0x26da6927270ccc76639f7674441c68db2643b9fa93345ed510f258e326b0d79, - 0x3ed1745fd1b8662af5f691b0d84c8ebd9d2f029b4583c7f1ff2b3d2f010e7e1, - 0x32472b1ebfaccf2eaf232d17b8152aef1a1ef35666ec627215f66817a5ca4f7, - 0x111c03561bc1c7d025c511e451815f8a2b2f5850a70a4faa46ebe28a64ba626, - 0x7c3119123eaaadf62974c0333bb4ed999d37891987e66a5b4444ccc2b88651a, - 0x6cfd7778882ec7145f6e999e0d1c177cc66542213f9ff710b91d81d0a84bead, - 0x3217c9ac6e0e7d6dd6f3a9f6737ed90fb91be37c70c2095e0bba34676726e80, - 0x4911dcc079e3fce97ff17cb85f22480a490cba7e7b83f628e67620bbf93e86d, - 0x541e206771de8454d88946900166ad1498f1c44d75287bd6e664f8e91b3fd0c, - 0x5a831acd914777a71daef7a3e732bd421eaaddc87fbcea8d000cc5c2fad27e2, - 0x571982ce59262f88940de7c4eb3ade0f640fb5cace6f944460c496db257772b, - 0x326cdb5e3e572ea92c3534ea38d25f8eb67fa3aeebf8203a26db6cc9866856f, - 0x18a478a5e8f7eac8302a011b946256f9419e773af2143fc5d35e2888b3c0dc1, - 0x72c03ebf725206ee3e8da302d20b3a37f2d3ed459d2558f2e6d8116b80d1785, - 0x4dcaaf578b506bd84cff928af05dcc6b2620546d172e43cceffb67b5a206c1e, - 0x1f37145d32a5066194ab8b71ebdfc0a0dd1adf9fe3ce3259d7caa013061ab85, - 0x6c83957c138ae404609390956a40c0da37f8727d34306ad9c4dcd1f7cfad7de, - 0x4b9e66c32d6b90c49f691ddc606c060a52a14e2bebc3705ab7304079ff55ce7, - 0x56dada58b5a8bc3eb0e68fcbe3ce8e64f397829b050302b8a9058806774c815, - 0x4589baff9a4e06756fca4d5532bafb56bdc8e72c9f41c5cdf969153d066123e, - 0xcee152497866b1b0d5bb9341781f42c8d9777c94188851cae94868c0078491, - 0x4502dc84f2f3786360d7794a1c7cfda27d49184ec17b2a2341514200da3dad4, - 0x35c6954882d08ab1a6dd181def18c9764000b9f9831146cc39906b6da9466dd, - 0x3f2283130bb26ccb827407312d1f9dabff4d836d4d12c16fd7076c0d828a4b3, - 0x6fca8e2aa9223cba3ee1eb02505612b7819d12ffc5c71456408c8ff68e3c08a, - 0x2b989709f8d7f0ade477f131580340a946934c919e2034d3992c12d4b620ad6, - 0x302984172abe1cc0fd9b56037adaa17121a1c25715d54150e9b9591ad5c05a6, - 0x3ccf277837817cfa1874bd425c76a2f630c0a53fdad8148febb0d4328b7323e, - 0x5cf3ad2f296934328999b16c1e9df52553c54d0262953fff91f97269e5ccfb3, - 0x62016b10caf536b5bf30653c3f70ca59c414d923dd853bc3350f2a0e3926da, - 0xa979e1d89fb72dd78e08493bc35fc01de84b8c817e701286bc52fc406f2975, - 0x691872b561270cf8d34259464eae1e3eaee74aa97abf5d2dd6e82387e5cd58c, - 0xbb9cfaa2114657f8d4a9a4394caec24ba24526bb18997f18b8ec960ec66110, - 0x42923db6350cc1e28787e770f5ef18632378638452d64ddcddc4b0754145bc1, - 0x5c7f5aa242c39d158d3607f2c06c35776ddf61baf29b2cc01ff7c1f0f8da753, - 0x2f5c581fb811c24ae5ee543ddbc950712f7e07b6c9105deb9cafcd4ad2dce6b, - 0x5762b8182694a222b32a80f95967c6d5bb3c8058857fd263311eb9b1974e37a, - 0x2413e7815b1965304a941a4cfdfa6d5a3d5421b7604744bbf307359a9118354, - 0x37e7b12db964e3387ca2ced152dad129e4440fa5d40e0a869c1dc139cb89039, - 0x3f8666925feadaea42c59ca59000f215cde3f3822a1c0b5535f0c4cfd218d5b, - 0x1b3b5d5b5d037e1c08818f9b21a521cc355b76ddf3aa9deb40e8027567ec529, - 0x74428bd541585814c94762ade8454e0c868ccac6264b56ec42144b32b0350bf, - 0x6c2bfe5c87fa4817b47dfea851cc65a63eb208eba3ef8d8ff9cc4d5ccc38162, - 0x6dcf7f9d643754dde755f59b7e99d23fa8fe3873081d61cef76746e42f2c2bf, - 0x2fb76d734073db3e5f46085ec5058f02ccab70d70c31508c22e659ed00337ae, - 0x75bcd848a595eeed1e03977dd35f052ebf6a15306961e4fc57670916663e15e, - 0x7a702a902f300a47fb79f18195691f2f1cd57fa870b6d4e12d365ed59231506 + 0x2d0d0ad7f32fd0b0f5fe5c157feb7007baa104e9a151de3beb77548f0a9ad1b, + 0x7d5b06b7b2a583ac90151c3e9530b804195a337472eb61bc81b75763f4abdc2, + 0x39b16cc99c5833138a5795fdeb4335f2c07fb499ecbc1520e2bea1266d49d2b, + 0x4c1dae026b30cc8eb8dd4c0d5a28dcb8d028b2d961f2e32ea5f6503ca405658, + 0x5cbb13bde350753ccbae31fb271143de7edf97a36d4749f6bfafaaec14c8ef7, + 0x48862b8f3f49c82b6f39edf8f7e7e25d60c6be4c5daa68e9972f0dc3c894a2f, + 0x155b7253d4baa38b0d2c74013b12a928991857b4e265f1ac6eaa712be2d20c6, + 0x67ca5402d1b4eac70b6b480f1169cc84f333360bd219bf9939dc5d38a23befa, + 0x50adf03b2b141cfd70c5f47f6c29263235aafeb3c3aa9e8afc051345920a9b3, + 0x263508a912f59515af8638fcc82ff84a14bbdb4538cccdc31a0288015e6c634, + 0x7141789e40b93bd2dbdd20d8cd4582d862ecf5f368b1387f18829e437daacef, + 0x77b25dcdab55b1b7436af4e4127aa37da15cf60cfe6a3198ee95116f63ddc7e, + 0x1988e062e2e8c59172d130188cd856840ee7dc0002d828b9a3ef0f9bf953ec1, + 0x6e7ff202bb2aca006dd912016e395987c939e37c5bb55fe84e59733b0c05a9c, + 0x79417edf98fa2067c6a986a908fca70c84bcc21b05bc0996eb3badc6f3ac806, + 0x7fd7802edc7cda567a7afadf4318c46f8c3401bd4ac289c142cdcc5dcfb015f, + 0x7b59987b0b60021be0603b6da7bee08cee00cf4187e7a46c57e07c444a2f7a7, + 0x62d4e1f9b7398c0e3f21a47d4b7894397e6205f00632e09f58683f275a05a47, + 0x41afc0acdb24c4a21d90c9e1d26eae2add9bd4223b2f0701a279aef161e4afd, + 0x6eb3d355dad4d6b9de6bc6964a64d0360162dc138c2421cc8c5983d85fb9930, + 0x5885ff622c584616c77ea9cfe0d7be86260254f009446d692e6e2c95002e2e2, + 0x408c0f4f159fea0254fb6d0e5516d3c5ec0854fe53f420690dbb8bda3cecd9f, + 0x7bf330c278f640b40044cbc03b17dcb925d4bca9c4dd753bd36fa73fe64f2b6, + 0xb821e205c14731c116b7ba585f5ef14919291e56304d6131755c93487d57b5, + 0x63d6ac3daae6eb8c8a108d8837b1e1f9b814a6672129954d2c19d960b970de5, + 0x56984c83a9a2f0b0f0a10b30b3790080e1503563948365104c8ff140d2c78b2, + 0x6ace2bc8eacf3fb502cab0dbfaacb99ccdc7c5cab933878f0f00ecd4306167a, + 0x15bb3ff352e561599bd8b42ef46517cfd45ddfc7ab0032876d429a04c425850, + 0x72c94f8c4753f31f02a7674570c734e0006012fc4ec439ce9839aa120eaa4ae, + 0x23f2351b6785fca8e7cd4c2231f1c653f685e096887ce3002858c06db5ae808, + 0xc6f530c9000ce52aca56a6266f5bde037c75e84c9d5a0f1fa7577e4b276eba, + 0x275f5489f6629548d7d1e9dc42ee0d68ab862c0c6bc840b7184e832c28716b7, + 0x708f0a7598c158818da04add3a3a94ac9b35fba89532c567667db0b67922a68, + 0x2a68726aa6d0e52c705915d0829e3b20337df89bd80697393b9de609a122d54, + 0x5cfb1a0480bfdbacbf434d54660da1b4071a02616d22c778a045dfc773dc207, + 0x56d8a93ec7d6d9b50a915cf39a75122efacfe89025bf057008afe564d9432c7, + 0x73cecef8f88825b058d10ebae2523540fd0250cd9d9fd0d520371759041c235, + 0x3a50c3c98d7d713cdadbc0c0bf0f7e156e8681eeb420f9a239c8b30a417f2e9, + 0x5a97fe52d11862b3df7c9b46406271188350c5f5c319d19739b7479bc39af8c, + 0x36d28ec3f6dc71e00a182d088dc1ff94f443c009b52cf671a3e6e9b40cc1471, + 0x2be34062e9a0e3ee6b92db97f74e23407eddee1f2b059ef050f4c23d6d30f91, + 0x6e1de2b0e184458047f15e44f3925d27913044b3d59bc982256eaff7a37bf04, + 0x30b1757d533dbf540d7a6717bd1a76c95209e1094ff961884e3b51cc226572, + 0x6ce9f661ee14ed07929289fed6eb777d4c21ab540000b3ab1f23f5d4b4a5c32, + 0x74606ac3e2d9448c262b42fdc8a3888fadabb88d8cb66d295b1211afb37b15d, + 0x242875c8b7192ab13af8a3dcccae9f81dff3a9753af23a5842e46dc612e54d2, + 0x69c14cb8184227f54d42edf67877f47a9b920067c3764de79d2366906d98f2c, + 0x9e852fd35b869d9bd613ea2c52c90f959035035d98a562edba928c9ae155af, + 0x1c9fc0237527d822435a9012dd59d5bb4ad804d189ef43a5604e842c5fb5efa, + 0x34a22c8d4fc8027ee0eb68ab0cf135438fe1232d75d5c40d76fa66571bcbe8a, + 0x363f8f66f6b23362bf62e99503c3a6699ced2b3a41bd7976c82b6c1a663622c, + 0x4e7832f85f0f6113cbbe755b869264f997193d3b3152b384b8eb97fb268fc00, + 0x63d1e42fee3655ebbad44d80c61de04fe0bab96220d9aee7829606487e9ed1d, + 0x2cb09f415cafc5be40fe3618252e4d5810a7ab8a57f3854a100352717568e4a, + 0x20f1d7ac73dba474684361ec3a9a3838f565dd53716651245e7a9e2cbe23f50, + 0x396a68bde0b0b86a37a618a1ba1addcb07d77e24ac83af4c6fdd586e7d78903, + 0x2bde9a91089cd6df42a1cbf54e4f84a53ade71ad6184cc38730d326f5f5ec92, + 0x4e072eaf392e616a6850550a53ccac806ae217faa00d0ede040c36c7a554005, + 0x78ba441eeab39cfea8136e425a8a218fba0f46c6883cdc51dfb3b4743e5107a, + 0x74d2a90d7c4427adf6aa0a8b89719bca414d4308633013243b819eb9e2dd3c3, + 0x2ef227708e7128d054963515d48bd541ddc3452fb1b45c1377c09550e9ab9d5, + 0x6b2edd04228ffef61e7182934f21801f1ddd1413c321d7c32cf2c80265c4457, + 0x157dec1391838627b0b457de8f88c0b776fb85a7eec425de6847c42bb44b598, + 0x53b27e2fb6ab47936d8a4705bb8aa49d0c803714c10ef989b7e53c6b84410e2, + 0x6c93ecf7ff3c8b25d5df18aa7587399d7bcee98e4aa3b8c8999dda95a23a141, + 0x7ceb67970b7081049ae30f17dd37dc5cf0af78ae2e441bea5c886cc1e2fa7c7, + 0x5fc4a13262e209a7c567c6df64e2f2002ce6c3ed104c1e0602184aeef727efc, + 0x2a4af8fd4b61d1c86ad29aee18c01d6416c180c7cec7684afe9795d3ab45c55, + 0x332c7e4534a488602aa2f4c3a10e19792d85ac07bf946a4afc9a6ddd1f8f72e, + 0x61e4f6912b0719c0fc9779c632bb7b7dfa6e938cc8e30380ead132f8838e957, + 0x1c3ddeb719ea829b1ba9266f807b17433d89f2a389e8905e81391b55125069, + 0x6c15d84140e38f3d6d8d09da2bfbd02faaa7927613bcc701db2695728b4940, + 0x3cad9cdc9382643788d3dce7037061412b69a824483db5175de5bc219986e43, + 0x5e66321e2b2c09f73bc079b8f66e004f60a01244d97074f003038318ee89b44, + 0x205345c4cdc25c8b016a3b1165c33a56e597b75763fb74ecd7b6438b5fcc54d, + 0x11f95898d99f4887dcc526deefc68a393a858ff75fd71009cf43f861addc85, + 0x421668381458c571ccaa380061c1ccdbc60f5cb3a9368c4a8f767d45b0665a7, + 0x135f1a6848f24d49a8cc0e4519d809d3b6a9af7f64be46b7d4fff4ebb549e50, + 0x342c798c95c7dbe248f3e681ece954eb72ca52412fcf414cc34d35a5b87ba6b, + 0x67eb3e21820d89124365d33c46ff1da1c78327766fb8404f992584b3480eb8d, + 0x7b77a2797301540ba3a506230d974ec272a27d562c87c42865851ea1d286557, + 0xeb6c8b1f5447267ff51c92606b0b552834c6613fdcf0d1922ddc15cd03ee86, + 0x347d74e9f3efe16c4f37e6ec061fd59a6f9791c2c8f2d1506fc729d8f7a727b, + 0x5fe501eb0a68ef4aeec7372f300dceeee7eb0ef64965dedb2890f1b7bcb797f, + 0x4010fc490fcef15d1b06700961b86e24263d6f6f85a6f92fea85bebf016ee0, + 0x5f058f153e46e3a18a56926c4d5d7ac6b66b7a610e3c25ddb85d09f40e1cdfa, + 0x3343de357bf07f000b2cd067ab94151431fd22b66d43b969c8a07b556781459, + 0x6aa840b7ef8951717fb44aa80bfaa92f030ba7e551faa2dca6ea559f47b1036, + 0x50aea635802b82c04d9d245bb1c0a828fbf42430850c670e988ea9a3adb273, + 0x16328010686678a64012342cf8780eb69d35dc02a37046a14d17e117fe32653, + 0x6a5b8f438653f85e13965f3efa1e293323fe2eecb03a0fc3711323b8fbffde9, + 0x2df71baede5d14881a120484d2ca2f75a538e574ed0097161bc23f168717c78, + 0x3228ab385a5b2472dd737bb5bb469689b3570f3773d8b88a7169f60a0eb16f4, + 0x7e984692361c1e6ff30fe7a5bb1ccf7d1bbe653a6f277f04d1200aa4705d29a, + 0x5bcabdae7595c867afe12eb18bc95f826cf369823e656dd08626184b2e8b654, + 0x7b1d4829c3c2b18d7f9f5fc4d7663de2733356a1f7cc9c3e42c8bb547b9f427, + 0x44d1a864879db185a6e7abdaada2adfa01f5f47d48da398b4838d6b8e86b7d8, + 0x29dd0a6cf20f3e19820de66b4760e8a909919c9615077e536d6cc01771889b7, + 0x1a0114e202e05679c3fbf293ccd7825f765217677a6878846eb7b3b7f3c9cc1, + 0x2989dbbe362d7aad523252fd2cebb5d79fb79a716a84c7490c4a2a3724a9fa, + 0x778cb638387227062b17280380a73c992c545860fc1671f5dce50d42f0ae448, + 0x7e05b03997e3301dc32ffbb7829aef7766d0b1bbf6834531aa8a87d83a15a7, + 0x5eacb172e572f42118d31148afff3c5375d0dc7a178ad9210135cd620009fe, + 0x3bfbec45ccdb56aff8d258c1dc71c9bd5a28e6f46607d66fd43ae2bd061bd27, + 0x27d4bf9944ebcbbf92e68964a19fb2a79e905bfc418b6d49b89b573de3e2a40, + 0x7d749cce3aa457f94e2bc440496de97289e78da48cf328ea356747fbc835fde, + 0x181f4bdad37ed027a795ee1666672a3e3b53d2b6bcf7867467cc406fe749549, + 0xc299086b6bbd0092820a438c19ff4ce06568358f7f64833573ba08d6fe190f, + 0x338d815dc41408eb94f16e9b42e573f74a7469edbd4a652db69a609386a44db, + 0x6050a362d64d578210f6c5371d67729f5a638d5abc7a26973d37f76cb79d261, + 0x641adb8cfa3aca2b3c7b487215e372cf712062f69ae7d0230cf567da35fe2b3, + 0x7444e064cfe1158046c6ec3fbed50b0ac06e91ba47f017e260bed4a55426227, + 0x21f37277ff92381f34ee6f54a947595eeb51756f702a7980b14793b66ae49fc, + 0x41d61e80c24153260697d0338b0d167695bf3e0b767269a192ad1f6aced3dae, + 0x6355df894ef081ac1bd6c39757ec20bc61d2e569ddb8aad1ba132b07fc9ee2b, + 0x51c8e992920479261b6c6407bc2d22aaa2aa66f98dd839cc49ec604902d7a07, + 0x57a6cfd6baab8d30837681971bf72688b0e405a4e90aacc001ecd86412a0311, + 0x5d59b5f28c905116785592f98ea089cdacb9efe85115f6e268314a158e41061, + 0x753b588a58b80aaa7878ee8772c7812c7814acba10c5677208cf812c0257f50, + 0x50ac735fa5d8145af47446dc26d7641dd19ade0f990ecfad849d8c03c80f716, + 0x661f34d8ac0088dbbde08f1d143f3f49ffea272f018986aa04acecf35bb9b80, + 0x41181a2dea041a5c052f4ea688236a662cfbb0182ca866880a2201660cf871e, + 0x6118dcd1edbf66400e5eb7333f1fa65e934c4c483f200dca0040392932e211, + 0x63634851fdb2f1685f32e8b817677fc09403cb7259a8c4b544b4164107a699b, + 0x7dde9dee053d505fa789344c14ec9f43e4a0fb86e396b6fdd890d29ac80377c, + 0x100f3f57755c1b4d4c7080c499cf1e407816490b0c117fff8925ff442a24534, + 0x15f4048d23051959f7f104fc0062122af89b45ad008e6cd2a468ff9473b6b2c, + 0x6487b4e3cd3eba9e960835d2a943d2c7dccd897346cb40e0ce29a870f9ac6b9, + 0x31bfa2e39c1becbfa1a788c697293779f2b5bc8b1df04fb9517d2cd7826c8b8, + 0x2ee62cdf7633de8988981b2e723958914d7b20a25c94a410aae9ef93ec9bc97, + 0x374a33e85f4b8648d5849134fd65bce1d09f0e5fbebf29100fbcee47f32e3d1, + 0x35dc098af24cb45c006941b0ce148d320fd03ab0a363fd6e05d39ad6b091f60, + 0x7287981598f1bbc0c494d0af685a404b15682d06fbe1a04a26f777643f4dca8, + 0x304e2c03b25cbc5148d21f0093df26ffd96db5cebc5b4819b6f52da9efc6ef7 ] .span(), fri: stone_proof_fibonacci::fri::commitment::get(), diff --git a/src/tests/stone_proof_fibonacci/stark/config.cairo b/src/tests/stone_proof_fibonacci/stark/config.cairo index d546342c2..afe05cac8 100644 --- a/src/tests/stone_proof_fibonacci/stark/config.cairo +++ b/src/tests/stone_proof_fibonacci/stark/config.cairo @@ -10,14 +10,14 @@ fn get() -> StarkConfig { composition: TableCommitmentConfig { n_columns: 0x2, vector: VectorCommitmentConfig { - height: 0x14, n_verifier_friendly_commitment_layers: 0x64, + height: 0x16, n_verifier_friendly_commitment_layers: 0x64, }, }, fri: stone_proof_fibonacci::fri::config::get(), proof_of_work: stone_proof_fibonacci::proof_of_work::config::get(), log_trace_domain_size: 0x12, - n_queries: 0xa, - log_n_cosets: 0x2, + n_queries: 0x12, + log_n_cosets: 0x4, n_verifier_friendly_commitment_layers: 0x64, }; } diff --git a/src/tests/stone_proof_fibonacci/stark/domains.cairo b/src/tests/stone_proof_fibonacci/stark/domains.cairo index 5f65d8dc9..27a9a77e0 100644 --- a/src/tests/stone_proof_fibonacci/stark/domains.cairo +++ b/src/tests/stone_proof_fibonacci/stark/domains.cairo @@ -2,9 +2,9 @@ use cairo_verifier::domains::StarkDomains; fn get() -> StarkDomains { return StarkDomains { - log_eval_domain_size: 0x14, - eval_domain_size: 0x100000, - eval_generator: 0x594beafca8a00d9581d81caee93dc85c727c9af7fc4c648e3d47b998574e81f, + log_eval_domain_size: 0x16, + eval_domain_size: 0x400000, + eval_generator: 0x3e4383531eeac7c9822fb108d24a344d841544dd6482f17ead331453e3a2f4b, log_trace_domain_size: 0x12, trace_domain_size: 0x40000, trace_generator: 0x4768803ef85256034f67453635f87997ff61841e411ee63ce7b0a8b9745a046, diff --git a/src/tests/stone_proof_fibonacci/stark/oods_values.cairo b/src/tests/stone_proof_fibonacci/stark/oods_values.cairo index a0d5bb835..a49dadb25 100644 --- a/src/tests/stone_proof_fibonacci/stark/oods_values.cairo +++ b/src/tests/stone_proof_fibonacci/stark/oods_values.cairo @@ -1,139 +1,139 @@ fn get() -> Array { array![ - 0x2f04daf73cc0e87db6f06e64808049ec8b1d87cb9f8306bd5474912b74e59d4, - 0x3f468746ab0fb702742047b0b166f4f7188db1f92f54258f9e74974c6df7abe, - 0x45f3fcdeca621009bf38cf64bdb62cfe99e2c1b15d6d9dc09b30fd1879a32e5, - 0x7d6125af100d52e3c3ba2d19711afa9026a5b19230c5e80bee939c6865006d8, - 0x2a21f97feebb60b3e0a44ece7dce776dec26eb165add1aec206443cf2d3d6d7, - 0x11c766b423fa1c9ccc3efb9167f4039b406dc8d9da4bdced22f8b050588e10f, - 0x7ceed1e3a8d4a03830952e622dc81ceee160d1f42ab2658f1e2aedccc4df9f0, - 0x5d483b26d7401065fd6ad30c8bc96b9b1952adabf9bfe8be41d06ee3d64f794, - 0x2a8e3798e7dd94964897d476a6e3d82274a283210df80797c8b7ce4cf0e1da4, - 0x1909b72a75e3cc9207c4d699413361bfeb57c07ccd4fc14121e16975a745d3e, - 0x45f180401da4a55f5a6c86531835b88298c222b93105365cf397f0d40cb175b, - 0x3d520b40268da3f156f634dcdce1aa4dd2166ad8b474a01160434a80ffdf534, - 0x7b4ec746a79813ae2c6ee0e24bfbbdfb60a45215e773be3da497023df0912a9, - 0x5617bd8ae2f3b8390408ecd8d677056db94abaf8474784f31a2f0e37a5152ea, - 0x29c8c76933bd09f7ebaa2f77fa85dc8aefa26a9ab95604b2f8fd0db9662ed32, - 0x1baa8286d23c3dc7b7d9427c12af81716628e975a9c8da6d07ac9897fbbc8d2, - 0x4a0160390c873c3a03d647f3af6b4a4f92abaf03a2d8d20fdc4320299bf084e, - 0x64725534c5bdcdd3344e66da959639575f742171a2665c81024182ead0641bd, - 0x1a75e0f30fdfc2bd6198672862ca7ce3c083336ab8e35e082df0af4b27c83e3, - 0xd7d46553024fdd8e494e2f39a7e0e9152b256df1285f9ef2e61c33b8c8f776, - 0x370fe78859b47e624f36abce7fefb0e288d34a502a6b9d3b5db2142d3b14109, - 0x5db111a438fe1cb285f733d975fb57059527c13903a066930ee7942d57dbbaa, - 0xd6e192a7ce724cc2b7e80cadc4a1f8053a58fdcd369b832695de91e7bf6744, - 0x3755b20f3db35bb39813761bd2a00ec703c39331deb0e5ed1336c0c55942595, - 0x6ded5aea248ca30f456be1cccb071c5885c18b2163c9a6fc01e0d378ac72df3, - 0x4b6fea1b2302aac24787fab0dc8f5a49812b04eaa1d6a2a53a5e88e73197830, - 0x155ad36cda56d25cc7669787318ffd446053cdd04afc2345efc3fb703f2406b, - 0x514767ecef3e00d3f33b7ab50b5b9878f725c6dea9db5db07570f3b60613a99, - 0x119104fab3d6b214d91fd5ff12aaada04d29ddc17e9b42e1b91e367f8b1d8bb, - 0x1cf1120b5c9764e4b0e9b4229fe078222b96b12b3023cb44ad6e869ecc93ded, - 0x344beb2f3fc53ffb987a3d28883e17c1a5cdbfb4303bdf63cf0f099ea5b4704, - 0x2a18fb99b7490327e783f8d67a6c9a365eb5fb55272cdfea7fb370a2c578bbf, - 0x39b849dc0aca02f3da9e3bd2ae6a5fc7ed88690e3e720b2dc96b99f32604310, - 0x1ca123e5c4a2830d2564ae668599a643ec9ca036167ec5da6d3795d897ebeaa, - 0x157042df629ed9991e578856c9ffdb80ab318a45e087c10db33222dfc785fad, - 0x375691a678e619a2c01c20baf1af5a675a290887afd30d4989b6f16e04b3770, - 0x4986cecd86d54e0216d4f4769851121fc937f5bb066d08d992dd534d6e7a39f, - 0x481db912401b6d62103bd7fdd87c0903df6fbbfeac2e8f26f2499a92216f62e, - 0x7c2211cddc2ea4c5a3e5010c448fc587181214b34702ace45103774d8601171, - 0x317d431a9aacf9643f2a5d680a52baf9fa8acea83e0dda0aa6e007e835c3703, - 0x3d93a07ab9a947700b2e578245f7d3d9b619d038601afbd437aea2e17c0e1af, - 0x3410eaef7d00e980a2a8ab34a3402be23cf4ae5521a9e64d0b580150428361d, - 0x766cf630d81274bb7f16cc6dcc2d26abc8e2b619f6451fdc0e01aa9489b8849, - 0x17b9c166a7591d8363b53b38e8999e20624a230ab90d93bc78fa43c92d1bdaa, - 0x335b3a7b8c72dd794e8f260ffe9849e252e0b1f49f625c1f972d11e268440b9, - 0x3f88479d652c2a04eda7698dbc4944d33f1631b82922bdb2a82654c7734a817, - 0x1d7777a13a1ff702dd78a0d322345eac519d6e82ef610899a8e35ebaac96352, - 0x30098d1d8913f73bd9e44059d3f9c49f24e144d94d93dc1c549df5e12690451, - 0x65525a3c22e53ba60840ac5538baeb8a3ff2301503e7daefd3fd8f22a4c2b46, - 0x2a4d4cd42703b4dcc61b5d3dd89d57b4be7188a93ca1c36fd2e68054009deae, - 0xc91a6c3f782e0c153f4a7b34811a51fac9e83c8b75cf9dea428c358786238e, - 0x613512d9591df92fdce6147baa1ecbd04d10478bc1d09fde5d95ea938acfc5b, - 0x496666fe2ffbc99267b841a25b1df3719b94a86cbac35e3a9a43a2626ce0be6, - 0x7a23471e57d5f162c5e67d5b67190f44125a98c3bf8ea6257bb0f998615031e, - 0x40fac2e713cd44fc1b7cc9b0791c0526b502e4fbb3db4324fb2ea2eae8fe693, - 0x11fd7de31411f5bbb0081163de79549e4f0db77fea54032e0b5c491f1d062aa, - 0x7ca613cd6e79c6e483d15c6fdd4c460b81525bb2d9c0af58944b0a50a5dc49e, - 0x83dc0280cd76da69ecb727d9dfe94695df35bdf1f0061d132ab0bf8e84a98e, - 0x779e088f88c26d813382c3749c3a21717b140d6cdad4143f989423b12ee4420, - 0x1a0b5d54fc7b6d99ede539de893265acc7b37641ca1c8f2812b93dfb6ff5794, - 0x3827fd3047928293d3a3a4b6d0698d3d14f5ebce6e4baa23152d44e45c01913, - 0x30ba2f7678e81f781b0fbe9386a207bb588ef03656df3c32878e14052a412ff, - 0x1a0fa03007fd511e32e158c1c041f73489976564f7a3c81b676b28774d9c360, - 0x2313ded7c4c9bd126abbe21a97f63246960411f0d27f317d313b166601b5631, - 0x52c588d44bd05998bd38186399dccd6851ee5385f92f730a5f61ea7c89f150a, - 0x4f487c3ee9f1301fc4985103e2580ce629d6d01dce8d91bebcb47fa9bcac51d, - 0x400a1dfa12751894496f575d29e397040c4a94754e59273e261b8559a004ce0, - 0x7d34c4bd87ebaa609154ae5a1bc1854ce74138019323daee60a8e674f1d749c, - 0x4b459e97368a0f741b208b87eca80d01d7e79d9e0572abf1ca78d9a3dfffc1e, - 0x32768823e415b9d6f6a6ef685b15cde865e388ef6644f56ce0b5f18ede14e3f, - 0x1acbd9578bf17a015adee0ad144bca314410f58bf7d20b7cc037aa3795390ee, - 0x3d68a2f7a781dba2620d98fc64bab9063bf84865ecba83d0402c9644cdee7ab, - 0x1aa2d28f54fb96102cf465907b595744ee1853208d5d3b00968175ab95762d3, - 0xd955c826facabd68c6b77ab917660b0124e3321774c09cd950868270ab2d4a, - 0x6cb5bf3e857a94b9f5b2c770ac31cafc396d524537fab2f75f71c383cf19f5, - 0x75a1995d99f7f2aeb56b2ab32811baebedac8c3154f303764cc09c8331a3ef7, - 0x6448e006dfe91ee22c51929695122a2588fd26e201fcdbca53f3197acdb9009, - 0xef9eafec849de7d0f3c075814a8d9e52f88b47e612fed005d5f31a70cb8369, - 0x4dd3612326d5fa9cc3d588763a812d2e2bc1252f786e9f38e20d7f29c2284f5, - 0x1605441626ca0b5f5501f74612d8f28b09b05ee82fd654d84a92eea73ed222b, - 0x1c9091ac7b7ce85df6a9715b5bb0bb08a461996d7ecd5cd59bad1fc6e92e565, - 0x65f6e1ab7a0eeacf204db1f4e6987d26724595657b8e181a930af30184a3f0, - 0x29571fcb79c65b4dd361ad0568730197d6a55dcf187c7adb21b88eb651d6484, - 0x17c3ed575ec4eaa5e1e9c91f8b508f0fb607545729e57bec37b3da1d2263c62, - 0x5460c4e492b0f50de1d47286b870cb6361b200b4476536db47549fa4cea9fc5, - 0x6831eaf9764b69dcf1b6473afa5d403e7265dfcf3a96ac6161d2ed3b079acad, - 0x30f5d8ff6c87f48ee78180b703a678987b2fdbd52f50d0d52d22c83bbe8eb40, - 0x6e7ea10610b40a659f139eb8067b7f21943c3504a700290fbb63bbb19083ebb, - 0x5a0d1188995cb8ceb184ee18fe419f6c7f45a46e1a27844209e551645ba8b94, - 0x742c7d5f5e909bab5c242ab486334e869ed109ae161f29eb50596187582a56b, - 0x7554fed1336b9b5f43d560f5fef898e9d358246b98fa5465261aee6798b11ff, - 0x45488780cd91f04ca45ccdf17fbbd1394a59f4c14f0dbeb1453c9ee70d89a21, - 0x28e91210e3b30625ba4e900e646037cbf9aa3418e0461d5fc08dfd08ab2b2f9, - 0x7cb02cc44722ff10eee2f5bd9bfc43db89558dec397cec44286ad0448fd7562, - 0x7f79ca06d2effc42d39d4982592e5529b3e9fabae43ea85fa29a0cf66177cdc, - 0x108fb2d2dfd3fcfcf136cd511613c0e7485dbdc2763c4a2b8fcb6de24dbb461, - 0x730db5de252adb58e57e9fb09e39a352b054327aefe709182858325f96f6890, - 0x1bdd917c0170e168c4e1fa25e5f128673379c75c28477d901ef546afb47f080, - 0x33a8610f41dd8b72666441537b12709bfdc7b79f914c52bc63e5817f17f53dc, - 0x707de6b2c3c50a6fe8074c077f03c17a1933eeda96ad27659c2fff5170381c0, - 0x3d58779d4774beda085070e12fbd2da8aed4e1caa177ada5f09e3d143dcf8d5, - 0x545699a39acd250f145c9e7da8843332ca430126c718f5bee839a0b17f5b6c1, - 0x4007a172acb5a304b6493c4d99a6856fbdec6626bc702a5a76425a7340ead68, - 0x11f1d4bda02e6fd140221a4fc2443306e54161151660cad45fd47958e85a4d8, - 0x2cfac026405cadeecfbe87cce56a25d8db45b72af8c51c65e0698da6ee1bdb, - 0xae7e92da3ad4503d6a5598e94b4bd52e4eb495029a99c996cae456bb4d3d78, - 0x5013f248ee45aa3b1b9c28508d89eb8175ea5405fa5ac20f4789c92e677e623, - 0x7d1e8b63f411418c996705c33c35b21064a6ce2ad29dafd662289cc161d3f8e, - 0x1dab056484f908d4027bdccfa3f3be5cfb5433d8a00a11a98ef8c8c2da99e25, - 0x6dcee1ea3845c7dad1548469ff91f4260ae1b8a70d44afc9455a2d728994a31, - 0x7db4d07fd3c506b23c838e4d94430748ca77c7daa19c1fce75e9d6a035082e4, - 0xfb82a9853f54dd4047ceef4ca6e8272e563e5abb4535e89e7eb0d40dc05fc6, - 0x369fcc0bc846413ea742f2361462d247604fc661f1b4dd7fdf4c1aa9f53b64, - 0x59f72e6e8683095c89f19d565f2aa02e46dd9e9cfdef8a0ce972b748efbfb4a, - 0x48eced14940489592f60ba239ac36ece65185e94da279da84b6fb78192cb883, - 0x54d29271c9eab593619f212177af86e64ca6f6ccc2dbb81448578a2de08a19c, - 0x2326f7c8158f55ea9c52da6f313a34f2a30795c32b526edfb561f41c94f4c55, - 0x1c6d9fea074cf3ca13df5202e4314d07ccd77720fcb74e40da151679e0b4ebe, - 0x30256b73ebcf45779d805a8a9d7e16489725816b9beaa07716627cade327435, - 0x1b32e4a93b9cde356ecb4ebde82385580eb7cbcfa0dc7ee444ebc2baf2eb5a4, - 0x1ea460f34a5e6ea7b4ca65ff51d41c87900b40cbe19ed88a3ee73e055049467, - 0x756cf1b3db222fdbb876f8357b849b29c80fea111452c317f06dfbf29d57142, - 0x49dbb1d0d9f5f8e90b341ae11cddccace9fde415fb8e8fc1d5d73dc1dcf1ff9, - 0x448dc4492edc2aa7cdd0d516cdcf24ea368ab3943b053ec4f84542b9345346c, - 0x2e7861497216dc76bed7b09dabfe23feb7cacc4f255348d0a6a03052bab686f, - 0x7db683698e8a474c56d767f859dac4acc7388ed3dce6a171fced0052429cffe, - 0x4f25685a20ad2dfb4e4ad162a05ecbc1b00bd410062fc8cb05dd49bae2042b2, - 0x5066a4c57a24c57ce2b50e3e87e65c0c89bb5425030bb552af9347637b4a461, - 0x5e50d16c0701ba8772594db85da348154d645476c4f730af943a9e180890548, - 0x440c047f3cb8fbfd549e2924aed54b965f33e50e366f325d367ef34e69587d2, - 0x7ad65e72982b2f4306c1379b9b7c00b09edf21a26636dfdb953db0f9aedb441, - 0x2406a0449b1ed4abd8fc034739bf3582737cecfbe1cd4119cdc6230b9c918ea, - 0x6d0fb89bc233eff8962afa8611aa1647da0f6e67f24f149bf0bc56bedcb4753, - 0x2507a4b7c3596291efa9b8915f34c0e2de6e54590ffb2f0f77f1926cdea7369, - 0x2c2632e56846c7c02c15a87bf902d779f55677a5ac3c67d749d2a6131f86ec4, + 0x43629903f1d1215c812940fa4d393b1d7c371b11c31bd4c31d6d3f4e46d5f45, + 0x63485633c7e9cddfb14fa533bc64d739dadb5c58b6a9097e077a7f3bd9455e9, + 0x39eddfcde04375b09c019162b2add7d69954c48347b8810167688613481fb1a, + 0x1615f09afe8657620c6940ebc7bc23b8f50f37b0db93e7d804ab29a2c27b664, + 0x7f9704854546ba609742c4132a35409db6df1862090da48f19d5d620d9952f2, + 0x15f8f0e16c7476045a016172df3ba0edff7d2276ad3663641f1b09d1d86261d, + 0xad9cf83b9973331ea51a0d2c3995a86fdf0c1f9be0c6cad7b5f51ef6a2afad, + 0x4d2e61fef5942c4f0cd358cf82010cb44ba73215b2d05c41bfdf673ee832e5c, + 0x2891fd911fd78e3122f3bdb9df0d206d4bb0dd44cf26dfbed30d7474ac415e6, + 0x70f9f3f65dfc26523d06eb711235a5a51f9acd35974a12698b0ac8553bb69fc, + 0xfcdb59b42e94edd375bd3677379f51fd893dd0b348762795f518a5b32734b6, + 0x5a7e5648b93eaab8706ef1c4bbb5a8b4d126616ac0304ba0ba51ac58e808f23, + 0x103f74fb43f29c55a08e6ff9cd5ffe6d03959a10ba194dee88230d54e317bac, + 0x7f43d6ca4660dc2f177699bed13fbf0ce76ee2d8082dfc7d7d2a00945228ab3, + 0x4b23e066695423fc6461589a447fc9b38c5b030c5e680d480853f4516b1091d, + 0x3f743b72945524ae7241e4260bd841da30e44d260549c5212d0fddb05ca0e6e, + 0x45a9d47dfe2b4fb5f7df5d9d5788dc24e17a80b43070b5d35d225ca8dc8260e, + 0x75c731f506ccb4aeabc774876b246985ebee1e34f9e40720548d7cdefcee0f7, + 0x3fac0bc93c1ed6839415141f138ccb1da1bfafcecd4e73fc327cb7dba636dca, + 0x3f2d51876bdef1d24234ff6e39989e76879ad0634d8bf442d900983440669ec, + 0x21acd6236b9e8119f90424ccead0c3d9a588c0966ab590c89c37a215eaef2b7, + 0x4d8ba23d01c9b4ec04443cd79e085be682c9109a2d6c823e95005e68dab0b47, + 0x41ed15bded9e9c52253381e1385b1646b7f1474cfd86408f5dfc270ada3488b, + 0x76981c96a4034de3a14cc42687ae739f841334d6b4db5faaeaf574d48316e9c, + 0x278c47044002fa72afda4fd5d5279c3a0c2afbbcc878db0afaa4b5a2d2b12fd, + 0x5ce6a12683bc616990c4a99191a6956ebd63efba3d373c2ffe3985337948cff, + 0x7e7ce173ed216fde42251ed2dd353ac71d7b0881ffcfb7710d68d37a70fd3ca, + 0x30cb058caedacad925fc02839677fffe097fde06b5b28a6e36aa93a366a14b8, + 0x6902cd820ad9a5f9125432c3bc00c2362963c850850ac8c544d43f0dcb65bd2, + 0x62690d0391b9da546111f308b257cbf9b908ccc7ea56eab8bd0df9edd183aa5, + 0x643d06453c2746188f41be2038250425639d02d66bd7e8fad96ffd4d84a8ada, + 0x1c7ebdb7a71bbe3481bd74746651cba37be2faf025de7d25bf0ed1024187990, + 0x769d9befa5c60ef87e5f99acbaa7650d01288b14740fdd07d2a93ff6c241e69, + 0x1f5cfc26076fec092f57b23b97a94e8975d0e1d940c899cbdc9289018b0c9db, + 0x48aa12f5e2753ddff79309bea53b3b878cef6fa7a8fbc2317dd3ceb2e025f2, + 0x444476f973c765d839ac8e03d57c997375734768aa43ea59c11b1e6c263cfc7, + 0x232c123c8564115e2e09ab9c897dfbbcf7f1ee618d552dd553ead38dde578ed, + 0x56548acea8cdbe531797a15e743d2915b0caf6d6d0988aa2b05aa1dee440dc8, + 0x4d0bae778f4cf92c181096218afa924e8cea289dab4fa51874aba3cbc9e850e, + 0x638cc1e620164085f28c5023b9afd14610dd32b235652325b7152fe3bff686c, + 0x4c701481a8f200240a21f9b84c83ae3a3b1bfd7e7f1b0de82d31c4c4376ba09, + 0x2e8adc7523ac0171bda642b972246a4c1db2ea2a75c764a0b181f88ea0aa646, + 0x45c97de6319beb4c4a38c6b82c822b6e5e573476ffc74e8c383233de46840b1, + 0x5f4d05c480a96bb8dead320180e9790543bac8b19ee62cf52617d74963782be, + 0x5cc3faa74325ce9a7acd5ad56bf206765cb1047abca0fe292495a050f815a5c, + 0x694ddfbc3e23324c0f521b7a3597028c1277795f444aea1d331810705125b23, + 0x47c751d3e4b66a23097df2b1e539940c7f1c46c19196e836fc571c056185ba, + 0x3031ca6efce93b515196e0c3d96335c4bf913be063fe6a54747dada9ec2cc62, + 0x43a45bec1210202de49e41343b0da140663b5095ac31c089291bab933a9ae02, + 0x8aac8c336dfb718f1c02922aa5d5316c4c06853556c92010bf63758341c32d, + 0x4fa09c33d779916c2665941560ccd835f46fcc20572143de2461f2ff05a5e21, + 0x401d51f9259c5294b2c853af5fb117c62c9ef4deb60ddca7949e245baefc5ce, + 0x1811717e923f5d512f6a88a67de064715668d3e2d05410a131ab8c0ac710ffc, + 0x2caa2e45d16fa3a6b173afb953a387dedbae8534494825261e2d4886a9f484f, + 0x6818828c08c2e0ff9316256b9de9607fd1fb412155b2763e0531d4dcc989bd3, + 0x6cf62c05a83f6ee5ec01694e14d5f009edc8c8971d45b9a43b2f2b66899d743, + 0x5a168c73f7545823cc2cfb263d75d60af0fcc8209fd7b14fc994ca71e50ff8, + 0x6d3092d718e303276d328ace5d518964b8249c54ed71476af91b5b89fc7b81b, + 0x623e5ed94d2712c8b78e39f92e8c4bafa50e53c0a6774b1a327d055b6183c4b, + 0x5ced4390b291dfd7dc4e8c93c63524276e0a614bcf53624ddeee9a7585b1619, + 0x182256f7a9e3ca7cf5de3f9f5a58977534fda3ab65008a53f451a4c0eea0eb5, + 0x1de95d6452f89a5b6fc3760e3d52016c865ebfe31eca9b7dd5a40c8c135d939, + 0x16499d6a16dc6fafb5d4ffd6bd2566e976a436e4435f3b5631350b21c854919, + 0x507e585ad42afc6340011838702a3bc2f5d605673c7accd0c547a1f453b1e53, + 0x43d443dcd3ee471ae38d03269ffa62da5aa4b6f275c0c1c6dca20fa8ed6bf27, + 0x287b5272a08a698747528c12a312fc961ff4a3741f50dccb38865931633bbc1, + 0x5b5116f36bc42c847ea2da14d5fcf7bf704271930031c4c9fa52669cb6737c3, + 0x18bdad58bc87a223177bcc7d8343c6c13b6c73fc4216ecf1b278d7623e710a3, + 0x7d834639967cd11e164ff63968a4eec8ab9335a9cccb0f77c2825f793a8e95a, + 0x45b0b19d55c1bc8ea8a6a96e1abcde17f5794df2c4c14451acbcc08abf3e5f4, + 0x1d9ce8fb9d7ae4f38eb7ce90344cf4d06d8885f85b3ba331951e2d88bb7b9a8, + 0x6b10f07beaa48638c1a3105ab1ecb330b3e7dcf6e03ba5fc8b3d741bc7e73ec, + 0x13419eebcc61f16c42a2665e53f35f83a8dc3d7e91ac6f232a9793f1a1d4323, + 0x2279392dc53daeb2eb495ad6e44277a3d5194ab1bd060649ed1954388b6f681, + 0x76ada84034af48610535bdfd014b51ff54f61df6a1c4ceb245ae7024161db39, + 0x53960a1634d2f1163747fa945d1a532c2ca410415453a6517b6760d21ea171e, + 0x21b068cbe9d66c41143a974320bb9743cecdc6582328f0506b93ce8f78f999b, + 0x2837a1bd737afe57359864ca36e6147556e78cf90e6323f23365fc14568a03e, + 0x2a226ec2cb86913baaba6d066927b9b82800119d35e1dc388ee36b352c9f2b4, + 0x316fddad7f1c3b9a638d8670ea509943ac4f63ef450a016a665421882d5c257, + 0x2e2581aba08833bedeb51dcf9957f40f05b7495540e754e6961a441527837a0, + 0x21db59be9941d34e6a58db2012f9d132c1dc36462dd568c69c765a418828f65, + 0x673251d38d82371747413f21700ae247efa7ce47d130806cb1590db1aa6d1e4, + 0x3f73cbdaf5be887573cb4190938f963eab0d711adf7b64fc4d6e9da3dd614d0, + 0x6619810c613770205febae623ba67097e085702af54955017d90e9f50515746, + 0x2a465ee70e57209f2dec0a90ab0996fd28f168cd9d46325f73c0f8cb10de339, + 0x73f99cf825754cabe0cb1f1dafa517a2c40f3552664babef5ac199a4bab67b6, + 0x1b2c0d95ca90f547e1d49d8d38a6082655a2b456aa93412325165997325e367, + 0x42b0a449fad2b60bef749dfd65d97680e1a0aab9f6a98ee3d6b269612e5ea2c, + 0x32a9a2faa8bf6d3591ae7e5ed8e6b64e4299a78e02a28f3f76f637c5d0682c4, + 0x25ada7d6941edcd05455b342ab617b92bf332ac0842bfabd5fda8e81a834182, + 0x47b924632f16e8737d7a5af1f7d91996357abb08fa772d60829518197367be4, + 0x261e910c41fceffd10636d3ee35eeaed3c041da05a17c62500e61988c688d7e, + 0x4c5d60818e4bb6ab69e713c8c5442bf323208a9aee1879bbf2904f9f1a56ee2, + 0x27b546d214eb2ebf93be7f212c2b4b394b8a6025366f2286627c87c6c59d0e3, + 0x5fc411c441132b34a1fb35e37be354d4d9de098a427c2047008eabe4c96d8ed, + 0x60e66551bf761b38710a6e2e0f0a1b31dda4710f2ed3b32cc73ba538ab8b80b, + 0x6ecd5e0559fa9b2d2127f2e40ab9f699cb6ac194e1611f20cba348c77ee7bfa, + 0x3e4d2fd9920b03c26c709c483b845c0c40616035615f7f2c498069d9d477766, + 0x2a8920828ae647c8a0579301ac0a17dc136fd8f42d635c0345ff6d2237b50a0, + 0x7001797eebd6bab894eb6a74495ca2718ae8c38dc4ecd5cc10b04c7affe71c3, + 0x7a08f74c47001e024cbaeb4a478bcb5247d810c2387b1f8552c62caf58a3cf3, + 0x3bcbe347a88eb59dfb5ee18e6306ee4bd950bed7bdd9195dcc3e34b693f2f42, + 0x7107e0da88fd8f03ed3bb6ce90d37bd1e771c704e0de5a46728287c738c2c40, + 0x53eb5b34b2d86e87e3fd859f326366f3b31f1aa87bd87427af8d8b058f9f557, + 0x330ce86e0f2668adb8086562a88f0012e603f1d6edca9d566fb387d519d0da7, + 0x7f167f5f25bd8a01202a785e66e255d87917c596251813f96898c3278d347c4, + 0xf0c20e34b19f234bd8476fc10193789894ba2d971d658913c5d7b7d8c86de4, + 0x4ab2b9b88e6e171c2a24534f8b19cef15da5132e0c5fb24a1777a47fd42d5ca, + 0xc62a846b5e07a0712f87e8486e49fb6012ed6aae0967a874b65fceb26a2b40, + 0x760aecd23b27c5c23336365bb72c0110f93a765d7cf2a03eed77114cbce08e2, + 0x199afaf4f8d00bf3923286123af874b4789475f62252c534e531508244753e5, + 0x2d6be06df51a9a18d25bfba792199bef61ce077e596887cb056888eba8e20dc, + 0x6b40655ef3782c205ba74ef1c13b9b5ca1325483867f32558dbe8432decb227, + 0x7e803fa4eb2b58d80bc4eaf2e4b185c910c639d5d24d673271064cfefb12e32, + 0x2d42c7b8817b0629aba15ca75451b77cf833e76b6c6d6d2e4f71794a70ebef3, + 0x4bfbb2aa926f0a1f0dcaaadd0208d592e4121b597939ce73db5335c619b3c61, + 0x4d7d63f23c84c7f95f58ce0057f615b7602cd6c3faaf3dc759105ffdc4e28d3, + 0x2cd9eb746a2b34a8eb90b6e78ec3ba27e821256b793a455edf361755b262e11, + 0x5dde063e7ba3d5f3b15f5502853e3805fc647a1ed013f65405988db3072e594, + 0x6753df23099798452188b2e6560b200a40c18faa99e8bb433a0a87ef74743d6, + 0x5ecd88b9c0999cce1e32ef48b710b7705064f2c67fceece7ab78eaae204d110, + 0x45b5140aa5c0049767bcd7a91627d660ea9b3d4c11739d0a429bae1bc8ecf1a, + 0x3860cd0add0d6a475f9d6a6fd3bbdb8c8f719b9787623dbf09fd3b0515ecbc1, + 0x2d036b09fff4e28f473370253b7d61eb05aa7828881b1217543a9d166dd5829, + 0x17fb1be98c24ad2097173482254066bfd0065272329ee16391535eca00cfe28, + 0x7c39eda1ee1908938c9e06219fe00c050c24cc1d145b07ff383da221c22b255, + 0x2eed2c8adf67cd4c50a6cc3c230dd9cdddff8e1fda665aa37534681236e72f2, + 0x7dcc26286d724582863c1f1109cbd8747e5ccd5115f43b6e47ff54ad9d4dabe, + 0x25748f1f00acb78eb8807094009c88d05692ed1bcab3660530575f981458091, + 0x291989e2a1812f2f993920eae064f328a04abe15d87131dd81694d80136173, + 0x6c54684e468fe7ab8231726ce812674b8da1047573ca8690b3cb95b853b821, + 0x35eb0edbf2340d286d53e242f13c8c076c88a4f8dcd7061fd3a37848e3c2f5a, + 0x521fff5f2f192215d05f7bba9bd1b495de9c6727c72648f3f949268026b5733, + 0x45c0a6453e0e85a3a2293148745a08de5ea5fc6601b0fd09123821bb6bfb892, ] } diff --git a/src/tests/stone_proof_fibonacci/stark/unsent_commitment.cairo b/src/tests/stone_proof_fibonacci/stark/unsent_commitment.cairo index 9d73253d0..4ca750ed8 100644 --- a/src/tests/stone_proof_fibonacci/stark/unsent_commitment.cairo +++ b/src/tests/stone_proof_fibonacci/stark/unsent_commitment.cairo @@ -3,7 +3,7 @@ use cairo_verifier::{stark::StarkUnsentCommitment, tests::stone_proof_fibonacci} fn get() -> StarkUnsentCommitment { return StarkUnsentCommitment { traces: stone_proof_fibonacci::traces::unsent_commitment::get(), - composition: 0x30b93bbd6b193eb57d9f818202b899b7e8e09b0c7d183537fe85f4e6b6f4373, + composition: 0x420cd425d306a0ae0692c16909c51f42a16f848e318fd2d0ea61255e5f0ca76, oods_values: stone_proof_fibonacci::stark::oods_values::get().span(), fri: stone_proof_fibonacci::fri::unsent_commitment::get(), proof_of_work: stone_proof_fibonacci::proof_of_work::unsent_commitment::get(), diff --git a/src/tests/stone_proof_fibonacci/stark/witness.cairo b/src/tests/stone_proof_fibonacci/stark/witness.cairo index df27f089e..0753cb8ae 100644 --- a/src/tests/stone_proof_fibonacci/stark/witness.cairo +++ b/src/tests/stone_proof_fibonacci/stark/witness.cairo @@ -1,8 +1,7 @@ use cairo_verifier::{ stark::StarkWitness, table_commitment::table_commitment::{TableCommitmentWitness, TableDecommitment}, - vector_commitment::vector_commitment::VectorCommitmentWitness, - tests::stone_proof_fibonacci, + vector_commitment::vector_commitment::VectorCommitmentWitness, tests::stone_proof_fibonacci, }; fn get() -> StarkWitness { @@ -11,192 +10,355 @@ fn get() -> StarkWitness { traces_witness: stone_proof_fibonacci::traces::witness::get(), composition_decommitment: TableDecommitment { values: array![ - 0x7292f156e66e87304f8a7e0e565a3fec43d76f2c80a400c2a590c6660f205f0, - 0x1a5eb53e5336a81290ca99cbd8d3aa638bc94a830b39fdea42631fb79a8a18, - 0x635a6d597a5fa9e30719d9eb31fa71025849d5db13d52978f6c030ff83d5747, - 0x1b98ae2bcfe29abdff214a5d649d2b9b4861785e71114e4126a240bf88ea981, - 0x70bfef37afc339928c0b913331065c9f91de38950d4485ee3554b81049ca7a9, - 0x66530d11b117a33d3c4f625b53bd534209fce354190801eb5511d6e26e876f7, - 0x29c2c6fb927ec573b1b8d28eb0160e54b8386414ce096221c744924329a9b75, - 0x75913dbeef39e24469bc99ced5a8970e3c99a728979115a205198d928716059, - 0x764b5e049a3f2073449e18898e94b404f3c866e29dc24de116311c8ed9edf6c, - 0xfb84335e5da80feb729a0badcc7fc25152b599e8c760474422015ffffda485, - 0xb3aa6727ca035c9b754ba27b146e1aafae0b008cebf7e5c5ed30ea1ba3ef10, - 0x78bd952c31812a3dba9ea82034b8b0136c6e3259284678279222c2c7ec97528, - 0x2aabc8793bdd34d85d4bc8a65892e1a135711c8cf0cb3d28a686b3ce2258740, - 0x7cc04d09f944a52e78c4c0c3bf4c7b412332a63e4bdf6cbabaff72a2096092e, - 0x1e54ed7383142528172ca0a33fc6d858cabd2cb451dcf3e230415a554ab0904, - 0x1ee4666c435c870ad78576ff46d940d2a7c1ebbce56e478e27712b882383fa5, - 0x6b90ce41d9581f9cd6f59e3853d27731d1413e134bf4e460984d2069125444b, - 0x76033ecf0736a2871bd443651416ff0cadc0766d211e5664f3a0615e2934b5f, - 0x121f3f91e17d3331df67d77b6f81c288b538c382d1751d6f81b2fbe247c1470, - 0x18b1e78ed8bad85ab8eb8d5182462144bcce5da7385c14433a5f217b5bf7ef + 0x5b98954f259476fbe6e1df3cbd1aef24829ff1e4f32a5533858c3dfbc023f67, + 0x7ffb2480edeb709b66d2f181481f4ca8353adec8048afabf0ff40c2468a480b, + 0x472820d79b9eca6f64c21e275f443887354b8e72c220469df37b70d41714865, + 0x34957786fa29bf6f5b332f3b5f0226917d8c2b00f90485020f907a2bbca63b9, + 0x7695a26ce5cd7f08121f260a22e8b88583dc4abf09c99c902b9228b26b8c46f, + 0x492ed65d6f804017112a37ac9e29864f981ac647c72d2793b219fe9c3edcead, + 0x3b0c87eb4d47086e9334566afbed9d731922462152337ef03a438b0d81bfe5e, + 0x15198d656cc069ec25bba9dbba24444b7eb8003d4834a0c58a7d5a3088d5fe2, + 0x9a7903c64bbf97bf5cb5dd589a3a5a4af097875b3126fb8e1ce6c43ebd0b80, + 0x23a6893ceeae76008dc86056a8f17fd6c15d4bedba2b3cb9d62ad683bd67bc0, + 0x1960f0c3ed8e35495fdc979ed12ce7b91c11f90c7c10520ed9885a1255b98c6, + 0x43bd518e18aeb693df4845682bb02beba207d8a57cd528f9bcb220effe350ec, + 0x39d13bb9ed97d3f5ac413b35dd8fb707c0ae074937271fd9713214638907061, + 0x6ad7c9beec66e3a6a784881c7142c22a9fde1a41e4eccfe4f85767323f515de, + 0x142fa7621338a544c89717269cd9b83f234aa887263b8cf3be6738a53389ec4, + 0x29978906c07574ce51ac7e4b54f210dc8a884de846514a62979c0fe28d63795, + 0x3da0311b248faf9160fe19879a46718d2290fd94250615bf3b4aa6de2580e96, + 0x5b6773e56080590dd2841f735fa1f83459ab824eeb9414ae9d903d3cb6f9af6, + 0x58fc5c4d2f46d5a807fb145ed6c1517eedcb88b5acdb4da43e178e9c3a730f3, + 0x5f36ad558cd0b70212067ba7e83a0663c75b3d79428dfa7669b23011ae74cd, + 0x729dc6433b5fd3f6bba6df97abbda21eb2bcd8303057af454aacf0c638afbbc, + 0x50e24f8c0e832a76c3f8da1b675fd8c5f3a87dfcc43a9d360ecae78ec527527, + 0x35e24d099115408b4f8e6c385f403223f21f6f8a911f8677660542e84ed7232, + 0x4e7cd3d12cbddc62723522d01049afbc37005bf3fb4aedecbd0fa0040d13fe9, + 0x4647f8fc3db6a5da843712e258207d9576ce89986bbde102a732b61f5cd6b39, + 0x3a77e0fc4cf8acfd09ac86dfe02cd8498a2c1937dac63f04277385e15a483c0, + 0x2ae17512df3909199d9c71390c256c862fc1145cd19c1b7a3199c2a9e0cd3d2, + 0x4d3a15af6c8ed8be2687e67aefb852572ee69bd2115d5294b114af6c58fc844, + 0x61a4bee5505f1dfa7b5f26c32658a5a31e6a4c55122c281697369d72f3bcb4, + 0x7fc666a9f133ff5129ad7c60cbce33aaec1ba07e39c9d07b328e26e20251fe0, + 0x1a07352a867805f1ef734f4fd86033427d4879a13a6f5ee8664ee3b9fb26d9e, + 0x432567644845ef491764cb5ffd6f62a0c3ea43bb609bc9ae6f0ec49c7a05702, + 0x42cf31b1ab593adee15eb040773cdf11f24b77e3092bdc0fc6a52e808364611, + 0x5e5a9fe2c609683ea4ae43a25788939b06508ff038082ec0f2bd43fd26394de, + 0x2187d700f2a286da191941824f267f4199e07cc1707b5b346868dcb718c30e5, + 0x497821407826448c240a13a2b2c2c15c47fbe074d29c2446a2bf63020483765 ] .span() }, composition_witness: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0x3cb594d08bff7d9b1358ff9ac9da944f817b8fdaf0ce0653ae610f164481017, - 0x6beeb3913b3427a3593c2d86e6305000e58bf716d47efd3c2916d1920eebc42, - 0x5f7769ba918cbb40a2828272e07d44ad7d3ce5c75ea4853d6217547f34039ae, - 0x5122cc7612e6f47f2435a9b36e24c4d82ef3221cdc1fc5d58989a56765f87c1, - 0x292e749ce842eecabd0145e88b667f8c8eb3454927618d066649f9029da01dd, - 0x675df17db3aa932063dc2582a6203d43ef047923db874043f74a663cda64cb, - 0x46f0094e0705f5db765eb17d841bf1dafe9267856aa8d9b9968a557855cd046, - 0xe4a16452992bbd753214dfb94769f538e6cfa7ad88934f696bd6b4e8072904, - 0x5a8fecc7ea4a4937efac9693cdeb65b5aebd1e9b1f086a5f779c2d165d2695, - 0x4895c07f340bcd35e4f586daea4d086a4ccdd1af31de176b9d3b4551d81ac34, - 0x7efdbeae58a76eda09ab5c90a5770da9092b8317626d99ba2f05635e625c82d, - 0x539b1eb49224bb04653719dd7da9779b155e957e98cdec817620f7e915bddf7, - 0x1dfa81025ea1530060a750feaa27ba1d7104173de01f00562d09ad373393229, - 0x2f8123a38cfcb85da8c1c17f376f0803d7942a992de9bd487fa3dc866d44a1c, - 0x78128f61d8039e60db9c9ef2bb889575997d64bf290b92aef145b9f707dcf03, - 0x146db43d42b40176c69bfc20bb5a6236a8af56211951c4ee2603de677e69f33, - 0x14a2311e0a67233639f98713fc97ba5484f45b88a9505a88caa7d2046504dd, - 0xbcdba8397236ae18a665525ab1beb3573818fec3cdc6bc9c000d08cbe4fd01, - 0x1ee42a585b7dc319edc981d01e1e7d454eb331b04faea3340a3f0894b5fc0ba, - 0x2af708156a134c9ee7e7458179c1f4a99188c75e014519ef09e697fc89646b3, - 0x67ff1e51c699a9e6609e8beef226d7cf87f0c0cb8697b42f1304f6d912402df, - 0x7d69b2966bacced9b888d055c817576cc3934538922c9a87836f99383ac377b, - 0x6992840697dc922e5144c89a02532d7310bbb7c185d23f6b2899a1d362888c6, - 0x1638a6e1a7c859f5cae7e04bd91bed8bf76d210ea61339a3d31becf05c54a57, - 0x4b2f9b33be1c7117542863ec29818013b7aad58c827ac933a6a718d4b482df, - 0x5d38fe2d23df29a6823a053154fdeaff1b2183bdeaa1e386fb7a0371be523f4, - 0x7b48e0810cdc09560bdf33e85b359fb1b2e4f7a9fcdf6299a24259e3aa318d8, - 0x4d329abf1e5174fba38df8ce481eae174bbd0aadb6a7a07404a265072242589, - 0xc10e250d68ed237dd66d9375485dbb597c112e91950fce43c41a2937434830, - 0x3ff05ec7e2f91a2c152fce7e25fb00359ba73dd714e000face0323b0b9ad859, - 0x6c42a1caa4e2daa10e36d39dd74dd0b47fc1a5fa86874ed7fdc3e3f8bfd9968, - 0x108233f77db3b22474d24c693f8c9f522f54936f0cf3277ac2c0cfb87645124, - 0x2ab8a1eca87570c9b997e548f5ac722ade3cf9366d71c742befeb6a47e1cf0a, - 0x3c2affee148887742e134ea9ca11977a94b08679890b521f808ec7b2938a475, - 0x775753b51de5d58fd9bb81c9fad827c58d5dcc336153d0dac38ebb07e65f3f8, - 0xfe42ed357f99ab116d05b17fdabb3b6f6ee511fbb868fda7c699265165bd88, - 0x1d5c3d5e0d84ddef1a622d374db1f8fc8135d338f563d95c751903f8f32141b, - 0x38c163ca39f9196f79ff1a6c903e1df92840913f7a8547ab7f67feee58967ef, - 0x20600401d215deceb5cbc89919a5757357b09d67a2c75e72bf3e4fe067d0d0f, - 0x75007561b4962ca2fb8bba400509e2a3ee2a29090383c84d4abc2a5e4eacdad, - 0x2c4673c0b845b0808ae989cf8bbda5c3c69c9f9548b60b465fbf36a9a28670a, - 0x1f8be87efb2b7b9421e75eb26a642edfd34069ee45dd3b932eceb252087b6a0, - 0x21543267189894009b51ef02befe0a0578abf1aaed28637f8d5c55407f8f528, - 0x5fbc7f8c4fab96b1a4c4479417b7e386b389154a87872b341e85155c321565a, - 0x349558f943bf50ccd7aa8beb3418c757f7214099cf74b3fc67ce6048d9bbbaf, - 0x6463e1c0d14b29f21794a9d542a8a5404b8c81dfea5eea65c2c934375a98527, - 0x449570e44f82a84cb1e61bde26b1b513627f2d7ddcb86605516c3ecb86367fe, - 0x17b100ac783f096c1b72a51dd4d9301a52a6255c7c1187b7071ee391bef11d0, - 0x55ee5e95d057386481652bab3169514bc5ec69b965335eaf54eea5a50af7165, - 0x47856e9a05c92e36bce9b80b53469266f9d45f3b7e7445a3c17b134c983e375, - 0x2bc36ba245abb63b03df27ceca6bee533a1adb32df006440e489f1d0688919a, - 0x7fe9d86cea470094d9ababab3b597a1f4a02784eac4330e36b6ad28a7a6bf08, - 0x18ff5439d87d54197ffb813a6fc877c321abf337234143b10defa65cd5a0833, - 0x5fc5c99ef905ff0e3aa90d744a2ade01dc747417a8e65389b3e6dc960852109, - 0x38c8386123c89e94f12d22527b04f47736341fa55b384c0652ae3ce9ddc3e11, - 0x7c35d50e96060aa4aba142437400323238167b3090941477d2bc6e84dc55823, - 0x4deb3c05df15e01d3840051ec6d296923de78ed027211414a01691d038e5e3d, - 0x2c89cba9afc6416170e437a6d19acfd1b5064a6783cc5d86292d3d1c465e914, - 0x295cf13ff878e06be0e97c446b4f9741bdd032fa051c2c3157e5ee815374c66, - 0x2f50486447607cd6f5166a1328befa62e4df1a4cc07c2e76ede1a1b8d0e2253, - 0x234f13465a7d4ab2c6180a1cbff778531dd61b95c6966f7ba7f695d5c5a16d3, - 0x3918b3e434316b3522c1ea6722ccb562dc6364c0a6161540c6d6715cf40c351, - 0x3fbfa8638a332a14721cc1285deacde81002291fcc95c5c8bd4b411c2a1bff2, - 0x39c4079c7394555e5a3397abd633d59808ecce390a37bc48affff0ddf10e933, - 0x5024ab3aa4129429f863e34c76d209d7694a3aceffa3130afe5330b8064ee50, - 0x6148d4955dd9a632a1f891447f7422edf7249a73db531d11c9404e052e9a66c, - 0x25e7ec740a351a2b6dcfb0f38d35fe46f11061920dd4684c71450dbe62dc172, - 0x60d30f218cb7054e5dcae4f5bfa204d33afecb8ff4ea81fb874faafa7825046, - 0x5e1e68ff0aedbca5ef936bc41f339392be5b304c6d0b14368d5552a5f9846c0, - 0x69e738066df7e08a81dcab46b703c44bab1cffbe49f3412d38ddbe47ddab6a5, - 0x390fa4304de0305d750c3cd7895cec9ae78e0eb3149205eb12d174c89f2c71a, - 0x5fc3ebf3ed45eca26e6a0926ee47efa667384c16afa847f6994e21c5855d7ce, - 0x5cd960acf717b64c434d60f381284280f5cacfcc24a06219de54341f5ee5d24, - 0x572f23cf3b699f71f7bc560ff23116d93aa820262164e803bdc8dc51cd54102, - 0x429445aa637f3e700e0852f30fded8b119fd37cb83a45fabb63f7c42ac4427d, - 0x14809e472e3437aecff0296d38680979dd0c36623d36ce87602d6c4e561cfca, - 0x3a8127e13d5a0b6f26fc5df086f1b58886c95536ec9b6414d7f24d201633d30, - 0x618c0228e7327fd5d226d347cea78f00cd371d247a0e89752af4827a4d30ca2, - 0x49a17c630c87ef4063e5d298be4bcf9dd10111c68ca9b7319a7c98d50509741, - 0x744d454bdb88286ab2750a2728a5263a1922b91de73e94480a364bbd704d12d, - 0x4af9fec824ec58ecf9a96f0de7658501586134d1034869c6a4b30bdd8494e8, - 0x25e5daf9778cb1d2bda48faa26abc633a3b6f49bccda55ca2f88fb77e4ff914, - 0x2b1bfc7bf6e5d93263cacc437cc586fc47c16057e61037ecf1ff809fc7e2a60, - 0x13e040f6f42f426105b131487a29b10475c00572a41a6521fb8a7622ec198dc, - 0x631a61788f4355e59c5ebd1f66c25dd5a68c1a2bb54c356d1c8caae5102206f, - 0x30365d07d1e1741d10944d7ff7927ad0f80102169bdc0b587ef2184c98b4d0d, - 0x30e12e014ae9072ef8e2e7af4bd208152b991f8bc2e2543d226fa1f38a2b4dd, - 0x5fab63c6b62afa9b991bdbbc26cfa1f67ef6c7b4b840e49c257748ad5d35275, - 0x149d9b98f2612eea8e60d9c30aacc1a5de4228a271fdeccc8a6216b5c3e7b6e, - 0x7adce6bcecc82229d6a94fb56b8e73ddef84f0cc04d857a0058d663ced3be9e, - 0x437dcc1721e94d6733d118c972c970b1a515da439fdef0a693d993ce758bee1, - 0x5460cb1e82124b8e8139c61ed5b868cb8d11be3aa76488cace76b10f5aba926, - 0x29a21f246546bb759ce21a496b9e540a517b3fd12d63903a882e5d157d31ad1, - 0x3b52205144f8e3c9f26cd99d30bda06d2152ffe6d24a220cc36c794d8127f7e, - 0x72905e4e7d3ff5fff996e564e3009f7bb355a43ab7d26f6b89478ef45ed913a, - 0x5d2649cd1f03f9c16d42db2124a84a293cbbde2a95411fbbf30f2f66cb3387, - 0x62cd0e36757cb0cdd0aa74dedf0ec69b193470668944bed1fd017a32ef6948d, - 0x1ceb43411395fb6cbc9f1a2627431812b1fcdce67af91eec4f229382a181e9b, - 0x86b5398d87497716f4b5fc41ec91c9870f519024ea18fdd827db9433a86afb, - 0x4f677cab98dbfcf9bfb9862e17bcf2d3b6a45f1328ace805368d72bc06f20d1, - 0x1a051405e899273ba19e567ae833650933df5715c625a225e3f4ee77d6c9c, - 0x247f785474893aed6be3ee0249f6afa9557af30ebfe8e3b78867540ed8c0f4f, - 0x436c88dfaca7845283a3632581e04d935f2fbfc0cfb33c52a5caf3cc016f3ab, - 0x59cee8905d5819db41f373ff5bcfd80337e23de92938c30e01b6417ba7fdaf3, - 0x6fc98023f05ff2b200033a575d561cdd46b0ef7fb343e4621848abd6d09359d, - 0x2d60fc4e54722740ec97a28008275aebbc26fded34f98186385274063cdcb8e, - 0x25b1a4e6c3d23e63cd2d1192838f10efd5fe18bcf58a10092c5a7f775a3caa1, - 0x1864425ca686df29adcb4669f7fc6870c2d13c5c3b4c15d8e73f615ff66f47e, - 0x5507332cc546b5614039aee429309df762a286641f3002a0c51db7382630221, - 0x6beea637e4bf5ea7d68fbc37e024e87db696a3cbfb79503f546d5adc4ade297, - 0x784b742ccdc4907653cee8cac006c440d964a1b617e12587829f685d7de957b, - 0x2daa54942cd0e22e26bf7a296462fc31726a1e63776aaec3898421555c7d6fc, - 0x23c26c28f00a5f3a0125883cf5442d74f94fe55279f9fafb6b0302a354e1c0c, - 0x3b274eaec5bc0dca6554bf543631863294bc5582e59ed8441bde65c76d01819, - 0x3ab74056d69acb0952862f1d42d3570593bcb207dcd2b2cd2f1725a8f2e11e5, - 0x738828c6509bd7c90f50e296dec71a6dac97158abbec9bd316d8fa8024dc402, - 0x7cc1a27255d6d114a53fa68f0cc68929146ff9171772cb952c10871451deb7f, - 0x6eb82b3ffffd8df6962241c1f6c2fccf5843e3e5fd6ceab73bed56ecfcd783f, - 0x1f807c0f1b03d1c6285db6d1639b23dd78586df0b6adc2b620bfeca154644b1, - 0xe27f902b69f3df42e030038102847a91e48dce5cd08b207630f4ae70ecd8fc, - 0x3db474f7a355d660850e85dc34865db983cbc73424b353b12f8f0058fe639d1, - 0x574ad29fba6900188149192884996d9786de1c9b5f34e78b624137420e6ec7d, - 0x25e31f25948dc259206c68fe3fc81da11f693772e5e1120043aec7f58d1432b, - 0x4bb5dbd41679ee8355c8ad6d3f0780be549631e398e23bc4d63bd89c201bc66, - 0x54f09e9cc0bea3eabb4b27bcfc5e68a6454273e00d99a6eb2dee3defca84043, - 0x637f2a47a217fcacce3231ab81927b5735c0fea75f1a6374c48f5b3b0e1e047, - 0x37cf863ca944c970eb00cc79e2459e4dbcd42e2200f9e88e0935645c9a9a025, - 0x281eeb25c656467ddb8fc383ee46bf85d02c70e2043415319724494f23eff04, - 0x473aba702a0fc32b73daeea042a7ef73aa50a252cc56995330d86fac854f27e, - 0x7b39e7b9dbed77a62a05edb4b4092d9d1b3a2804ec567bb55cbdcb9a98a5886, - 0x5e6864a1413eea78bd6f0b7d5435bdf27107caef1f0d75649cd5410c591d38c, - 0x36b1fb8a04a319fc19411ea7d332c2c0949a5ae0aa8b9afbf9869063f112b9, - 0x68442da2c45c834da3bc13f73663ded7d5b3177a0fd5a140db868489d66c1f1, - 0x78e47a8b710b5b2c0430506ad9c237a8fc232468bc841e8d21f85d7cf492d8, - 0x5f3445e52e9d18f913736d6041e19cc0fdee26aa536e7c2db566250f97fb0fa, - 0x1f6286af5371648dcdd63e59d148c2aa7e310956e66244d6a05e6d6f51967d6, - 0x6147b24028f88a6910126d98fa75161968c4d158fd138c6f188bcf62e25840d, - 0x16205bb839ab37d3a59d7ecbde012de243a3bae36fc71cdd7e5e86fa09c22e1, - 0x2f37b53c53e463db1cec0df3c0ce90f6be7914c6b46bf987eb7a34729bbed70, - 0x1f5455a1df27239cb2c1c0bd09aefc0a4398d98dea440019b3fb7c5ceea9d5e, - 0x380e5e05cac0a77b2867bc6bffdc8b0f79497ae0ac3335ef036b0de906dd06b, - 0x6e27140b9954bf51cd66089e6c5b28df620a50515747449eb8b0b0532ea37b1, - 0x2ede6732683021ca92415e3f1ff06639d4f849d2a72581e5311370edff63769, - 0x10ff3b0f7a9b94ac75d1ef55a6c655e17637d53ca9203dacf960fed7fe283e7, - 0x475cf06599139677f2b9539124512d8dd62ab20526e93d229252ceb4f5c9597, - 0x1e0980b397c1624f781bb7fb706a03b1b3ae80a8ff0b0764442bbb9d93ecc1a, - 0x580e8729a9024e0f4d600affab2449afab794f2213d036ba20e31d750b2be9a, - 0x6554cc0f34173f2aa4c332cbf39bbd8f3bca537eca468195dad27d7d7b64129, - 0x1ae169fc73914d49b3e9b00c1c9a542cdca984830de97dfd9425260bff9e1ff, - 0x3ac22604e3790bb579e53fc1c016b91ce13cfb7f9374cf28a7da7ca3e24f873, - 0x5bb9e0088c52577f6e378d15ec95633988f8e1dc6fc71c9bc4c78240bd79fb7, - 0x36411a1b391b64d0dafa34c3f1eb6451171f689df0405656f2091f560764e48, - 0x3d39b571382b4685b36631984acc33e3688c7e6ee17775d8a4f07e39ebe4987, - 0x18dfe63bef7aa584edb241c740d0de2efc2ef48d54fbd0e3983cd6aadbfa71d, - 0x645d88db1e683befc0ed6014d277795a7ebd22fbef1ce620afee419e334889a, - 0x2e3c72530e78ac9c79e9bdf8ece9c1976d848a1c48b5922c2f2df1fac908a49, - 0x357e35aad82d57c34cbbd8b70df26fd403d0ee0198e6bf1d10218cfa5bb874d, - 0x68fa850803cebb815a363eae319a6068e915ca61653a2672387b7e63c299a6d, - 0x4222a4a1d42276570fefd7dde277e64c2c064480d2bca726920fd9dcb27e755, - 0x52d152c87e6520b614e7851b8ee820b87aa9e1bcffa93f75191122822b9a1eb + 0x4e142ba5b474b27badd0883da6056259e14134da9ad2be17fc0151e72b23aa9, + 0x33e4b8904bb4ddab510ecbbdf0f425928bd3a1496f85ed57606ec94fef132b1, + 0x18c5b41c0efbd45b51c9d342bba31d134611ad84b85476b2edf33d5883cbec4, + 0x17cc5d309582be3f1bee8635737d9d1d3f4af1d5e66871233af7e36f7378fbf, + 0x73f7131d964931c2cc546e8af5f19f896e4ddd373ae7b875868b098f7efa20, + 0x4e1657cc4bd2d3bd2f217a24c7713f5b6a7668d525002e217e160bd7a6f9b22, + 0x71f1fe1bb90f91c3fb50840ad5ff6b2687a7c001c78afc7fb5f1ffc51323d5c, + 0x53007ff61554766e6e65a97de2c464b770a47a4ecc61ee3bba6e1cff6577c9e, + 0x6d5b28b1ded0ce378dc4633554b2e42138caa626f55a12f71281b47ad106486, + 0x23dda4ecf40f0252a6c514a404cac0146ccb51a6d5d89db88089ae48b5ac7da, + 0xe512566e2ee33ef1194ec2c54f61f3e4f2ddcb223a3a7359f7a56b391f411a, + 0xa9d2d4c832fe2d5c017cd90aed4fcee5ffb910b8287dd4f0e48a0f643d0249, + 0x4c0f46b1edd692678258f1e1ab1faf825b5e40ca5e5e7f7c12cd0d58f4c5d05, + 0x3030bfb713d84c31ff7931dd2f81a29c1a95606de87fef392612b7ec0239255, + 0x34a22657aa857a80863352cfb1117c390f4ca91d50a953ab9004d102a5a862, + 0x296b0599ac701911b6684823e223ddb20a05d308de47a3372f313e8a987d562, + 0x117b7ed6f094778b8f8b879cb184cfd31a5bafe773e3acea648c6c4825904a8, + 0x26d2806fb1da7e313010270cf7eb9538b56b21ac7a0802f99d02ea07f6cb56, + 0x67fa08516e85f146a987ef900287486cca9a10579e7d8c4d7c96aa78fae75ad, + 0x2ae0d01472f4b4fcbcfb08752aa0309cde9103313ffa9887e09234c0e9569bf, + 0x24c0b507931ae90ee8c6ca1c91499808c77f7fa7a12957b10c222ab76905575, + 0x723a34ce172abe90fdfad22c1f534c167ff6b3bd08f0e71e76ad428ab98d709, + 0x437250eaee96c0192bb45b60f02788f6c58f2c4b4dc2a8cc2dbb9b6e7c675db, + 0x4b52ddae2208cce30053c0d530e58c1abc54e85dc35e19de1c159f2c08be53b, + 0x1dd8a0356e85f66fed23fefb23fa5150cf5e2e77334d7a6eb2c17b797bdd16, + 0x2a74c5ef6a7a7f3dd33aa73e8fe45f87361c7690ccd4ee0984ad69be8103e4e, + 0x65de04a5cb5e42976f665da1d43c90086e0ffab7f299fbf66bb30e2de1af266, + 0x15220af115c82edcc79949d281ccbc0118e8d762813c818ef938cfdfa72673b, + 0x6ca07f3dfa6756bab1bbcce0a13bae218a2ed9fb530d117decb9c765e1d4d40, + 0x264f9cb1414c3c03aee0e4d8b55806a1170024b53e6a2cc99b99673b2dd57e7, + 0x4e52a11d3094c34d54f30d0c5fda811140d72c50ca93b26283bb092c8af9302, + 0x623b47bd5cfdf2fc18b0bc464faf611643292146b6cbda3571edd6ac521b30a, + 0x768a84048ec3a4b10d07a355218264dd9ee3fd63e266da64dcdf6b12234e555, + 0x45ae58408502aa4a48ec05e892c8df9a9a758495cfca382d0cbc64b45ac8749, + 0x89d11dd0ce837aece1053645bf07923b9498048343b237758f83ed6d1cb98a, + 0x299139fd4bbe6780a665baffb7c3b2f7c00f8e521a75f6750512e43bf54565, + 0x5fc676caffb8b21406d98b37b82857564501a647ded32f97ae1b1db32888758, + 0x7a19a87bc0789d3e839fe18ef0f7aa751a46cfcd48ff75daecb23bc3fe96227, + 0x3379797f000b11aa78e4652d78bc948f22779e4d41c25cde4947a6ec7957503, + 0x6106afd4705291c33dd17e04e071b17b7b29f311a55860a1c444b3e4138a19d, + 0x228fe8cfd7359b7f76d1b870dd597d40da787c0f47ed8bd3dbeaf12a4e58944, + 0x271b6bb1809d09b47c4b681548cff649d4138f7e87ee632c71835ca610532b7, + 0x366cd52fa31c671ef76229a40df6b263b5cc5f741f32757b322c432aed8780b, + 0x5c3714c8bd4e13e893d47a7db3c229da3fccdeecfc41c39ee4418c507815f4e, + 0xbd3f6242d067a90a5aceca99f266f03745670fdb28efee4a008ee88beefa8b, + 0x269e0412551109e6461f54596a73d43de1e324deac5f26363b9cfacaca53624, + 0x1093dfc0b1487160c6ab21972f62155d12de7c26c0285f790b9037e669e06ec, + 0x54a97751a76780beb277cfec88221d97ee87962db1518370dcbef6a85b79f1c, + 0x53035700e65e0c5e89bf0dbc14545f86e1937456caa89a2623e3b2a2771dd84, + 0x17f6ea5657dd5b46f11a2ef199e33ca1684cb5ca45efb8c59ffc5c0c2f8473f, + 0x45bf243a9ce127d1ababbd6747296553be530b09758c83c909f7d62b3fcc5cf, + 0x6aa3ee60dc91e40a58f441c3e9f079d75aeae8e921545d5a53bdc49cd3043a9, + 0x74bf0d0e3ac143f60f6bf2036be5de7f5cc4a80ade54986544529460914ffd6, + 0x8a16a5960868a777fa5e020bc21a68edb96edbd7558d9debf4b75897d4d1aa, + 0x289a5500dc4b23d386fdbec72649346464ae9e1cdbfdee15bfa78fa7ae13744, + 0x666aa45612f21c1797d6e0b6603ab1e1a452b0ac202e5c2fe4efd342863eb1c, + 0x225cefaf8310349dfe16439255cf6f1df874b7cc8582ca77afb18ed481e8061, + 0x5fdb82feb722d50bbefda6551e2dcd1db1fc1eb8d7f5486907595d9625c4eb9, + 0x2a92bcea381120d5edf8ccc64c472ed90280a18f30bd2084ad6768ebbbd9794, + 0x1dd779d6b1473587cbb08d86e121a0fe80aea6654ba2a6d9a43a5a5e3b6ab6f, + 0x733e4b88af030f5b6444765cc3af4bee93927d37e81c4eb09b5051762a4926a, + 0x1f2e408b632a7fe8a2b4eef4c8fe440d7e94dec98051eb49534104927372595, + 0x6c72ad443fcd11adc181542e7b46e09492ca8255f56eedd44ab656290b6ad2d, + 0x6488bcdacb78cb37cc64860ef9b281dae7adcff0caea1401496f92e468faabc, + 0x2456507e774799526296e249bdbe3575882173b20cd4d70a4f5e33d4f697ce5, + 0x4be70ced65ad0bf7b673d7aac2890310bba4a4d0e8852a6ebb0a347a25f09e8, + 0x7eb23cbc778cb12c6cc7e5ef231c34778c728984e6e545d9647cbb6263b1, + 0x3adc00c85cd56e5b399a2189b783090694db55b3ff4276baec39b2eff5cef23, + 0x28f502023de59c20205385c5706e34279f9a68188d62db050fa8b965d08064a, + 0x57d9873812a0f0115c4510b4a6d398c3bbadb9aa61ad8d59a87ecaf192dd24c, + 0x1e1a7be96884c9c46cbdcc66300e7449d0d630e79db48d5024083319a91310e, + 0x7c56cd4af1c027def3c52e211a8ab44840db29f9139958889e0bd2108e4d27f, + 0x53aa60cb0e760c3159d21c098aac78d1e8e563ae42a1fc8b5553083e7a5a798, + 0x6aa88b2ce383ff10d8533f576cc4e1506f4a084020ec2a561123d1d51bd0631, + 0x13b5113e90e324f6f4ac5aa68a2e4ddc1f8006807665e425a22bfba4d5868fa, + 0x4109ef9897d74529e2ed65397407b6a9473240143e31c30ca30700dad6ea8ac, + 0x5409bec98f02e7c6e41af86beb3edc2a8b23fed1a89e92bab4974e0a5fd335a, + 0x6b3fdeaacc2c082eee6acb05fe035022779aba007d4fe6166777244ab64a38, + 0x599b58b2ec973ae108d6ef3a23380517779f9b0e0e7e34f890307b02ec291d1, + 0xc4f096266ff4d301dd4d84995d799688b145c87bf8dd7301363872f59bc373, + 0x2a9b17704a6d731a887580c0210ebe6f8a7d4ea5d1cbbca58dd0a84d9696829, + 0x7c9f4221bd61b8dc88a1b796c282d41693934836ae4ba259d6a3381b7c2424e, + 0x53808f409ade13caef7fd62a917ce3ceff984d20d161f6342bac9ee029e0157, + 0x5061ff4b03c20fb80a297c44e59e3ab9e800ba3edb860027736118d52cddf6f, + 0x4cc54b7882c9ca77ae065f530e404ef9395ee1c9dc2b18dbfc737dde457e64e, + 0x20bcbc92254f5a5c504209e8ec8d4eabd92326b550bdc8715b3b5e4f7489d4d, + 0x3b28ca34c1a9ea6ad2afe029d07b2a0a4ed0ff2f321134395a20e45778508c5, + 0x4718446c8d09e863a093d16735600284463b94a18666ee8e15f852bb9699341, + 0x220c3b772e8533de8ebf09dd10626bfcb55a3098ba9bf65c128f30521f4d064, + 0x71b82c387118bece1543ab56774a3361df471a2df3745beac2c1d261128b536, + 0x759a47e16e6d14fed95e9400e6efe10afa786c7a72e15358f6122f5fb8b047e, + 0x6a117bf25bac2356649829580438d7525d680942885a4b5352cc97385e49209, + 0x326c8b3c1ccb4724d00667186a9dc91ab7674dfebf130abe622ddaf69e281a, + 0x35af02f5d20ddeb9ee365c3a7b0c1f8985acc797d08a3d7216f13e7b8d19215, + 0x3b06143f6453c563e75b4ccf4c3b7356fdad13340f44bfb61c765fec38d2228, + 0x2cd57f5092ec5066353830cb53384630da4c01824c83f73130e28a861b6bbd2, + 0x70d1d64fb96ebed9c197e87f3b9962d95402ee1b9dabd43e4b7d92266837cc9, + 0x56456ec2a7e3b35e5f2eed614c29629ba5896a47128e59d5b29d8ac9e77b85f, + 0x5c74d6a3320174c12cdebe6707665a0f1d7f64f93523ecf97fe204ac52fa973, + 0x15cbb8509d231046a4c1e0c38a0a71b0db89f7f0a99e736d1c980ecf87570fb, + 0x8c9cb4e231d575c31388e799300c0c2d7b7ced042cb1ab6c9e127596d7bcd2, + 0x11e5e16429eceeb035210b1c50ec4b2dbb6281cd393ca63be65afb83258fabf, + 0x727f478852e91d42e8a47d0362a825bb0aa66e03e6fa2f5a47b118c52900ca4, + 0x5939b51b64381c9223db0aa6176fe2a4248fea04b4444affb9c5e28e33dfcdd, + 0x5a9334feae34739c8f57a116a9c38448180d83044c94784c6b596b1707a3bc6, + 0x3f8d22165037a658b75bcc8f9c343c0e48f68765063bc5202156d7096f93bb8, + 0xceebe748a4de1f84d4544439757b48e4248fa6e0489b09dbc7ef4675ccacb1, + 0x2f86f01f805abb827a20a57228f9b04271d13e152030316cac009918e3ee975, + 0x27b6fb807b47b71bc3590d2dd2d80383d72346a677332a5206be88217d5e66f, + 0x435f79e27057400670e18fe0014a048fdac0762b19958e9746554b88cf9f41e, + 0x697be953bf74de37e8b26ac1f36920911ebf76cb0ceef1afcf9376f27e1b0d3, + 0x5845600a10511d0bcd24ca4096c111295e8c11d17c0f81ccf790734940ddfb1, + 0x641804c9c1877896110580c4858b08e57cf335a84f5f141c282bc5cb743005c, + 0x47c652588516ea206d78afc16612b93dee4c39109d5f398aceeed37297906c9, + 0x66ef31892acd3d4dbe9dce4c67a92489dae848b64b960eb47fe5e2cbb7073ec, + 0x27ddd4dd166fe36974c02004591d413617edce7ebb6574cbf175368b9b10ee6, + 0x11d234ca19cdd1db209aeab693f85054323ce81b79246471ac41d48d0b0f04a, + 0x5ab2a1de983159fdb98a23d70178961d537e15094cfbdba76bc6457b3c4cf94, + 0x482ca670784ea1710a56a87f85d188b8bef8ec841948918d6598b86141e415c, + 0x1045e8a52e5e87aa2a7528bad770f316e2e871e329abd844d18aad2a41c16b1, + 0x649205b11608d4d98342702f3401554cdd3aa50098c0ddf67d5d14ec08049c5, + 0x3180295560002ce9ce6b3a34d1738187f6feb2a91cfe52a7ec478b79b9046c7, + 0x20c6794a97a13af5f86b1f018e28a257910f86f0787cbc3cd0949d0e94aa127, + 0x13b70abdd943f43a1cf9e114624146c3de563a4490e852f672ef3a09cc92ecf, + 0x620b653d94f4baf529abe7a174a75fe68642ccaf55da06923a59447006b2945, + 0x69ee06d7cffe1c0c1b3de5df7b3c8460df73fa4281557b3c3ba7069c68e0e3f, + 0x17baa58b48deb27646aa9b87e58e0c2dcd50bb1b129a6fed5f1631cad9644c4, + 0x55dbee99208f8bdcb89ea923df6644b45fd3fd6a7939e121386dac2fb973c7a, + 0xc87e8f10b3058a4acfb1ae8f1b72dba05b1e99b46149d3a4656fc3100e938b, + 0x1248aa4a66d5fca887e64196f9759646030a9e11a672dc2e7596b93151cd84f, + 0xa850a5b27a7f86e4a50028eb6b736626344be5d5afdffa4a2bcfd15d5e3b34, + 0x154bc5448d3ea36bbe185e6382e6ab1d2402ded59bc758023f7c2c9d47e0edd, + 0x3592deb103027e62e198868a31f234e6b04cb630e1ce12bceaefbf3b9796dd3, + 0x5257725f09c8f07e115f8fcf80992ca8c978cfaa65a38cc0fb43a2730d0ac0c, + 0x7f0ed9d1f8adcaec09319a9ec5c131bd2541a5b5d7a0f167a01b445c9156644, + 0x73140514dc5e40c5e90645b05861d921ee73dbf36d3c6d57ddb2ccbb5f975be, + 0x3a45240e5a43fb78b2be76df70db26f07bd05639ef1174f98855c939d11f6b0, + 0x709682fe2ad2f43db75f767cd92c791c25042e70b9c830c44daeebe5e3c0e9c, + 0x3ef00e91285afde8500d190a88ee6f1adbd6dbf7a7ebdbc98017c54f2500219, + 0x329a92b0f1349ad75b04090907ca3190066574cd7ad4120700055bfd540244, + 0xfa451e06437d1f3538e7a8c20b569b6c5fc10a6d2c190f137a4cb28b69ec4f, + 0x90b6a38ca57c360502f15925ff1e629ac0b8a168698c3be87fa2b4ade02eb5, + 0x35bb89494ec7d3c4e4ddac00b7e82cb406a5e90c3e64da9b04805fca05ab3db, + 0x54cde6a60e978346ecdf25eb14582f5609abb8aaf5c9e3dd14ea86339912679, + 0x9c3caaa1a79e0cd810363bbc64e20ce99c8470850bbf0f9d6e375774d460d3, + 0x51bfa41a47a8aa55183df181183c573b4720889cd517f72de9f9b5b237d809d, + 0x6450a843c4310c764fbda4122b8e7e32c02113d2eb0e8a766045e4ff57a9f27, + 0x4a352d6b8a5eb6fe50f54d48e9ac70b1685400cbf1a7d6d76920683e6fcf38b, + 0x75fb7308ab770b5ea04e75f9771bd92bb6642755b23fc9be5394a31e19a234d, + 0x11f9023d4d0d9bf2eaf0f43d5c23ceb2fbd0414220bcbe358d27b0908c74fba, + 0x4565a79eb7b8b0521598fe2f6e26b97ff6cef36a96d0eb9bcc6d429ee37b62e, + 0x11fdd94264ce01aa2ab020d92d3ddd902e00ebd9146f299e24b6bbf12c8f297, + 0x559cd15320b76d97bc33e7a0f29b3d717d6d02d86e26ca59f1d63b0f252a, + 0x6ac9b0f17fffd9bb7b14a9c0227085322890f179f55692f6e509ee4f9e4d7ad, + 0x7ac90b78e69a3fcb23441ec1677cb67c14bcc5176a07c718b16652f453fa60b, + 0x59dbf0b1f386f461482ebb0676fdd6bd012026b159d03f70a0c3f5aba7ca40e, + 0x585703237a6a5ac41b0a856912f18bc513caa1d29bc22cc06c9fd9d614d0e21, + 0x4da24eb344390e0276b595527a72dab85f113234343e801f12fb730a614bfa5, + 0x68e71a6e7fc8e9f615fbdba1300ce3368d78aa37ab3e990f0881cd0abf71c55, + 0x4d6c262a53edc5e85cf343418ed66dba7f4faf131f54c6fe5b3d6e1124e233b, + 0x1888d26554543c14254e2f99ee66e4b41aa91b41b2fdd476587b34da00902ad, + 0x917914674a775a4f1bb5ceeddba192e0fbb10eaafa6f4ee42239512b513c07, + 0x33ed4b20e873bcbc139dcd9980c9f8136fc32fa3caf4e96072c9b03555be1a4, + 0x6000d63059db5c742a01e0c2ba64174f17c0925232cdd0c5cc0ccb3f5cc4216, + 0x313444440ab06b68fd8f96355c1260911f2a99781f114c56f77fd28312e4603, + 0x5e249cca379327a6c04638d96a3679d5c060d548828f2336256e5e64fa0fbde, + 0x6b038f7dbbb5e1bb1e8f6e58ded7a0968e832f633e318d23da02ef09ad89d16, + 0x34dc121cbf67e961e787a39fe056c83024ee936de355916e7909d1135a8f0bd, + 0x1e1b7b8b7a07ab63bbbb3b10e66382c9474aca82463f5e662b3d276ba9870a1, + 0x14269c6116b00d85af0979c8f150643a6542e16bd0090820cf290057a69eec, + 0x66de3e21b274944c6cc44068686948d0e87fa5378eb24829641996e6739249a, + 0x2fa43a6bf88edd5eca6e90ebdeae341563eef1a2a626b3a4fe220b0f9bc576, + 0x5d890f01b8bf64c10769d7035e5a967c984bf8996dad1ffd595a941ea728dcb, + 0x590cebfd274f163b0ab4a9e497e53a115a8beadf0decba4d22bffb55262361f, + 0x34f496f0509e7069f029b2e12afc9af9113daf46dc8063bce93be0aeeb4f86, + 0x7a07aeaab2f7c956ad37cc172631918a5b2b36481225cf5f2aac70ed64732, + 0x6c55327fe1e54533059a42bee475e576a4e43645900fadce915681a4d8a765b, + 0x6e811e8b4245f2ee531fc1d47241d8515080000134646426a3cdc5b319b0303, + 0x56944e98ebe773752b0a43aa146aadc6bdd626ddc90e3a03eec36cbe6a52aa, + 0x7e216a46e04c320644d46db82a9ed163a6a8a16f5d43bcba355090b83356fe7, + 0x3108ab81fe032b85c4572b664a80377c95c512e6b54c23ae9b72d5f36b26c53, + 0x6f41f6c6bde7e7e4221366cda9a77845fa937de1571ac8f10aa7a89f88faebe, + 0x6fb1c4e6a70a61e9970daddb06c0bb400754a2428c989d055b97ea308eacc19, + 0x7b264e284c0314fcfd85eccbcafed9b9ee55bb55e858716b7a53bc7afeacdfd, + 0x53dd9c17bdb2836b04dac46c6301188b74855dbd87c6005c978ba0567eb06c, + 0x58e2dc76fb94595048bfee516920ad38e5d979de687876bb28b38d861466f8c, + 0xd44b3d03925179522105ec5bdf7b341099b6b66f70d21a889c90b7175b6c33, + 0x61027afb139e78b4d7468736a09889173b108179525b03fe0a64d11be64d140, + 0x3614af690d59d8ebb82f7e670ba11a89e58bd0971a76c6f5c6f08a34c322fe4, + 0x4fa2083d98e01ecc22eb43483924176d7d883fab90a1a42f703627ef325fa7d, + 0x4187d434fc74bf023a1e0e7c8d279426f33b2925e6055610f6aed33d4ba70af, + 0x3616411dd6290aaa511dee646c1664c75df4ce23698d5fa63b865fd080abffd, + 0x107f08440037ef07272ceeb969ac00c67fed7bf3347f5d632a6ba6e77d7577d, + 0x4c1bccaf3806359a546a474878d371b2ac9cf345edf8a883ba42d586ad77d58, + 0x297d454bdddd3bf2c37fd58f4ca155e8b36a196e7743452eefb491fbba80ed9, + 0x6465628ce29ed3926b83740b6087defc898d8f73b978ebaf94b457e57759be2, + 0x5e24d32d8e1317743b20caf93904787e51eb4b68bb6f4897c2df2bc021432c9, + 0x4cef760b6d461c4bbe42c564268be222f872ddb4fb0edb618de9c1d06e6ba13, + 0x64f8d03d2a395ff344bc85619974bcc809c284a9cbe1a509b5aeb92a4eb0706, + 0x2c48731b2cee3ffbe0241077a2764729d0dd530ee3da660a8ced3f700107e29, + 0x15e1288280771ca75972e665961371b56cf2d6191ab08ad72f7217339b577fa, + 0x6821bb4cfc3c637e4f528db8f00641d0ed2bd2e199471390fb858b20d5dec28, + 0x48a907cabc4c49cb01120a90230ea8903288f619a72cf9223360c7e3c2e7f9a, + 0x4bbf0a2f8ab8bba8806f3e9727aeda1083c8b398ac71d40e6e18cc8345d4846, + 0x1c83f5b0759aaba49c4f322679f001df166c5d9cf7353f1083d96e378f9db2e, + 0x17791434c574a149e468118e817c60fc382d05d4f9ce962aff2610d7b6c9be7, + 0x55681f3d00c468d4af58ba3c0982e88c5fb3f30254a7edce7fbd9c6ff9156fb, + 0x12cc50e9d0a939ecfc7ac3241c2efbccdb7072957e8cdb5a06d3515dc6a9561, + 0xbbf7895baebd521a006df121c905b4586b686fa093101539ac9ebd92653eb8, + 0x651915314a7481dd741b2b2439543a5613fcf774b9496cb68f8ac411f8f7de6, + 0x1491e19bfc777290201d6bb6c0ff4176f7f4aa58bb2015cc930fdee4e25e0df, + 0x7c8a22d02e3f8b3fe93befdd126249cb0f6ab1c3c31180c39d0c1749508a066, + 0x115499e3a053ab4c358e694e4288ce791e51f03f02dfefab958980b92823f2f, + 0x1ae71a946a2a21e86ce73769e7bf58e5a8742e4b13d419ef2efb3fc4c6972ff, + 0x380827467ec397cd2a64893455cdb1b2d37c10713ec2f8a9848eaaf6019a2d7, + 0x5d6376f45c22e00f06de06ccfc89836d8b2246d63bdb7d00dbcb13ddb4ce974, + 0x4e6883b6f09616c2e2d05a3d5d9ef74375c5c950d2f06270030114af4fd7808, + 0x1be1008ad8190a4bb050d700a21ef173f9d7e05d3499557cf2d0ef12c0abc99, + 0x596d9a4c210c1065b24033d58dfd070e854fecf2aa7d4b1ffcc60b7a1c24310, + 0x725745aa7f15dc955da3713a0115869e0675a5d079d7cf86d9421ef8902d117, + 0x397b612bb3bbe6e3974cfd2390931c0a51f9d1e954a2db51593f6436bc6436, + 0x6e257aabdd4b0ae9ab90d76da38f8da801b7831d3a5c1e2fd832144b765b49f, + 0x5646b59d3b5279c3d3373e046dbd3de61770149390f6baeac594431e8cd1450, + 0x1d362d9927cbcd599199f39e3e323bbb03dabee73de48e5098fff27871e7f43, + 0x1fa2250cbc4d6d746f19acbe2f0c78f28d41d0cdfe8ebab510b6c0f9c12d4f1, + 0x14bf8f6cacdc1c927badb066326eac1193ef70ec547c8e04ecbfeffb3ac4164, + 0x7431a514ea51017177393c81a8e03aed2b54265c30706d505e9ea2922ec093d, + 0x3ad7d33d2ff3c80fcd16906b8f3499b48774d4270b28c9acf875395f862d385, + 0x6d06545d8a620790e4efcb154f26166cee10411d46b48af85f15912c3d7f98a, + 0xcdcf92c228f42137cc77d64e9dba3c2fff10125004ee5fc5e01dd21ccc8e43, + 0x1f0ef7660a627b52a85e7bf3e4888947caea6a8724a16492559228d4957c28c, + 0x3f378f4005ac8bfb40bd370c5d7f115fea7b97f5e8b7dd13fa96ec5f70abf90, + 0x3d44c2b0501b994bbfb4b5036d181d4e6f9e1fdf2bd41f5a61e415cac18bfaa, + 0x757317920b05e99f011244c861b7415f32bc2c333e50e1a1290f2958e9309a7, + 0x1d006c00381e8bd2eb08a21a1c1699da3e587eea8a5cdc448e2d6ccd30d1636, + 0x23ce176eabd966cb222862d57a952466cc85708fafe18d17590d22420988a42, + 0x3f7ee903a2dffe78b5e80ddce797b0dc5d5d73865d8425e19e3d26b60865e2f, + 0x7eff67cef26668c7a59aa11147732acafeb1223501a4ca8e7d14ea5e4f416c4, + 0x17341d0da41716c016ed52883af22e6f26a52841afb7fd3f7628e1ad05d3f14, + 0x426e5c2ecb4ce71649f5329b368f624bdb33683b8aabf9d275a0130e5dc4ba3, + 0xb2553f892283526f50c82b62b153d06ce90366e064d99aa63fffd1420c82e9, + 0x14d84c02fe6557cfa288590f32865c3630b9ae16eec0289bc294d627485f096, + 0x2b1bba13d4b982fbc9a50ecddfdb001c47376a70761d4d6f9402349997b16b5, + 0x29e570d1a7cad7b85579a6356059ac993081d4e90a3330666cf758c2367e0ca, + 0x1b9d57045c0188c985702e446699ab61f54d23c4e42793455f69fb2576a8155, + 0x42f8da19d6ce7482f101bb70f9ccb171a566ee87780abae2805d9e7f79b7c92, + 0x5e4aa42352d041491a41e48be55ebb9c670f6191f7ac38ec10efc475308012d, + 0x30a22f325b4215999020101b8e9654d9dbe8847b80e7bdccb20d411c6efe7ee, + 0x67d53aa483eec80722cea07ef6d3bcbb796191c352bf28279d12daca0de409a, + 0x5122d63eb88354be3634834e60ad538a7e57bc3343d3c0e7f7f0692ff810f15, + 0x4335ac89d9bd610f87585f451b217d75a88d816ce323432746bc81eb35cce34, + 0x1d84f0d69314869b7ef593ed78e2fdd3074e75d67409c0e00f3ac3900ce069a, + 0x2ceed1203cc2d1b52c16a89f95f116cba17b9df794b0064300ac19d4c5dd56d, + 0x26173d0d40e845488489701a43a42121adf7e266048e2d2300306549fc74d2e, + 0x721e31b2cfb8933ef9b1365a894f39218af1f5a0b5b27e84d056e3286db492c, + 0x173308f5e8a0622c67cba2c51e7163e7d59243d63ae086b1321a483a10d2f53, + 0x40352de0454850e9be719f8cf9c6ee69513f92f51b8e38a4cc7ff2421331af7, + 0x3633a56183f0a64acf78a15b36db043613b1dec738a712b639789a5693d7b22, + 0x2d45fdfce2eda1eb3496b31b8a0bc123daa89285a5eed81296616395d0493f3, + 0x4a95c52c96c04bce5b3079157b59eef8a63992e57e2fe35299c12351601ee58, + 0x67062a634739de0dc4a5162c10746b7c0de7ce5f3836104aaae952dfb606b84, + 0xd9e0249723112357cee027777c61ebe8d738a8001ff072906276b4f0f5377, + 0x2d7754bfa445fae693b2e0a0cde35ae6ba3faf7f46a305b129fd0458d2d653e, + 0x39d6bf8a3e11c1b387dbc0735a01782927cec3ec7cde40de25b9dfc85e633ac, + 0x6e4b6afde1a6e123091114665821890a4e2beefe168be99090366ccbe4eb720, + 0x71cd2919275f24e0ef7c196018da0cc76bb76ced25213fd045ed11fd91a41d4, + 0x562a1c6c6d51e5021f9754fca239789769b3ba17f6107f5cec4a76ceb70e41a, + 0x692e74da971d890d4166bb23dc666e80b8dd90a0cee4f5e8e0a8c139319a483, + 0x128fff7e5618877538d3ae3c546d60e62a1282f046a355653fa60a8a19d48da, + 0x47c3178279b8278294fad64b1f45aad783dd3ae81cda0ffaba4027e2bb13b14, + 0x152c877c08a5a4e476658789c4918358350c6f1cb935dc3bc4e33f48719c181, + 0x2e7355c250e4164d430a44107fba987c9dea6a0579692a4d286c48336740a24, + 0x7a65a935b14e3ddf5bcfeeb510b7e406496e1b8587262823b1a80046a290dd9, + 0x58e67ac2643833ef1a7dbf1b03569d6df0cd16c12aaf8cf05b8ab4614949dcc, + 0x779bb17e7cf7407a0e6c11dac3c0054f936905bfce657095a7a5215e0534bf9, + 0x65b4be1ddf341c54ef5405d205741e584ace2361111228fb6acbd2b6a52f029, + 0x24e5256bfde94f8dae8e66fec4b8c37dca926010b23859b459af36577e8afa8, + 0x4dbc914d3621eca78b473d116383432819df64bb046b964626943582c0f81c3, + 0x232634ca502abd1f429b263471d2f863fdb23509102aa2315d5a66f6ed7c483, + 0x2d8ce35a78fb762a3e90a956cc97379f07b48383fd0e7b286aee3cf055c3654, + 0x451b2fdcfee1d6b6fd50e41a80200c724975b1515dbfcea22685deff473b7ac, + 0xbc5ea0ce5fa446907b57d1ad726a612930a0666df5292444e8be5c9e263b72, + 0x6188bfb887ceb952f857455ef00fc84d08b3b04a4571f35084dc34f7bdd48ad, + 0x51193caf9b7c33af836777f9c5f32d19606556947aa563632dec9086b86f478, + 0x4adda14b2dfe9cd242c1d1f6059c6dcfba1e2297af36956382af7aa3bbb2966, + 0x621a0e2954a22f5f044f36c510a5e665794807dc9e12d92e7115daf05df5f0, + 0xded4291e32d184b064cdd986a130ba52822ade6335a3f9a67c50ef225d71aa, + 0x2cc35bb1f3c8cb69eeaa71a42ce2922810b0c89e3ce59a98ae54fd30bb5d9ee, + 0x184a7c8f7ecd1d04d88ae1a9d5ada51d6e59ea8a3ad5a46cb62476ad38e7a39, + 0x11d9792960917037768d243aef97f5af824890dd81652c4ef4a6c802c679932, + 0x6f52b2d0b65c4afb733f248e23b3c93eafa232b96dd260701b551c02538a5aa, + 0x38464b215df11d4db0485be8a94bf4f14df26e73aac091ddb3ce4f892ee5b03, + 0x615c609f5e463a7301c4931dc5919a7464defd4b2afff67bff29ea33717c9ca, + 0x42be084ede754deab89ee12eb4ee832d235969f5301c91a28ef1729d97a82a5, + 0x7a78e76b215ee0328f10b6c9e5110694108c997c77b4db923ef5bc9cf065759, + 0x679d1090608aa7da62a1d1afa6a7c07a3c368c3459d2aef8f2731e963d11548, + 0x8bffaa197ac2b9896b690d8705fbf0c4bdfe68678ba3c2c57c69ec495733af, + 0x1271932bb54a238bdcd9347150bba7a836ed06812bd8a73944e50026e18661d, + 0x48c9bcd3ce8145c8756759da825d76c0275507982a9c21d83b04251efb1fcc3, + 0x134b2a6546615723680c74f8f846bb86d50b8a6db77c91fb7cd5db29886b67b, + 0x5def4d9ac9bf545ad792e4083c2bb1be160a1f1ad5eeb5441863a672caa6ac3, + 0x40639c93170d7ce6a6249bd1e44b71ca98541d09378f946c1ad3fdd00cffaeb, + 0x4ce891a3f552fbe241cf2e3093dcd7dc2f1d5d0d2f6ba28ddc0affc0b921079, + 0x6abfa8c724c7e2a6149e64b3d47c8cd55b0b80f9d7b9f34490281cd6e96386f, + 0xf3ba97d4994714f4201700b4ebe2efda1fe95daeebeeb4c50fcacbcf875ac6, + 0x5d2189d650460b265727324165e7b12b9ec6eed44bb97e3024b1e2ac147cc33, + 0x436de256ed76ad9e027f789d0cf485b04c62097e719e898614501c4e24a5b36 ] .span() } diff --git a/src/tests/stone_proof_fibonacci/traces/commitment.cairo b/src/tests/stone_proof_fibonacci/traces/commitment.cairo index 29e678d1f..867305e2a 100644 --- a/src/tests/stone_proof_fibonacci/traces/commitment.cairo +++ b/src/tests/stone_proof_fibonacci/traces/commitment.cairo @@ -16,7 +16,7 @@ fn get() -> TracesCommitment { config: traces_config.original, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0x14, n_verifier_friendly_commitment_layers: 0x64 + height: 0x16, n_verifier_friendly_commitment_layers: 0x64 }, commitment_hash: unsent_commitment.original, }, @@ -26,7 +26,7 @@ fn get() -> TracesCommitment { config: traces_config.interaction, vector_commitment: VectorCommitment { config: VectorCommitmentConfig { - height: 0x14, n_verifier_friendly_commitment_layers: 0x64 + height: 0x16, n_verifier_friendly_commitment_layers: 0x64 }, commitment_hash: unsent_commitment.interaction, }, diff --git a/src/tests/stone_proof_fibonacci/traces/config.cairo b/src/tests/stone_proof_fibonacci/traces/config.cairo index 03c9d234f..ec854ffd6 100644 --- a/src/tests/stone_proof_fibonacci/traces/config.cairo +++ b/src/tests/stone_proof_fibonacci/traces/config.cairo @@ -8,13 +8,13 @@ fn get() -> TracesConfig { original: TableCommitmentConfig { n_columns: 0x7, vector: VectorCommitmentConfig { - height: 0x14, n_verifier_friendly_commitment_layers: 0x64 + height: 0x16, n_verifier_friendly_commitment_layers: 0x64 }, }, interaction: TableCommitmentConfig { n_columns: 0x3, vector: VectorCommitmentConfig { - height: 0x14, n_verifier_friendly_commitment_layers: 0x64 + height: 0x16, n_verifier_friendly_commitment_layers: 0x64 }, }, }; diff --git a/src/tests/stone_proof_fibonacci/traces/decommitment.cairo b/src/tests/stone_proof_fibonacci/traces/decommitment.cairo index 2b964c127..47c185fa4 100644 --- a/src/tests/stone_proof_fibonacci/traces/decommitment.cairo +++ b/src/tests/stone_proof_fibonacci/traces/decommitment.cairo @@ -6,111 +6,191 @@ fn get() -> TracesDecommitment { return TracesDecommitment { original: TableDecommitment { values: array![ - 0x5a81cfa7b8ba1dd722ce2bcaf78476fd0e0b7fda53287ed2632c2c32ab4f42c, - 0x437f6248b14ae3bc546eafe54a32cdc961c0821ab13a8ef15b28aae6762c6e9, - 0x350167cc2d1223d974e60d87bbadb0bf782ceb21bebca6657ceb3df9d2398b, - 0x6f5f181efbce585e6bfc816c428b043a0f7bde3e6fb62e836300d1bf215aba0, - 0x1e6d05d636513c6d40b99c7760e610b27a05f049e0523f444369f9b1bb98a96, - 0x173e602ff07512f9b50c59fc3471494203877c2da9e02b44b62c44486052ff7, - 0x749f215c8d13b0eedcf5419760e8455603cb0ec4a74be885ebf7a0489f3c5aa, - 0x5b753d91ea71a67ce18a799f695e25b7962d506dced9b78f3bdc8435ee213da, - 0x6e6de7b0565dcdc4b1b62152bfbecb2dba5aeca0eb52e9260dd7f0074e930b0, - 0x672901a267bd4b938a23bad8d6207fd73b71107835aca545ad88eee3100e586, - 0x2d030c78db00d0278dd5637e3456888c15521452c57f8eb3e14665614fb381, - 0x23c90d84e2502f1079a6c4bab62cf77b5feb89f8199276852ac09a885b2b495, - 0x10e35324d09571bacfcf642d0b1f872c6a8071462b5864f23340cd83c5cec11, - 0x24d19d603e658cdac66bcd2ecd484b0fdfb502d32e3d03f3bbfff6bfb3c13f3, - 0x2b85b285285a0543466f2fbc053db9995ab26578dc2db49df0536d3b68d7a21, - 0x67d06d0cdec229eb147948d8917c60a2d5ffaa01d3faa4ebd62c68bf7161d7, - 0x506ae3c00774c128e05fcd292031bc9b5748853e5ecdc2b68efad22502d9dd3, - 0x28e7bc0081b3f64605be467c67679b4694698d61549cfe1a61df01801d8b706, - 0x571894602d25aa56fca3058d68de05b420cf3a610e79710746e8b97d09d9960, - 0x7b36942fb2f4ca2f43f4166792a8e558f86875191d9543fe633e4f95d05bc2c, - 0x1b5edd7c7943548eeaa3b0f53875f7b2a864e7b96fb97264dadca98be349cbb, - 0x6032b3931ed6052582a1eefb1fdf475d8d5f6eca637fe659f3df222d9b8bd56, - 0x6ee0b7bed142500d285418ab68c14fbabbe28cead7517ba6391affbabfa07f8, - 0x465476fca06dcb03e8c5dd71f8b6d6983f75c3e008dd274dac89cb6859407d6, - 0x98128772999f1b99d53878b9337576e4898ab5734534d13895f6d17874fbe6, - 0x3812f410c441ec208f01e579effcf9992c2c316218a8d585e006a9b6a9586f5, - 0x6736142028c68e21e699235313fe5cb080bb63c47d493ca15c09cc854e3949f, - 0x18494ab2c44c2200a93a37adfe8ad06ccdd705aa53085827931ccddb46e2b21, - 0x64dba7947b0037472a738c4af52b1b1b193c02beb2443ed81f63946081b76b, - 0x339d037e561c5811d01ae344f03fc8f847b4a96a7c2d4a4a07db2ab6fa0acea, - 0x47928dcc6bdbb5bc6b3b87d3fbce6b549191693539a2ee0ba232f2d0b2f8677, - 0x56084701a335a410c2c0a73a51b2d59b298dc166480d55e8ca76eb2f0c24c8, - 0x5d9e1faf79f4720c7dd030ceacb7f3bb28c8393fb6311913730a306554b7e26, - 0x470641cdbfdee39e6c5d7f00afdb53062fe672a2c32df1a63ab6674f9f8b482, - 0x230ed14ad7be0bd1f69fd827c65dd357dbceaf022573da3b6b247b8a7965685, - 0x7aa7111c69f1464ca6099e2364519d075ea3113f04be2e0e294664d360b7aee, - 0x5cfd1f2b95c01a8445e16c38c4a268cd6b55a9fb5677b8b548ffeae1ff895a3, - 0xfe0782c363cdecf73f1e7ad20bbbd7bb466cbbc56ca79cbe4d49a1cedf1df8, - 0x47e73e996073fa3fdf22a5dc7cc34ff4119f1b87641575adc3a11e1f296ea1b, - 0x75af7bfc4f26e98c2938fe1452f113f83687949b476710171120b229690bcb3, - 0x4d16d2a61df3d18b4f93bbe01cd7163f15090a4147f73df56de70e688ebc8ae, - 0x49ce8f3d4264f5a7f7d87261e58aaff8e10e56e5ac56ad742b1db67c583bbd3, - 0x22fda7c7beab8b0561d2803247eb8659e51b653250cc18ccad1bf1b5db8686, - 0x590638191c4f6fd6a3bc633578c0fa4059c3ba6ce9f0acc214a55fe44e81bb3, - 0x28642a4c037572cd49eabfe499ce3f3cd0d1ec4a5d9bf997a4de4d79ffc2b04, - 0x7b278073e44677a98119164b79728a594cff1fa6a2b0577be9d28ce35da74bb, - 0x40c384be4aa0577bb23b12fd4151b68919212c1b2f63faa3a992eb133525c87, - 0x5de53658a09a08072e09f61f01fabac07ffd1773423cd2821c6270278c8df0f, - 0x2602d1f5b0bb3e5e49d9e2775940221124b2b2c27acc0353e77e53345903ed9, - 0x4889f879db89dd3394974a06381e4a4f23934fabce6619f00c45ffe1e956418, - 0x25cd05e979f9a05c01282e4178ae51eae662fea72eb6c8ff8290aeb36f9e5ec, - 0x794670d35a13811889251fcf36386e591ff014df483539049a1d16408ad2198, - 0x6752ae4c7342e0d7aa8a64b65f6ca33a9a4ce112c1d70ac8384beccb239eebe, - 0x224f2c778cbc616138aabd3fde19d5dcc3fb89cb20e9670f36aa71b9bb95d3b, - 0x3aede81986738227e8856c73dbc08603a620f9c227a7e72d913e09e0dd3af96, - 0x29adbb8d26e892c0b854f9ecf07556f33d8cb83ab4efd152e6c2168e55f4322, - 0x1e0065b34962535246ad7be5b4b17d66af996b950d1c24fffa317c15d48b72e, - 0x78dc672d38e9d3f7d4c10a91a703b874c8d5f450510775ae1eb9ec4b897918f, - 0xdf66dec5e9469a844fbf2a60fde593d5ecb58b8fc6f4e023dd8348d0a8b753, - 0x647d1a44e02b844416eb63d024eb8065b618dc5d5df1d1e5708ca2c61faa8ed, - 0x1cee497a299c6cb56ff4c3583f6174d8a385f1c1eefb25dc09da3450efe4b66, - 0x3f49a6a6668039023c67c63e8c24a61cb7a7ea93265cccf7f2d84e9ef687482, - 0x448a6f4bcde506f1f462055f82ed18d320337c32ba53a3f4fd4213068672bfa, - 0x3202dea1cd62a3aa3cfc5aa4b8c1a13101018c6d267af36b54f1653ae61c04b, - 0x94593db5d8e77c7a7bd15d1ba888842dd9f89c57f1b6e6e94fd906de911d30, - 0x454446a92177d7f0b2c61b96635abff2f6b5158497b85f29478d057ee71717c, - 0x713272f23405a27a0c8f46705f8c8e8f18286f1b368baace6654e788b437a85, - 0x52dd724126aa589695a807016b3a030f66d035f58ceda4675b08e6eb700e362, - 0x425606a0d129d87548a4315c0548decbc6f1ecd3f76a9b6bf77fbb859e6cf47, - 0x61e378adc06e8c25707453f902a88a58320f383024acb6e8766faad2dae72a4 + 0x366fec530c6748cd1690877b8d64f12d85e9ec79d77c2705dd56b7d062e80e, + 0x3ec3c30f7e36996114aaa2027c9e5cfec647e7188f290520462aff7b3d438f8, + 0x7c7c6c92b2e9c61d64bf06e3a02b7950e6dd8d9cd8bed9612f918503b250dca, + 0x653d75d2e5400d3c4d2a01305ed080db9bef53a34b417f8083be9b69fbc5099, + 0x4e9b47596fda86dce0ac002c0ea1c80bff2c3fa4560b13a282b178908d424fe, + 0x74df5ade6ffe42232dc8b8327cea1cb5075d4389a8d2a9ddc9f84303aa427e2, + 0x5dea4e73b39805604601075074fbda616e22b16db64431081877adbcf6449d7, + 0x47fa7db327efcb7c37cff435519c0f429cb78c4933c5f86b49e72e87b33d3f1, + 0x5c24230c7eafa497c29bd8d414c6e87a5dd1f957cc272bfa4475c95bab60e52, + 0x3d1b271cd2919bb5281eaec32e9f98f40c3b2959fa42acc3723e353cd9091f9, + 0x4e7a5741371412f12f01c85c9d147b2e1d893d74e6d7d9e4138abc470a6aac9, + 0x495ddf8dff88d5a6087697d5df74158b60d87a3d7b31af686972c04cb6ae5b2, + 0x6b6a15bab5c3d6b0facfef16e0106b300ea9a9b774589a1df188ef9cfe15cd5, + 0xc6b48d3d1054d3ab5c2dfa09aa7e5cdebf00db5e91c8a912514ba6411dc6fb, + 0x2886dde8b2219ee36d614c772e9e8385392fc718b83554c54de0bfb5830dc1d, + 0xa9c7a4b5d54b78178bd90fdef315acfac1927f0dd95fdf9c96249415342bae, + 0x719db2adccad5d810ede200329d2f3a0454f7c54592b0fc661cf64ddbbd201e, + 0x6ca030da6a2ead22240dc0433f1afd63a0322c363cffdd3aa3cc897a1d1f4f8, + 0x48151abf337ffe21da55c6467f10e50427350de9d201152b147afdfe7d2b210, + 0x60052811897d6680edb3caa2078a814bcd3e33f7707ad9cf3021a9aef622d9a, + 0x8a06c457551c92f3a7d8388b3e1cf5d132e8102b9543c709218f5b15d0ca10, + 0x4402ef8a64306f541f701baeab513a74b1201a8b3cbfa79120dc1d69955e199, + 0x6526360677518fce576e79185d4e54db00954480c3e893ce1ba4d873e46aef3, + 0x7faa970addf844e1a227f082d43ffbe5f9acc221e9dadf8378bce886d5e241c, + 0x5691b289ddfb5748c77256ee375f0150fda76c41a5e5d150a22fef2889f5d26, + 0x7f919ad96f85935a2a5485a8381a801dfd29c3270a023d7b0b03ff27d5b4e12, + 0x1cbd55f7d3bed6f448c71fc2eb1dc97f0eebe2b6d8d31ff4cfdfc2c237ceb73, + 0x451e05fb7228ffd7953945d7974eea9544747a237eb15c361e3830f580cec51, + 0x186b0768d39d1ecd7ff0fa85b6d6bd0d8d1a61ff4064785e3035862a558165c, + 0x291f73436e997d6b1296b319191ba426fabb1dff3c942514b87488d894f19ce, + 0x62342e1a467a10c7e606884f924961e51820c67a52c034df59a603c4f5ae631, + 0x11012f5ae15555140bb116c37425bbdf3a477f058ca2d00328a8dc14000c152, + 0x26655011b23d545fa24ff22b2bb39fe4a8963a69c422afd09e12d3d6510c12c, + 0x52bdba3558dcdc29a93ad3cac377d68b145266db808f7c3a198097d8b3c5960, + 0x7a25c4a6de218340e9ee176ac59df93279c29f1494f63b9ba3d0cd9fca2911e, + 0x248df52cd1511544284144572945f00bdf32e783369a5ceafa9aac07948ba7b, + 0x14e7951f367d7e7d0e2935f8b632e4f2a8ee5b1bd1d65d784f6ed4d2bdd1e92, + 0x6d97c8f96ebb19af949632b3b66c0f8136059a7116c803721650ec83e5ed2, + 0x643f76845282d7b822181d1790cdc5c314a69564493fc19b98ca6d04a3aa543, + 0x31eff061c9b54d59fdcadd962de37d8d2246b9873adbd666a5bb7d509a1c6b4, + 0x468448f2fe99aee1c8f687dac85218a2763e0bf8d99faf66a310f76c72dd10e, + 0x601be7710da2af7e5ff8130237d309bc83a5cd8ca370a543bc646a1205295a3, + 0x3f9156443d91a1580d69247fb56bfc0f13670ce12ed151dea4ccfb49294a171, + 0x30da32920fa7025d46b6ad38aa851b67e95c32832055af9df8384d37d209820, + 0x7c89d300642cc2efae89e8c2fc1042f6db0f20a755a957edfbd33a2ee7c37e9, + 0x8ac9c352868ed9ae791c5be2046cb65c5cc1ddd297fc18b2e76de82ea9f3d9, + 0x70b20e8a4a3ef4f5f7c64a5e07ff34eebe0e49897c4e5c398964dad1ba1c3b5, + 0x71d8c5f7858ee72344db0cb0c3c77ab53524eae416070a635e1f53f7b0d9341, + 0x5c4146905ddd2155702135e2731463aee6e7badb0757d157fa56196f3bae751, + 0x2c9c40a68549d23d25bda59081a611ee07863b49cd09359931a9fd9857b9eb9, + 0x4dacebbe3be1c010d1c1ea1716c185cc8599e7d54dd7bb24db4810eb98a42df, + 0x1f3e2b0d6665a88f787c190044a2effe18190d09a552eb31d3b2559d477b4b3, + 0x529d082be27c89de19370204f6b8e5ac491bfd645a5ff1d7021db8bc1bdd913, + 0x7e070f10e1a68e1e0783cfd5b156ad1b74cf6d8e9e91baf0c88347535b542e2, + 0x5518662516172382c76e45f252a50591aa350ebf3c4739cef35e75e75e089c0, + 0x440c4c0abd3b2ec608fb468813388f090c59ee6364cbb11e695a0f382269604, + 0x1e7a2019de1dd09c1bc4b0f02525a7bdeac5b8a112f78cc36fe2f931a0f9c15, + 0x390b4664a1059e9d8fdb10ac346a91a587391685748ceb7263e91b33763fb55, + 0x134f9d39e2fa087c2dcdfa4582b110a857cdd4c2522e8764ddd56a26e6998e7, + 0x1885edb125567d7dcc58fc03dd3e3b3aa3180331efe42a206152ef140c1e3be, + 0x4247cad59b73cbf38884bc7c220f79e2f79f508e7670f42361218dd89d6ecdd, + 0x6be45e372abd3a449741e1337192084b103905417ff564a9c125646a9d37b18, + 0x6377cf29ca087da736b9f08f847ae35e7f7465556437c330761d071474de427, + 0x258cf512e7094a189e8e5c0fc82a3a8e9466ac92bd6c099ea3bab82dc91463b, + 0x217d87fad28c2509cf7712e0e3ad90dfad2830516e1b78dd2205140d3b76afb, + 0x15cbfd3d612d4baaa28d01467105193819350832e069ef117981459ea6982d2, + 0x6ed42508063570df269bc6dfbf3d4f7f15e8121499722738b68e3609992d0b6, + 0x64544fddcb97d407dd17397f93393a4024f9590a5155e5bcf1f4014deb65965, + 0x6c83f962865f844c4b8074551c6f8979c81e9f811ee5861b33e6a972b58b7ca, + 0x10842c1af437442c2e3e5a5289f1a4023daf1cc3c2ec474073a03a6da3510d3, + 0x30c4bed647970b6236ba77206cc53243c25641893f71f0f6f7c9dd4026dd93b, + 0x54959ae57c45e7ef92da18894a78ad057d88c671452b883b8975c050efeb46e, + 0x7e0f92c89c451f8acaf54a0dd4371a72e7c00a465d2dc1fb7191c61b21edaf8, + 0x174217d0dca177d24a5ac376beb4299526104c3def527c58a44eae487f8f50b, + 0x213bb7e02fd20a551fb22917cccd8bd3e2beebea3362e0649c11a19e49120c6, + 0x3a605c29552c1a96eb2b2b8e66dafd16e6c855ed7abcfc6a03293267aa4d367, + 0x1971e9851dd35aa7aa65a7778b50aecc022f4eb8682a64586105491d54eab54, + 0x54080051191fefdbe917a221bf9e6d00cc7b21bd928366ef85d4f220817e676, + 0x6bed2328917178ea3edb8fef5ad63693471c7af6d1ff16590aa3aa53533e338, + 0x165e5e97dbc308533bd6f9e152e6217ba7fd655a6a259e37e335f5cc64fec66, + 0x74837a5c191b83a6f49a3ba9bf54aff4852aa827638ff74c4cc70e774d9ca09, + 0x61684e66af7ac61a317342a3823306ba8a165ca9ba7286e5f51b84f3f1393c, + 0x1544f76820d7e8e9edbd05dc5e602ed51873a4ad57ae37da9df8334794faa13, + 0x20adfd611254d27d829f2da329134ed8954d9c957f036d8d5623e71ef7b6988, + 0x71a312733e84f30548ad8a7b6b7269d65719ba0588bd1bb49517429bc166bdb, + 0x37d02610c2be381fa4d2a47b2f308c44b1560126873c51a39e52566f3cf13ff, + 0x11d3d63a21b7c43d47575d87658dfca070af9dd8bda2d6045a5672c569ffa3a, + 0x462f61510d932df791ef01786b4b796fbb42d19c8ec83d34158f4b1c3910ec1, + 0x5fef412b221aa3a075b2fa97ea42a311ffd1f01b8865fe8aae37af4ed0b14c5, + 0x78ec2d029f844c47b36fdda697c4194ae470147942b10a33a550742bacbb68d, + 0x2d5147c43057ee1fa35bafb23883f71ad331e88354d8cb31247229976e00a48, + 0x734b357b242568a1a560cae044eb3555a0bb3c3c711ffb254fe0e8b3a2f7e67, + 0x213b5b93cc3dd1a946de032316742669cb1f4f5e792f99681850ebb0fed913, + 0x46deef0c5c49bf2b2e67bf034a0628d98dd73c2a6a63d54fe642c3b4186415d, + 0x239fb4b4820194a5fee89afe408118f1c99aaa63fb5858f90eb9e30fc33cdfc, + 0x2a267a12cde54a4e2c5881c07ac59575ab1a29838e0bb18289ee1171979af10, + 0x56c7d4ea0aa0418d7d3964a877541cf83081add1cf491208560de4726f690b0, + 0x38f3d1b65d72e700ac27864649e647fba18a032867cb89f6d6028f8b71a7630, + 0x57a71453f066756c053d2f92f0cd240f1978bc4cd34309e0f7d4d09143c5ad4, + 0x1d6ae803aba9e2a76ccad30c7d9f94534bbef177d5511115316b358266f201a, + 0x2cdc8949444b23928f189ea3a29a757010f795dfe2c04d042ca403af722b9d5, + 0x40fd5c53c2034e79c07230064e72a8d5b8e3641aaf1554ea0a26f91b51f6684, + 0x45d58452e7751ac2bb406a5b0aef6081e414b62fcb80a729f1ff0dc41fcd4ac, + 0x6ddded97ff05b70ff76fcdfee7e217364c01b3ebb8be23c78ce76e4a953ff42, + 0x3207baeb0cb431e5063b21b547e063bc309915fa46f8ed7e6db8b484c9af9ae, + 0x7ab763645e42c195d0c63cd0c37d0130f351ac337221a1d029f86e4ed60d7cd, + 0x26c65db4efab4b815100ff90e26436de1fbd6b02e2f8d63b5aefdbfa3d4898a, + 0x5118d82e7a97f54999f4fb8a6bea6a8103aa7ab5e46ee51833d1bbc36d600cb, + 0x75464bb42a6bd50f494feb3c628d42044cad06bbdd9799caae4bb2b99695ff9, + 0x345709c658e45c229f1de769aa71f25111bdeb59f826e5813ab77e0f5477d4, + 0x6efdd16a67a1df078d834b411e864ded19e262cc35e15517b8af39860e1831c, + 0x2908bb22d704b8678013b81d4663cdf47924123b89c42aa687cc64800288cc5, + 0x782ff8625cfe7928d44c57ebadd8d5eba354c16f78dad7fd621c4a3e28657bd, + 0x2591b5bd7e638c441e293c0dd5aebbb1ed6183edbd85fd3e271b9207ea2128a, + 0x2eb9002f4dd351551337b159bd174cb48095bd83d2498889d05e796c361cdaf, + 0x3b666f1d1e4a4cc4db9c4f40fae6e23f0d623d63ae69328ea0e6d0760171bdb, + 0x2eb16574f1b4d58221556d3591fd26d6a932e2105c24b320e65b8323317a3a2, + 0xbef9816ec82671f66f47b6ba50e6973a77c4ef6f85ddf179d08bc960f69917, + 0x636b8605612c6eea34022e0f59da44972d239a2c47dc989fab7c17d65f1cfb2, + 0x5900b3cc21a91beadc7d227c7ab4de9d8666bbe9cef8cd3b53c96227636baa7, + 0x364ec5a537535bfed197fa6d37ddc5059b46f7ddc3106e32c869c4af92801a4, + 0x3e0ee23636524e70df1d826df10120ba276b4045fa3cc21f68b80aca8a6bcf6, + 0x1615927ad08e7071d224fd62277c733856264b019f19348cc06d12c818347a1, + 0x139bc4a27e309456740143e4d681d0482789ec7e6464b4fe0d7ed276d87c241, + 0x6977d98591d84c22adecac4b4dc42a0b2e609c0daf993e538c9720521dbf02d, + 0xfa852d9525f19f876b72d275a75b63beb87c7f5934285378e8163804ad58aa ] .span(), }, interaction: TableDecommitment { values: array![ - 0x5bf29218811908115445900bc8f367dcf29cf113bfe0e29f3c669b396e12da6, - 0x84945c17d78c44d588525e6012070172989c66a12f876d40def2eabd025352, - 0x73dd90541f088a8be7da7ff68e532d4af514312e6c367913e2d93aebded6888, - 0x6f925f5f494f60aae00761a87d21aa2d29b807514e30407a6049618c4d54db8, - 0x7d3e24eb2c919340e3e8573cdbf8330830b040dc6cd255497435039c9fff343, - 0x1e33d04a094e6d4dc2ccbac5f94effdf5800ec814d42f4b4b30642a1b537c5d, - 0x554156d17b1d78c4503b5d9ac0b5aef51cf1048c18c017318955654b81e106b, - 0x112cbcd71ebd64a09832ba3b69a8ac48af5176386e09e908b5d7118adfacdad, - 0x8fff861ec8a2f0216e8161a3a0dff2a6384f9dd9eb6c1c3cbf39f2c7a8ebf6, - 0x2e3dae8f2a70ca35f49f5ebe4a33613fbb8bcc59c42e9681e81c007aa139f1, - 0x1c9a20fc0184009000e8a93b983d6016117e8279dcd4afeef8b0231313a4068, - 0x3f111d9ad96bfdfc7d467e2ff0b79fe3a7e8bd5e2736a58b4296ab8e910d25f, - 0x3ddbf3767e51556ca3914783920d508c993d7c4b80b7a9232cc132674f4124e, - 0x35a280058cf32f47441a42db2dd0a41848ad8560e2a7e2ae806196006f1d306, - 0x3807fe3c5ccb585140ad0e58ab11f20ccf3d614684b8014a3deab4f607f4a8, - 0x3312b1827bf625d9269f7a2b8597f598b2ab729e2406f40dd089155cdfedeb0, - 0x1085a4ee6cea111d74c9ca967e5b558625bb9e93bfa4d1617051cb66378c57d, - 0x18b9b375d9da086d8825ba6f683a19f1a6afb30d3cd8b3ab8a5b242040d21c7, - 0x718e58a2f2f48f6bfecc1263b2ceb43d26fd1aa86bf12f2c75cc564c592108c, - 0x60c3dbaea374e6b68e8363f5769023ece533a0581a098aacd185fbe657b5a10, - 0x164e1191ba919ecf586655e920bae73134c7b8db66416579074725b71154177, - 0x4a283c8426e01924982760c0180e9b4dad90e3dce99f017eea4e62a43ec1e7a, - 0x72fe1e3b53b3c59593a7f77afd48966ba8a2cbc7fafa7b2ec80ee929d080134, - 0x54e169ac57ec327fc0fc6bfa109ccbf0877335becd6bab57e53e2c5d2963452, - 0xafd9d0db759ab20cfaab153a2e79339dfe6a73e0349059cf0ce17c52603dc3, - 0x23d84e00e69b16f915492c474a2b503eb2ff556c5b68fd3319cca404d7a3c6e, - 0x60ad0242b3f839ce26a48fab179628f81a02768082dfb09c48db6e44e6dd111, - 0x1feaa9ecc39d6ad84bc3bb79327b39731545e636ee2ca7ace1677cb8b1f6887, - 0x6cab97e59dae1d257f420aea18b44d84d40cc76cc6bbf81bb4307f5e28c88af, - 0x461c77600d1fee552f0b2ae8cb786c17c02360bcde0c1b2c568590792af759c + 0x4dc572750975e0f7c4203eb6c3f607f3c5ecd82df5ce07f344ab3742e70a44f, + 0x53f320292c9b24a1d84f044f869afcaa123c127cb3d55f5498634320defe93b, + 0x1552170a2f4a01cf56702f7ca16223bdec6f5cb5ed50904290348149c56566, + 0x55e8892bfaa3fc5eb37b58ded0ba72f48fa19a049ea870ca1fbb401582c3478, + 0x59abd3c483dcda70a72a67d964c1295d1c2437894aa807c4cc07f59dd4143b6, + 0x4b9b43e720a5d401ed28584225ca78780d304e79cd670ecebb1823ad7e42c96, + 0x1adeedc514dedc09d6e244cf46d2b5bde614a48c8f36da91b64b5319842e349, + 0x7e3c2dc82edd03bbf8065456f9fde3db65a8a3a12e81094eb640973eeb26170, + 0x231730377385efa96df4b619ad15614776e32bbf87b6a266641f7a8f1b0dc07, + 0x1bc13ae840956ed093c62addddafbd5f4fc96cfca69c2ece18cf3e88bcfd26b, + 0x5a6fdf9316275d3739c28b5b071079feb8894e2c09a1cbcd92a60facdf1f782, + 0x412da9fe5bddfb43b559bc0cbe1b4b0dc9397fee6b81ce220436c125808626e, + 0x30ea96b63fa911ac6147324950d9716950c1c3bfc47ebd385bead0e9c53d5f4, + 0x12cb43198f7365723267599ddc5cb9f917f6bbfaa7ab76bcbbe8f72144593af, + 0x61d6128227279adf6a39eb7ab51be1c13b80866fe8428cebe1e827539ff877c, + 0x5794d42e052024dda107a2796c7d8a042436a3c388fb6e588666e3cd1a2bd33, + 0x3458b72083648346c24cefc445139da73c4aaedbb472eb611bba108ea6f1c83, + 0x770865031a6ff1099c67a577c0a63ca1e24dae9a7e9434ef44bd88bbbf8b3d0, + 0xda46a1ee72ce516948e3ebc258e7685afccb916be2954f1dcf6051b8582325, + 0x4ece23f550984371a4123098e455f060519f2b16714bbc7aa9439d24a53f86a, + 0xd72cc21107a9536f47b458d03f00a920ad6ca29da5cfddcf4efeafa0345701, + 0x46ed394a4b420512a3467b8b8cd539cd9237577c0dab400e1ebba3840a8783, + 0x23e788514aee049564308b6c33fd1e36aae30c6bfcbe9f160f841c4bdbeef35, + 0x479bd1ba9a58cf46e99551fee4a3dd187fea3ca761f139b4f910ddbdc6faccd, + 0x25ba0cf6abc918ac639db087bcb2879b20250a36a3181e61536c81f262d9f74, + 0x3754957d8dc4d64685cf0ff30486791e146e2009ccdca03ef6b2d50940a32c2, + 0x2f4e64d8aba33b871a45f4bbf11064cb2e142b2c571c183bd1c532c26e0a5a8, + 0xf004768a9dfbd11e18d2d8ca8aef242855abb3770e3e1c2bbae45ca0d1217c, + 0xb5cbc1b694f6e182d0c4af55a5733ce86d1de72a308a46bc6dcdf7e5729853, + 0x23e11e3af2542f627fa9fb7d0e19c98523b8bc778ca09465caf6cceb1d71d59, + 0x5e3374f862b2249262fb45921410e715ced717b6700d866fdf6297e7390bb20, + 0x13ef4e6d7b216362949a414e577ab81eff7d16d66175b92c3d9ff80afc882bc, + 0x6f0164c6f4f8cf5d0d223f61057a1c46524e987fbbc5c20d16d105b28d665dc, + 0x52bf054ecf8b0bd4a76a8e500cb123c31cc287054dc86662bf147c1c6671eeb, + 0xd436fcee24261fe829297127c69c9686c9e9d24f6b5a0fab782ff12694fa07, + 0x40b824c74a821f3e89f488613c1300bac00d78bc1167cb5b457ac501088455f, + 0x4336c6934d3cc15927c42f035b787b008a15c6f1ba58d6519458cb3bf09ef02, + 0x785acda8aaf9602118cbc6ffb1d99a30738a77c358246f5016c5d097e0bcb74, + 0x444010fca8eddb91f9fecebf9977837f440f86c68bd9f5ce67e10fe260db127, + 0x684fb6c7b21a4908834f476aeea80ea4ae334f6002e2e818432fc7fe3f49033, + 0x4ed5894556682953fb1d75c2a4246a4ff063127efb6834d799030bc677797bb, + 0x1a822cfb78bb36030de8efe71f49805bcbd9d8650e2aacb9f99c908ab0fda87, + 0x654693aa486a99ea423810bb58092aa690d808433fb32410a09dcf2e0b38d36, + 0x7a09acd3777d2162a3d5d64b8518dd6815136411e4852ce58c23c7f26c73939, + 0xd4890a7200b8fda766bbe7033ccf505dace104600d2f233b22d2de3d13d070, + 0x248bd90b82b58fa9f911a32d6015938fee38d38b30dd191e933030d66f5ce7f, + 0x67cbd7b9a6d6f45c3fb19920588e380e61915597f28750fbc4f9a1d60a66b41, + 0x5285898f025769f9d5f5affa5d3417b48783bf695eacd1a2af2192cd95f15dd, + 0x28b70fd63c17c5d730a540eb593fc1dbb65a48c70bc320aca1fa17bdcae9b6e, + 0x45d9b24babede6885c78e091cc1290e6f6de7d16dccbfbb358470ecec802268, + 0x551e4c5cc04dc6aa101fe5d343cd50409e8ccb9cb860876fb90ebbc0aa3b760, + 0x12c213443cac1d7138a5ecc07a4eca17719894b5503fe5f658186066951ec0b, + 0x6bf897a3f79da8666994fad140c1d7916c7e27c9836856ca160c1a49b28b408, + 0x5a4730e9f179e6bb22412d9a14eb5bfd8c8e5197b0fc0a962a94eb2d8542ea3 ] .span(), }, diff --git a/src/tests/stone_proof_fibonacci/traces/unsent_commitment.cairo b/src/tests/stone_proof_fibonacci/traces/unsent_commitment.cairo index d3f6ccefd..9b696e85e 100644 --- a/src/tests/stone_proof_fibonacci/traces/unsent_commitment.cairo +++ b/src/tests/stone_proof_fibonacci/traces/unsent_commitment.cairo @@ -2,7 +2,7 @@ use cairo_verifier::air::traces::TracesUnsentCommitment; fn get() -> TracesUnsentCommitment { return TracesUnsentCommitment { - original: 0x2a588e8517b956684162e05e373dc6891146c1853c82d3984fbc707ae937972, - interaction: 0x7171ffc67e24fcbb2a7d1acd6244fa91c54dff15c96ca26d193907b716ce2c5, + original: 0x7a57ab4226300afdd17a98fe0c4e6723656be89c041116e9f58120105923d3c, + interaction: 0x453b5a8563b4c9e8a7643fc9e0c0918678861279ad50672f9a3baef7246dbe9, }; } diff --git a/src/tests/stone_proof_fibonacci/traces/witness.cairo b/src/tests/stone_proof_fibonacci/traces/witness.cairo index 0ca7371b6..59fc983eb 100644 --- a/src/tests/stone_proof_fibonacci/traces/witness.cairo +++ b/src/tests/stone_proof_fibonacci/traces/witness.cairo @@ -8,166 +8,313 @@ fn get() -> TracesWitness { original: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0x6732ed418f24c6da3dd615ee87b95896d7b019fc0a47a7bdbd22080a10601a8, - 0x28cabb17e9c835a54d1880bb8d22a44b78f71e17988fe7f55acc911ec04d28a, - 0x6214e719cfbf829a3eb67ba544cc0ab0461f95f64396125c9d3377244aa4d41, - 0x23a6ddff1c2516c5768d2304ddd3f20fd54d3d01d28b14135917a7c5db50936, - 0x498c153909a13bc9a21e67d272aa177363f890a68c79ee4be6ff29de6f580df, - 0x344e1535dfebeb80f128f78ab8f6e380492adcd9f9bd6e1aa211bad8d2296fd, - 0x64f54e174049fbe5a13a0b01fe1ee7a2c9d92f2c845276fc68c6d0fc2dec664, - 0xd48aa0243b93f20afe0b8ebf3e8a4844cae339c936dc36026f07082d9229f8, - 0x4f70db4abb4620c633b896f3e02934a4e08d9375b4c73381d8b4388e8f593b4, - 0x4df0916a10099f167d918e73392695b88eb983a90116edc3fb9e1e78a3ca7c3, - 0x75148d85e336d9e62e712b211ef7dae80ad386c9ab87e4843288d639e7cb9b1, - 0x72cebe5ac503265da3291921e1ff344b8dd3a4442e406647daec029d88273f2, - 0x1e42a2c2272772e6cb0404acafac4b824d4f28cf436193c7e6d0973b3ddef16, - 0x14a9d594ac3b499ba5e5fdaad7f883b374b154a5f3f2c09abb06bc70f52223e, - 0x10b53191bc11f1ce2e38c79dcd4114d70bd37d12088cea6a4e57d984179a395, - 0x18e8f3fde0909cc145912bacd507069fc6d7645c3f7cf50591fec9001f812dc, - 0x2b2d20a915e711d3b05045bce09469deab3e3e9330875e1f49577ed67ad14eb, - 0x7c64e607219c378cad9fb69837871bd2995524fea36456ee08c75516f057e9e, - 0x1f830df4ac2a597a455e750925972c250f671c04eb19319a5a88e9bf42927ce, - 0x7cc08920132321258da8d4bc8ce112720d153209c79587732f5d11726af5377, - 0xbdc3cfd862ccde258daca450cd9cd9fa95bf887cdb2832187936455025a594, - 0x7ebd3b5f3f38b1e32f0eaa6484949e44506f8d713638bd84bb1e85be51d6703, - 0x5bf31b969a1fb675ef5a948258f74d30aef41637e116a8cf28341c5409800ed, - 0x3b5c662319228c1acfd2374dd344e8ca614f82f52cb627a74605583e0f10d22, - 0x6e829ffaffe67889c11a67182281b5700f31889ec09e545ab52ded870910e9c, - 0x1db3811df3a2af1ce0193bfa1bc1e0a3b956a75d3be29b54b301502fc878499, - 0x293985852f3dc44908e44d13d735ba20b537290aae311f900a7364644ff814f, - 0x69d022c6526b6fbfdf17d197b22b0d44d7e320b5b61d66060561bada2194bfc, - 0x1fb3e08e6c8206f2f6251a989682f6032f635defaa6b8f8657d91e2aba066b6, - 0x7c31459b60c9019b9fe9fa008dd74e87def5fb083e7cd03920255ec807e5616, - 0x853f073b93f4cf9072b95f861fa3372876a7b587e1fc21216df1eef4fc4013, - 0x407e552536cab0825d8401d44c3fdb9b7460dccf3682438d56e7f268b0529ff, - 0x768dfab4d41a1e853467c3975fb2a72bab65c88c187bb98ff6b9674b3cba368, - 0x6a6f8f18d681622da6a18cc1cb8b9946ab7ea01262a0b64dbcbe715efab1b77, - 0x4e1b14573ebf91b1862c613d2d06f3cd4f3a2f3b55b86157e048ec0b32c4d84, - 0x26c388389f5ec09a319809f02d6e58e3d993629197fd09c3d73a8ba036658e2, - 0x6df67786292e3125476857fcabc33634700f0bf30afbfd6cc4e8f9b1825acb2, - 0xc5c3cca3ff6053394385f4b5182f03346cfdcef691a8baf348ddc8e31d4701, - 0x486eb37d5579a0caee557c868e1d7d01f967d138e6fbdbfd39a160b6fa4e63e, - 0x574233f66307fdc6f74c45ce10aa33ae05ef1666a0ac0f230475c6238c6c316, - 0x34bc7dbe6b0cd9aadded371788e008c04c56716ab11b7e1f1daac0ad4b2276a, - 0x22f58a09327a3c5bca0d4cf7ff02e2d964404d8eab38f44ff00abcd331b4fc, - 0x526d874f7804d66ee0f7846ffbb7fa0bf73e5a89ee275c9b0a153149842b9a0, - 0x3e5202263e021d963247997e0ece905f915e01322b49dd1c06e973d7a3145af, - 0x37157ac8afd63f0b80f9c80b63011fda9870db44a3bc0e1ebfa145c13189b5c, - 0x20f162eb26186b33832a2f93a5097b01eacd5fe9c266d40408c5b28e136ff0b, - 0xcfc1a205e543ae593f4cfcce1e578402d3517e9cc144cb2358da65368a2beb, - 0x7f7b914d7060aebd82915db4ac186c5fa8bb3a1ac0112883155e30a770d1778, - 0x2ebaf8af434dc0489ce86c51cd9ec27bc1f62f6da4a2aeb942d07cb32607811, - 0x1ee0ba218a55034ad2c249794e75270a3ce5890a138acb8bb2f167f64022545, - 0x20b038b71c9de83ee4d687a67a2397fdbad21f7f41ce615b9b9797221f6f5c4, - 0x7ddae6a4f22044e4471b57bee9932e30ca719f7a8f5716de489bbf5804953b1, - 0x2190bfa79c0319717366b0dac513ee9230cdabb4d5925036194c61ce89d6060, - 0x645cb7d2705a36cbd5201c0dd4cc0813c0f2cecb212c6bfa3b2e10405881895, - 0x70d97fb391d64e7a07365db7778d8d4bf43fb62ee4029193a25a9a2faa96925, - 0x30b5bcb407f000bfa5107b9b3322977e7ac9e4162016c54409a12807c196dae, - 0x17c0823441762d65959d8c10f8a540c1603427121d452b25a01ab76a9dcfe56, - 0x154fd71cf324b5f4529319ed218167886cfad759364e65e0a470ae9e8a2f1e3, - 0x7f0705a6c90cb26cd6fffae0f01edf50c194e68e8c913005705dae130b0918, - 0x56c4b01971cbcd0187fd948ace27c462f479b0f2511e1cdf5dfc8b36cf78331, - 0x1e154c52a43824a6495e09545fb328f97c208204569787b0628c9953b79f407, - 0x291d2ed2440efb06c1946756933d193da55f6b6fce896b9adcd726e6cd73e3c, - 0x2e3d5c712962a223f52d3706de21c457f1d51b5b12b58f05b188f15c5123f17, - 0x2c9dceb210579ce5bbdfb2708a9d84f82ae7692f2a3c3b44ac7c69816e01fc0, - 0x440874703031393332c05adca97d834648ceb06f61ba39aaad460ec543d0db3, - 0x463dbebb01f70a69d81e4421ea80cf2c651f88caca2a6ee70f4f7b33dfe6f34, - 0x4946ebc82ad29c7200d883f0f3a885e3234cc64f8efd4029d917f2ba2e25079, - 0x5394bef18b5a2fdd9b67efef71906b24ef22f8d50b648312b6b9b03b6cf197e, - 0x7071c8130607f557b0a0e3397db423bbc62d3a5f0a1e327b066e2dbc3d53cd9, - 0x3fe45a048eb9d1c5f8095f0853109621d6eee5e57ad72befe9bf1f7862d5f, - 0x22a4f10c4fd1014974e5dbbe269fa8d33f87946bcb9d4880eb4c9dbfa2356b, - 0x635c1a4ac0d8914dc6cd277d580acc6b2f0958bb0139ff748ed00bc4deed673, - 0x6a87208ceed9b476255021ea29afb56773565a44ff44abb467fd32a0334847b, - 0x617423ea49026b3db6e73a8d2ab62992cb5ff7935a2298d4a02e22241e720b9, - 0x1d0f100953bcef2541c0d4beed2b0221b1ac394d762a25d624191bbd539e232, - 0x3269e71c3aaaebb5b4384ac6b27d00b85407ce38736ae193e8b82083a8bcbf6, - 0x30ccbbf3c5921341d0bc54543bafb52a17df09a67b9ca3ca5ecbb7b3bda00f5, - 0x1f4877fef15c2b8af560077483005d7d92d73e2cbb5cf0c49037a5dca54cd94, - 0x42b1269082d2ec500e9ef0cb14f3e189503d70e1b3d456efb4ea804b06622cf, - 0x4b7b30d49419516a6be731f8aa3697504dce72324a34972bac909e9486c1f73, - 0x1c1a6eb3b6ab6b7a98bcceb864e749590e077fbcf53b9cee4c420f67116e8d7, - 0x23b64280140603c379d9b42ca550b0a12580efff0faa3bc48fda4d8d8128f80, - 0x17284e263bfc1ae752b29a2e6949141c22524c90b4d6a777cf3a098c0558ff7, - 0x4c86c3c26ea70dcf6696208d029b4e99bc5c14a65a6c30092c9798a74b7e390, - 0x6879cbfee3412d68d2a3d37aa7670edcf370a763c7753b39aa942a3e4a87376, - 0x2c73082ce23a352eb6bcecf1033e43ae0733ccc7a2954e02c98ccc91a629fb7, - 0x5abfe3f25084dd3a9336d089a44f22d889070b1bd2ce1fbe324a3e849e92870, - 0x4c4d8f51ac2526e39b236dbada19b9b2620434f807098834f8a4bb565edffec, - 0x36d5388ce5df9468c27c1f05de94531a44bb5055825ae8232d6f2a729881ca1, - 0x3727e326c4580489cce7675229cd101d5f3307a32f457bc402a76ec3cc905e5, - 0xbaf6111c17160c8a42a7a8918ef4d1d4ebd660a3d078fd82a1c89745d96734, - 0x2cf77c2c4a5b67b18a664dab073eb28999bfa77f23f82f7192779ac12641722, - 0x4b5af607d439c00deaf1d8201fe17d97bb4ca8fc9f03c47af24540ee4396f79, - 0x2cabfa9a6ef0555401a405edb0e0eea4f8186a7b8735393750ca0b97efe2edf, - 0xc010a4313bb2961d2d4746907fc39778495f3ec3f3068c0643ed2b3f9ce751, - 0x28726d66bc620659c6f830417eb83f344bee66715065d0dac3da9c517ff2823, - 0x3fc3d949d33bc850e3399e041625ec78f4b71f54e0613b4e8c165ead8748a8a, - 0x3e78c52c9c3eb4bfbc60aa980e338f1d00f437d38c0abf093d8e07194dc27d3, - 0x7009097210886a00c53cddb63ae98c8afb242427a55b1f228952bd4d1288973, - 0x26edb847d71edb9280e378b549da39b9038f0eb1e1b1b0e76ff5bac9a9e3f79, - 0x373f5e672c467bb4230774bbbfe4c5a9743007083c8d84465d78ca2d6e1c597, - 0x5aa508eba1a6e119b86aca2af55376d78fe68fa769311622cf4d2f394fe806f, - 0x640c6b6c06c524c0ceb77ff0baa88d0708d6ea90c90afc40ef420c7928402d9, - 0x5a0940a4bd1f9fe590119bcb380ee13a58599a0ce31a1b8b8ff9f00927a03d8, - 0x2a4ab2ff0d066495db5133ff72402ebdc6938cfe3f64fc9b4aae96ae5c05aa8, - 0x38bd912279d2c81a610481db8e8d1e1400f11cff5cd84765de62bd7a46cac8a, - 0x291abccbf06da820f6b587b8982ad2bd26e22edaddb68ceda8deb329d4ca805, - 0xc17238f73ce1700b3b44c07940faa2cdf110bfec091614cff4687e0f8e5362, - 0x23a9f8160b59e063bbb15a0fce3c0ae263f295de9b402c7455585ce130b96e2, - 0x7d44d59a8d8c90c918db722e5be1c2e295432297704c625205fd1f50c68b693, - 0x3908b599e3a55d8457a50d1e326b2cfb094ee4ad68fd509f44e634b27ca8da0, - 0x3454069863fa6875eb329d06b0c057375855873a49391d149263d8beaafc116, - 0x2bd38daee10cb40e369aa08e6fa9a7dc1e05cb8dd77338433665ed6bb9adfa, - 0x34a16e03e0257f63665ceb0d8334cde97e8ef7f14b83274030aceca4023a5ef, - 0x2d32fd8ec6adcfc4d6f45422c29c88f0630f56b72b067dcd0fc18a9ed853804, - 0x766af779ecb5150b5776d86e21771dd5ad64433a4d5e9938a24726e1e0e9fd7, - 0x32af82e56c41157fb82a3d08dacdfea6d70e3bf5c5424bc08a596eac804f900, - 0x43f4dca133dec1e6d58c6d163fc27ed39ee6128bd990cb10e391f7eed8f96bb, - 0x1067edca8e333f40ab18b93d091cd28dc8f8afc70696fcf6ed76694f707cbf3, - 0x1c14e5e24a2c2bfe16e1d0a90c936dbd43ba9467e10109ae3e475a4056d42c1, - 0x5f4509c8e31b52254b741304e3e6496e56f19bdab195c3ccac0973b48d49e68, - 0x12d788c4f12a4df5185fa8bd38412cb5e63eac2454aa686b2c464aebe2e1783, - 0x698dbfa8c6562c6e73e2781713ffebf2205b28364269c20ccf1fa4e796a571f, - 0x28b21fd43315c6961006929b05d1a6ccc9b64470ff662030698cceec5e55aae, - 0xd7a1df6f3ba83ccdce826f2cd014b84a362fb6736db1cadfa6237fc8d73aec, - 0x47b6f1c1dade8b1f6311cc396362e91a1af807b5350f22196f768316802b964, - 0x1282d312559ae4c79acf08a05317a9a8efecb4b1cdfca1599dd7fb9dd29bafc, - 0x60a76252f1d03af1f3a08e91748fd0105f5a333e220d70eef6965257419bcef, - 0x5df76e8553798d8191a847bad0879513734a2ce104b73a1805bb1e3c437b590, - 0x77b737e49112692f6801ede2baf488409259669d233e528955c68ed889e22a6, - 0x239a69e7ce3bca46c1e773e8680e0682052bb03f9cca0fca989fa93e1a1749b, - 0x44fba54cae99b80cf8444aa144a4e3340ea58bc62456e1cb9a5bc368918f54b, - 0x3210573a40c97423e5a015b330897273d0c2b296a957264866810a170ab4282, - 0x71e66d53ada090738b30a0f4615c780151976b596dcc9b26e8782947202e65c, - 0x72614e1c0b1c0b8adf9ddfa02955dcba24cf4b371e772acdb7513444aa08243, - 0x5abefe3de6e8ebc82cfdcaae9ba109baddefca8c5fb5a5d31fd548b014e7375, + 0x55957dfc12997689f3c8a0c6e943ad8e83926c1bf1d0e70ab4b9bc2c7d1cec0, + 0x106b6ec9882e4e48db1896399527705450d827ed10f5366962d6f0ca2864ee1, + 0x5522cd956edacd37762e6d83b2e5a61796b88e34f71afa166bd04e96b6aef57, + 0x73dc31c1133a20fc20f2532f3c1c12cf800914858e0662da61b500c7cd1956e, + 0x7a84958076da10267fccebcc6eb2e95939d13aeff8d5ed3d01ad670d9ff5e4a, + 0x5fd0a4900f954b07c6ada88134b7917760585381bf66af87681a225e8390e86, + 0x73e0bc949bb87ed02152858b3a4e490db94ec80801c129f4229f3ba0eaed6ab, + 0x5ee340c3f4722cb57c4605397356caab21fd4f8e1d1a6579208137e5e1a1629, + 0x3e026a72652d3694fc7f3b35f8d5f2d20de5b2de6aec58e314c378a113e4784, + 0x5ea1a865eb4cebf415f42d31a59f317d8841cbb74203757173f440fda49df44, + 0x5ecb0de744cc604b145e2bb7fd6a3f3c11464a80541d7775134d3bc5c4c4d5e, + 0x32675a7060a9672ef8861e4979df4d494907a22cc639a58f110724bfdd22f82, + 0x475a2b8cbe463b83ab24e576be1d02e089a72820f9789b1cd6b91faa347dad1, + 0x73b29a5596f00ebcea42d307e24f4f85b784dabb7ff990c5ec25b809c0e7d68, + 0x2b597baa55ffe3d84f449ce61672c9e9b97a0e55856996a4e8918b4f8359795, + 0x13a357176f60d72d65abe953520fe5bd5fd37f8c40a992a5870d9caab9e00f3, + 0x18b9a07e01952d36bea652894a7351c44114a00e0c9551c5ec8ec239bcaa0ca, + 0x4ecb1ba3ffa674a74017f4810c782b1b0d59747c91ef307b64f967ce1142f53, + 0x433ab519da67ad15e07f47211082555dc8fa648c193e4616ea46c72ded39f26, + 0x28aeb7202b78ada52c66552ec19579e93579d0b1c7ecd68410474ae1f05b9d3, + 0x769ced5bd051d6deffef4327dec408a7cc6b4cb49df83f033c3de8dcbab3c50, + 0x411fcda4d2843405ebaee39b8e5ee85fe5cdc8fef25009e59643a7ab92e5248, + 0x63cb2171d3a244ec4e1d8900f443b2b9bd286610f159c42ea8deac158753ff9, + 0x7f666c3e4032f1d097e1bdedada1b9ff9393f2a48ffb3799e600f6a0b6a1ff9, + 0x7e8dc6c46ac912c033fc3d273f5386b3d50db57ad7624131c03fcc4e3be57f, + 0x7d2e03770dc6155020e24a3bdb1234196c434902f60e236625f55bb24c2d01c, + 0x522504e18d9de08f691c2d339845c9cf7a84c4da23bacb147bc4c60c1397d7b, + 0x38b39983e6cee68d36fb9d1dd345737ccb86fa029779b29f915cecc77626192, + 0x150f301c8ac4461524b422a7d80bb0c27c2cb36f47c7aa18fca7d7e1358a225, + 0x527e69658927320ae7d7385eff98945260a82ec9a32055ec49dc262eed6638d, + 0x4ae5c6742ce9ca15d4221e339d40c3ec61865c7c5f2c3b83d96d21a899b53c4, + 0x407f3cec0b95b2360fd35af03cb9bdedafcf31b8d5ed81258b4e52f467c6bbb, + 0x293c90ccb64d771966285816e2ffdf7e52f988397771e5b3d8dace7a622ea69, + 0x7dd9fd811357b2cb0d0f5c2b3ee1fb3386e515644f7f89e9329d2629416b2f7, + 0x67e7bc23717593cfc3b147d7a954e290532e5c7b54abfb1bacc08a20ca9d107, + 0x32cf406592023433ee993dad52f4be8ca332c1dec6d2d72d918d83ec5242e6f, + 0x677fc2df6b5d16480d2f476ec01130caccb3ea4c26bdeb8a69b5cbdd8087b4c, + 0x54a16b263b9b666d8685c59295e86758abd6b07c7677473c792f43e71edd041, + 0x68ffffe28da1027ee4638a5be2ecb1e196862ba3ba308b561a18990a8d7df47, + 0x3d61d3edfa574b5f0384ae8c6ed6ad0b5be20604631b4e20cf8a5ddd9c04660, + 0x4682ee74b22bf7672b978bc35051ddc6c64a483246735b8b81f82a71e8706be, + 0x8026f58701dd186f151d9a2816c5031b760746ee056921db3b088de301b17d, + 0x784697d9bafaaea19370441d9d994deb668a487ecd98e9b307000a44860c262, + 0x6c1ba858158f0b39b4ef7e84812bb780a568020b9bddb23f1bfa49ffaa406a1, + 0x342122812420570c8e65eb4d6c9ee08327d3bb0796c83af6d01d80302d8ec16, + 0xdcef07fad218549e578effa8482a970e70219db54b47fe09484c11c6330549, + 0x201eb711da182ddd02322fb2a1159efa5f87cf57c48cd4b98f06a4887e419ac, + 0x78beaac65a0b1f2265a84282b9a8ac0b489ce9bf1cecf6799c5076bd8bfebb3, + 0x7ef7b78dce497125dafeeb36ca7b5d463fc4e638d20ec86c5496f49ab585f7e, + 0x7cb253ba217d3a0672a2f9571e25e4066abb7bc8d120f1d91191c77e40878bb, + 0x669b4453a64b0ee65b506dae7d5829fdaecf8abb9e0178bd8e642a858b31ec1, + 0x1f72500a7be115e4fccccc35281d2ac2fa2235c494cacecda77de105d91c40a, + 0x17e88a9bcf13e339819c20468b9d96293dd11c8e5337c4de3dc475c38fd3719, + 0x34f8a02a1ac0a7f751f4625485a40f6067d27e7495946b34067cd9a1f547f78, + 0x6b0c9c4dbe0ae2995611c35f684fc653bf5eecd120a68166e66016e07a0a56b, + 0x5719a871a13f35614029ceb1d55ea33880a3d627da06dc3d3f94f398c79c2ab, + 0x2097728e4457fa4563e8f056169df26636192c89f82fe968591cca5f708474e, + 0xd5038b6d5fad53d129ffa7489d9f1980c10b002da2a91b3fafff745f74be46, + 0x1d5b0a70f8d604e3799ef22bbe569cf301bd05eb6c03acaa6b1b5af05f73ff4, + 0x37ab7d16e082328335173ffe2b50dd752eacf113b71f098ad05d5e19aaf99ae, + 0x5d1abf04c60b6f9387a643bc02e9dedfbee0bfd464d1d30f75a874157d792f6, + 0x550b625d542ba94bf5e63f8bf46f9e50a8080a91bfe889aa9064d86c823d27a, + 0x359794177ea0b8d167f40a874ffcd54d53b1c70681803ff15b9975f3d904156, + 0x62a6540dd061d7a22e1c4047d45f8d3c025f5b3264d9f5137e83140c8a9c04c, + 0x3f1fa03977e63917688855640f94433cf3f83caf67c6a099f91aca83b557763, + 0x6a007c2839b53bced5bce002b276ef18c7f96730729887623d0eb7760d4376, + 0x3bb61a8de002424fa5450e96d4bcefab273a73427928eace46e021b6b2b7ba9, + 0xe9464348f9025d518f1ef3c784f1e2a8b71c0f08511832d92563396fe142ef, + 0x28995ee24b93cc6407581ee2e5d2836e2af0400d1b460193e8d2022b7daf1db, + 0x1d1c40fc8e1a931682d7689659eb590bb4e3963c4b214c9b72d950ea9639ede, + 0x41e74ce6302fa2afe32e21ba6fdeb04c26729f3511712de8d5c2134b68e2924, + 0x287816afe191cca54035f1e1909e0b023b49602634dedf02819e96975cd049b, + 0x69a9d66642c9aa6c7f4aa62ff4824bd8a7a3c3bec022c203933f1aeef69c142, + 0x78d0c3f74fac6386617e2b32137fb2b54c1c3573f69e9f53f6e8ccfd6de711b, + 0x6eaa7650365d3f4281e65166ab11aaa27308b389b634938f33ced946fe2a30f, + 0x4573d89091980977d403b8a21d003e9647d05e13166c2ee4ca9dddcc6849883, + 0x6fcac4f38c717bab853311e57064b31f51082f05a80c4bf184e21f3995e5f10, + 0x56ee4bc702f37ed9d47e1c232c3001d178888a5933fd927447e25035636443d, + 0xa6781940922948a8a260184cfcab25471762e1a42353a5828365b6df58111e, + 0x4b5dd72e5ccefa75325a37605c18a0cab3bbd06d218c58a0cd9ec88ce571db9, + 0x3c5310a1d1278f0866b755bd835467a8cf79e36cbc2b16c8cc9c68b6adafcbf, + 0x787c33a3391653eb9b55737bed9226a1b0eb35234dd6ff8cea896c51ee96a19, + 0x59d1b7a39c3fc6bbd60731720dae721ac4a8b8b85a1c998235ec36ae0d9c560, + 0x72eae97cc76720a3bff4099a26c0bc9c2ff9ed4d4a61dd8398ba1a71bbfd64e, + 0x1db3902d0b27058bf2798b387603de924852c3e0a4e7696eea70b25e97a9602, + 0x473cf4c6bcf88cc52b35595cd447643cd3d0da48fd8540b91d70899803eafa5, + 0x53e7cff21576f66c97c3316d3cbe445200955976622910780b819b678aedac8, + 0x389c62ae146982a38533e2145945148b27eac830a00688db66e888cb7345d47, + 0x54cfceaa6dc446274214f29b2cc3cc1eb2b28afbb589ad35ea3537e5a3b8fa9, + 0x7283e6630503b06c7683b92f9b4a422cb2d9d6fdd9f65bfed8eb1d64d662db6, + 0x47d5fcd4476c21fa0a2ced5b72817b5e3cb7e8008b4108bfeae174e1575fcbf, + 0x430f1fd27f7d501838995339ae973cae0e549c0973def69903d5ef3a1a69013, + 0x11e481f24060e9555f6b295642c039d21c47acd86907a516a902e8a3eed15b2, + 0x4b07f9515c6f2ba8129d4a7e9743bfe8e81181920a72e778a8729ae206acf3f, + 0x35cab190ccca5ed31f04b4e793d4785848c7e982036d3cf001e5161f1e26b2c, + 0x40e81483a4e73eef9345d60cad5315159f3ea9c4ed383b9089769b571884943, + 0x736b19bb88c8bdec02dfbf783098b6d6171e84b1da72125f3ee24748658c7d3, + 0x29317f4ecd60f1d6ba635a4cdd7e12db1b4cacaf2846f21845d54904a8006eb, + 0x5aafbf6575863fa6f4ea3e39ab95062df71041acb0c15feee143193ba70490f, + 0x1e0d710e4946ca0623569ac3c8bf1fc85aef8d8e11a1a96966dc3e0d03125c2, + 0x1f913fd4f5a66811d673fa9af2a6c7a6d3d957028948f592949811a7c8ddff, + 0x3405eb85b4290efed9e8d9f6a7b42d3e92a28cc3a7cb68a3570332db2a994d3, + 0x209740d7a5b967f452123e536663cca38fa07be29c017695296c926d338670, + 0x41b2b2305819a83509abfc3a2b0b429d1427aad21ee3e6f48c01fc2b0f5d813, + 0x624d119933b04ff76193d3b696e1bf4b164ea8293c52c24414a8745d9e49840, + 0x697eb88e8133de56490f59d27448c24b7087034ebe8a55e8c0d7783a0817a22, + 0x6473856ae54337710685b9abdf14fa63de221804f9f37485a3368b4d6f851fb, + 0x555ea6f112e65e73c3581d351147c02c25d5f29a295fdb2b61c75a17a08ed32, + 0x4a82db2fef2d870c943b82651657f57316a377898b01ca992b328462baabce5, + 0x6449b83c89a9083b308f8e0561908fd352b5786106b25b7d5239f7ed3a48fda, + 0x1448cbd6374018be0193b76c5e09f025929dd6069b928aa8803a5dacb0ee6a5, + 0x3a4b1ba6c7e0ceed2435f44f37407a7f1b4d99a3a9761c6996f513d768d7fbe, + 0x508cf6ec286eca0bbf83f3935f55354f7c3f04692b53f1dab46e82ce7acb6a4, + 0x196455841bc27043641e0ccf4d9dba8b4c2c5c9eb61e69b062f0465c01f06a4, + 0x5ea8d7b5229113538390cb4117945859f770e366807630deeac761fb0c2a0e4, + 0x2b4909aefcb28d068faf30a1884091d5ce7e3f872819ac6d9e0e62c7ec00eb2, + 0x9f4e6d415681bdc3de5bcd55424392714f87d12ffb19220fb507e1444d5aa4, + 0x76da9b0f03c462f5d586cc010deb468108d6d2f603c9ddf7da3853ce1807d9d, + 0x6f53307a151da16881ce24b076075eec706938bad74caf910609332df5a324c, + 0x5ae88b8573c5e5b57b70061a5ead775edb0a0947682d3f0cec9294126b7c0ca, + 0x73dab3d2f094c8aa6715af573b25e9ef005e3dbc67d4af137dee919bc9c601, + 0x2f9dcf99ad44bc898516a455df2d849a30f944941962027bc1f12d434035bef, + 0x5647fa00c51a241cb9730745e0ef0a301d0f4db953ef58caa47149daf246277, + 0x50381df2392a3e3b834a7f1f6327c19e0f9b07d30b8ed5f29b157899e76bf90, + 0x398ecd950ccd96cfaf80f5d90b45007aa9cabc80bd634daf771a1dca85055bd, + 0x51e9f4cce8365a00f1c805bd3510da3fbf5479a5f5fdbd03510a95d9b0966ae, + 0x5b99e7dafc1df9527d05122792e51f3c304039c7e92ddfbd56820691e91ef07, + 0x310458efb4bd03851bd9f4b4eda020b4233c82d55bcac485409a096d0a5d5c5, + 0x159ddef00db27d5da6f70053efb39f38b06717e1a5758c9bcc95bb309cf68ab, + 0x3014c8ff4bf46a328eb2504b8d5e2a1d9d7145ac7874f26fd35a7f6b5677ae9, + 0x2c9fed9cc7faa10fc0cc4cc09871e556689d6f92a12a36666594081f1526756, + 0x4049a84ea296440ecc8d3cb26b5baf99c954b6c9e35079ea4ae5d42db0f3224, + 0x19e8ce77adb67a89cef268f4e31159e8dc58785956321ff93ab249085084a1, + 0x396e007624de66bfb06798b060058e95a6a9b14fe3c65fd5a8bb5cfa40efe55, + 0x238d32e3ed416f0cc3c438a693d9c67e4db0a7b653e060d3f6f5f8d1502bef2, + 0x43d292292bca0a49f5538fd06a45d13afb4e6759b8ad8e2af4ad1b35b31e41d, + 0x40e191f8afbb7bedf06547cd3ad482b1b0d7137b660c034327720cf162b65bc, + 0x741ca05d3e2b77e1356250aeaad8b14f621ff5c182573a01bd42ab1334063c7, + 0x77fbed57c7b442ece0342b7414bcde0b11063c48b6962d456cdf4b997f3e97e, + 0x5a02750327c44a42c518da97ce1eede2b16c143e86999003e5214c5b70a2427, + 0xfe4b7967dcc8b62327035ce7b877ac0dd56505126a3d8f1cba17d91eedad98, + 0x5aedde2bbd4bff3fd1de9dbaac200205f8efb386fbb24e094a18ebe58648898, + 0x389e3aee965c148b1d172621b9ca01b80768c3608a3c024cf9eb91d6d9e614f, + 0x7a29683ce41d8ec6cfc52a7c55d8c115a9ccc3854b3bc5a9cc0cba4195532df, + 0x1f69be9bd62ca9c21dcd2fb59e502e2fa2a1e2e7803aba0ac79650c97625a95, + 0x659d77b51d88aad5268fd791358d733994774937a304e43dfb4a0ddf9df292f, + 0x73a4ec84058d118938556b4d8acf883ad6491149e27d706350dd266b05a019, + 0x43c4fdef55c471217105dd7bdf9275bb956d725f99955b9077aa0525d4c0a95, + 0x3936cb4cb0219377313410502898e6764aef717c284286f185d4a1037aa0ecb, + 0x1a2deb5eb55f28884cfceedd124c6ec0076cbb28a21a67019b02041218794f8, + 0x5e68355a69895ba4cc183bb5c738e4d101bf5f8ca7af52f214426a3fbec7caf, + 0x58f3b13f13a2c89817c38c47e2598bd085d77f11f1eadc626d44c93f56f738, + 0x6d1bbed19944e29c074ad95d090a9aaae2984f889a3fabcf2c2910e004b05b3, + 0x16850eb49d263197f87c84686de3e058ccd65e727311939866e279560b3692c, + 0x68daccae47a84a425651df7f941a669fe700cb6978102d6722d4967200a05d7, + 0x46c841056a2124a6fc95dc951f66af7314e74fc93a06180ea69c45849f28bd8, + 0x247bd02b481f9d6d08b9ae72b061150d90982ed55e8ad0f810885acbaa3ff8e, + 0x4e945659432fcee9deb205f1af7cdba908ef9172bc2786523b5f6bc67f5dc79, + 0x1daa863811348030b24587c36b6c3878c67a4c37330f61a6e80c9a80fbfdd5e, + 0x44cbf339fec050e568b95be39ff7250ff4541c57f808a4640e9c3f3968b21d2, + 0x55f35cba6ce642d89a7c8d5df10e9be5cedb9a153b365c59ef6612d900ab522, + 0xfd5cf9ccea01fcf95053025c7d3d45846fe6720f416c2e717d04fdcc2e970e, + 0xa6620c2cdf56f126bec9389e843d9ba66a5a0e9d80b6fa284bb5f2047983e5, + 0x1d137257073adce62c10eb92b11c48a517f1e85a98113c273b186e9754346ad, + 0x642801907e0fb23ae5975696cccf4c0bb62d56f7831458f0064d31f24c5d261, + 0x5aa8eca2f0187323e31a781f8a074493206a864c7995ca95a39515e0e253a49, + 0x5cf991b7d735a7fd14a296b589f981ccc4cc65a69d509400ef3038ca10ca1d7, + 0x3447a0c03783937bf3619afc0aa4d7b7c01e1c376569fc7f1f9b26b840dfba7, + 0x24bd2fac5e463a0b1ff5f93c2a0c71a965fe6a3a2b39ae143ab702ebd875f1a, + 0x148977f9344aa1cbb9ea20e5cc61202281b395e45b38ca47d46d09a60b1ab05, + 0x1738ae8ffa3f4969e1f5c510a31e87dce912f7935fe2fa9e7604bc09529d324, + 0x30da6c8ffc0e678769d932cf070d97626348543898901b4f884bff4ff9f73c4, + 0x8e106a0e4861b7242390ede7682ad99af34a54f8de409742a4f52b24f09d38, + 0x4690a5a28f81af8c80c01ac6ed148b37a4a1c697aad29ec18ccc79e776903e0, + 0x4e8df57d4e31aeec92e32dcb820c56465d0c0512905ddbee34bfe3d014f3681, + 0x9f2629d1a2a811ba45a412c72b931d1a3e4e99b2c6e0cedd003c5d2af2557f, + 0x6cdfd25648731e9a90ed07b44aa752bf5ce28b245bd00d41930d76eb7704c82, + 0x3700da8867a4b9e5764367319f8d01a40188a2acadb0f1a3e0dc9fd09d01854, + 0x514e8bb8dee8f2cd92ce609fb1b36b13a4a98f89c142d64e4d56b1d8e1ab2c9, + 0x16b044bb369f727a80cd7410866e8c1d072315cd5aec3b2c16de4fdb807854b, + 0x696b17981b005747eb1cf630a519a038520d42e70612b21fc6402f9a666cd5d, + 0x2761f9b59b5339a590070841ee4e7fb378b7d9278ab601545e7132a95a97f73, + 0x25c83e67799e3d2f13c43c894f451f74d4f4a09b394ae92f4ff572753ca9067, + 0x51d31607d919ce5ba4c4b38094d1c49f22d6ccbe5059fd2d13576c5ecbdb19a, + 0x4d59c758dac60dffcc3c8b61886c68d54222d22cb57cd2e62e26faaf272f0e7, + 0x30f8bf002cf86f3be94ab304412de00064e5a967e31c855c8d6fc581e392c18, + 0x6e6d4e0c5e49d4f22205e624f69fa95735716310a1390818f9ab31f5035ebc3, + 0xae795e90f71b731d7e5d728152d827c74a1cef2ab4f01f9d27040f9baa6704, + 0x2a7a949ec5aba43abc170d5a2bc0fdeebf51cce34d569e2e921c83e44589b88, + 0x94aab4ac186dcb5478083e9454a16f81ff92b6e62aede74142f7eb6849d4d8, + 0x43327b7752786991e69f201579b67abcbc348d7226aa26e8e937b20ceb505e0, + 0x2ec9c94d84016700152f9f761f9878e01930491353582920c6b7c9ade6cbb2d, + 0xbbe379605e86f29ab5172e8ac146a516ed7bcd8524a8c393465052641d206, + 0x446c60b161c44c6f52983356ff1886802aff45a89aab1722f4caadf8ce4edaa, + 0x6db53d1c094a2792fb7c7b4a12b679dee8932d28267f7e240c5731f0fb4ad9a, + 0x18ed52e02ea640eca6a5901b4bae8ec6a93b66c7c65139f777bba0c8e1b8a2c, + 0x4f70997fac953acbbbc781e852753ca81d7a051281b5de25fe043e0c2d28657, + 0x5353e1adc9309037551d0aa4fd90bf56dae8f8da4d3606b7f44182ecbd2482f, + 0x335982c04b68c33eccb1cd30eb084a4665d427dbc1d767c6157305f9cc5fc5b, + 0x2195ca88029995688ec6d1a979f50bea9dbe2db24b011cac527b0847a732096, + 0x516499a76d7c079e2388e373b2be8c4d57d1867d9a21250cc7da1fbd2bc400a, + 0x6f69087ce1cb75dca91eafbf73f70ec43164a52666e7346c948843558235141, + 0x7d7a0924454b444b1925471891aebd4fc9985ba47b9c1af46d80c4edfc30c76, + 0x6c1f7000346ff9511629a64a882568933179c9f6886a75e3647f1a4d072785a, + 0x70a0d27a4f83fea74669355486bad4eb23be3d23beb45d1d2fd65ff6b925381, + 0x5c4f571b36e9e43a97b4cbf979e94cc289a21b42f4dc6a225aa8a1f1b34042d, + 0x6f45715d0ec15e6722f0b0ee45b18ab9006000a21fdac3dac96c86252b42c80, + 0x2d084b788f994a5c52fd4d0191bce5627b7b0290cca74a70dfbe3abaef5ee7c, + 0x584eb832f330f4196acc18c59e96b4f23e5086cef03cd5454c3c103131a442f, + 0x4ea2c34daa2d251cea8bfd8b8ba654be1f5590fe4f0f495b74e90d2405072e0, + 0x63bef223a5a9ab40c7e98e4e381661effc72e59c2e8b65a5853cae52dd86113, + 0x6782c3b8549c9b3f6a6bc47b53eb3044934f988ece29738fcca77251148fcba, + 0x71276bea65c1a5ff4f374ebed7b5e19bfceaa331d1684ad2f68e4d4afe1ed7b, + 0x38b4189b829937715d4ffa0d1021d65cc620507c44c362c63e88d427de5959c, + 0x2073e32067a8e02f185483e2a5a7558d582658e50f9cb15c2624e708cfd2184, + 0x66c5907888033df796a2187b1242931114f8973fca3a90f3a9336a480548f88, + 0x3e7949b6da0767347e846fa3d5fd2e85eb54d93c6437b4815b82e862070e4a7, + 0xd9f03b92f87552889417c9e9084d147b44537eb42f45dd57515bfddfb11f27, + 0x53cbb4acadfa70b0296280b36043fd6d6256f8bf0a5b53a9ec9f220ac96ad55, + 0x487a5e27c6d0101b61e44a9d930e3bfd33ff23df05dee1905ef733fb3b58934, + 0x22abb3ed0370437c19598ef577ab4bc1cc819e939d1c078880ca2b60d08ee5d, + 0x75918eebcef1ed9ef802620b8662aef2d9e7c9b3fb5be933bd5619d4ae50967, + 0x1986065e24f4ba3e147dd1b5a9ddf0835ebf8db51a1210b6754e65dae6056e4, + 0x6ca81860ceb6e1c914c71f4a563d35ec29267d03b306bdc856c143fbebaf272, + 0x1f7277437f094f8eaa0d15bd3f07bba44dd64e94d4cf2fef89fc74d2f38bf58, + 0x12c8a303a2513e1e9e38bdb8afdfe6d7703099176c9b18d59aa8ea6f08016fb, + 0xeefbbdc3c2643b65981e5e50f46119b62a41eb39b04550909140a85a5c8ca1, + 0x64c6668328d4fa744b193d6a362bc1f20e8db899d49c40ee34ed09fa4fad7cf, + 0x2d33b2e7ed4f4ed928f937c05e8e40880c8edae9faf156ed7993cad203b8631, + 0x579b875d35d9a56d53ea8d5bdfc7952fcb567a52799f4ef79890facca35f34d, + 0x30f66d8061c33ccd2ba81494c2c20888196aa30b63c25a80f181f89ad282c4e, + 0x60c66275722fad4a34ce1450bb6cafa2769f3e178015f38fb5cdeba7d2a015a, + 0x7f16be1c317070cebe26bdc26e2a6a7ed6f2b655e01fb3676b0adb6713e2b5e, + 0x2b156d8a6bb46847b208702b1c5170acc536437448f142001a9a541dc6cda0e, 0x1df514c95e4d5ad87549b1aa50b6770f8a52afd741187a6e3a099b482a6cbc0, - 0x711b1a87e6fd6257d2c833e421d8904cd547f5054dfc8da6313a8061bd7f2a, - 0x35eaa41c1e1e082e88ad2a35c023af601fc1a1bacab369a8d64d795cfb0b9ec, - 0x7d7c5af6bdcbfae8f3e0508330c9d0445a5d9bf3bae268d20abf12597f7bee1, - 0x1119b2579a3c18ab87aef0397065f478de67247357288640a274da392f60f77, - 0x55755fde7fbb97ae849498ac138c1b8dd4e053babeedd20e416851a6e838472, - 0x7ccb4e2f768304a9d373116ba7cc359f7e70ac3f7252561ff8e42d500e9db13, - 0x2867592c2f90fda6d1fde967e38815bed599e2421027c77728ed2a5892d0a27, + 0x7991bbfa091bc0c484487d6da41fedbdcb60240e1e8c05f5dc0f4c7ad97be6c, + 0x28e5fa562e9bdf032cfbe4152906df0169d329b886eaa51fd3e1f1ebeb11e62, + 0x153ed51302aedebf1832a1ffd0303a720686238c7c613e31c34ffd48fe65d89, + 0x5dfeff1c86e33c4bd34c748d08aefc1591debd23a1f59137c2dac9f4be798e8, + 0x5d77a9f9ac6b4d111c68879125e8da80f5547d4f7426277dba5dd8589b9396e, + 0x44cccb074d35ef0815850d5bcb28061b8eba4dac55250c7a37139fc985a0076, + 0x3b01d38f3f949ae833e5154293cebdad692c3d0d3aeb302e57fb63acacf5e5a, + 0x5a9bd675dae457da2ab9a696118df92b1fa0d99f8708e8ab62a832399cc604c, + 0x3a8a23c8a9ba911c415bb8f3ec5203f2e1b68586a18e646984e011df5059787, + 0x7f04513b1c71172c8b407543ea2446728e4eca8e4a99d609ae5a7630dd79c65, + 0x1edab8f7792aba68546f23602f5d3826cc168e50bd3e990ece55b866d82b9d, + 0x6fc73b5b3dcae6d09256d2ca7ef9cfaaf629e0a3cc14c12c51e0edf6bc57151, + 0x5afc3de0c01083c8625b59ffe107c49ff0af88482072065efa6583a2d7d1bbb, + 0x2d1bf48ceba871fc8f82b94fd3a7ccc5e526bb7c7aea0a1ef144b443a012a6c, + 0xa43c24e2fc52ab4a7a01d4993f5ce6a7d6094a62b35fa538d6404c35828af5, + 0x3554660d2e9e111ba201dfa271e839ccd311a2223061e75bb7f19bd65dd25aa, 0x5be1bdc992630a9d29acf21c0d56301795e918457ba844cf307fea401caf398, - 0x603e4f88c5f30e2b23ad85c51f26e0f6cd06f7713c3dd0594859e68e47874d1, - 0x681eea6ba8b99866f1070e021b86861819eedf1c6ce4ffe6fc4c8b6da3bf2b1, - 0x312fe6432443aacfb621362ebafc3e7e0939e4534541de8513fcae4a597df26, - 0x53ddff8b1074d2528caac08fe263e096b0cbfc8486e83b2695f0807e533e776, - 0x89980eb76a496aadf5f20f818e3e6c294eec28d43e4e279aa74507a411092, - 0x1757afef11afbaee9a4d8f4d340a300b8f547823f9d07789321ff14ed3aa4f2, - 0x17ef0fc64f1918228fb54e73fb396cf186bf91df493e851ae2d9f0903f20132, + 0x1cf64f05f84c316a02de323e6bf0dc23bf9b041ebb1adec6cdfcf37b3c8d3f2, + 0x246c71ed880691bc35c5eabea0eae01d0b3c1d34846b4ef97e874a5f220e622, + 0x24e27fb4117946c6040b6cba2a0a97d1581947cdadf19b99e497b343e6869c1, + 0x175f703ef055fe588e2cb558fd70f9a0b4262758b2509aeea8d92daea588363, + 0x4dbe9bc9d7de49d98c064473d4428f5e834a46d1bd529f40c060ca3680f3aef, + 0x4b7648d9ff02ca4778dac1260370d1d9b3fe989444bd03adf384d2a06a297ed, + 0x7415414b0fe06716e4ec4c88cda6fbe36264228e97e01c2e4dcd108d08aeeae, + 0x768709d2c57ce935f0360bfb828e2db3bb130b255668fe51f5ff0c4a286867b, + 0x75cd386f574cbc924b3beef737aba70220c1066b77635d1a056d78bc467e488, + 0x528c9d2c18cfec8b35ffcb63eb945bd2ea6cb77de79e07ee76274b1f4402ecd, + 0x1ce8c72ff161f26f6c5e7c444292edb922e7ade9e137853ed351bbc4532a7d2, + 0x25641ac6855630db374b1493c797da21b4e4c96914880197f8beeaf2f5c6ee4, + 0x5c6de3459b925ea2e37ae823b77dd14e95df3ddaaef1ae469453046c47e7777, + 0x2c3f212afdb8cb14b60145cda539da03e2d91f838f8b12992f51b86013a63d1, + 0x253f94d2a3edc6087505f13c915ce425df891c7efa437aa415eacc894818182, + 0x2f807e3249a17dda4ef18c98d9ebb6b89808c14e727e07cf81870652d64e583, + 0x5b0a77c51a003c14df5097287b43b67d0dd8d3b9c3e3acdea47f528ba31556f, 0x6760c353d97754a630a2010fce738b1f3fa9b58217e282815f69d6c1be94f51, - 0x48c0c505f9e4d0b61fafcbbc6e590d207a7f5a846ba23c69b01226d4a8f2dc3, - 0x3885f08a49567c29fcc27fe8dfd4714dd45c3ceb612095b5e98f8917d8240e1, - 0x54b0867a7337fe41dd1859a4741a055247b5590e6357a20378c98a6bdd915ac, - 0x24f4240ff5bd7d57ca965cff4cac11c302a3b00c7403e34c41c616af94c3c24, + 0x3b2a197a3965c2215bd3bf50e87cb1b33cfdab8dbc002bd5afbe593acb8b87c, + 0x457346733d3b53aac1bb33e89c4b4816c31686090ac98195e12cb021bed43bc, + 0x7f98e26cc43347aa4f553c5bc71c016f8d80b7e9c2fd8a7f06eb0865346cd06, + 0x558b1d40c2c5576b23411907a252574a023023b00b00c9f3ada97b85a81c0d9, + 0x4828175fef1de75d6eb9250a053dbe6b74bdc7e3dfea612e5a313d667db2aa7, + 0x5df71c46b1649d29ed72c566cb9d4531ad3260dc31479ee231b13936b688784, + 0x4d29f4c71445a396d2a787bf6f35903bfd87aef1b30fe0567ee59ed3c053dc2, + 0x587aa88a692bc797971628fa6cce77d13ef5f219dae71640cbc4ca2772bd9c8, + 0x43809be19e733d36e85f647b64bb00dbe0a08d88bdab337aa6c20a8bf11425b, + 0xd9d860fe60b68f04f48370e6ac6735019a99f29b8970f28539f3723fe8986, + 0x1df47a11fb0d969828f7e3a9186b9605e6a5e77ada4c281749fcd370ab27375, + 0x72efa360b7b2b0157ed81f4fbfa9c0ddf87cd661000119212c616e7fbbf29d4, 0x72a01166e63162a7acb698f5d52b18a8ca5ae4ec2f8f46eeb11846986d95c6b, - 0x2a1f13ceea256bb43e72aff3f9cfcf945e1b7d8fd787e49162e944470d81804, - 0x3a30fc5f86d8991365c4b32a67a38acf28b8a4a6db00ae0a2fd9b7dd6da2df6 + 0x4545ae9207f3eee6755cc0399e46865f872366f3263b7b3c184a8a78656b57b, + 0x29e08c2c7ef18b9dbfc6e49d3bdf366f39ba589213d59fe95e6cdf12f8297f, + 0x4ede71e6ca0f09bbcbe04257c5a095dde0a4b2b9d2ccb3ed6fdd3258ba88bf4, + 0x6a722161766076b8a36c74dcecaafb7eb004c5f7508e55cc4294d7bbc22d031, + 0x4de85ed5e7e0f8a45608ec6630e8706844b25a1b8d274fe739974945cada9f3, + 0x66e4a9e3b3a565af9f801cfdc94920ddc31ce9b04c4329880120eaa9905555b, + 0xdfc452601f8b0a4710d3e120765afe93cdb2d3d44bbbea32e68622fd82bc2b, + 0x7030afca817c3c720a7d36cc65cf28ff4208f82066bdad05748b28bdb172836, + 0x886929194f5aa0e647c8956f4d3aef02f5fecb142b69fd1ddf434c6918fadb, + 0x4b640a09c053146d6b6bbd7e01ce35e4842ee5c78ec4941b8a06458de32d233, + 0x1b9c86af21f007e45822f95e1a7665b80cb33446b98a3ae600217e443fa8a6, + 0x3c9cb0f65ec2c36e6b28caa01c42aa731f96ca96d4978b28e13296861f2e2ac, + 0x4193a5abeae93eb22b5ebbe909b8b89a578143b4c73c53631df8c1db82dce55, + 0x4ae3f6f300318df09ccea98a53c7b5bb9f129b0643c5b62efc8468b525b8c08, + 0x3a30fc5f86d8991365c4b32a67a38acf28b8a4a6db00ae0a2fd9b7dd6da2df6, + 0x4116841d462fa9d2d71196506b89e5c632bececc53952a0c809795f977b28e9, + 0x72dd432fad94c9391151cada4f3cd12eacb145045b3dd6656920673193600c3, + 0x41edd18daacab0f07975854b8e9b6211073f42b4a810643cd83e7fe641131f8, + 0x2dc405f40ecfb9e2f07e82074d0adc98f77bb7153058676c1bebd32eaaed73, + 0x604342478807af2f96ec1e906c7d76ac396f907d54b72563c2acebdd6337226, + 0x342f1da46e4f70d7a41f70714f62e151705f9ca06c2d6087ce729c050f12f2f, + 0x373b26e2465ae4464f66febde45a53f992bdff2f58e60a697a0b604caf9fc67, + 0x43c1d5dbd030aae8775256291ba4283c4b63abc522a56da347dd3cfa0aa4087, + 0x7bb5682667ee265dacd2cd55a197078315703aefcc62f18b177888515e7d512 ] .span(), }, @@ -175,166 +322,313 @@ fn get() -> TracesWitness { interaction: TableCommitmentWitness { vector: VectorCommitmentWitness { authentications: array![ - 0x76b789ba37b249ed446240d80a657fd3a5216fdef370ac2e67966da1781f111, - 0x364dd8b93f77e8fe4a4220cb995c4b80079891290789864fa3c100ab21bec05, - 0x3cc20832ca880bc6ad2eaacb38e0ffea115901137c46c31fe838a4238514049, - 0x348907f2e55dce07e27d77e7deab058a8f501647dcb9eedee3e250615a04884, - 0xc301771c274048c2e4cf9a80cba0f5f6c6b55ad24f7f88c74cdfec6d9a40eb, - 0x181abc85910722d6eb29e740b06d2c45c21dae09a007c0f0df98de5cba3b7d2, - 0x202effed198702786efe1dc32cde6df6fa54278bae9c4d801e05da6292c0f11, - 0xc9e7ce3c1c9ddf651f57010923085513b541a85001eae3d4a08f1ca1f63298, - 0xdaa9ce9b236f5d9f5b07937d8d042a354fe1e2f63c10000b0df1693bd8ce82, - 0x5a09b9f8b632d9d548b473a53d9b0c2412d5c36382bf6f8d13ba59a7475f455, - 0x2913951a49284de65d5ab35c06dab42cae6e92ac073035d0af51d261a6fc08e, - 0x35464b46b9239eda631924a70a930e9f8d08cf1defe97a9ba33b2453a5b6291, - 0x70eb30da3695280edfba8b540a75732aa6dc840dcc99a0b730f81c58f4bd4d0, - 0x4ba37beb9e6735d2e47788d96e841e10fe506e5a6b88f275a70ce7beb2a9967, - 0x4d2703aa177413be9e1e3b4580d7921eb0df767adef8aa0e0dfb43d3a11464, - 0x2d9bfc4a97be1ad887ca557e1063cf7cb83af174b61d977c3950eca104685b3, - 0x90a12c9a8964cea0a0062997bec48724249543e13ee96d120cbcbf3f31a56b, - 0x496b8770873e2597d658f6d918be7b6545d1dd2f85fe19fb4a8fd416e8b513d, - 0x69b9eb7973b0fcaddfcb3c8a6ea0c5361375f7c7ae16385cf9c887d30bdf2cb, - 0x287a3ec04cda03b1ba5b4c117af129033e5571356e78d4527f2cc670d022856, - 0x20d7ac2523a5c88f689a4da0f18fd7394fdac8c34f567d2951fec771fa984d8, - 0x2f445fd061f2ba231c04fb1e32baa117563c07034cfcb13c1b3fb79b07a79b6, - 0x6eb3c9fb9dd1434531abf6e291f701e06c13c987d1c3ba3f643d4e45064742d, - 0x17afd828f62de9cc5ee017618c80e7e064f66b9a631ba13dce6ef7949b6bfc8, - 0x38d895b73ff320fec7098cdf7c1a1b68280a184b3db3f5b452d5019f5e5361, - 0x492c1da796bb73bb3029eb41451c8b779c7cb92b80c589d9094861c065a916c, - 0x679b2916f02ceaceef3c3ed8c3f068229c6435316a2ce19b9ab463ea67a373b, - 0x3bf581f4d94a39b2b41494919584ef328f3bff01e7e58b4c9015a3502a737cc, - 0x7c934170516c3836f2ce10df2a3cf5339cdaecd2353ab97e89a77cc6aeb14bb, - 0x43c46699d2ec397138b261d4bcdab798903f2cf2890730476011135826c9a2f, - 0x42cde356b7bbe38893c983635932cfd0a5ed77eb6a77f3788bf388f67d60af7, - 0x3f25a361d52b2ff8fe8267f07650c9506b1de04cc9ed82d84f2102af0fc04c5, - 0x696d504019609ed98b34337eae1e5d4590c3c7ff8d7c333644e400734a63162, - 0x30bff263f7ce997b2a79c0bf2f6e0598632d7290a721a15edd725be2c69df29, - 0x3d45d035c364e5f1f28236c55284427305a30afc602feb34e0e8b9df582bca3, - 0x4a714cac0662c1a852d712a26e4cbeeeacb9f7116b769dd11fc6684e2efddf4, - 0x362768880673b2913007dc8606dbe556457191f2afdf607764b93954b024281, - 0x480ab8e6165c76254bd56054b8a8c3ce6d5de60cb3084a2669af5ec8f36f75, - 0x7fd76d34699b64be7a980af9c8bde3737c61df11b38fc5fa39fa71cc1d86c5f, - 0x4c248805022a02f16a9f650e015f829d1c89d1c459af7157f14bcc1f46bfa1, - 0x58288d9c1b845ddde62bbad387ef2d6960ec43ff3412c67ca0720e9bd63614e, - 0x40871f884f21fb25bfa97e01ee9a2bd4bfa689e0c34a86e907d1f5f6a0abec9, - 0x49cdacb2c7bca4996af15fa53d6bb45862fd34986d48f217cc3047ddf6c4d45, - 0x503de266db2ecd69cc2ed3a2410be913e777179891a49aba0f931c165a2420b, - 0x3573f6fce688a827535a2e82ea94b515c13d26e456fb719d2a2f4ad85eea13f, - 0x6a2904e5ef366202b5c2c263a4aa230b80cd44d5e037faf7f3d130061ad20f6, - 0x4759e31171ca140476a936f4dce9d15c412cd99044839c0913d2784f1125b5d, - 0x251ef225175f621ec7d6cfc275100997d019544bc3d0b8262e9abdbea6e4bad, - 0x709fe6fe7a173da6f301e8ca6a95f32c0d8964070f58ccb059c57a919baed62, - 0x5d34845bd23ac1fdfb64d6f00c8c0a3eb52f13ca1af0a773d91330cb29ed206, - 0x6d0dac6849e3c1b12aa08d641e8647954383b1375d258b490317060f314f614, - 0x6c8c76d1fef8b75cbabd284f621f49e76cf60db0c6739d3f1120ee5fb6427a, - 0x2a06dd43d9c6b756330563bbaade7f47898924787aae724f6deade207d02811, - 0x3d2e609634b4d1379703bf2d9d54bdfdfee3ae14e1a2f94502366695b83f536, - 0x294f7d5a2984cf078d5946973f41dc80a6dfe3d5bf89a24791d85f7ff3bb9c5, - 0x3d88ce09803c433f5442d75cbd3d7d35b00912329664b8fede98627febd77d, - 0x12bf84d3ed4b26d5c5de2fe84469663f717905dbfd614e4551bf71cf82ff4a5, - 0x4fbfec4a2da7ab549af92264fadfcf01c26d2591904cfbb6e02dd714d705e89, - 0x687fda78e7de0256d84f04eb7f94b9be5bcd017f6618edfa51858bb32d510dd, - 0x6087d5ea70a6389469e8fa2094785812f75368e86faee9bce58ab74a17277f6, - 0x1cc1ea86d5772b9a7397ad41989f2e73e76eedd7605177ad3131cd8a150126b, - 0x27f2f556a6e391fe6328aa105917e8c6d1dcbb2e4c7ea92de6c173757395a28, - 0x69d1b243bcecd8b1c8abad30db6b8fa74856970db0843669a805edd2b14c00e, - 0x1d9a02e2319e56be57a3cc2be932d9fee602960a6229547571b2e1b92eadf50, - 0x4bd8ed28820db1ce055f4b79809d9e11a99c1e1f766777dde07ec452892041b, - 0x79fe4421d71a83ff347c92b6ff8d231b6e74b43c5f2a0c098bdd7ea4bb30b7c, - 0x49d6aebc099ac97edcc682cc0b76e22b4a8c93303e458b5d9b6e4e13a158fa8, - 0x7cb5ef83e467ab67f9795ad86bd45fd55487cb68de0c316ed16cf4daa4f1505, - 0x7d281768a3b3492df15855e1080411807790f9b89286277ac0da55ab13e3176, - 0x7b8052c7ef750eadb16ac7e87527ab76fe331006f61752ca7b9dfdca97bf493, - 0x2af715167fefed6fa0887799d9798ebe99b256fa2eddc94b43c6c9146f5090a, - 0x18796cd4ed88e1750e229851cc7861bf1ea23d0f318b5605d4712b2580d5e1f, - 0x4e408e992bae49aab8b3b66696af3dfb886beaec391fb412e07eda5f65941f1, - 0x7c6c81a18bca75581a49438eae384067c07ed270b3d68a6e48348265e49e6b3, - 0x1ca7da8b0480c44aeece37621be633fcee5c4636a979000abd383ccf9d224f1, - 0x70f86634c6abc920496946dce41c0d5e4db8118fd83d63bee0fe94f35d6a36b, - 0x7ef6623b4cb856b176b3a18dad4bca6735b5ab73c0f4a0e05ad0747ea73006a, - 0x2a193cb6a0683e8a19cd4b59f9ca501cfad289be86b80ec5c35b4f85bb10132, - 0x25fdcaffcebdc6bad5c375e9936dfe096c2a77b86059a86aa4ec6e8cb5c4216, - 0x3ea2279958ff5852eeb4e64d80f862fef7d10e17eeecf8d9c7e9d56fa9c6430, - 0x4c0db58654eb85c6c576963d5318659f6bb24784c995d200c6fbfb630eed95e, - 0x46d53379d0a45e9bb282186624beed25ed6a5071609b35a394e9df575094b08, - 0x2f260e73f0e718a49a5668cc9f43b9e0766e58692ecdf8461857e043dab2b7c, - 0x4e9cb4e481222e66f386530a57ec2ecd0451fda60ae2888f4450b3c55006073, - 0x26bf87fbdb5e542c9d918347faf9f4a3985519f1f7ef4f76bdb121016b26de8, - 0xd224688a01b4489679359f96d88f3dbe7905beb5127535dac5948fe725fb07, - 0x46997f693222169d68fdd91d920e60bd72ebaf0a6767718242198b1c370c796, - 0x1d170d2e6be529b17a8a7f31867fe76ab89ddd45321866bc3dcb8b92fc519a6, - 0x1157e7065cd177bbc01cb84d1d7a6e03f974a9047139972f9c25e1bef27214a, - 0x36fbfc9c34a54cb96e770b3dd8ac439673e9793e26ed5a220382567bf7bd77a, - 0x531bf470f6c585696173467c023cb9c5f5fc44a38c5df75db366b8cdceea9cd, - 0x3840da2268d57a48cd43834e90d8d0d693fb567cfd1dff5d6a2193717859fd3, - 0x3410a3b1e98235e5d44e8bf65221d3cf9e4cf6f37fd18a296f3bf7c23069125, - 0x458d0ce8934f2e68b5a240e88db9093d2afc49f1534c9fda46652a04f1138b5, - 0x6e23116750b4494e3331dfb20b71ae5de2a2903cdf0cca6d2fd7667bf98c3d3, - 0x575a6eee8491b3f94f5a0bdc8d69b11114f1ffa778d0ed456fe916497dff86f, - 0x75ccf0e20b9bc788de40efc15e207f2ea100b1ad222aa88e708f3065f42e02b, - 0x302f0e3dd5518420328c09910b7b0c4e7583276bef4f44cdce91f2bd642dd5b, - 0x4a3ac75b61c5b5cb3064eda42c4e3d236c20530f5a847e0aa19d477974306fe, - 0x580ffaae66cfd97404ee879c52902a30f4c8de26d660df820f78f95dbe48dd0, - 0x3ef650c119753a23c13fec26d43cc5ec950043a36ec58c425d5f2b1c76f078d, - 0x4483e16171bd32594824649dd4c271ef9d3ffeccb94a52ba9f9ae63e83afd8e, - 0x596d276a006d16d98fedc2a0c8f5b44cdb68a9742feeb83d25a2c3a43ac3a91, - 0x4d15b8fe7cc7be20ad80b9815fed60bf1c9e192cb481b9793fd964de29d2831, - 0x7455767862cbcec3e835abf1533cdb6da3940549bd2923614fae97dd2e15628, - 0x3242c7b9abc0e845e5789bffcdc074b38ec1aef8ec29ea06dc9b6a9bf72727a, - 0x1193f34976cb21fdbeda00f8f6016e0ed5d235589a6cd12a33ac335e7ee3451, - 0x53a712804fb598609746cb9ddc53adf71ce01e8f6646e87e20576613b3ab893, - 0x1f485222649b25d762b6f580b3c7408dd51d4a41887cb3bd11ffa5e007b0192, - 0x47ad45c0dbb6b27545cd95ddc7c4316e91a5ae7615d87d6646e728379c715a8, - 0x180374fe491b2b7439dabe9ee9ad0f4b3e1fa5ab50d3b137ef6aa4cf3fd71b3, - 0x3559b1b89d680c86863ab37b25535e877c6bf88beefcba745e483159077ddb5, - 0x2724cd76d2abfcc4f293b7894621ddfb7adecdbf1e4ed32d3a4e43bead7c3cc, - 0x1a0029238afcd7a0779e39a8158fda0942eb14b2734f9921428b96638ee8f3e, - 0xcd7f8ec7105c1a67b2c1b9b7de0d1b53d820ea4b5a108a3bcf76f5580d71f9, - 0x1c3ebbea383770c83c8eff8d24aff4ef6c75cbe60caf27794db0bc0ae069352, - 0x45d5c5c1eaf7b3cc85e6ddf6b4f8308603b51bf01e2731ad9eddd0b6f97f173, - 0x6cfb748aa36ddefbbafedd60df791e550298023f9cabde71ca9a7b3b12590c3, - 0x5da9e3f1e07085fb498e9acaca82ae002f347845dfd292f6ace331d9efde939, - 0x5ca30e4aab922d075b5381044d90dc3a9055e2f3d74334db41c878cbe50a3f9, - 0x3b600e2f955c36e52a123047736afbe3668092e8da0d87e4499ca2d33e14723, - 0x2fcd621cd66fa329296e7494ddffb13131b2edcc0d2e23e16e4583831deab9b, - 0x1414487139a8c1ce17740db3931d82bd8cea317d27977ee0b844b0317c5c8e5, - 0x67b9fef9446991016a899cd5fed72896fabf2e04c77107d267733ad58f524a1, - 0x6e33d20e800e78463a51dd4550112d8e5fec1b010a77c1e00e4a087b381e611, - 0x58dd95737a203c3981ab8a6dc97957f557c4cbbdcb752ae3168ed6590f32b82, - 0x468f3c0fde415a9c5d2aa36f1a012cb9cfb34d308bba8b7187c7ab6e25d2eb9, - 0x481e7e3d48be9918c1722bd598049aa7dd3336d6bb3d1d6f625bbd9dfe51aa0, - 0x229b56d9c6e88a2f968227234dd3b0566253b952df03d7d09a93d1a76e927a9, - 0x33443ebf07007f6dea85ff4d506cc3edc02cb316ddff09d77cb754a14e03b34, - 0x46ba51410bc8e371d1a75ef0069301819bac23dd3e1041fb4fa97fcbcd561c8, - 0x4bfebfc9f423838dfd4cb28b6d70a53646ea57002ce4afc91e371e6815b3c4d, - 0x3d809e239ad34363d350a1af2a2b0e0ef9968147357985497d50de7da341a64, - 0x3e43249e901c2d86ace654b820a4a9c86ab22e792a74f3593066cbeeeb028bc, - 0x63b92167d491f8d3ca069ad069553961059cab349317f5c8b5f2f38f30c8f39, - 0x2b14efdd8315aab3f3fc8e72b151131a3f5e68eebd6b710773a83b96a906967, - 0xff9d7b63a123f19014da4be885187928ac982e6605de9b8a23cbd4ec59b929, - 0x38cd76ca81385261a7b2687cca02395d325ac759ef35f07354e706c95c3675f, - 0x6e3cc6ce52df290ebc16600c5b2358c195f7138e1e8a77e1c8717facd5943de, - 0x6f5237cf2ff3d24c6c2a5172890e9734b34a15430d4327dfef99655e09c1715, - 0x5eec4358e0dd031543e035da38030f9389d1f517b576450d1c7bba3cbce370f, - 0x3760b1561e21245e82dca98edcd6f0d32dd98e9deb253e0ed56d542ad393ed5, - 0x74a631cf2a833c70e1388c23a2c9d12e6ccc18169fb111c910a0b3119ae6aa9, - 0x5794890aef3be791ae9619b98d45bde617134519b933cf9c7327cdec92991f7, - 0x7600f8a366a525a42b38da4da5a6880d0683e27413f8d7f700fdb806856fba1, - 0x1b3f2bd4523c83536ca69293a9d412acc3ab3b1e3ca90c0c1a7fa52799583ec, - 0xf9f931aa1e228a15eac2f97c43c045d26604331d829afb40a8d1f68c00e17b, - 0x50f96bad1eed06805a2eb595f2935672dde616e68fcb21530fe13c45019cb5, - 0x50a55442b12ab08a66eba124f4eadb678d7e47be6bc3762aa41000e652af7c4, - 0x7f1b6af56db7871e9eb4c4bc70694d0aacc31b9ac4a76f079fc4ed8d7cdf47a, - 0x1a84ce8e1e09ff9a37ce8827f7a9eda4680343c23adbb13e669eb8874b74558, - 0x7030ad79dae6c0fb2ff37c6940ed5d5c427ca6e40d66a4b92ba45aa418b7876, - 0x58cee4467ffcb3a8c615e75eed63da75f9ce0070fd56c54038fe7287c162193, - 0x33488d700e4f77d7f67f64ed336ef8cf669bc6bb71c0b0e798d4b9ac431f5f, - 0x1819dddd855e88e064337c6e6157f38b86867304f27eec9df48b4dfe67fab6b, - 0x4d783b6bb8704ad7160508cfee86f790552c368e20e9d0a0919266164de74be, - 0x79c5ef984a8e33b3ccd3539ef8d73f4617363cc93fbe909d088e0943749c795, - 0x72f53cc49512032ed82e1a53aa5ab61f94b540404327fc433f752ee75247594, - 0x724a99ba8eeb2811abed127c86b74ed92e051812cd58e4ea4a15f709d29b850, - 0x39ba80681bf41d02a2af546a30ca8a2c22386d2c3059006da659f8a5ef4c917 + 0x2309a4793737ee75a63f19b1b3f5daa9047ec142abca5375b73d51819d591c6, + 0x75f6c2fbe6e6d6d1f2edc1f142f43ab55578213edae89b01a7e460782034614, + 0x1c14925d47317adcee9e82b0f87b7ed95dab9c8b7db8bb0ee65b5610531bd07, + 0x1299005125b7bb1489273e152465a7d246670d38823bcc966eb1d19f44f78ca, + 0x4c1d041f6005bc48abc2cf92c47aa3be4fe544c92a8b34ad37ea85fd0795595, + 0x23764037e8ab5c22c1a45a3bf72b099e625f89a45b5179277711615da6ed325, + 0x2ff570e0303b8f1556865a081cc204a0c9f62c56dbef53503dd6ce4cec06fd9, + 0x4bc7ffb49d4f9471392515bd5c7a5ba9592216e1583c953f4f3d5157268b09a, + 0x5e1949bf3c1c6fd037d8d2d801950bd6436a07ff711f622c1bb4f2969920267, + 0x5e3b7826391f730449209fc6dfbb1d6b80e700a609398af246bb6850ebccd51, + 0x3e43e8ac0d88edd710088e743ef5e21e91d1ba945ef7aa0e95c523398cf11e4, + 0x62e7f075163484c8e4c608f0b1d2a0ea28d6a6d50b95d9f06e8e2b4e3144a00, + 0x3509f1891c229642636ae19cb55d42412fbdbca5e27f69e4de3f52cf9b54318, + 0xfb1f1b0017ade24095f0657365bff6790d127eeab029140bdc6613330e81ac, + 0x5e623545ce663b261ba28d002048d034fc24a7eb69c7b959a6ba275190122d, + 0x21f7aaceef360ef15b1c75de6bae9a188e673af523b586e3c12cb1440bd400, + 0x2682f7163a64e1782afc308d128b016eadbe06ace9d08087a2055365de6d02e, + 0x5d36671da8c9b3ff0220ec3e3f650813be7697ed0d787bdd1a9f64844628cc4, + 0x4de4b2f7f74398be449e694e60f7d84f44551297fd8cd82e4fc618a678378, + 0x6cb36365ebcd080a65e54eff998eb9ef212a66e53b2488e5a072e382f7bcf14, + 0x33b0b884a33b94c2fdbe6cb45998a95d29330a9682a3ff3a6c889864b34002f, + 0x7f0436f25cbbfc14a0a7be6bb732bfbc54db11297f40bea251b4e2f65fc9747, + 0x2f444e9fc1a21b0d2bb8c1633befb83837ccea37c3813a23436ab6723e1745d, + 0x80d8d7f68e0ab823d93abae4eaa10cb2899232f9a36f85e5bd2b6640366adf, + 0x2c4ef99f1c076715c6f9fcb7220286f254ec7665847d98f3d048d26ff3ecb51, + 0x69fc3b129a0ffe3767b2316a62f60e297e33b79478543964c41f3bab0196996, + 0x752d15b9ebc58ebbbd2b5e1455ebe80fe9e7b8dbbd17afd8df7e014cd711434, + 0x35716def15cabf00ac7ad1c56c2fe18debfbabd0b88f7680c91fe9c446e9d6c, + 0x66a6ed3989ff0973b3d07b300fdedea144c11396fa2ee960c49dfb73b781262, + 0x397b38dfe80aee875ddcd3befe883c02e7d62aed6748d25fa3b49af6147b5d1, + 0xdcf6d2abb0d29af61828fbe266da8f988ea90edbb65790cfe35023881f426d, + 0x386ac5500f575f21a776b9b9eb61f5a1dc04d7709e2f72ada6100a86229bc3f, + 0x3b5fa6cf04807fa6734763e754156dbfe71ac6a00a3ac1aa28f291b6cdde2bb, + 0x15a3360c32ccc5c557fc144f43acb44e39d342c67e86b116f61d0a147e35241, + 0x7b94c02a3d2e1c82b614403d2285742d950670fe68052012e092bf545705487, + 0x6281be3102969520e30de11b21b9ebff524e227e97e9767b010c791be02fcaa, + 0x770faac8fed0aebda77a67fe0c2bcda2dc78385c171497c203e6b5a0844e9f6, + 0x2cd99a0b07aba516cd8d9aa0e00d316fcd4dde97082c6752bf0ffc7ed3d5503, + 0x7428cd22b70d53d467304247eace7f0bad8b0d5b4fcec1bba6c4061571902cb, + 0x768402f6f73516b1a0256a9f83b22147b485e9d2921fd573179b4cbaa8b870f, + 0x10ccc2996dbbc354a30f10bc80be14847f8d667f2b01f04a8f4b515135c671a, + 0x171ba4a0fb1781a7c0ae86b7cd161a42829a6465450cedc5877cadb867cba56, + 0x4529ef086d3d86889f1fbf655dc5a4bd803f7f9eb9601bdf29568ff9e8e5970, + 0x1394adf8dde45bcbb3029a5ba3a7fc5e8546581272ddc135be5932f05875c12, + 0x5b9d75c5fdbffead448554d7aa1ad33e5678637fc413a050562af126ae02f68, + 0xb258800698300528d036fdb1a3b57ad246a86fe2feb6520353b0e4785b619c, + 0x4541f10beac2371a05a35c0188cdb54aaba3003821576ef067a9cdb8e3a7c3b, + 0x6a35f499ff451f5fc963439fd92c98d9040c4c3b95f0bd4514d68827097f4af, + 0x495e3475d296f8faee4420775fd24699daaf45e8da954b8ca2b669ab337b5f5, + 0x4163e6fdaea5e5bc3ba2677d72826b8c07ae774506cf87754530a19c605f39a, + 0x7a834b32c74fdef025b999f0fb23766cde3a885fc6e69d7eb4a57d16d3e0abc, + 0x2409e72bd8aaf2c41c7d8834cfac84933575916b23962387b193c8b9950dcb8, + 0x6f5283b4bbe3e233ea695e0c37109d489172fc94fa3b584c0f63d92fe484927, + 0x2261bb84a0e0bd8586d70dabb56d9da5c5092d1c702248b759502c196465080, + 0x455fcc7eee31a78780713bf212697dc898f09947ffe7e0061f9408ac007bad6, + 0x4221cc00b443465199c490500cb2a73b15b498543cf1ea20294b71fe9a0498f, + 0x369143760830fd87c2380f357362fda36e74c62a3474ad0e7d9aa08c6248e9a, + 0x41cfb5d3c512a6a1cd81b2c74419b74fee41adab93580d07b201d82bf4012af, + 0x2bdea1ffff2b2e695ee2885eb95aad9a994cb6a94405b6e98e339f0d425d4f0, + 0x37b95acfa55ebbe7f0f14328f35a9926b0df4b0f095977802fde35a461191be, + 0x6bbed8a1d0c13cd1611e4040616cd9b04772f2be557341f2597934e837a8a26, + 0xc122cae69e82635c9c051f0f8f8464988cfbf6d3294deb6575f701d91a24e3, + 0x453334d4843cca9f8b653026181d6e1326755c7962b55ca96f70d952d5e2450, + 0x20ae0158dc415b3bc4afa03c6107426b031c74611b8296cf32a27ab86e7267f, + 0x5376fcd47378434276e63675c9d6a49f76fc09f0dc409af38beee0e3022f478, + 0x47e4f5aaa36cf6c65264fa7381667b3f1590b052849c0cd5271abd761900b6b, + 0x58d695afe044e23f14330509ebba9f6958202a1426ad99b7b689602d0797470, + 0x59c61292501da5dacf4b30c1ec4aa4b6677f3fb4386be03447988d428e33ae6, + 0xb25303b266daf04074ee4f78c065c19ce65fc1b7478a7db4445fb262f9c6ad, + 0x4b071ee26fbd32991921db09c29a05283cfff2bd3a260600d05aa1b06da3f51, + 0x143b8858c1434aa679f80145664708bc27180fca5d6e28143672e375af648c7, + 0x35c87bf7eec4a7097f9b4c2c2490c1755c3defe943a4178f092faebc07bda58, + 0x21a56f51741dd71d81263716521b290994eaf7ee2a8d124dc79715776fb0591, + 0x22c34bb6856ef7c391a1762d86eb2c3002c3bfe8b938f468cda3fb60e4f5121, + 0x589ae09db64dc1fe647da27ca59fd9160d30725b12b7003d1b7c4c3dfc452c1, + 0x71ea9f8c5b6a33ba18c883b036d2e8eb45d41f8d771e2fb52a229579ce77761, + 0x20b20e6f2a91c43ba872a9a64d6bcf5263a608944b76261a87bde90baa1c74e, + 0x1d0a8ac8ab21dba354fc7235f6d0229cd85421414d6956ce013991c41f9c9ca, + 0xee6fc4327cc6a9b3dbc9a5d98c51f60b1109989d1c84946cd86fc6018700c2, + 0x350d816b33d9527e61db6ab8390cccef0b9b967c5fef13c5cf9cc65eb630dff, + 0x3c807ecf9edcb25bb75bc0aa152682616c153af1768f862ac26e2590bd6c9f2, + 0x66f35f91f0f787cb273781eaf46f99743416bd1dbfe6542d79354dc20bf9b0b, + 0x3177bbde8e23fbf758cf95612857982804fc51b5215a539db1dd7d75f68bd1f, + 0x3d5e31189623ef093bb52944044dc09a37b507078a6fec9f0a87b610aa00b07, + 0x66a87b65992d19a3f136e3c1fddc5bfbcab8c91c395bd139ce3af241f5f2d75, + 0x5645c381ea2ad4e7da2db0b643cab96e405eca8d38fcb705af44d25bd44714d, + 0x22c0fe613f2bcdf55326c03569d6aa1610b5391823f117a71c281c44019bfbc, + 0x2a5c710f490e9d8239f0516865b1aee9c2b93fbddf728c2c63880afb7e9643a, + 0x29267d7ef44740da02b494ebc0d1811365ce3e799abcd47baf0cb88333e27e0, + 0xe2679363b9af5c50b94e3ffc3177581dcaec11eed0aa6b2b82b7acf970d989, + 0x447158e15f41c5333e3d76933209ff341169f2d4f019fa6f8ff802c9804c38d, + 0x752f3441fe9f38a4f797b8e73a9b6c25aa93a8efc0c5ac331854e9286365091, + 0x45e49084783c52d839d68571dda3ba01e488f9ce3963fcdb30e12532d796257, + 0x13bb7eccfa422a300aa8d5e0344a09d149c396ced48f17879ce0bb5699c429d, + 0x5120b42648b66c441e08eb6a429a29d57f1701b068206701030042265b593d9, + 0x5a59f22a437a197551786ce5925e9a54206df3421aeef4f8cfdde9b13f4289e, + 0x7168930eb6e655795ed353cfa6e8751d01bbce92fa2f4a64c0c2ef95ff7ff57, + 0x693763e163a1a3b1099594dd29fef5675ceb5353f983d11c84c5a4f1b0a9665, + 0x34245a395f9cb4bc7c36d6b05d75bbbbb465e9f8f4b491e2b096f34ef50c145, + 0x5b89ecdb2b4e7fbdcfa0fcdd414b5d936e08bebd63b9119e169385c52039e62, + 0x6ce62684a0ede8a55c0211414d61b50940241b5d645d352a90c6874033bed9, + 0x6d2bb89fd72bf8c098e1de49bf7140de267a530da9148fd817d062786b91488, + 0x5b001884630115b0ed7e19a93d5bb336738756b0b90ee1831dd8277ea9c84aa, + 0x66777d86929dfbf66d6d8e20b4f260a63d21d8a229cca5cb437ad7669eb997, + 0x2fc41439957115b3acef53b9f022680e6e81183f716dfe613f01ff5f5c612f3, + 0x6c7e5ec25939c0015848e0a6c45aefa7f112144ef5740f08d66b4d11fed1f87, + 0x16077b04b59d16137026ce185b423e9dba13045753ded35fa37e6d991c97ab3, + 0x75fab079cb0d5f8f6743b0123a724d215ff2104c7ab8e33da83248f1781434f, + 0x678dbcd526b4529ff58e7e9db83c3e915a9f8dc614eaff031683d9bbc26f1fb, + 0x54c2b1e67331b9e857fce8bd632598759605f1a4dffe560f7b3a609d4cd01a3, + 0x1f3303803c5b2761f005c5ce0fefe3d085807eaef54cf887774546cf1edce0b, + 0x1dea5af203392f9290b40ffaaba3fbc392a4ff12d5ea858232af48fbd968449, + 0x3386bad56d69a7a7c07c24ef6d35a7fe27adf91fe577313f47e33396a293121, + 0x78358b891051041a7cab8af2c919d91aaa24f5d18a9571d250d25e02587b9bb, + 0x6594cdac50afdd638d00b60b37f912d5f872a6611c38ce9652b2cc477bf62eb, + 0xf3afb3d7d95cbe85a5dfd211353775251eac2fc799e3fbcccb2a6e920debe9, + 0xd8ba2c581bff621ea4c1ab77ee8c4ec8de483bf43da39c25b11c09eb0634b3, + 0x3092c3cea396839171dfe77dc199930f96137bb25b6ab61f99355ef51ebf397, + 0x64503e04b2251858d232d53c7cee8e27173b7573f652036562c17c0accbcea4, + 0x1f048027063d1ed42b7bcfe54967bafb92e9890d8eed85d4849b1696129e6d0, + 0x12fca26690758f3fd62b5e22bea11c69b0ee713e84e0181c2317561b3080b51, + 0x3f3d80114ed5317822bbe9d54ed8a858ce90679d185d43599b7dae1698d699, + 0x246667f0e202de1faa87d20a927b2a59729f3ca2fe869ee4a5e38a549aa8700, + 0x325967ba5113d10e43484763a6731d44ce0b63a53108f5dc0f08d717d21738a, + 0x3f578ce312ba741ab1338e8c6157a3682f7d6c2a6f2d5d71b0911044aeb5681, + 0xc237ffc3124e53369060a9d4413b1e2074287f43d0baeed3151a674ccbe451, + 0x6600cb4476e9703c34fe3c5d9d1003c47dbcd54a355768d44bf321c26c1693b, + 0x76b9553ce7ef31fb2276012d9eaeca57364e28976e32b90fb67e19ce0238b4f, + 0x7a8b70bfc3b3633a5b39a4f057bcb424222faa5026dc5be32ce585789e84ed3, + 0x659af1c7e3a4fdc6b5cce170c8d26a17342c6a0dd7aaf7031d5db53a0a3c99e, + 0x1d1536392b570f5ad66baa3b566a246a6ecb59c87fe2e5f3fb6d14a6e286e82, + 0x29bf0a3a7f1080556480d34dec7353058737a860a2de655e7a8bfee1329db2e, + 0x3ab0494b377d7b493c947d15871098f5ec540c40564246d61fb65889332f284, + 0x62ae09ab18a7cbe34d1301a44ad60e2c554288bb8acbc5e04d3b6fa3488bc30, + 0x1670b0df093f991cdd41712d0cda30c01097ca6cc2623fb4861f65db4c70ac9, + 0x1aa8a53ab71ec816c40e4f0c455c84ca576646ec9d1cd819ac1e47924ff81eb, + 0x7dcad37a2ce00640ad017365580b25b9b96950f142bfec10cfa0f139f7e914f, + 0x3ba7fb21a91e70fc1314066fb07392986861b995f2559564c749d7aabc57ccb, + 0x3002f8821bebd030fbc46eacaabd75dc4fd06274b450b235c820628a0770196, + 0x417cb61e1338b19c38db24d10ec93335a7196ca9df94e49135dc429cae5b600, + 0x6599464dacae58f0826ed46dae2afc3abf3b837d0754a2e9d1b7151ce50568c, + 0x6d614b069d9079a2dfcb00c88d0bbebf17d9472fddd1b3469a734f704fc1c2c, + 0x6f9fbd60a529afa180dc15d87b35b8d866e1a314ee33c3ee1caa7dd4a806ae3, + 0x7d91be76dd60a25eb7870076b42fd57572c248c989514316f08b60641a3e597, + 0x66158277ac7b5a49c25ada3a0d0a83b1e2ff1499478c6524ebbdf6ea18f6fc3, + 0x5f2dcbab0c4f34e78d0205f0328064ead62bd1ec69d95584cc6e0353b04aab3, + 0x2102a520b3a1ea925f2905c52b50e12712d1e4a1e8582b9ed49e4ca16e6597c, + 0x73ed856349ac185367be7a93a784c8850dafba54e78eab10efa7ca02a5e882c, + 0x339aa9315cbd18533d936b204ca1c44dd3b11fb72c579cf4491dee2caec88d1, + 0x179c28392d68c90542dfccd4740f29b471b271cdc922e9d32f4ebe019d8774f, + 0x4ecb67c61ed7b523ff8ff929ab15e2fb7f310f1b2560fe170f94dd098b5d2e, + 0x278b12982a10ac58c4bb2aa0c687dfc4a70b3ba15132ce1e849e188c88bdc78, + 0x42cce12b99e44675709e1e39dac674feb79be0ab09fe5573c35d333dd190e4d, + 0x2dcbb50e83443ff8dbee6cec258d79c39afe133c6c7bd193b36faf2110008b2, + 0x10dcd1a2ac9d59e6b51d161134e13fcc129ad9e82fe1876e096532ff72beab7, + 0x3149bcd2e23395bb9471b74737f691608b7db9e91da6839c1d0ae143ee58cb9, + 0x44b225dbde15485df8531c16b68ac0d5dbb1c5d5d0b1ab1753744dd22c51b4e, + 0x297b9a0648c539a96ab882c3faa477f941e509236ec80c3df932aa2b984aac, + 0x67de902a4e0f1a4453ddce8af3adbe18688b750b2545909791dff37fba82438, + 0xefa0571ade8924e047d377142de8f00dcf480978c01ddc235cf6c2a4af5309, + 0x1d19059cd274fc47f229b29839bf8acfc7f9b30374c08dd4a669d5353321333, + 0x11e97028a670947cb621b59898eb798d263a5cbac6ac9777125051ed6fae878, + 0x1b1619a8ae1c4e16c5bd1e3744ba0f5648a6dea30943a9c6401057cbd02d380, + 0x3c0835b8a3ce72753c63da0e272cab1caedeb6394548f1a593ff3f1150dd744, + 0x1f7e52d378876888b614a88fe052eb9a28a39b69ec026638f45c0d81f3a01e6, + 0x1dcf8bbf960627475918efd4583c83e5410c00c89bc00cb132c2e9ea31752c3, + 0x23f0d25098d55f7e6664da0dea9ded01c517c82271af233cf2411a8e88eae46, + 0x32c344bf29590f5355951c2939ca070e2455febdc7562c13ef7fcde5bdb358b, + 0x50464893a02c62e54d33791849d1d5147285e73a206773d9b73099042b9163, + 0x4c138a5f9d69e09e02b1ce1c04b62ab74a85e68ce91270b5b0966140d361805, + 0x7ad585a6f9cf423cae9a6fee2db75d08dcf9d2274accab4f4290c926e78f40f, + 0x3b5163408cfb8f14b9ee39e27ac15a92ddca946ea6349e22e922c3d2018fb9e, + 0x6ea5efec5313f40704b2caacbf0f6d81114358edb52ff5bfbcba0305cd83e3e, + 0x26df043ebd28a7398852025256ee2eb04a637059d54155db6878d189bd9c8e2, + 0x5e29e77456b154dbfb743dba0a2906b871182833f667320b488cd32142ae1d3, + 0x14152de93e1e3c87ccd4cc70a0a48399709a00d907ee91bb586bbdcd9f528d7, + 0x3ee1c371f7de552a5b2f54accac4ccfb954b8306d5728b4380a7ec5c252e622, + 0x7c927fc86785ccac6c128662b812dff19240d9074ed90a7fecb73798c0a248c, + 0x22906530ec7b22bf060a933e977a82651c3d2c7fde5a97b0e16dea1bb42a7c1, + 0x14041e49d3bf5c4270ca90240ed880e160bb8e9fe4c9120a8ccb722aa5e568e, + 0x31a93b24557514cc7a68827ca8bada76dc52d780a7886507ee9f74ac172e04c, + 0x17553d38f99027ba7579603a9a0ab3dd367f7fc613cee43817d31735a27fa2f, + 0xae25c83a2ec87dce4346c539b72fd75b249452700f32461754b3a8f9c0f2b3, + 0x54901aa299246bebd46b756f43ad7c6802622d5f4e7effdee446f92e37ea166, + 0x65c380c0b7339d9d6c093f76b9b8a62eaaf449616cf11510c455e3b8051a766, + 0x33b4d961a89d57c732d3d86c8003d5f60ab525c5533bb2e9b76885ffae0768e, + 0x3d48a77c13338ece88e037775f14f0677e6d2c9b9a70392a7c1bd85e3b1eaf, + 0x2eb860e602465981d402803d344c242eec8054a149f84e4622d3ea6b4e512d0, + 0x1c37d1815ef79a76d7210101d10f7c9849a58b54d5d5f2c73a658c033061d4e, + 0x6b14f2b8f60115e8560959dc26326a812a73732602715a5f027b32b64ecdf3d, + 0x326a6924cae371cdacec081dcfd1aad9ace716ee89d1828c21cf8b7261d5769, + 0x2e1ba29d5544c7067f8890b27092c60f41e61406478ff305a63bfbb685d8619, + 0x41d0585fb0276b093362affb419fad2decb2e82d0ced557236d99424c6a66ea, + 0x62b93230fca026cbc555fb51c3f00a21d9cdf79745c9b1199a03ad5db8bb2de, + 0x315f9939fcfc4c0cffeec9d1d22903a7075cebeec9d7c1bb0431184cd6c953a, + 0x7ac77a57f1c8b8f8b35c473d12ddb742018d41a3edcd97d45c75cf6f648789f, + 0x679d2e4f3b07690b59e7f27dae2fc2a1dd8d4cf58fb7fef6851c5ecce305581, + 0x146733cf65f8fbfcd4d68fcb30cc34e7203d84a807fc1fca21edbd90d35563a, + 0x558afab657b346feaaf893bc6e662c2aa639660b09bb544dbab7b603dc10a84, + 0x4d8b49d771c211121211cbf5b9aab7a16069ddc4e7819d5258861df43e9ec54, + 0x5d1b1cfb1899af55ed11cb2b60c998aa77d8badf11d293a9bc74f75a756f4f2, + 0x22ef64463f70eb4332b7acc9a3086a416cd7f80290b7238fab39febb48ccfac, + 0x4f3d23fb3338372b2e1d240771412d72d5e0befdd015244bc1f8148d42264eb, + 0x5232d300ce80265f9729551d355ba5d70905c06b95e244cc559075378b91e86, + 0x6e9299dc10b04734a32c6b71acbbcf994a69084f34b0ed4d4db3d4f05145951, + 0x4908084c6ae61fe3ca30ffe0687b77072756437979aa3abe81949ff2223e59b, + 0x1be2c2b3d3c03fe9e48a753bf666db49edd0226d8f057ec796cd18aac25fc28, + 0x493ddb7effb04cfb7e93901d11a355a15ed4804dd40d8edc7cebafec7721e85, + 0x13701e4c5bf5cd383fcf894bfc28515277aaf8cc35b17b26eb079984558acae, + 0x2bd30696ae53f46eaaf4a09f70ce7a433958c7afb1743a1dc117f744aafc3f0, + 0x35dd0fbed5f394a2a610199bc1ee4c28c300c7b45ec1180cbd72fb8b04e82a, + 0x143571dd7d6da5a5f6b7306d8fe1993f12e75ac688a7ad0a60d7c70ae38437, + 0x6452d657c7288229f6f59173c03c952b179bbe70bf82d974f642788856a1886, + 0x3177e6fc7914893b05fc9a88122caaa7cd9af89a5796d867a03f14c5c8293a7, + 0x16561c481d545a50858c1156a45020a3e4cd3c7557c0e06afc64d3a85012ce, + 0x290e18bfbfe15d6b13273712f44ad017310a2c1eb9c58c24caf5528616f25a1, + 0x24a280cda3f23db6c30a495c748ff786665318ee4befdd041d3316332b450b1, + 0x312c603caf62d4c44f911621c722684c0105d89676eb1534345879fceee6533, + 0x542956b8dd216bbc4cde12d38d85d84cdfcd51f4fb927a5e2818c4a0b9d86e8, + 0x611c3452bb23034e83a080e65480c0c8ce3ef8df43f4df19fb7eeb352d5fe82, + 0x6f4eb1ead30f85b6e2ef492c23b068b117f578fa68015a6c530d85fe0951e3c, + 0x5b047b2584e0ce8a4641e61a818d292eab01fa527302f7b6d68a11bc4b3c895, + 0xde11bc04793f326b4eca530a2814c74cdbf5b04d0f0cd5cfe8a9e319828075, + 0x53afe613127c651c8f30f692e356194d73155b2f49bcf4ee2164c11c2b4d2cc, + 0x16d43f603b8e47f027470859506138116184dc44f6b7e8325300bda1930d08b, + 0x247124fbcf17dc441e807f13c58856fe401a10d4fdfa14309431f88b579bc3f, + 0x4f12d13e04f660befdc43a8b091e3a13e543973e5548a1bb5b3ead95e567983, + 0x71d52326766346a4d1b6b486911f2dfe4ec63021e1a3a93b36307c4e390ccfd, + 0x4150aaa2554fe25c7978ce9fc02b21cd7dd501a52be7aca48abd2c209197f4b, + 0x583be8e2456314f07eb1d2ad38ab590b1c7710038a1e0c3badb5e860ffe667a, + 0x7ae7156ac2e57f1e9f590026842b52195d8c81741b0e561423918c21ba77bb4, + 0x636f80ccba3b6e9f278d74720c0c20fe774283104d461191b6037f1a24a50ae, + 0xc44a2ea630bc1e85b23e376d644994ae1ab85bc7a7111a97c543888c41aa11, + 0x77192202081f2ec22311b68a7f0b9ccc423d056618a5566f69aea3b70f28e9f, + 0x123ce436faf03bc76d1fe31188e187ff1fd99ab869b546d9eafb0b2fbf94da, + 0x34f16b1581a62b21499810dd6522660d9c2f26610ffc7171acf8781e5a01912, + 0x807d4047f9efd0cc512ba346ee00b85c8a55ebf0f662ef705d8f4dde171a79, + 0x270b5ffa80304386e73f329d480ed3b469593021f55a1e4693c64e474c33a00, + 0x1f89c15141d55bb48b7ecf748cd0943714519a06d0ab3afbd2a94a883f8492f, + 0x11ee90af6f5eed3eda8d0c0107b66d8b32e6a17dce673407010b240ec3ee3e7, + 0x16b7ab46957be74e58190d876c4ea47af131617d4a38cb262b62b70aaf4ff0e, + 0x76d60fd93321271e685804588cb4f50cbf65dba86f0cd9a8aad6f2e4b437433, + 0x45c63c300b900b81b965f6402f71b0b8e32a28b5fa0cf5c1c55e8f260a074a5, + 0x50233ff3f384cb560bea1360addf95333ce8bb0093ac90c78e74f1c5b2283e9, + 0x1d61d4fa771cff422abcd90a7adc642b7737fe77c37c5ba4fddb84c417cfb7, + 0x4bb75141111bf0ee038a6007f9f1ef52f2e148a4c4b88d578e534834cae5c42, + 0x24143d43bfcf678baddddccfb60771a0d2d14ffce785fb661d19a4360571560, + 0x6a9e95eee7f4991275d18946e10292eb9215f33136c6927f3e301fa921752fd, + 0x68f1cf5b718a181084629c4bd734b3f0578375f725ac7ca958df90307d71c5b, + 0x7ecb891c93b753e43cf0553b69f3aad9c698a4ecf51a676a820d80d9f833fa9, + 0x29bd149a06afc42d6b1e66fd18000a12fafc8efa51cd1694eae0a37e45748d3, + 0x6f7fa5b662e47dc735730b03b392220dc87bfb29e253849c5d02093d5574ec4, + 0xbcec61b41bf601433ef572ffe4d114292b65df0ed8d92f39f4fe5b7f2c5461, + 0x1077d16201398cad29b61612b04cd198851da34149122038cfcaec4064d8622, + 0x6253ad5e0276558943f8655ab0bfe46d69b41584cfc6e6f69fdecee3677905, + 0x212d10c99f2dca0c8d6c9ddf683434862371e18e117d41bec0f36f80336719f, + 0x66436d145795f773cd5433406edca9b5a4e059a25b8dbcb98d0a3827ec00c51, + 0x4fe69459b0ff2f8b720bd2d6572fce8d686f6c2ed9680e850a8d126fdfec899, + 0x586ec395cf2a70ff2d7973c427b2e1cc6df16bf554c5a6cb73d15ff6dca5519, + 0x18d5ef04e3e896fe4438c92a8b8694ecb304c4056fd7fad9c8eae5216ef156f, + 0x78b97abddde08b54155ad50dbfe2acb3e11b52a21257830a3d6c3d4144e847a, + 0x13e68f70e2da809364a39c25efd69ac352d60d48ce8bf41fb34ad9955442bc8, + 0x4f6ace0595054fe64f631ae119d21f390f977aba93481905bd7acee1e299294, + 0x55097fe2cc438c9aa2a3dcfc88e329b68d51adfde08b0dc1a9af106607bccd7, + 0x33ce9495cfbbaf35ca2537f529790006dce59162276a83afdb6849e567055a8, + 0x54c473fefff98dcef4e242d0862aecd9b3fb9a6f360ae8ef784f6dc2a3240d9, + 0x3af061cdf4917d72c3db72e6f8a8cc22214bc3a4c56b72dda06af513643129d, + 0x6942b5ff3847ac3eead17dab812b759832c7344ffc26fdb8bf723ec9947a211, + 0x35d1fc7945f2418fa528557dc084f24d905703379b4dc49c44b53298ffa7316, + 0x411e9a4158c955d11fbe2a01708adb16ff16d66f09cc9024e5454a42d74c932, + 0x6d0ab92057f593970530d5b30cef8dc9584ef1797843d8e6a446a66ab05b3ab, + 0x2c1a95dca3674e9fb44fe6abe30a228aa1b97c497b510a617e550f6e4983081, + 0x5cdd648e2a5610389c3bc39eb583584091a5a9b0ac17cab5b2755221341497b, + 0x4c8cd0bfa4d9cbd6b7da0eae87dc6b5b982d29189e31c351374351515304e7a, + 0xa89dd77ad5390db1c870370255dceb3288de11f3676fafde0fdfade6b35473, + 0x31dd452a387dc9aa7df2cfad594c1f37900c020ecda2c979df8d0863e0e1f98, + 0x4250529fa3f10f52902189c97bcfc8825a7e89dc6838d902a4dfa489b81f66, + 0x8e4b64d7fb35cc92c4a78851134603f0a3f32faff7cc500824aee15ed172e6, + 0x1fdd52c4b97cd634d8148d5a790de3d9b2412f7040187878e965d25a6429f1c, + 0x6319187de00133ef31503b963ca71d4e464e99d9321afa96acb0b4f6ec4598c, + 0x70c57d0e83540c38e4e1c6020671d5e98010cc464c87597f90beee684fcd2be, + 0x2e854372fbe4e9442ac52ca42b7be0d16c2fc8fc41a06eb5fe524fe3ab39e0d, + 0x1a9bacb3a5e7fcf353c148613b6d4794d4600f9147dc6168eaf401408111b87, + 0x7b4df3f16f8c7076f897d1acc3a11bd3cf7afa70cfe6f6bb6ef4376d760e64, + 0x2a09e61311ec8b21b93c8c364551256180cbe6f6a682e9dac5d542f8dd9b414, + 0x6b3a58fdbf43cbd23887a02d02defc02ee5e04f8aea4d56858c77880a662745, + 0x1790f35e4f093d46826bc76ab17ed4ed9306bfe74e7dc4a9908bd42b8b48b88, + 0x171a218f686f0f1ec61f49a8bcc15073d4ee0fb22b877e87cd2502f4b73fac0, + 0x7b0822273b0eaae3641f0af9367f0dc1868fe49643d899da4898a9c72a734fd, + 0x4feb925bcd2400932769b309693196a0d43baad10df6f7cfdd811bc01ed919f, + 0x1f56877b557761ef0e5fab28613d5263bbb5f01955955d78ec4bd705e921a63, + 0x8f4d713fb45b1dcb185dd65cdcab1807ad22b79dd2cfcce169bd9a376a97, + 0x5557434befaf90f802e8104e4140008c2ced87b12c760454da179ecfd759ba1, + 0x1fe1cbc6cfe92513de2e385587c67c81be12f1a744f26c5fbe5274120efcc0c, + 0x384291fee5c4f0919f5c7350ead82f9988a9452108aa2afc8225cd7316c409f, + 0xf631096a9a4bfa218c18b515b54060ff2eea57efee399e4459b3f50ec5c868, + 0x538ba90864aa3da09a9764d163f56d11bedbc5a214fa17b6550d3767df8257b, + 0x4130cdbdf4855252aa96fa3ebb8a7fe876ab09df2e32cc9f63e8dabb7a10199, + 0x20a51fc76f850551bdfb34b54a505adb216ebc057c682fc22827cf8c3f93143, + 0x61707ad69974d13cc1d80c7f95a64adbb43efacd1d7f7c77b74bb7d7cbadc08, + 0x5a9f274162c39d2385f25272581c5d20eb1b9207b9f2e21bbaab7836b82446c, + 0x3b3f7c47ad01e5c4d664bd937d39a2287b51158b78a78958e4ed935f0ff356a, + 0x1727c4845f0d27e9845d5192b3068865b8df5519c1f8153cc35f12cf8c0627f, + 0x7105987aa664ac789b3388832e585669bafbee41509178a796dff43426dd666, + 0x2666a07c5a886794759e217d4889ea45d303140264f5cf37f65b47e74a9b486, + 0x6670be2d0acdcfac1bd40025e9a5ccd4c260593a88f7ae40b7468b2a1c01045, + 0x7a49be4920adfa9dd254293cdf063cddc5637051389ca0086601543e7ca2664 ] .span(), }, From 2dcfe93cf75e1231d2f3c0157a8cbc6fcbdf3097 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 7 Mar 2024 14:02:41 +0100 Subject: [PATCH 37/48] test autogenerated --- src/air/tests/test_autogenerated.cairo | 331 +++++++++--------- .../constraint_coefficients.cairo | 184 +++++----- 2 files changed, 253 insertions(+), 262 deletions(-) diff --git a/src/air/tests/test_autogenerated.cairo b/src/air/tests/test_autogenerated.cairo index 89f8f0733..1d52501fe 100644 --- a/src/air/tests/test_autogenerated.cairo +++ b/src/air/tests/test_autogenerated.cairo @@ -23,11 +23,10 @@ fn test_eval_composition_polynomial_inner() { assert(constraint_coefficients.len() == N_CONSTRAINTS, 'Invalid value'); - let point = 0x295db9e6b36bd5b5d2591d7d76a57e241821fd478b9f667778f0a09960d3a0f; + let point = 0x47148421d376a8ca07af1e4c89890bf29c90272f63b16103646397d907281a8; let trace_generator = 0x4768803ef85256034f67453635f87997ff61841e411ee63ce7b0a8b9745a046; let global_values = GlobalValues { - // Public input. trace_length: 0x40000, initial_pc: 0x1, final_pc: 0x5, @@ -38,35 +37,31 @@ fn test_eval_composition_polynomial_inner() { initial_bitwise_addr: 0x9ea, range_check_min: 0x7ffa, range_check_max: 0x8001, - // Constants. offset_size: 0x10000, half_offset_size: 0x8000, pedersen_shift_point: EcPoint { x: 0x49ee3eba8c1600700ee1b87eb599f16716b0b1022947733551fde4050ca6804, y: 0x3ca0cfe4b3bc6ddf346d49d06ea0ed34e621062c0e056c1d0405d266e10268a }, - // Periodic columns. - pedersen_points_x: 0x347c3b5a473a369fe0dff299f20584e10d90a74d02c860f2c05405a0962380e, - pedersen_points_y: 0x6da3790bceac8aa7c3ee46dff8a34b1eeff45f5d4b5a5e60f07caab341d9040, - // Interaction elements. - memory_multi_column_perm_perm_interaction_elm: 0x46ecc57b0b528c3dde60dbb870596694b2879c57d0b0a34ac1122ebea470a8d, - memory_multi_column_perm_hash_interaction_elm0: 0x207a232fb05d8c8261c44be98177c09634d23e7aaaf4838d435a4423e3a025f, - range_check16_perm_interaction_elm: 0x2984c71a0d0a47b1d9a406f6c7be890100941f67f5db0656970832e51d48ca6, - diluted_check_permutation_interaction_elm: 0x7793f70cbb5b4ae3ac72e5bce7cd46d62cbe169227257e6925e5564e595ff88, - diluted_check_interaction_z: 0x3c48e3094aeca888fe6781ad7594d14d7f88062bbe320c6d6913f44b116810, - diluted_check_interaction_alpha: 0x1d7304763d588fc98a927959788ad2f21d76121918994f14fc417617e6e9747, - // Permutation products. - memory_multi_column_perm_perm_public_memory_prod: 0x222cf8713d938af4954d6e3c98921720e296d5e9d21d5cc9b562245a009af1d, + pedersen_points_x: 0x3b99115c391c74e0a1c4d552c32130023843f519e0fd9517ac9ba01959591ae, + pedersen_points_y: 0x3e3a5bebd5914636340491736919e1f9847ff4690da93ecbb68be51fa836434, + memory_multi_column_perm_perm_interaction_elm: 0x4e0295d5d071e74058eef68f686aac70757fbe53d10971f6187a0e76ff440c1, + memory_multi_column_perm_hash_interaction_elm0: 0x2f73db13acfcad0387e92ccd565128e7e2c24026015ed4c0ef8619a213019cc, + range_check16_perm_interaction_elm: 0x7ea83ddd48c6068a1a11f3a107ada2da689636c6028061ff7fb8ef8f2a18bef, + diluted_check_permutation_interaction_elm: 0x4bc33ab9e5b3855f07ad50717b923e4f8bea45737b6462fa60c27e32b315d95, + diluted_check_interaction_z: 0x1c695cf20c4393e7ffe8d8c7efcce3797f0744aa575c58b99728a573ef96529, + diluted_check_interaction_alpha: 0x163023769a9ccfc222f8cb9a71a4630d400cd89c34dc14718e907fadc66877f, + memory_multi_column_perm_perm_public_memory_prod: 0x5c34f8a8720acf734afb0da2942cdfea1cc640f6021208fb11c2c508f8e8d49, range_check16_perm_public_memory_prod: 0x1, diluted_check_first_elm: 0x0, diluted_check_permutation_public_memory_prod: 0x1, - diluted_check_final_cum_val: 0x77236c66f48bc3c27dd07478f276be52b473a7ecbda1b8e6f672824e4627da9 + diluted_check_final_cum_val: 0x78301d010d16217d6a9896f2641b4c0d9741996904cb2ca4919714055e6580f }; assert( eval_composition_polynomial_inner( mask_values, constraint_coefficients.span(), point, trace_generator, global_values, - ) == 0x245c787b658a0461241e840f1ffcf76ca5d29e6571e7a8edd80fdd968fddd45, + ) == 0x511668bf439c0999c57d3c05c9f1bcf12095ef76d5a032985bd2350f1731604, 'Invalid value' ) } @@ -76,166 +71,162 @@ fn test_eval_composition_polynomial_inner() { #[available_gas(9999999999)] fn test_eval_oods_polynomial_inner() { let column_values = array![ - 0x465cc38930fc5209ab9c13e30b61f166da9e900abfc26ac7ce2f840b121375a, - 0x574340d33431f3096eb4d2f2a7abf22d95e36ec938b6627269fef207b618241, - 0x7f1a146e05c096608ca7a7222a558776ba1e54551c23b13cd5b99477098b24a, - 0x2be63af1ebc4b5e711c5531eb3b3f5a52d26c5fc825a3460bcf39c8c3def44c, - 0xc1460285464e30adca071c213ae51fa7c06c3b53a5d8137ac9cd657c1af0d8, - 0x5b9f7c683cee3855ae9aa71e3d6177e0909f67fbcd45721f861f7c7780142f5, - 0x4208c4609b8535aa6d8016c971d0baaa41ae81fd757d52be5372aec063271c5, - 0x79cbd5d9008c17acc9db4a02c8a61c348b3321d8c5fcaa977052f721ca6331e, - 0x1ebf13deb07846470690aba50e67899c1b0d7879b0b4f80ae20e3ae8aac99c9, - 0x78c7aab3b9642278a45a46a5b3d8c084e15b863db7fc88b8b446831136325b0, - 0x29f2c6eb5bd093c9b6260c1070d21c6f96568681ecbd2a8e593fe88811c5cb3, - 0x1003d9936322ad4c6218fe18d906b9e6b70c2146685c27fbf7488644a65c0bd, + 0x5900b3cc21a91beadc7d227c7ab4de9d8666bbe9cef8cd3b53c96227636baa7, + 0x364ec5a537535bfed197fa6d37ddc5059b46f7ddc3106e32c869c4af92801a4, + 0x3e0ee23636524e70df1d826df10120ba276b4045fa3cc21f68b80aca8a6bcf6, + 0x1615927ad08e7071d224fd62277c733856264b019f19348cc06d12c818347a1, + 0x139bc4a27e309456740143e4d681d0482789ec7e6464b4fe0d7ed276d87c241, + 0x6977d98591d84c22adecac4b4dc42a0b2e609c0daf993e538c9720521dbf02d, + 0xfa852d9525f19f876b72d275a75b63beb87c7f5934285378e8163804ad58aa, + 0x12c213443cac1d7138a5ecc07a4eca17719894b5503fe5f658186066951ec0b, + 0x6bf897a3f79da8666994fad140c1d7916c7e27c9836856ca160c1a49b28b408, + 0x5a4730e9f179e6bb22412d9a14eb5bfd8c8e5197b0fc0a962a94eb2d8542ea3, + 0x2187d700f2a286da191941824f267f4199e07cc1707b5b346868dcb718c30e5, + 0x497821407826448c240a13a2b2c2c15c47fbe074d29c2446a2bf63020483765 ]; - assert(column_values.len() == NUM_COLUMNS_FIRST + NUM_COLUMNS_SECOND + 2, 'Invalid value'); let oods_values = stone_proof_fibonacci::stark::oods_values::get().span(); - assert(oods_values.len() == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); - let constraint_coefficients = array![ 0x1, - 0x72dee88e77d8c055579c4a61433e11efe9bfd337cbd7f2921e0289eecf5b3dd, - 0x5407254080c87a503ec3982ec47f599c1ac9ecb4287d2f833a336ba623df0, - 0x76bed0e72ba87bd8e5e9070994e58c4af28c53da22b3ed0cf30162655775b07, - 0x730c1269c566424be289e3a2270f5902d9f414a4bd3a8b35e32d1942f01128, - 0x7e7eda8607a457eec4db85bc6ac192ad98c3f2581b3ec041c0891eb2aa78c, - 0x2a0f0991caba8389dbf65d8e568c4736f9c37929faa1d89a359493fceebc678, - 0x1175f288ced0a9fe0e556a1184212c15506f71e7715ed9b9c627578d1cbef9a, - 0x62cf5e53585b02df69c77fb4c6351d3688c1feac3d5c693ec9f1240a4f5eacc, - 0x59a791e285fde54ea456c7a70853ffa14ea9ba2d688c68bc56891747989fab, - 0x21e515f9fd61cbbfcd87202ada6f7c7f8e8f623f54b70224ab41124be19974e, - 0x434fd994ef0b640cff8ff7d3078572e1c83d6588369a66289c2e04ce139ed8a, - 0x6d6cf1b1c15085ae01de41214231318914d95f20effafe3d96568d7701029a6, - 0x37bd6fefb1ab211170df858268b5ee6df4a8998685e27849dac33bbc640f531, - 0x24dce75885267786a015ce77f7248b3ae6a0c82d695da5ea1abccefdb8ff571, - 0x5cc8e8ffe73ac2024c70cc8d7dcba66d97285ec3ec1af5100f0c54bdfd304e, - 0x6a4fd281e45bd28ec8a1696dbbc1d1f1a0f61465889a8394c62514e6912542, - 0x4e86f2babb89acc00463c137628499c8f2f51138290ee27e468ea3d3c0589bf, - 0x3b0f0ce8e5be4b168af7b14c678e861aa0579611d7f9083ba0fc7f8876bb128, - 0x409dca461557554eaf4e70a5f74c52fb5460f0896d443af02f4625811449dc7, - 0x3cfa4ef1dc50d8324cc59bfdc0f731a97b2f1338ad4f420781f7b593714afa4, - 0x576c2b82010159b91e823b0ebecec7793da834c875008f90f5c5822d0e8fd1b, - 0x6b65e5033c372fef8bc10fa66bd972a0ed577e6547801ac0d0379a0dfec9c21, - 0x6d25e54c937cc8ae1f6e79bcac1f1abf32bd946da6d906e3339991a77a64f08, - 0x3e0fec5981eda794915df4a1c9b17c4ba991cee5b8b75fb05a654c1ca4058ea, - 0x37f4a17ebb057c9bfd29d54405e87a5dc573eda256f1f8cf9b7683e89759087, - 0xf637086b64bdd0ff5806a6b5a9183aeb2596afe092af1cd4cd17f0c45265d, - 0xf9e1c114f25f966e41a1099d7910574d145034c670c6c47b0c8c06a7b10ec6, - 0xb98caf6ac90a2db2be413a82e1384eb70654fe09784ef26ec9bd6974078995, - 0x4603ceb52efc3ef1e83a3babce290171138a862b096a1950096668504b60434, - 0xa8432130449cf0d17440a25068c144501af2a0dae225471324af90554138db, - 0x5e2ba735cb03c302f0964976ca7faff372205d9fe79c1f4d678a952affe7c92, - 0x7594e3859664881552a5f643c7145e4edac92326c8f1a6d3765eac3168f8618, - 0x57466856e5f98912e2ebf6f97d33ec5480527bafa41c5dff0e7022b5275cafe, - 0x5d3304284c1a760fea823062c1a477e1edfdd490c873176cd8d6933a06a80d, - 0x77986cd6e98a77f084519b2b361117cc7249af9172c09a272df53cf3ebced4a, - 0x4a8da534fd84998233b6c36f56ef8945767c2e6301087807f90f521070bd89, - 0x2d50b8e37261a0c86a0c0eb0aaf14a09ed7958d249d217d8f6369561f2c6ee8, - 0x118a4a2125bb44c78e12f52dbd8e6948e66b047369597b21982bc529b6a1947, - 0x75c73b587b0d932865f70b4cc0d9b81f041c46217beecf514839231265e987a, - 0x590183ab520efa35c0c6193295f5e296ea20e8a75b70f9135fc98d95fd2313f, - 0x741786cf9ed2d11af8b37bbae63eccdc14b0896ee3cf9e889c8a139ff00d56c, - 0x5e2ee7e34fde305a8adb5c5264d87dd6d4b970b3b71939e585dac3e7d3c16a7, - 0x643d33bb3c2597b1ee00c123f9112337aac4235e70ea83d833d21edb50de9f0, - 0x342a48ace5053aef4aed83d09a25f2253053aa5118d9302f9809397f0fb5efb, - 0x1dfb90f7fc485ad9bd6122bae398d1c7e4bf0dce4ca3b47e249a6444a32cc4f, - 0x2a611dd0e19fc7f0f505d0ba754d0c92c5404fc5440c2e9a1ef6b0c4cbc5a78, - 0x5610ea430c043f198898470e279614c659bf3aac5ec7043714d0d6a3c1837ba, - 0x9ffbf4da715c575a8f0a1e640ec38f8ceba6b7f12e0ebd063ea0daeb4d9da4, - 0x261025c5ee7bd6b63f72f9e76785732d0f3c4ba4bd2cf9174f93650f542ce5d, - 0x627898d4a57f9e27687e1653df069cb45281b48bc5362c3a7f44d4636b9cea2, - 0x5972324c2b7121d75435819900a4795ceace865772e1afb77a5bb8bb6ae0009, - 0xf0bd46ec38a1f14ef5c3a96ee05e1026eb93469f3ecf790d3ad4a9588d0f6d, - 0x4198f3b59a172dae1264c562423d8d32f07285831fe7d329a182b82367857df, - 0x67faf727751602d5e7cca400560039c70d47e3c70e5fefe65a60f832fe3a069, - 0x1afea1dd74346a1ca147e07dd661adcfd400ffe1481a74b46f6e2d725f80c4b, - 0x5c033341b7ad3a2452c6e757c5f7ae0b393f919b45c43421ad1dfd5491e97c8, - 0x68bb2aefafef5e20e91be06308c90f1b4520dfe10382fb5e6e44b1549d92f78, - 0x649d3e1f7946df7db63788ea6d197830a67c383c584b70955d2743b896fbb64, - 0x5dd3baa2a75971672eacaba095a9346e34fa2b145ff2ac0d5b125b486a4e2e9, - 0x4ef4ebca1a210bdd5e356ee2589e9dc77ddb5983a3387481f772397807f63bb, - 0xa72436f152e7fa40babbc0cd86a72d57e7f7cde406de125d513cf70dce8c31, - 0x2bab09c9fe10d67b86a4781e975fbffdbedd3bd950c93a3531a4ae79a979bd8, - 0x31b17ec0b68b4a0023f1c090a6e11212bdde940f8301fb01148fec7d609f951, - 0x49de0a9bea5294cb2aa83e6ca400122cddfd063e378bd55c63e0f1662ec5fbc, - 0x6c8127cf275bdf2e67fcea0696239b95c4313e3884806c0f300e2986e24d4e7, - 0x5c93e34fd8777a9dd92a5a46c6212817c71260ed60c37e6069c5b1d659b5bf, - 0x5edca068d18ec1153afd4e33777d176323a52de7ad6c9a0154985ba5ae3d97a, - 0x45435bef6069d5b898a412b6219f9f2979163dfc942936af554ee08d25f93d8, - 0x766e92c56b355f04e299defc8974aa38160c819424fcaf6773c33d7d4006470, - 0x59b207365353eb41d518bf47014ee06975c22ee7fd3dcfe08e988e84712738b, - 0x6024dd3f17165a71c2adc2b2c0eddc3b27c76e68206202264318c3061a0afe2, - 0x4cbfb7c370f8f87b54579ab45cd7999181f1247835dc6e389e126224fadda0, - 0x6f3694086acef1ea51e2cdc0dc20c90cc698d9f936459ed545510bf9ec2af9f, - 0x1ed83fb7353932a1ec36faacf794c1732c207c370b7b15eeabb92d8879091bf, - 0xaae70f0c2f14c65b4436ec1cbad4d48816510c45965f7ea78f813e5bd0d06d, - 0xb05ae02b4f6278649b0b8a3297f790b3c054ac1b1327ef492573be804c3f23, - 0x2a8a3a59fba53d308215153d044cfc643bf65bb20d8b618078b380c21e518c2, - 0x2ce2cabff680b283c08c5b2b755c455a9ca7cb0192d555367678af9c6d14b2a, - 0x3fd885cb197d8c05117c181fd9997e0eaa3cc6b5576e3bfc05203501a10e37d, - 0x1b8a6b3346e34a0c71cd4f13fb511aa257f92389119cc0774b83e2b9195d200, - 0x402b16107e08414da75860871b071660c6fc7308f26ae30acc2b9f66bfcd2fc, - 0x6a8be0236aa075438aada8e4fc2739c8ceef227ba0c782304927e8710cfaa08, - 0x7eecfa6834074b291a5189f7c749e4c905ffeba00c2161c195496d398d0333e, - 0x17a44e861a61f5b098152fa2da18c665faa501947130c054a99cda31c44621f, - 0x3f9ff2750027ccc08af0ca84eaccce13cc9d371a5b73c5fbe33f12e2a2709b1, - 0x41acf3a8bb441e83ef3b8c24ca5a2ab1d963bac6c2ba4fcd69a8fe9c3df3ca0, - 0x43cdbdc3bd56ae17441027027ea03403a98737f93629c8ede91dd640e65945, - 0x31d89e1632154261200d85252072222b3ebf43e633e0c77be4706125210a549, - 0x560ee12b9be455ec89ddd8a9e499c2ee445aee241355abf55e6cff448f4669c, - 0x579b601b281c0e83f7ce1e0bf1d851865f62282777b657ea15bfdf64652db7f, - 0x151efc647fa24490b0b31378276895e7894bda6ef48357cefd2394d80a67fce, - 0x2ebbc5252afa730020a98d7e0a0e0efac768275a7dcaa1110059f373297147e, - 0x7955ce18bba0b2dcd22e9b673ddeab9902b6401201cb39743466a1b8545468a, - 0x74caec3d453dd21a7dd297975e963d3930c7c823ea3850d5401a4da0e6251c5, - 0x4e71f8c0f21e8918777bf96be0aa3808957601a9bddeb48d3a7ee63b4b3e4e9, - 0x77b2206bbdd62c2babd86d9dac63a62579701afd9a04ab1f1c2bbfbba75511b, - 0x3fb9c135f74c9cd6dd2e86afb370c5f791d13911d45729a6f84614b4bbebcf2, - 0x5c5934ccd66802cd8d944906d607573fbd66ce49feb9149ae7cb1d17bd4eb61, - 0xa6f27c01713cdf4cdd9666efaf13db732d8281c7dd5d9d33d978d3cfd27b45, - 0x47ecb33aff0120c167ac0c5e235776963fdffcad1d62fdf5e67763f41226604, - 0x6f0855746b1e02d0e0a67f99b8879dd1458565f615fd2391efe910add6e9921, - 0x519efb763c11f0f307c6f2ea12b2c00387af05246505d7474743412daad5b4b, - 0xf4dbaf812c1f916360334960996bca0fc477cde4c3e8ccae806d887da3a6aa, - 0x785b28b1c1267e16deafac0280382f68867ecdbd180ee6b0a1b8af85b5c7e01, - 0x2a2500147d114e38910f17873e0618ba7d185555c1b229a9e5fdfb242b5f4d8, - 0x7c33aaf399390f2cad2a3deaa9c5f27611f9cf48e1ebaca3bebc5da4255a8b1, - 0x49697dc3b71f0843cfee83342f822788223342056ca5e6acf79f55a14c13d4f, - 0x6fa49aa74a5cbd47fbef4d6539854af2eaefdb2cb1e85460364f19ddae50d15, - 0x210ee50a67077338f0a85536b354316dddeb97e0785bb64db7274ebd8585ef1, - 0x3e17635aa0b131f7202991d70c6e5c7d2b81b5533ecfb0f2cc0b938a8c1752c, - 0x3ea01277662ca0d6a23618777705558661b1f5ea0124476cd90215cf51894c8, - 0x66d58de7e95ca2a983555c3696e5ff385b151c219738eaa0203fbe85fb968d0, - 0x50f3dabbb3fc7eb03d976cc16c389e952e0aceb936e4f37e1f2a9a4074187f4, - 0x3cac85df32d1aeab3354f87da4859a8f966af2b9250351c3793c08c99d5210b, - 0xead1fa23d3366c384b6cde0be00453909313dc9f13153d6383f7fdd607e5a0, - 0x46e9b7905af0b522c4634a239a9d44f7ea2ee2cf4083629711e3767d69106b, - 0x52083a259003c124cbbc1a0ad663a0615e7ebf32591fb26d0d087df5de3255f, - 0xb1d2b60782351d8351339a93360afdd073ee468006d8b54a0287ed3ae71264, - 0x67a8631ba50876e13b2e7f6cec4b1bb1dfd7f21ffc069cde5ace72547318b18, - 0x444c40553657036980ee79ee6c5dc5bfff83c9c485da166785fe3008ce65d61, - 0x2a28c984e787ade51ef6b3c6252422b6cd25b3e05a5ef0c279c474cfc624ea0, - 0x4c6d5aeea7f478e0e2389c1ba5d65b7dd8b1058217a26cb5d6c3a5b2e98aa2e, - 0x358bf0d97945dd951441ad716c10e10b98703abb2672f108cf7faf6a1f02632, - 0x490decc7ec793cb4913452a4ad04d6da33aae919bcd85752cdd0d60ed61ae53, - 0x5e5b3916e0050242d8dcf649c87612bd1797d5ccd0f912a89ddf1f3ec728bbc, - 0x6683b458297e84380149198f85a337092a06f06ca76d94d6ad03115792916a8, - 0x373d59b6aba0e90f9f4051174f17dd75f5d4d700eb170c44b7a766617e31d20, - 0x18de6b6e56e09e8d6ab9abe0dd5277b3f753ae60d673292b678a77e14f2bea7, - 0x19b2eb3410f7f9eca56582999fb6703485c244a311b2433e4c6b9e788aabe8c, - 0x6952d2c63f42766e96e2eb3c3072ff08d19ba88501181ac8906e0105341b211, - 0x3e6c3b165a5124c12aa92a8024ee35a21702fb7edf33097f50e5d1d35008db6, - 0x4fc3d979d8c4de6a949b1b35c99e7c704faf8f5a81ab2fd5a0102c9340c4de5, - 0x732da191961f02806365bcf361974f6230a46725af95af485d9df03caaef32, - 0x62e58e63775277094b3a3c20a52ba1bf206da70eea6a79c56a395df5d6b3c22, + 0x2d0d0ad7f32fd0b0f5fe5c157feb7007baa104e9a151de3beb77548f0a9ad1b, + 0x7d5b06b7b2a583ac90151c3e9530b804195a337472eb61bc81b75763f4abdc2, + 0x39b16cc99c5833138a5795fdeb4335f2c07fb499ecbc1520e2bea1266d49d2b, + 0x4c1dae026b30cc8eb8dd4c0d5a28dcb8d028b2d961f2e32ea5f6503ca405658, + 0x5cbb13bde350753ccbae31fb271143de7edf97a36d4749f6bfafaaec14c8ef7, + 0x48862b8f3f49c82b6f39edf8f7e7e25d60c6be4c5daa68e9972f0dc3c894a2f, + 0x155b7253d4baa38b0d2c74013b12a928991857b4e265f1ac6eaa712be2d20c6, + 0x67ca5402d1b4eac70b6b480f1169cc84f333360bd219bf9939dc5d38a23befa, + 0x50adf03b2b141cfd70c5f47f6c29263235aafeb3c3aa9e8afc051345920a9b3, + 0x263508a912f59515af8638fcc82ff84a14bbdb4538cccdc31a0288015e6c634, + 0x7141789e40b93bd2dbdd20d8cd4582d862ecf5f368b1387f18829e437daacef, + 0x77b25dcdab55b1b7436af4e4127aa37da15cf60cfe6a3198ee95116f63ddc7e, + 0x1988e062e2e8c59172d130188cd856840ee7dc0002d828b9a3ef0f9bf953ec1, + 0x6e7ff202bb2aca006dd912016e395987c939e37c5bb55fe84e59733b0c05a9c, + 0x79417edf98fa2067c6a986a908fca70c84bcc21b05bc0996eb3badc6f3ac806, + 0x7fd7802edc7cda567a7afadf4318c46f8c3401bd4ac289c142cdcc5dcfb015f, + 0x7b59987b0b60021be0603b6da7bee08cee00cf4187e7a46c57e07c444a2f7a7, + 0x62d4e1f9b7398c0e3f21a47d4b7894397e6205f00632e09f58683f275a05a47, + 0x41afc0acdb24c4a21d90c9e1d26eae2add9bd4223b2f0701a279aef161e4afd, + 0x6eb3d355dad4d6b9de6bc6964a64d0360162dc138c2421cc8c5983d85fb9930, + 0x5885ff622c584616c77ea9cfe0d7be86260254f009446d692e6e2c95002e2e2, + 0x408c0f4f159fea0254fb6d0e5516d3c5ec0854fe53f420690dbb8bda3cecd9f, + 0x7bf330c278f640b40044cbc03b17dcb925d4bca9c4dd753bd36fa73fe64f2b6, + 0xb821e205c14731c116b7ba585f5ef14919291e56304d6131755c93487d57b5, + 0x63d6ac3daae6eb8c8a108d8837b1e1f9b814a6672129954d2c19d960b970de5, + 0x56984c83a9a2f0b0f0a10b30b3790080e1503563948365104c8ff140d2c78b2, + 0x6ace2bc8eacf3fb502cab0dbfaacb99ccdc7c5cab933878f0f00ecd4306167a, + 0x15bb3ff352e561599bd8b42ef46517cfd45ddfc7ab0032876d429a04c425850, + 0x72c94f8c4753f31f02a7674570c734e0006012fc4ec439ce9839aa120eaa4ae, + 0x23f2351b6785fca8e7cd4c2231f1c653f685e096887ce3002858c06db5ae808, + 0xc6f530c9000ce52aca56a6266f5bde037c75e84c9d5a0f1fa7577e4b276eba, + 0x275f5489f6629548d7d1e9dc42ee0d68ab862c0c6bc840b7184e832c28716b7, + 0x708f0a7598c158818da04add3a3a94ac9b35fba89532c567667db0b67922a68, + 0x2a68726aa6d0e52c705915d0829e3b20337df89bd80697393b9de609a122d54, + 0x5cfb1a0480bfdbacbf434d54660da1b4071a02616d22c778a045dfc773dc207, + 0x56d8a93ec7d6d9b50a915cf39a75122efacfe89025bf057008afe564d9432c7, + 0x73cecef8f88825b058d10ebae2523540fd0250cd9d9fd0d520371759041c235, + 0x3a50c3c98d7d713cdadbc0c0bf0f7e156e8681eeb420f9a239c8b30a417f2e9, + 0x5a97fe52d11862b3df7c9b46406271188350c5f5c319d19739b7479bc39af8c, + 0x36d28ec3f6dc71e00a182d088dc1ff94f443c009b52cf671a3e6e9b40cc1471, + 0x2be34062e9a0e3ee6b92db97f74e23407eddee1f2b059ef050f4c23d6d30f91, + 0x6e1de2b0e184458047f15e44f3925d27913044b3d59bc982256eaff7a37bf04, + 0x30b1757d533dbf540d7a6717bd1a76c95209e1094ff961884e3b51cc226572, + 0x6ce9f661ee14ed07929289fed6eb777d4c21ab540000b3ab1f23f5d4b4a5c32, + 0x74606ac3e2d9448c262b42fdc8a3888fadabb88d8cb66d295b1211afb37b15d, + 0x242875c8b7192ab13af8a3dcccae9f81dff3a9753af23a5842e46dc612e54d2, + 0x69c14cb8184227f54d42edf67877f47a9b920067c3764de79d2366906d98f2c, + 0x9e852fd35b869d9bd613ea2c52c90f959035035d98a562edba928c9ae155af, + 0x1c9fc0237527d822435a9012dd59d5bb4ad804d189ef43a5604e842c5fb5efa, + 0x34a22c8d4fc8027ee0eb68ab0cf135438fe1232d75d5c40d76fa66571bcbe8a, + 0x363f8f66f6b23362bf62e99503c3a6699ced2b3a41bd7976c82b6c1a663622c, + 0x4e7832f85f0f6113cbbe755b869264f997193d3b3152b384b8eb97fb268fc00, + 0x63d1e42fee3655ebbad44d80c61de04fe0bab96220d9aee7829606487e9ed1d, + 0x2cb09f415cafc5be40fe3618252e4d5810a7ab8a57f3854a100352717568e4a, + 0x20f1d7ac73dba474684361ec3a9a3838f565dd53716651245e7a9e2cbe23f50, + 0x396a68bde0b0b86a37a618a1ba1addcb07d77e24ac83af4c6fdd586e7d78903, + 0x2bde9a91089cd6df42a1cbf54e4f84a53ade71ad6184cc38730d326f5f5ec92, + 0x4e072eaf392e616a6850550a53ccac806ae217faa00d0ede040c36c7a554005, + 0x78ba441eeab39cfea8136e425a8a218fba0f46c6883cdc51dfb3b4743e5107a, + 0x74d2a90d7c4427adf6aa0a8b89719bca414d4308633013243b819eb9e2dd3c3, + 0x2ef227708e7128d054963515d48bd541ddc3452fb1b45c1377c09550e9ab9d5, + 0x6b2edd04228ffef61e7182934f21801f1ddd1413c321d7c32cf2c80265c4457, + 0x157dec1391838627b0b457de8f88c0b776fb85a7eec425de6847c42bb44b598, + 0x53b27e2fb6ab47936d8a4705bb8aa49d0c803714c10ef989b7e53c6b84410e2, + 0x6c93ecf7ff3c8b25d5df18aa7587399d7bcee98e4aa3b8c8999dda95a23a141, + 0x7ceb67970b7081049ae30f17dd37dc5cf0af78ae2e441bea5c886cc1e2fa7c7, + 0x5fc4a13262e209a7c567c6df64e2f2002ce6c3ed104c1e0602184aeef727efc, + 0x2a4af8fd4b61d1c86ad29aee18c01d6416c180c7cec7684afe9795d3ab45c55, + 0x332c7e4534a488602aa2f4c3a10e19792d85ac07bf946a4afc9a6ddd1f8f72e, + 0x61e4f6912b0719c0fc9779c632bb7b7dfa6e938cc8e30380ead132f8838e957, + 0x1c3ddeb719ea829b1ba9266f807b17433d89f2a389e8905e81391b55125069, + 0x6c15d84140e38f3d6d8d09da2bfbd02faaa7927613bcc701db2695728b4940, + 0x3cad9cdc9382643788d3dce7037061412b69a824483db5175de5bc219986e43, + 0x5e66321e2b2c09f73bc079b8f66e004f60a01244d97074f003038318ee89b44, + 0x205345c4cdc25c8b016a3b1165c33a56e597b75763fb74ecd7b6438b5fcc54d, + 0x11f95898d99f4887dcc526deefc68a393a858ff75fd71009cf43f861addc85, + 0x421668381458c571ccaa380061c1ccdbc60f5cb3a9368c4a8f767d45b0665a7, + 0x135f1a6848f24d49a8cc0e4519d809d3b6a9af7f64be46b7d4fff4ebb549e50, + 0x342c798c95c7dbe248f3e681ece954eb72ca52412fcf414cc34d35a5b87ba6b, + 0x67eb3e21820d89124365d33c46ff1da1c78327766fb8404f992584b3480eb8d, + 0x7b77a2797301540ba3a506230d974ec272a27d562c87c42865851ea1d286557, + 0xeb6c8b1f5447267ff51c92606b0b552834c6613fdcf0d1922ddc15cd03ee86, + 0x347d74e9f3efe16c4f37e6ec061fd59a6f9791c2c8f2d1506fc729d8f7a727b, + 0x5fe501eb0a68ef4aeec7372f300dceeee7eb0ef64965dedb2890f1b7bcb797f, + 0x4010fc490fcef15d1b06700961b86e24263d6f6f85a6f92fea85bebf016ee0, + 0x5f058f153e46e3a18a56926c4d5d7ac6b66b7a610e3c25ddb85d09f40e1cdfa, + 0x3343de357bf07f000b2cd067ab94151431fd22b66d43b969c8a07b556781459, + 0x6aa840b7ef8951717fb44aa80bfaa92f030ba7e551faa2dca6ea559f47b1036, + 0x50aea635802b82c04d9d245bb1c0a828fbf42430850c670e988ea9a3adb273, + 0x16328010686678a64012342cf8780eb69d35dc02a37046a14d17e117fe32653, + 0x6a5b8f438653f85e13965f3efa1e293323fe2eecb03a0fc3711323b8fbffde9, + 0x2df71baede5d14881a120484d2ca2f75a538e574ed0097161bc23f168717c78, + 0x3228ab385a5b2472dd737bb5bb469689b3570f3773d8b88a7169f60a0eb16f4, + 0x7e984692361c1e6ff30fe7a5bb1ccf7d1bbe653a6f277f04d1200aa4705d29a, + 0x5bcabdae7595c867afe12eb18bc95f826cf369823e656dd08626184b2e8b654, + 0x7b1d4829c3c2b18d7f9f5fc4d7663de2733356a1f7cc9c3e42c8bb547b9f427, + 0x44d1a864879db185a6e7abdaada2adfa01f5f47d48da398b4838d6b8e86b7d8, + 0x29dd0a6cf20f3e19820de66b4760e8a909919c9615077e536d6cc01771889b7, + 0x1a0114e202e05679c3fbf293ccd7825f765217677a6878846eb7b3b7f3c9cc1, + 0x2989dbbe362d7aad523252fd2cebb5d79fb79a716a84c7490c4a2a3724a9fa, + 0x778cb638387227062b17280380a73c992c545860fc1671f5dce50d42f0ae448, + 0x7e05b03997e3301dc32ffbb7829aef7766d0b1bbf6834531aa8a87d83a15a7, + 0x5eacb172e572f42118d31148afff3c5375d0dc7a178ad9210135cd620009fe, + 0x3bfbec45ccdb56aff8d258c1dc71c9bd5a28e6f46607d66fd43ae2bd061bd27, + 0x27d4bf9944ebcbbf92e68964a19fb2a79e905bfc418b6d49b89b573de3e2a40, + 0x7d749cce3aa457f94e2bc440496de97289e78da48cf328ea356747fbc835fde, + 0x181f4bdad37ed027a795ee1666672a3e3b53d2b6bcf7867467cc406fe749549, + 0xc299086b6bbd0092820a438c19ff4ce06568358f7f64833573ba08d6fe190f, + 0x338d815dc41408eb94f16e9b42e573f74a7469edbd4a652db69a609386a44db, + 0x6050a362d64d578210f6c5371d67729f5a638d5abc7a26973d37f76cb79d261, + 0x641adb8cfa3aca2b3c7b487215e372cf712062f69ae7d0230cf567da35fe2b3, + 0x7444e064cfe1158046c6ec3fbed50b0ac06e91ba47f017e260bed4a55426227, + 0x21f37277ff92381f34ee6f54a947595eeb51756f702a7980b14793b66ae49fc, + 0x41d61e80c24153260697d0338b0d167695bf3e0b767269a192ad1f6aced3dae, + 0x6355df894ef081ac1bd6c39757ec20bc61d2e569ddb8aad1ba132b07fc9ee2b, + 0x51c8e992920479261b6c6407bc2d22aaa2aa66f98dd839cc49ec604902d7a07, + 0x57a6cfd6baab8d30837681971bf72688b0e405a4e90aacc001ecd86412a0311, + 0x5d59b5f28c905116785592f98ea089cdacb9efe85115f6e268314a158e41061, + 0x753b588a58b80aaa7878ee8772c7812c7814acba10c5677208cf812c0257f50, + 0x50ac735fa5d8145af47446dc26d7641dd19ade0f990ecfad849d8c03c80f716, + 0x661f34d8ac0088dbbde08f1d143f3f49ffea272f018986aa04acecf35bb9b80, + 0x41181a2dea041a5c052f4ea688236a662cfbb0182ca866880a2201660cf871e, + 0x6118dcd1edbf66400e5eb7333f1fa65e934c4c483f200dca0040392932e211, + 0x63634851fdb2f1685f32e8b817677fc09403cb7259a8c4b544b4164107a699b, + 0x7dde9dee053d505fa789344c14ec9f43e4a0fb86e396b6fdd890d29ac80377c, + 0x100f3f57755c1b4d4c7080c499cf1e407816490b0c117fff8925ff442a24534, + 0x15f4048d23051959f7f104fc0062122af89b45ad008e6cd2a468ff9473b6b2c, + 0x6487b4e3cd3eba9e960835d2a943d2c7dccd897346cb40e0ce29a870f9ac6b9, + 0x31bfa2e39c1becbfa1a788c697293779f2b5bc8b1df04fb9517d2cd7826c8b8, + 0x2ee62cdf7633de8988981b2e723958914d7b20a25c94a410aae9ef93ec9bc97, + 0x374a33e85f4b8648d5849134fd65bce1d09f0e5fbebf29100fbcee47f32e3d1, + 0x35dc098af24cb45c006941b0ce148d320fd03ab0a363fd6e05d39ad6b091f60, + 0x7287981598f1bbc0c494d0af685a404b15682d06fbe1a04a26f777643f4dca8, + 0x304e2c03b25cbc5148d21f0093df26ffd96db5cebc5b4819b6f52da9efc6ef7 ]; - assert(constraint_coefficients.len() == MASK_SIZE + CONSTRAINT_DEGREE, 'Invalid value'); - let point = 0x27b6342139b5ab8f1ff29fea7f5602d3a438163f5547d2d341a5418ea90abe4; - let oods_point = 0x295db9e6b36bd5b5d2591d7d76a57e241821fd478b9f667778f0a09960d3a0f; + let point = 0x6a334d04c8fc44e835dd60eb585be69825d6854507921990d90f7553de33ec4; + let oods_point = 0x47148421d376a8ca07af1e4c89890bf29c90272f63b16103646397d907281a8; let trace_generator = 0x4768803ef85256034f67453635f87997ff61841e411ee63ce7b0a8b9745a046; assert( @@ -246,7 +237,7 @@ fn test_eval_oods_polynomial_inner() { point, oods_point, trace_generator, - ) == 0x6fc35a853a3d0fc4366b11ca6f274ff18c7ebe7f9c82780b5d0030efb7c9c31, + ) == 0x168dc9a375545abcdd0f89474ef29b7603d6ba848e6dc160e0edd5d3a362a3a, 'Invalid value' ) } diff --git a/src/tests/stone_proof_fibonacci/constraint_coefficients.cairo b/src/tests/stone_proof_fibonacci/constraint_coefficients.cairo index 01308ecf6..8d1f03069 100644 --- a/src/tests/stone_proof_fibonacci/constraint_coefficients.cairo +++ b/src/tests/stone_proof_fibonacci/constraint_coefficients.cairo @@ -1,97 +1,97 @@ fn get() -> Array { array![ 0x1, - 0x6188c47c2623bdc3d32f510746277511b4a85cd1167a65bd35b3d6030d7399e, - 0x7f74cde52b3f01d21122f2bbb9a1e473cc79543739e19a25b075a1df340f3a7, - 0x529488f1637448d5e2b4964be2d5e3948d6462baed0e8b90a29fc11e334555c, - 0x28b7f10a39a7062ae17109c7e7376c62d1da6afb8ede0bc90a26c55cfd9fe22, - 0x38c46256b4e367a442af7854359a465659ba2ae88c6135a817088333147b1f2, - 0x67c17cd4c03866826fa031256fda63f3862ab07b9dfcaa074a412c5806b47ae, - 0x5d290b4dc97984c17bbe6df38feb8e80cdd76bd820ecc31d3597bfc13fafb01, - 0x5c84ebd3d49ae0cd8b182871c4d9bd590c4b2de30fd9b19e8ef2671114e3a09, - 0x737768fef4a747c7449e00196aab4afe2ecc43b469bc15d13da25ae31bdc0c4, - 0x8941830f41a5ab13edc4f200188b5db9d77df4148823a989efaa14f998c2a3, - 0x6a29210c51fd5fa366281d04304f978492edaceea55c4cc1b67eac95da7adf, - 0x3663a0085e815dec0b7ec1829ddb0b2a8c3fd58074ca939dece303908e5690f, - 0x377ee8287afaf0ce4f3169eb61e525f38d5a6bd26ae549b8d8e975fa6b608ba, - 0x657899aaed291ed50d26aeeebf96d066e951e0b0fb6a23201b641b23ac8adf1, - 0x7005146199fcb5326a2d6cb0d35a1579ee1f5d8672f7ecae6b3e4d59a84398a, - 0x1ba52c3b492eb5d6879412c684c4ec7416e7be9b95ce0e79a962fe19420702a, - 0x479b1f289fc8af280a79c0940f08debf7d3882a9ea341d637af55c7119e2ef7, - 0x42afeb86b04257a6892f7a57d3f5736508a40aa01689a83494e49c377d9a1c6, - 0x3ef08d78dab7dd3806c457271ca76a8dc329739de8b7cef8b5add374f8b3cb7, - 0x76cae4663895669328593a4f70bb9000f09291ac1318d2a6232ea0264489fff, - 0x4574d3e23227e08fe2c560afbb78e12f433f2d0aea8285775c58e3345e67e03, - 0x4e4cdc060eeabfadc2b59d54afc257acab2989d7bc69c142686e14d5e2c5176, - 0x4e0bd03bb90fc18377dcc4b3fe20a5ee301ee7c8dc513c496e6b45243d8e02, - 0x51669c8e9b47f34d90eb78fe136543c0ae4d05e3544df23375c5568cff73967, - 0x7aac1567c48c415fa1c6e54aeb4fb4301fda031f580fe553f288e86fc4d1a81, - 0x71953fbddb2f049b5838bf5722847b40b618a5ad198bdbbf18ca49ba95cc108, - 0x1a08d8643a9b811e7f32d19651d019cf7cf07ead69803ebdff5ed6269b5ce6c, - 0x760ebf87d000d09e8dead6084da672a6842a4e229446270e70b4acb294736b3, - 0x1836dfbbc5f4777e695689ae05317eb38f9e6267101aa01912e10a6fc207691, - 0x1033395d04e44bce46ce210a93af13fd3092a7ddfa74ce993aa6ddc37336e88, - 0x6c4765e7b19457dc8f95f5a486239034791ed243ec5fef90a554fb908b31a86, - 0x1260e69f97408eb6bf4e1bf3c50178951656c8c694c95aca0cfb72c9adc1b97, - 0x4a8b3f2f9267c2ee3725795092cbe0ac985ca8472b3ce56e8852b6644400406, - 0x49bc378f2acda1001cd44e01d37f8952fe8e8df57ac0efc5a48d705567fddb4, - 0x28c1102448f6e37067695fd4ee8c9a2fb4dc515589ca78bfb2eca7864dd8fdf, - 0x3eb4146573f28050bc85da608c2637963210cf62af34482b039b9d78b7f35b2, - 0x144812300f0f63b8b34577a799e192609c4008d7e64885cf842cc3e2f0993b, - 0x64c93b56c42c8be7e7cbc1785d46da53cb8f478001b35f1a130b13940320043, - 0x26c9a2e5eab9aab16a27a30dbc51bdaa9af594e495a9694517f60a5d4794f48, - 0x152a27322e10b462e36047a928e5e75bedef98649ddaa32e9e4d72ec9cac894, - 0x512ad08d8e7b37525d1c0eac7c4516aab14aa94981dbf48b0d9552f963ad8, - 0x101a918384dfbbcbe3113aece146fe0e8fc422421f21d61ab96e86723077ca0, - 0x61202fbd707d222caaf523794f73a01e125cfb3fe0bc173a35acfb667117e44, - 0x4181b6674fb0174d4ba6ddc5b8954910e43559f217547f61ca69a7d990f28b8, - 0x1d0305d85e192fad1686ee750e041df4a5304062fbebfed9971fc82167c4477, - 0x6269741c8c3b53d030982216f718b77668a2a15c889c2a89c8ab27a736c735b, - 0x4034bb2fff05e7c13f67d47cd85e766b143efe03f17ead2287d7516b37907b, - 0x3000c594c641deb02c1ceb216f59f13bba02cd6ae58672651ee5e41101efca2, - 0xe184a63189456d0ebee7c50d7b4845d59d614637fa36316687b4ed97583e57, - 0x5ddc6944385449881ee401fd08dc5539904a76697f938da14131cb9adeefdb4, - 0x30f07c3f80f4c5c7eea679838ad90c3d4af0b7c22275a71f360b31849a369ab, - 0x6d07a46da5af6bb30fff79b2a013c982c495f0fab553139caf6ed40e65b25a9, - 0x5baa502d958ee79a5a4f13f113f686427cd8119a1343ce7f831af001dcb76d3, - 0x2001b6aec1331095f802b8a914804a2aca26fed1913f36fbdebf475c31bec73, - 0x498646e98ebb0b22f03a33e1bce45d58c07a2454441cbd89065306dd0886349, - 0xda9b65fa7d976bdc3a794da258dfeec1c46f00e246ddb281ef10b004d2adcc, - 0xbee2ec219c7d858387520c72905b1bf42d67141364abf04d45932eb87b4d29, - 0x1cfffa960459a3e433afb66fe0756d4f1e9d9c20de3982e35d693c7b01af451, - 0x5c84b799b2c0eca6b35d8ec24a8eb4a73601d787f45682200aaf1c9ea6541a0, - 0x7061cfe33ca6d2ed4b34d233dd6b7679303e3dba54c1ecbc9dd66ed3c7c4baf, - 0x710f49b7e8df1c456186e50a0bbfb243c375878cd13dcc139a86fc1c8264d21, - 0x308daefd63f467858aefa5ec5cb7d058283e8070e3dc000e45f5f4940776673, - 0x3df2752fba4efe5cb15260036ce1b612e3b29cb2964dcddac1e122c8f9509aa, - 0x7f2f051d8ec8fdb0c8dee260f8b4e3ad05c01a12ece713a083bafb24da45625, - 0x67143ac27e87e9566eed0b3466a1f55f99f20deda3a25e7ad9b4d7195a1ac73, - 0x70298d44938f4d6517c9b9eb0cff4ee8b5beff63911e0056d5b2324933f6949, - 0x1387957b24c356e8222f75ea4da66f61fe144ff0f2b95f4e40dd4b10b5aaf25, - 0x6ec0edda27a0939512f480f3b415c82333d13ab8705164aab365cf75c47c8ce, - 0x1eb199b7d9fb552cb834f0db134428aa70b3ee7dcf5ab34875c241ec627e317, - 0x37ff29a2d7847fba93162a38397f858f7b06cdd6859b76efb0bf5e65fef2190, - 0x7104cdbe3cc3cce0828686706bce2a0228254c45d3650bc94be03bb41d66d3e, - 0x4bc96036ff3a19256fe07c2916373293d5e8b079757ae3ae1037cd7d51cf655, - 0x212a83f96b4f57edcd91dcb038a9d093c617efbf1613ef1ce8e08349797676, - 0x3f0e6aab49f5bcd90419adeb4b7bdd2d531a4486e01c8ef6d2d2598728706a2, - 0x1ee1208c041b1c5bdbe9b7ef3df9987df49ce5e47766f23b124114ea890e41, - 0x7441697a9c7809e0966140adc058ca94c965d3bcc2556c177f564bee5843c43, - 0x1d2bed31d38f0bb971529008cd78739228308d7e3b5e7f3baff893d86850e7c, - 0x2e535956f2bd0bfbfff74c4a551fe2df4f7e0aaf5c49f0605c84bff80cea07e, - 0x660bcf371e3373813987d786f05bfb66083ea9afcab6d294172ba3cd259950a, - 0xcc35a77062ba2ef13ffc7e31aee95168cd9af4692c60422d8700038ab9507d, - 0x345ed09212b4dd27447376d39eb2f14ecbd2b83c1591fe7acc86d9c046137c9, - 0x230143419a5cfccc2c9bbf25a7efba6180a42b15426afe814b0759014c1c744, - 0x51f4d9f5d5dff9cd540da72ffa4388b4f8fc846a7d819fbae5b99c0347c37aa, - 0x783155d8dcd3aeca3284d8f4afb1284c137f2b0a4830e3a53333fd80b5bd852, - 0x764827d92072bf7dec5aea265077b5d7b341498f3f938c375d608d8c540b448, - 0x2a969ff7de7aa1e5ee3b8cfcd49f297d13d6da6a03922ca15da00f8aa44bc99, - 0x376d74d040ed461f64fe3da374096f943e9240008118f8401cc984332a405c5, - 0x784515276638b094a5a4fdf391ed09dd69f449215826f5e3538b73dc29c354b, - 0x42a6ae286f03c9ae45e892d3d1d71ba63810ef536a4042b75d50c173c756414, - 0x619a5ffbbfa79a69abd35c7055e422e3f2e45ee64ffe7e8b7f549738766e5fd, - 0x19fca6f0363a6f1dc99541c91cdcc350cc18967ff5a36dc02c872e99fe6c0f, - 0x2c14b1fdb5d7a48aea7492ed159c5d81d840fa0432aae997ddda57e2a7b51b9, + 0xfac10b6aa2e290394548062cc078957aadd15f402d65564935d064d143ead3, + 0x5545fcda1f5a4dd8a104eb66149fd4bb96983945d6c728ca50c262313c6f4db, + 0x1be223124c97f89e1a8679d716cbb2a2b596a1526d56c450cc5294de59bd415, + 0x24f2d7b880e7ecae88d89908de5465047aa4376db9b96497126de83845c401, + 0x6a486417629ad099ea79b3827bb3dbc03cc6b6de4c6f7dea630327738a7d4f2, + 0x26d68d0a02c0383f8d403ac981dbe797c8116a3a8ef41b38ab1e363d624f362, + 0x9d264ac8d8a81106b2eec013082189209232d93b6d63b61ac5fb67feca59b1, + 0x247b93073cca5b15d12ae57190eb524f12ee59513257b53aa1c98a95e14e2cd, + 0x28cda7ca5e3cee239e6ba190cab50161c7437eafe2f89e749443cb90bfb0256, + 0x59297cb24f21dab85f28d7691b7ab80488e8497d21ff5014375859f9bf4b1e3, + 0x271c2793b25f41a76c93ce24964dd699e91a04ecfaf8413b5d8bfa0e3d2d7e5, + 0x35ddefa4f366160a00d47a0f7c869e2b18d6895f5182dacc6c2c00770d6cafc, + 0x1bbd6e1289b306c4db78179a0523f07cc3b267e29165b592788f02feed53e6d, + 0x206c5556f0e1206fe3d87c7ca148b682c9422fa172485cf601591ad1cc7c184, + 0x60e0bb29b8424bb0b9f7de1942dd9ba607b6ab7016aac24cdd7848705ea3bfb, + 0x595ea2fcfdcfc3a01c2cf8564d42033e445d19f30f0e367b5873288104d4aad, + 0x7b4436d23a52d8587ec5be92a9d82379c98a190d20580b61a3c0885adc95d5f, + 0x61659af53d4a08f135f3d55dc77fbe51263c0d00da7ab335faaac7659e09144, + 0x552da3a77775db6a0ced06f73ca265458a9c18cb3eae8ef2cc2b93e20daa57b, + 0x14b56044e2875972f616e4050adaf09b174b91419587e4eb07cabe4d98c5534, + 0x5bf70d6aff1378fc5554ffc65d52f52b6d8ea1b639b36d54ecdb3764b5c071, + 0x76f7c8ffd5de366639167b7eec5a54ef9aaa02d0b5761bd10fff122b91633fe, + 0x67b787a911afdbc7c4d1244befb7d4081a143eda3c0352ea663b2caeca67f6f, + 0x6d651731778912f9123222163187673df5b1389628a2647e7c4832b1ad8c836, + 0x209dbf8ea13232466004b03cbbc57662e6740ed0f9057b7bb79234f8a2ba298, + 0x1ec6347e1fa491c92c1b710ae1ec278fe12596ad4b231ed34ca9f51688861fd, + 0x9743163ea38e11aa55e750288b6bd02b7e15147d31da4a0de3aaec22dda8c1, + 0x24b0fae9cea6a1e96aa5d996b79455c138de0646d752cf8b77b59b2a9d25743, + 0x2446d1f27ab3d8b99880418994ffaf24751999f05f590bc9e57d834565e460b, + 0x35fd4c12d3143d6bd68c86492035c5ac583a49030ff6073a34fad9969548250, + 0x247b21f1ceeb956e996a598f468613595a6a5445556858703fcaa371c3fe162, + 0x1207be191b6e60844de6ffbb644b86da2861015c032b17ea57727a410da40bb, + 0xaabc9997eec8abb7db3147b770874c4b6feef9e8caabc3a1020adebb2804a0, + 0x16800b93fa2c91dff09a654798be43d18f31abeb12c736e63d9c1abc6b4882b, + 0x6009d99d5ce0fd5753e4688e2eba17f6854ab78ddcb45e10547828fbcd77c58, + 0x2d979e24d44c735b681ec21b6a535597be69393ef01b20139562238bc8c5c0a, + 0x42e3d2e5fd9a08e684af887068ba103bebdd1d1ea32d0583ad2312c10f541f4, + 0x478d62653a95bf4181233aaa6680f8dbfd70e44fc9247c47b7dc8f47f005599, + 0x40b1f4f5ac95cb4cee89d6af618a3d9ce50d277448da398e6a76b6e65a71f48, + 0x4ab6414219cbaba3532e30f75dd3d21fb346a11af10eb3cecce62604878b885, + 0x56ac65448307a2ebbb2cddddbf10485038ea2753f68801efcc55a3f5f301e65, + 0x52e085e29f0e0886c1a6a47da17fc8f486f05f9d6b4d6ab9edde83859cfdc25, + 0x1f997490e13c1a6c8991c818b66bd9d63df55fbe71ebd05b4c03b765b0cfc96, + 0x4584c1d6d3a69d508fb471a25793b66e63cf58ef2803407f0162713fd7325ba, + 0x6302c6136a81dcefeef271bf8a39bf8c642aaaaa29f354e555c0cbccecd55e2, + 0x96eb73033a86b1215c5c5e05349e6d0130a99e481d417b832208c4eaa4b05f, + 0x7c7015f219e97da3f05b3d20e65ae74d9453a4c1c652b808f2749c1b0660373, + 0x57344b4572691456f9e3e9b15d3e941273c5b0c954fe3b1bc1b7e7c934f861f, + 0x3cf87792291a1ff231c89034c694b77a4596d7834222b6fd59e4b8e2420f954, + 0x69afa8cb6963a4af452abf6dc51f292ada3275c4a3c93319ecff8cec74e90ce, + 0x4a2c29bc8bad8552dfd2ca7de20dae001e06c6eb70226eaaa937bbd1788b774, + 0x4ff8ef5387416aa1410828d48ff2218c68b4c6bc255f04928270bf6d43f092a, + 0x76ffaabf8345c394c7e09ca988f0bf9f28529c0843481df9ff2adb065900b63, + 0x7cce6041ebc0e413f0422815fcf6d63601a9e8d7824a46b6e15c4b32443f47f, + 0x56b4bf3e16d1196eac210c8772d8af255769cccc539ff7948c6bfe512d4ff61, + 0xd799882aa6a26167dd1ec8bd5917efec12998caf27edaa2e007c0ada46b7a9, + 0x2c89747916b5d0290d6071e842297ea0cfcad7f1924d15f9163f276703df94b, + 0x13ffdc09b028b5c957ec1f560a12d4a964916711cd5eef4c52eb23709387a6b, + 0x6ff58201acd6251346d9fa8e3ca2016ec17477f87fe2234c557e4b66827b269, + 0xd4738df623ff88c176c0a1cd4f9e1bca735b28cc055280ac3446af47fc9d0a, + 0x4e4770e9759483e4a39511c2f5d7bf0f73d4ac2366c2c5ac963e5d7df781100, + 0x27da09a18ede35c7d6a052d75f3b43e6062439a2a87e5a590162f06b6cb3e7c, + 0x3266d97a2fe4caf55e45b7a4795e419c12edb25adcfb84af2707d66cfc784af, + 0x70a7c46c2d04285102c94812b4406e06840657d0eeab8bc8b5771c1e522cb51, + 0x3e1bc4ad1156801ba6809d8f2a87ed8ada379697dc4e1d4f67169f58974ec66, + 0x1e9dcca9d60cad2a9efd605f3daf58bba91b91a18717fc98561ddf5b8ea6532, + 0x485ee02cab9185039bab75b78ba2a97bcbf6aaa3b881b5b5bfffb7599ee7eda, + 0x10f0587036c26551b582895f2843f33d3b7ca992de4a23c7abaa6971467626d, + 0x25450aeb781fc7059d447e8cb107ab472705d189b1095e3505f79a59e9572a4, + 0x76f77abbb7cf6b6dacbaccc23b471c91a968d5eed4824c265638abf0873e4a5, + 0x47679ffaeac2facb3aa3389dff5a8dad404e812f7df0c9c67000084d1bde10b, + 0x25a755cf70c71330ea7e1e7c6c254009f309f9ba0f6ef8b6d8cfa0aa7509444, + 0x74ef762bc7ef119298e4e4ae1218718a1f40b457e5f7cc97cad406c02f82f2b, + 0x3f150fa445d7bf2bed68cd9126a905558a60807e76f4421cd6deed61f0f74f8, + 0x2c8a4a40ad0556f1cd47bfbdd7763567616f04ae2d5ee4a9e2f5034aca160f8, + 0x233157c6b4e58323e49c9e7e0ce4ae68b8f492e7def84f81e9b29a669a77b5c, + 0x5744e0304ef920018e07a1435659a5ecd3ba53c9b2460e15b0db4b7d139742, + 0x6049cfdc2c7f9dfc32865d544c3e4fd3db105894fbf9c0cd0119a99bf9aa25b, + 0x4bd7a6e04b92face93526723e9f3e550868ee922bc389860f3676eb86fbb514, + 0x79c2d38293dd764e7d755e9a39c9fb97e02e26d6af6b71d1778d06a0072eb89, + 0x467d711f0e6a92509ff23a5f22fae0b5a0b992eea96dfe6951479486eb58d70, + 0x3e68b01bdb1bc06ece04ac2a1c212f34f1541957ab022fb49922038bfb14564, + 0x6f51aad05fcc9c067e2ca889d5d42c4024d141324d4330e54180235919320bf, + 0x752d60016b869fa54ab34175a069109b74323e05ad2c5b7dff64e7ae73550e6, + 0x5d8f2147521b916026584f81f019675d01fd73ca16d42f0b64d95ef5c213978, + 0x5d244e4aa0b04013dbed3e075d5792373d0cf06edd395f876b1a302d8c8abe6, + 0x60115dfe0f7228ee028ddedfe43d6a74ccdda110d2d15284c2bcd25abdf3575, + 0x4a7a98fc84bf00841d75fec35e64a864ae088bdc8226a3cf4da1eb155f20d1b, + 0x24ab2d9bcecb73ef885ad0a6127bdb4693bda56977a38846c521619b2dcdcbf, + 0xf01b5d986a9a6033cd5cb49b813e46779e6502be0522f13348ae21443b5410, + 0x520b263f23eeb6565972762178d08c872d9b9b3effa9c241916ca7e59f6e829, + 0x5decc1904ed4fa9075a9837fd0e3e933e707fbe29a93a397a41e7a58de5c282 ] } From f0239bb51a384cdda18abe572c4feabb5ee15516 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 7 Mar 2024 14:19:48 +0100 Subject: [PATCH 38/48] blake2s oods test --- src/air/tests/test_composition.cairo | 6 +++--- src/oods.cairo | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/air/tests/test_composition.cairo b/src/air/tests/test_composition.cairo index 1a58fbb70..6552dbb80 100644 --- a/src/air/tests/test_composition.cairo +++ b/src/air/tests/test_composition.cairo @@ -21,12 +21,12 @@ fn test_eval_composition_polynomial() { @public_input, mask_values.span(), constraint_coefficients.span(), - point: 0x295db9e6b36bd5b5d2591d7d76a57e241821fd478b9f667778f0a09960d3a0f, + point: 0x47148421d376a8ca07af1e4c89890bf29c90272f63b16103646397d907281a8, trace_domain_size: 0x40000, trace_generator: 0x4768803ef85256034f67453635f87997ff61841e411ee63ce7b0a8b9745a046 ); assert( - res == 0x245c787b658a0461241e840f1ffcf76ca5d29e6571e7a8edd80fdd968fddd45, - 'invalid composition_polynomial' + res == 0x511668bf439c0999c57d3c05c9f1bcf12095ef76d5a032985bd2350f1731604, + 'invalid value' ); } diff --git a/src/oods.cairo b/src/oods.cairo index c57abc1e4..6d0cfa11b 100644 --- a/src/oods.cairo +++ b/src/oods.cairo @@ -122,7 +122,7 @@ mod tests { interaction_elements, @public_input, constraint_coefficients.span(), - 0x295db9e6b36bd5b5d2591d7d76a57e241821fd478b9f667778f0a09960d3a0f, + 0x47148421d376a8ca07af1e4c89890bf29c90272f63b16103646397d907281a8, 0x40000, 0x4768803ef85256034f67453635f87997ff61841e411ee63ce7b0a8b9745a046 ); From d1ab08cf697e6bdb11314b8a57f9d3f4e552c991 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 7 Mar 2024 14:20:33 +0100 Subject: [PATCH 39/48] change to poseidon-keccak --- src/air/tests/test_traces.cairo | 114 ++++----- src/common/hasher.cairo | 58 ++--- src/fri/tests/test_fri_verify.cairo | 34 +-- .../tests/test_proof_of_work.cairo | 110 ++++----- src/stark/tests/test_stark_commit.cairo | 70 +++--- src/stark/tests/test_stark_proof_verify.cairo | 46 ++-- src/stark/tests/test_stark_verify.cairo | 38 +-- .../test_table_commitment_decommit.cairo | 36 +-- .../test_vector_commitment_decommit.cairo | 218 +++++++++--------- 9 files changed, 362 insertions(+), 362 deletions(-) diff --git a/src/air/tests/test_traces.cairo b/src/air/tests/test_traces.cairo index 9b4cfd154..e67773b85 100644 --- a/src/air/tests/test_traces.cairo +++ b/src/air/tests/test_traces.cairo @@ -5,88 +5,88 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -#[test] -#[available_gas(9999999999)] -fn test_traces_config() { - let traces_config = stone_proof_fibonacci::traces::config::get(); - - traces_config.validate(0x16, 0x64); -} - -#[test] -#[available_gas(9999999999)] -fn test_traces_commit() { - let mut channel = ChannelImpl::new_with_counter(0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0); - let public_input = @stone_proof_fibonacci::public_input::get(); - let unsent_commitment = stone_proof_fibonacci::traces::unsent_commitment::get(); - let traces_config = stone_proof_fibonacci::traces::config::get(); - - assert( - traces_commit( - ref channel, public_input, unsent_commitment, traces_config - ) == stone_proof_fibonacci::traces::commitment::get(), - 'Invalid value' - ); - - assert(channel.digest == 0x484f5da62866b3e2a0d4ceb5e00cf7ba33ec5c57ce032df6ca74a40cc6015a0, 'Invalid value'); - assert(channel.counter == 0x0, 'Invalid value') -} - -#[test] -#[available_gas(9999999999)] -fn test_traces_decommit() { - let queries = stone_proof_fibonacci::queries::get().span(); - let commitment = stone_proof_fibonacci::traces::commitment::get(); - let decommitment = stone_proof_fibonacci::traces::decommitment::get(); - let witness = stone_proof_fibonacci::traces::witness::get(); - - traces_decommit(queries, commitment, decommitment, witness); -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // #[test] // #[available_gas(9999999999)] // fn test_traces_config() { -// let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); +// let traces_config = stone_proof_fibonacci::traces::config::get(); // -// traces_config.validate(0x14, 0x64); +// traces_config.validate(0x16, 0x64); // } // // #[test] // #[available_gas(9999999999)] // fn test_traces_commit() { -// let mut channel = ChannelImpl::new_with_counter( -// 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 -// ); -// let public_input = @stone_proof_fibonacci_keccak::public_input::get(); -// let unsent_commitment = stone_proof_fibonacci_keccak::traces::unsent_commitment::get(); -// let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); +// let mut channel = ChannelImpl::new_with_counter(0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0); +// let public_input = @stone_proof_fibonacci::public_input::get(); +// let unsent_commitment = stone_proof_fibonacci::traces::unsent_commitment::get(); +// let traces_config = stone_proof_fibonacci::traces::config::get(); // // assert( // traces_commit( // ref channel, public_input, unsent_commitment, traces_config -// ) == stone_proof_fibonacci_keccak::traces::commitment::get(), +// ) == stone_proof_fibonacci::traces::commitment::get(), // 'Invalid value' // ); // -// assert( -// channel.digest == 0x39d06a4cd9e64c43aaec44a5415c4cbdf530040b2fc82308ceddb5f2be39dd5, -// 'Invalid value' -// ); +// assert(channel.digest == 0x484f5da62866b3e2a0d4ceb5e00cf7ba33ec5c57ce032df6ca74a40cc6015a0, 'Invalid value'); // assert(channel.counter == 0x0, 'Invalid value') // } // // #[test] // #[available_gas(9999999999)] // fn test_traces_decommit() { -// let queries = stone_proof_fibonacci_keccak::queries::get().span(); -// let commitment = stone_proof_fibonacci_keccak::traces::commitment::get(); -// let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get(); -// let witness = stone_proof_fibonacci_keccak::traces::witness::get(); +// let queries = stone_proof_fibonacci::queries::get().span(); +// let commitment = stone_proof_fibonacci::traces::commitment::get(); +// let decommitment = stone_proof_fibonacci::traces::decommitment::get(); +// let witness = stone_proof_fibonacci::traces::witness::get(); // // traces_decommit(queries, commitment, decommitment, witness); // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +#[test] +#[available_gas(9999999999)] +fn test_traces_config() { + let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); + + traces_config.validate(0x14, 0x64); +} + +#[test] +#[available_gas(9999999999)] +fn test_traces_commit() { + let mut channel = ChannelImpl::new_with_counter( + 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 + ); + let public_input = @stone_proof_fibonacci_keccak::public_input::get(); + let unsent_commitment = stone_proof_fibonacci_keccak::traces::unsent_commitment::get(); + let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); + + assert( + traces_commit( + ref channel, public_input, unsent_commitment, traces_config + ) == stone_proof_fibonacci_keccak::traces::commitment::get(), + 'Invalid value' + ); + + assert( + channel.digest == 0x39d06a4cd9e64c43aaec44a5415c4cbdf530040b2fc82308ceddb5f2be39dd5, + 'Invalid value' + ); + assert(channel.counter == 0x0, 'Invalid value') +} + +#[test] +#[available_gas(9999999999)] +fn test_traces_decommit() { + let queries = stone_proof_fibonacci_keccak::queries::get().span(); + let commitment = stone_proof_fibonacci_keccak::traces::commitment::get(); + let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get(); + let witness = stone_proof_fibonacci_keccak::traces::witness::get(); + + traces_decommit(queries, commitment, decommitment, witness); +} // === KECCAK ONLY END === diff --git a/src/common/hasher.cairo b/src/common/hasher.cairo index be4fe71db..42f4dd501 100644 --- a/src/common/hasher.cairo +++ b/src/common/hasher.cairo @@ -4,43 +4,43 @@ use cairo_verifier::common::{ }; // === BLAKE ONLY BEGIN === - -fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { - if hash_len { - data.append(n); - } - blake2s_u8(data) -} - -fn hash_truncated(data: Array) -> felt252 { - truncated_blake2s(data) -} - -fn hash(data: Array) -> u256 { - blake2s(data) -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // -// fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { +// fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { // if hash_len { -// keccak::cairo_keccak(ref data, n.into(), 1) -// } else { -// keccak::cairo_keccak(ref data, 0, 0) +// data.append(n); // } +// blake2s_u8(data) // } // -// fn hash_truncated(mut data: Array) -> felt252 { -// (keccak::cairo_keccak(ref data, 0, 0) -// .flip_endianness() % 0x10000000000000000000000000000000000000000) -// .try_into() -// .unwrap() +// fn hash_truncated(data: Array) -> felt252 { +// truncated_blake2s(data) // } // -// fn hash(mut data: Array) -> u256 { -// keccak::cairo_keccak(ref data, 0, 0) +// fn hash(data: Array) -> u256 { +// blake2s(data) // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === + +fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { + if hash_len { + keccak::cairo_keccak(ref data, n.into(), 1) + } else { + keccak::cairo_keccak(ref data, 0, 0) + } +} + +fn hash_truncated(mut data: Array) -> felt252 { + (keccak::cairo_keccak(ref data, 0, 0) + .flip_endianness() % 0x10000000000000000000000000000000000000000) + .try_into() + .unwrap() +} + +fn hash(mut data: Array) -> u256 { + keccak::cairo_keccak(ref data, 0, 0) +} // === KECCAK ONLY END === diff --git a/src/fri/tests/test_fri_verify.cairo b/src/fri/tests/test_fri_verify.cairo index 331a629c5..db96845c5 100644 --- a/src/fri/tests/test_fri_verify.cairo +++ b/src/fri/tests/test_fri_verify.cairo @@ -3,29 +3,29 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -#[test] -#[available_gas(9999999999)] -fn test_fri_verify() { - let queries = stone_proof_fibonacci::queries::get().span(); - let commitment = stone_proof_fibonacci::fri::commitment::get(); - let decommitment = stone_proof_fibonacci::fri::decommitment::get(); - let witness = stone_proof_fibonacci::fri::witness::get(); - - fri_verify(queries, commitment, decommitment, witness) -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // #[test] // #[available_gas(9999999999)] // fn test_fri_verify() { -// let queries = stone_proof_fibonacci_keccak::queries::get().span(); -// let commitment = stone_proof_fibonacci_keccak::fri::commitment::get(); -// let decommitment = stone_proof_fibonacci_keccak::fri::decommitment::get(); -// let witness = stone_proof_fibonacci_keccak::fri::witness::get(); +// let queries = stone_proof_fibonacci::queries::get().span(); +// let commitment = stone_proof_fibonacci::fri::commitment::get(); +// let decommitment = stone_proof_fibonacci::fri::decommitment::get(); +// let witness = stone_proof_fibonacci::fri::witness::get(); // // fri_verify(queries, commitment, decommitment, witness) // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +#[test] +#[available_gas(9999999999)] +fn test_fri_verify() { + let queries = stone_proof_fibonacci_keccak::queries::get().span(); + let commitment = stone_proof_fibonacci_keccak::fri::commitment::get(); + let decommitment = stone_proof_fibonacci_keccak::fri::decommitment::get(); + let witness = stone_proof_fibonacci_keccak::fri::witness::get(); + + fri_verify(queries, commitment, decommitment, witness) +} // === KECCAK ONLY END === diff --git a/src/proof_of_work/tests/test_proof_of_work.cairo b/src/proof_of_work/tests/test_proof_of_work.cairo index 67eb01822..8a0e38a04 100644 --- a/src/proof_of_work/tests/test_proof_of_work.cairo +++ b/src/proof_of_work/tests/test_proof_of_work.cairo @@ -1,12 +1,46 @@ use cairo_verifier::proof_of_work::proof_of_work::verify_proof_of_work; // === BLAKE ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_verify_proof_of_work_0() { +// let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; +// let nonce: u64 = 0x1683b; +// let n_bits: u8 = 20; +// verify_proof_of_work(digest, n_bits, nonce); +// } +// +// #[test] +// #[should_panic] +// #[available_gas(9999999999)] +// fn test_verify_proof_of_work_1() { +// let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; +// let nonce: u64 = 0x1683b + 1; +// let n_bits: u8 = 20; +// verify_proof_of_work(digest, n_bits, nonce); +// } +// +// #[test] +// #[available_gas(9999999999)] +// fn test_verify_proof_of_work_2() { +// let digest: u256 = u256 { +// low: 0x15aa9b8787d877d61588844c0cfe2fb9, high: 0x7cd36c3da65b8d57331341e661a86574 +// }; +// let nonce: u64 = 0x40719c5; +// let n_bits: u8 = 0x1e; +// verify_proof_of_work(digest, n_bits, nonce); +// } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_verify_proof_of_work_0() { - let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; - let nonce: u64 = 0x1683b; - let n_bits: u8 = 20; + let digest: u256 = u256 { + low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 + }; + let nonce: u64 = 0xd65397f; + let n_bits: u8 = 0x1e; verify_proof_of_work(digest, n_bits, nonce); } @@ -14,9 +48,11 @@ fn test_verify_proof_of_work_0() { #[should_panic] #[available_gas(9999999999)] fn test_verify_proof_of_work_1() { - let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; - let nonce: u64 = 0x1683b + 1; - let n_bits: u8 = 20; + let digest: u256 = u256 { + low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 + }; + let nonce: u64 = 0xd65397f + 1; + let n_bits: u8 = 0x1e; verify_proof_of_work(digest, n_bits, nonce); } @@ -24,60 +60,24 @@ fn test_verify_proof_of_work_1() { #[available_gas(9999999999)] fn test_verify_proof_of_work_2() { let digest: u256 = u256 { - low: 0x15aa9b8787d877d61588844c0cfe2fb9, high: 0x7cd36c3da65b8d57331341e661a86574 + low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed }; - let nonce: u64 = 0x40719c5; + let nonce: u64 = 0x544bb355; let n_bits: u8 = 0x1e; verify_proof_of_work(digest, n_bits, nonce); } -// === BLAKE ONLY END === -// === KECCAK ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_verify_proof_of_work_0() { -// let digest: u256 = u256 { -// low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 -// }; -// let nonce: u64 = 0xd65397f; -// let n_bits: u8 = 0x1e; -// verify_proof_of_work(digest, n_bits, nonce); -// } -// -// #[test] -// #[should_panic] -// #[available_gas(9999999999)] -// fn test_verify_proof_of_work_1() { -// let digest: u256 = u256 { -// low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 -// }; -// let nonce: u64 = 0xd65397f + 1; -// let n_bits: u8 = 0x1e; -// verify_proof_of_work(digest, n_bits, nonce); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_verify_proof_of_work_2() { -// let digest: u256 = u256 { -// low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed -// }; -// let nonce: u64 = 0x544bb355; -// let n_bits: u8 = 0x1e; -// verify_proof_of_work(digest, n_bits, nonce); -// } -// -// #[test] -// #[should_panic] -// #[available_gas(9999999999)] -// fn test_verify_proof_of_work_3() { -// let digest: u256 = u256 { -// low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed -// }; -// let nonce: u64 = 0x544bb355 - 1; -// let n_bits: u8 = 0x1e; -// verify_proof_of_work(digest, n_bits, nonce); -// } +#[test] +#[should_panic] +#[available_gas(9999999999)] +fn test_verify_proof_of_work_3() { + let digest: u256 = u256 { + low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed + }; + let nonce: u64 = 0x544bb355 - 1; + let n_bits: u8 = 0x1e; + verify_proof_of_work(digest, n_bits, nonce); +} // === KECCAK ONLY END === diff --git a/src/stark/tests/test_stark_commit.cairo b/src/stark/tests/test_stark_commit.cairo index 1d89ee85b..3f9bc83a1 100644 --- a/src/stark/tests/test_stark_commit.cairo +++ b/src/stark/tests/test_stark_commit.cairo @@ -4,54 +4,54 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -#[test] -#[available_gas(9999999999)] -fn test_stark_commit() { - let mut channel = ChannelTrait::new_with_counter(0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0); - - let public_input = stone_proof_fibonacci::public_input::get(); - let unsent_commitment = stone_proof_fibonacci::stark::unsent_commitment::get(); - let config = stone_proof_fibonacci::stark::config::get(); - let stark_domains = stone_proof_fibonacci::stark::domains::get(); - - assert( - stark_commit( - ref channel, @public_input, @unsent_commitment, @config, @stark_domains - ) == stone_proof_fibonacci::stark::commitment::get(), - 'Invalid value' - ); - - assert(channel.digest == 0x9c769c7e0797cf043b06b980072a798b141f2bc41b14e85ad93ba178b13de7, 'Invalid value'); - assert(channel.counter == 0x0, 'Invalid value'); -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // #[test] // #[available_gas(9999999999)] // fn test_stark_commit() { -// let mut channel = ChannelTrait::new_with_counter( -// 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 -// ); +// let mut channel = ChannelTrait::new_with_counter(0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0); // -// let public_input = stone_proof_fibonacci_keccak::public_input::get(); -// let unsent_commitment = stone_proof_fibonacci_keccak::stark::unsent_commitment::get(); -// let config = stone_proof_fibonacci_keccak::stark::config::get(); -// let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); +// let public_input = stone_proof_fibonacci::public_input::get(); +// let unsent_commitment = stone_proof_fibonacci::stark::unsent_commitment::get(); +// let config = stone_proof_fibonacci::stark::config::get(); +// let stark_domains = stone_proof_fibonacci::stark::domains::get(); // // assert( // stark_commit( // ref channel, @public_input, @unsent_commitment, @config, @stark_domains -// ) == stone_proof_fibonacci_keccak::stark::commitment::get(), +// ) == stone_proof_fibonacci::stark::commitment::get(), // 'Invalid value' // ); // -// assert( -// channel.digest == 0x28f12249c8cba51796d59e7573019ce2b4608c9a8cdeee26e821b0763c69229, -// 'Invalid value' -// ); +// assert(channel.digest == 0x9c769c7e0797cf043b06b980072a798b141f2bc41b14e85ad93ba178b13de7, 'Invalid value'); // assert(channel.counter == 0x0, 'Invalid value'); // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +#[test] +#[available_gas(9999999999)] +fn test_stark_commit() { + let mut channel = ChannelTrait::new_with_counter( + 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 + ); + + let public_input = stone_proof_fibonacci_keccak::public_input::get(); + let unsent_commitment = stone_proof_fibonacci_keccak::stark::unsent_commitment::get(); + let config = stone_proof_fibonacci_keccak::stark::config::get(); + let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); + + assert( + stark_commit( + ref channel, @public_input, @unsent_commitment, @config, @stark_domains + ) == stone_proof_fibonacci_keccak::stark::commitment::get(), + 'Invalid value' + ); + + assert( + channel.digest == 0x28f12249c8cba51796d59e7573019ce2b4608c9a8cdeee26e821b0763c69229, + 'Invalid value' + ); + assert(channel.counter == 0x0, 'Invalid value'); +} // === KECCAK ONLY END === diff --git a/src/stark/tests/test_stark_proof_verify.cairo b/src/stark/tests/test_stark_proof_verify.cairo index e9106e6c4..e2d982687 100644 --- a/src/stark/tests/test_stark_proof_verify.cairo +++ b/src/stark/tests/test_stark_proof_verify.cairo @@ -4,37 +4,37 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -#[test] -#[available_gas(99999999999)] -fn test_stark_proof_fibonacci_verify() { - let security_bits: felt252 = 50; -// - let stark_proof = StarkProof { - config: stone_proof_fibonacci::stark::config::get(), - public_input: stone_proof_fibonacci::public_input::get(), - unsent_commitment: stone_proof_fibonacci::stark::unsent_commitment::get(), - witness: stone_proof_fibonacci::stark::witness::get(), - }; - - stark_proof.verify(security_bits); -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // #[test] -// #[available_gas(9999999999)] +// #[available_gas(99999999999)] // fn test_stark_proof_fibonacci_verify() { // let security_bits: felt252 = 50; -// +// // // let stark_proof = StarkProof { -// config: stone_proof_fibonacci_keccak::stark::config::get(), -// public_input: stone_proof_fibonacci_keccak::public_input::get(), -// unsent_commitment: stone_proof_fibonacci_keccak::stark::unsent_commitment::get(), -// witness: stone_proof_fibonacci_keccak::stark::witness::get(), +// config: stone_proof_fibonacci::stark::config::get(), +// public_input: stone_proof_fibonacci::public_input::get(), +// unsent_commitment: stone_proof_fibonacci::stark::unsent_commitment::get(), +// witness: stone_proof_fibonacci::stark::witness::get(), // }; // // stark_proof.verify(security_bits); // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +#[test] +#[available_gas(9999999999)] +fn test_stark_proof_fibonacci_verify() { + let security_bits: felt252 = 50; + + let stark_proof = StarkProof { + config: stone_proof_fibonacci_keccak::stark::config::get(), + public_input: stone_proof_fibonacci_keccak::public_input::get(), + unsent_commitment: stone_proof_fibonacci_keccak::stark::unsent_commitment::get(), + witness: stone_proof_fibonacci_keccak::stark::witness::get(), + }; + + stark_proof.verify(security_bits); +} // === KECCAK ONLY END === diff --git a/src/stark/tests/test_stark_verify.cairo b/src/stark/tests/test_stark_verify.cairo index c264da904..07e6245cc 100644 --- a/src/stark/tests/test_stark_verify.cairo +++ b/src/stark/tests/test_stark_verify.cairo @@ -4,33 +4,33 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -#[test] -#[available_gas(9999999999)] -fn test_stark_verify() { - let queries = stone_proof_fibonacci::queries::get().span(); - let commitment = stone_proof_fibonacci::stark::commitment::get(); - let witness = stone_proof_fibonacci::stark::witness::get(); - let stark_domains = stone_proof_fibonacci::stark::domains::get(); - - stark_verify( - NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, queries, commitment, witness, stark_domains, - ) -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // #[test] // #[available_gas(9999999999)] // fn test_stark_verify() { -// let queries = stone_proof_fibonacci_keccak::queries::get().span(); -// let commitment = stone_proof_fibonacci_keccak::stark::commitment::get(); -// let witness = stone_proof_fibonacci_keccak::stark::witness::get(); -// let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); +// let queries = stone_proof_fibonacci::queries::get().span(); +// let commitment = stone_proof_fibonacci::stark::commitment::get(); +// let witness = stone_proof_fibonacci::stark::witness::get(); +// let stark_domains = stone_proof_fibonacci::stark::domains::get(); // // stark_verify( // NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, queries, commitment, witness, stark_domains, // ) // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +#[test] +#[available_gas(9999999999)] +fn test_stark_verify() { + let queries = stone_proof_fibonacci_keccak::queries::get().span(); + let commitment = stone_proof_fibonacci_keccak::stark::commitment::get(); + let witness = stone_proof_fibonacci_keccak::stark::witness::get(); + let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); + + stark_verify( + NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, queries, commitment, witness, stark_domains, + ) +} // === KECCAK ONLY END === diff --git a/src/table_commitment/tests/test_table_commitment_decommit.cairo b/src/table_commitment/tests/test_table_commitment_decommit.cairo index 8010cc63d..0ab03fcfc 100644 --- a/src/table_commitment/tests/test_table_commitment_decommit.cairo +++ b/src/table_commitment/tests/test_table_commitment_decommit.cairo @@ -10,29 +10,29 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -#[test] -#[available_gas(9999999999)] -fn test_table_commitment_decommit() { - let commitment = stone_proof_fibonacci::traces::commitment::get().original; - let queries = stone_proof_fibonacci::queries::get().span(); - let decommitment = stone_proof_fibonacci::traces::decommitment::get().original; - let witness = stone_proof_fibonacci::traces::witness::get().original; -// - table_decommit(commitment, queries, decommitment, witness); -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // #[test] // #[available_gas(9999999999)] // fn test_table_commitment_decommit() { -// let commitment = stone_proof_fibonacci_keccak::traces::commitment::get().original; -// let queries = stone_proof_fibonacci_keccak::queries::get().span(); -// let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get().original; -// let witness = stone_proof_fibonacci_keccak::traces::witness::get().original; -// +// let commitment = stone_proof_fibonacci::traces::commitment::get().original; +// let queries = stone_proof_fibonacci::queries::get().span(); +// let decommitment = stone_proof_fibonacci::traces::decommitment::get().original; +// let witness = stone_proof_fibonacci::traces::witness::get().original; +// // // table_decommit(commitment, queries, decommitment, witness); // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +#[test] +#[available_gas(9999999999)] +fn test_table_commitment_decommit() { + let commitment = stone_proof_fibonacci_keccak::traces::commitment::get().original; + let queries = stone_proof_fibonacci_keccak::queries::get().span(); + let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get().original; + let witness = stone_proof_fibonacci_keccak::traces::witness::get().original; + + table_decommit(commitment, queries, decommitment, witness); +} // === KECCAK ONLY END === diff --git a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo index 2ca20462e..6dc58cbaf 100644 --- a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo +++ b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo @@ -4,121 +4,16 @@ use cairo_verifier::vector_commitment::vector_commitment::{ }; // === BLAKE ONLY BEGIN === -#[test] -#[available_gas(9999999999)] -fn test_vector_commitment_decommit_1() { - let commitment = VectorCommitment { - config: VectorCommitmentConfig { - height: 0x9, n_verifier_friendly_commitment_layers: 0x64, - }, - commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 - }; -// - let queries = array![ - VectorQuery { - index: 0x73, value: 0x12346ea425a6aebc8c323a401410cc325aabaf99b54e600a7271f146488aa2d - }, - VectorQuery { - index: 0xa5, value: 0x1aabe006a27bfa5f93bde192ff552adbef87058e62546c831ed14ce94866ac1 - }, - VectorQuery { - index: 0xb0, value: 0x7205a2b5f5f403b8053b4e4ac65e2a484c007f6d118524fe28b7cdf2a56bb8a - }, - VectorQuery { - index: 0xf8, value: 0x5d49462d844a3f203c59d39fa005cbe153c78e6ac831987f19c0d6dfae38fad - }, - VectorQuery { - index: 0x115, value: 0x53d21587a9cb08d1b9402a4b8c2a9d37942b26963936200fea3122eaaf870b1 - }, - VectorQuery { - index: 0x11c, value: 0x7c3355a75f6b36a95068b68d48e7539cd97531b7478e2cf7d2dc85b32bafc66 - }, - VectorQuery { - index: 0x12f, value: 0xb6f3a522577229ac26f12df90daaf376afbd960ee4b0ab07f270bf9c5da56a - }, - VectorQuery { - index: 0x13c, value: 0x174cfc44eb57da0eda6ae9407db71c5144940f05ef51f858bc8e229d15703e2 - }, - VectorQuery { - index: 0x153, value: 0x2220da78b33e155482bdf0534dc30fc17fe059a7b9e30f710ee2681a8151484 - }, - VectorQuery { - index: 0x1f4, value: 0x566b71a4f84556a3816d911c5dfb45f75cc962d9829acd0dd56e81517cc73b8 - }, - ] - .span(); -// - let witness = VectorCommitmentWitness { - authentications: array![ - 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, - 0xf3fb7305323c5fa68ad49a509a9c470e2396af41bfd2c9cf86228504436a3, - 0x9dc63f0ac48b17304af16748798567f21bb25f8cbeaa48a462a74b3e0c5d79, - 0x5d35649398cb24bc00458a32d01c61a8450c7a30cc5b95043f4e2b30df01360, - 0x4493f60ea79053f2a96439d50d6335fd35e13599190e1656b724eacac658e37, - 0x7f58b9c9c333dc5b31e3ee5e8a98d8cab0c84b3a886042b279dc2f2c408d92b, - 0x349a976371b7aef1b1992908fefa423b9e5d4d0be58092ff6e5ead51ecf1ca4, - 0x3ffacb144085ca3c572a314c6bb0e01b253827231285fba4084e3b624438ace, - 0x55d22158d5bfad58ddf2633f24a3fae4642afbcea1cb9155e8b54c2a432fbfd, - 0x63c1598794322bd8f1686e89c94dc60b0bb4f7940b5427af72187091e71ef63, - 0xebaa8e9ab29cfba43cdc1f2cacb9cbc08b2cb17317fed571718e5e66b42488, - 0xa31370f89d85108378244beeea13a2b2c379d16cde55c2fcd674f4296ddabe, - 0x4285440535fff0ba31e970a1948a09951ff740c91c6d6cf4635527877c55ff1, - 0x49eb1420843ac1a3178010c314906d28f6118e8b36620ce4469dffca27a047d, - 0x4e65200356931c3ea1e20e087b5bff96ba268239ed2e2f784def64f5760418d, - 0x103809d798aab5452c77f42bc4c8fcfcfa9e6efdfe24077e41928a52daf1dc8, - 0x4253b3498a013d4473d43686f9e509be7541daf00afae0d7216f7019bc75d8f, - 0x689297a643de6bd5955e314f94367af901eac67eeef51a52e40c0205cf8023, - 0x2ca9dcef95643af6ec5ee055d1a05720f2e3f5e6226de5b206c4a78482963b8, - 0x72fbddae565406f284bb4dd89623c29c821b6187dd7dfc292dbbddd4094077, - 0x30e5ea3c2280db52829548ae99a71faa030b4e4bb87679b427f76c594aaa05a, - 0x45ba1eda942e1085af97db6e189996903cfa09db90e52b4589e16df981f1601, - 0x8c36a69368bea30f8ecf7de3e461a03b0cdd004ae08a3d44281b093fc63f2, - 0x5c7194878dcb2d4ba69da97c1a878f96dd78d97612c882ba7179bafe92a6a90, - 0x20c37b922bb713f2b6772a9ae014715f418fe5da4d53fe9b00cc2fe851f233a, - 0x3a7e7c684904e82bf0be54290299b6d83f448bac5c6e9ea4d1cd1e844eccb70, - 0x1ebbb30dbcb3b4fd0da33cf84d456101bbe9147b1a65507901715b3490649c6, - 0x1409c71e0dcf4a620856775508ce1b4c7d55e4229ac5fd41a3f8ecee097eb39, - 0x18cdf340cc64b00bf134c9e55396f79eddfbda8e2090542380c5c4967ee790b, - 0x18add43c036948c8d7e767ae22056e1f5f1a9d1daad6b9a8f2e7da996f4a1c2, - 0x30e7224d1c98b75e019b60bbe320e358ef35b1adaf12aad044744e640c2a4d, - 0x25a8793c928ecacb2e84802830fa101fb3839455957921ed7bcb39549b1f80, - 0x65dd0f91032712c4a8b1b5c35cd6ebdb654efb5e56085a2eef0def4bde4d066, - 0x4a50e2b14315602b8c97c9d2304db828806c37b751203bb7dad534d7b45d21d, - 0x5afdcfcf55c58dbf5ad58b17f16514da8dac3e69501fb399c30333ab3050c3, - 0x20f5ecf9107f9d3e33f462948d955b70d5ec5573a679ae548998c41b5eec730, - 0x1f70d9f6c203312c6aabf4d191cd4cbc68f8c92bebf561cb8e20ce9fc07ef55, - 0x14e877449f7005ee874020d6759ce808345e20c3fae4a62e7f12c2c457f71ec, - 0x780b4537e060e0f1e88ca7337d5d43ef2d4bbb4b48e4899c55ea9a5e7120b5a, - 0x608a4544987ef3599043e9a8b4aa0598f8d71dee81e46104ca6ac186e2c8044, - 0x58cbd95dd12e8761a99011f0ae970fe73e03b7d7e43b614510ee7a6a2efe7d3, - 0x5c533c05cbf2af6d819bdf23272e567b7a49c2c2bd799201ed0e32ce9ff092b, - 0x342bb671b7d40601d4031045068abfbf2c578f7e4a380e180dbf2b0c8fef6, - 0x2da269eab1f7e247c0caf3bcac1bb0e5e7abacde34bc54a9de3e0a82a36cfff, - 0x117cc37e078928598470cfe43e1b6c66c6365d1cf601bc5daf1055a0f8210db, - 0x4640956c2daa074399825b0404260bee0898f9d24b1c807f5c43159e7a9b019, - 0x1da36b1fb01d0470d48c3eb4c92263eadb7b58c8829f2ee77e3287a6e39c902, - 0x78dac96e95e86f83b4a426bd0505d84b5ea967822d0fca9f3bd28331164d94b, - 0x1d50c82e363d8e7fa2641c9f2137b99832372d1879a2ee02b2c824a4cb620dd, - 0x2fd5a64db6093c9efda84ba327a43043e41310626073e58331c9f2f9f2db20f - ] - .span(), - }; -// - vector_commitment_decommit(commitment, queries, witness); -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // #[test] // #[available_gas(9999999999)] -// fn test_vector_commitment_decommit() { +// fn test_vector_commitment_decommit_1() { // let commitment = VectorCommitment { // config: VectorCommitmentConfig { // height: 0x9, n_verifier_friendly_commitment_layers: 0x64, // }, // commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 // }; -// +// // // let queries = array![ // VectorQuery { // index: 0x73, value: 0x12346ea425a6aebc8c323a401410cc325aabaf99b54e600a7271f146488aa2d @@ -152,7 +47,7 @@ fn test_vector_commitment_decommit_1() { // }, // ] // .span(); -// +// // // let witness = VectorCommitmentWitness { // authentications: array![ // 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, @@ -208,9 +103,114 @@ fn test_vector_commitment_decommit_1() { // ] // .span(), // }; -// +// // // vector_commitment_decommit(commitment, queries, witness); // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +#[test] +#[available_gas(9999999999)] +fn test_vector_commitment_decommit() { + let commitment = VectorCommitment { + config: VectorCommitmentConfig { + height: 0x9, n_verifier_friendly_commitment_layers: 0x64, + }, + commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 + }; + + let queries = array![ + VectorQuery { + index: 0x73, value: 0x12346ea425a6aebc8c323a401410cc325aabaf99b54e600a7271f146488aa2d + }, + VectorQuery { + index: 0xa5, value: 0x1aabe006a27bfa5f93bde192ff552adbef87058e62546c831ed14ce94866ac1 + }, + VectorQuery { + index: 0xb0, value: 0x7205a2b5f5f403b8053b4e4ac65e2a484c007f6d118524fe28b7cdf2a56bb8a + }, + VectorQuery { + index: 0xf8, value: 0x5d49462d844a3f203c59d39fa005cbe153c78e6ac831987f19c0d6dfae38fad + }, + VectorQuery { + index: 0x115, value: 0x53d21587a9cb08d1b9402a4b8c2a9d37942b26963936200fea3122eaaf870b1 + }, + VectorQuery { + index: 0x11c, value: 0x7c3355a75f6b36a95068b68d48e7539cd97531b7478e2cf7d2dc85b32bafc66 + }, + VectorQuery { + index: 0x12f, value: 0xb6f3a522577229ac26f12df90daaf376afbd960ee4b0ab07f270bf9c5da56a + }, + VectorQuery { + index: 0x13c, value: 0x174cfc44eb57da0eda6ae9407db71c5144940f05ef51f858bc8e229d15703e2 + }, + VectorQuery { + index: 0x153, value: 0x2220da78b33e155482bdf0534dc30fc17fe059a7b9e30f710ee2681a8151484 + }, + VectorQuery { + index: 0x1f4, value: 0x566b71a4f84556a3816d911c5dfb45f75cc962d9829acd0dd56e81517cc73b8 + }, + ] + .span(); + + let witness = VectorCommitmentWitness { + authentications: array![ + 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, + 0xf3fb7305323c5fa68ad49a509a9c470e2396af41bfd2c9cf86228504436a3, + 0x9dc63f0ac48b17304af16748798567f21bb25f8cbeaa48a462a74b3e0c5d79, + 0x5d35649398cb24bc00458a32d01c61a8450c7a30cc5b95043f4e2b30df01360, + 0x4493f60ea79053f2a96439d50d6335fd35e13599190e1656b724eacac658e37, + 0x7f58b9c9c333dc5b31e3ee5e8a98d8cab0c84b3a886042b279dc2f2c408d92b, + 0x349a976371b7aef1b1992908fefa423b9e5d4d0be58092ff6e5ead51ecf1ca4, + 0x3ffacb144085ca3c572a314c6bb0e01b253827231285fba4084e3b624438ace, + 0x55d22158d5bfad58ddf2633f24a3fae4642afbcea1cb9155e8b54c2a432fbfd, + 0x63c1598794322bd8f1686e89c94dc60b0bb4f7940b5427af72187091e71ef63, + 0xebaa8e9ab29cfba43cdc1f2cacb9cbc08b2cb17317fed571718e5e66b42488, + 0xa31370f89d85108378244beeea13a2b2c379d16cde55c2fcd674f4296ddabe, + 0x4285440535fff0ba31e970a1948a09951ff740c91c6d6cf4635527877c55ff1, + 0x49eb1420843ac1a3178010c314906d28f6118e8b36620ce4469dffca27a047d, + 0x4e65200356931c3ea1e20e087b5bff96ba268239ed2e2f784def64f5760418d, + 0x103809d798aab5452c77f42bc4c8fcfcfa9e6efdfe24077e41928a52daf1dc8, + 0x4253b3498a013d4473d43686f9e509be7541daf00afae0d7216f7019bc75d8f, + 0x689297a643de6bd5955e314f94367af901eac67eeef51a52e40c0205cf8023, + 0x2ca9dcef95643af6ec5ee055d1a05720f2e3f5e6226de5b206c4a78482963b8, + 0x72fbddae565406f284bb4dd89623c29c821b6187dd7dfc292dbbddd4094077, + 0x30e5ea3c2280db52829548ae99a71faa030b4e4bb87679b427f76c594aaa05a, + 0x45ba1eda942e1085af97db6e189996903cfa09db90e52b4589e16df981f1601, + 0x8c36a69368bea30f8ecf7de3e461a03b0cdd004ae08a3d44281b093fc63f2, + 0x5c7194878dcb2d4ba69da97c1a878f96dd78d97612c882ba7179bafe92a6a90, + 0x20c37b922bb713f2b6772a9ae014715f418fe5da4d53fe9b00cc2fe851f233a, + 0x3a7e7c684904e82bf0be54290299b6d83f448bac5c6e9ea4d1cd1e844eccb70, + 0x1ebbb30dbcb3b4fd0da33cf84d456101bbe9147b1a65507901715b3490649c6, + 0x1409c71e0dcf4a620856775508ce1b4c7d55e4229ac5fd41a3f8ecee097eb39, + 0x18cdf340cc64b00bf134c9e55396f79eddfbda8e2090542380c5c4967ee790b, + 0x18add43c036948c8d7e767ae22056e1f5f1a9d1daad6b9a8f2e7da996f4a1c2, + 0x30e7224d1c98b75e019b60bbe320e358ef35b1adaf12aad044744e640c2a4d, + 0x25a8793c928ecacb2e84802830fa101fb3839455957921ed7bcb39549b1f80, + 0x65dd0f91032712c4a8b1b5c35cd6ebdb654efb5e56085a2eef0def4bde4d066, + 0x4a50e2b14315602b8c97c9d2304db828806c37b751203bb7dad534d7b45d21d, + 0x5afdcfcf55c58dbf5ad58b17f16514da8dac3e69501fb399c30333ab3050c3, + 0x20f5ecf9107f9d3e33f462948d955b70d5ec5573a679ae548998c41b5eec730, + 0x1f70d9f6c203312c6aabf4d191cd4cbc68f8c92bebf561cb8e20ce9fc07ef55, + 0x14e877449f7005ee874020d6759ce808345e20c3fae4a62e7f12c2c457f71ec, + 0x780b4537e060e0f1e88ca7337d5d43ef2d4bbb4b48e4899c55ea9a5e7120b5a, + 0x608a4544987ef3599043e9a8b4aa0598f8d71dee81e46104ca6ac186e2c8044, + 0x58cbd95dd12e8761a99011f0ae970fe73e03b7d7e43b614510ee7a6a2efe7d3, + 0x5c533c05cbf2af6d819bdf23272e567b7a49c2c2bd799201ed0e32ce9ff092b, + 0x342bb671b7d40601d4031045068abfbf2c578f7e4a380e180dbf2b0c8fef6, + 0x2da269eab1f7e247c0caf3bcac1bb0e5e7abacde34bc54a9de3e0a82a36cfff, + 0x117cc37e078928598470cfe43e1b6c66c6365d1cf601bc5daf1055a0f8210db, + 0x4640956c2daa074399825b0404260bee0898f9d24b1c807f5c43159e7a9b019, + 0x1da36b1fb01d0470d48c3eb4c92263eadb7b58c8829f2ee77e3287a6e39c902, + 0x78dac96e95e86f83b4a426bd0505d84b5ea967822d0fca9f3bd28331164d94b, + 0x1d50c82e363d8e7fa2641c9f2137b99832372d1879a2ee02b2c824a4cb620dd, + 0x2fd5a64db6093c9efda84ba327a43043e41310626073e58331c9f2f9f2db20f + ] + .span(), + }; + + vector_commitment_decommit(commitment, queries, witness); +} // === KECCAK ONLY END === From 578776d54670f4ed3d567bdb340f12c97cc30e9d Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 7 Mar 2024 14:21:03 +0100 Subject: [PATCH 40/48] change to poseidon-blake2s --- src/air/tests/test_traces.cairo | 114 ++++----- src/common/hasher.cairo | 58 ++--- src/fri/tests/test_fri_verify.cairo | 34 +-- .../tests/test_proof_of_work.cairo | 110 ++++----- src/stark/tests/test_stark_commit.cairo | 70 +++--- src/stark/tests/test_stark_proof_verify.cairo | 46 ++-- src/stark/tests/test_stark_verify.cairo | 38 +-- .../test_table_commitment_decommit.cairo | 36 +-- .../test_vector_commitment_decommit.cairo | 218 +++++++++--------- 9 files changed, 362 insertions(+), 362 deletions(-) diff --git a/src/air/tests/test_traces.cairo b/src/air/tests/test_traces.cairo index e67773b85..9b4cfd154 100644 --- a/src/air/tests/test_traces.cairo +++ b/src/air/tests/test_traces.cairo @@ -5,88 +5,88 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_traces_config() { -// let traces_config = stone_proof_fibonacci::traces::config::get(); -// -// traces_config.validate(0x16, 0x64); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_traces_commit() { -// let mut channel = ChannelImpl::new_with_counter(0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0); -// let public_input = @stone_proof_fibonacci::public_input::get(); -// let unsent_commitment = stone_proof_fibonacci::traces::unsent_commitment::get(); -// let traces_config = stone_proof_fibonacci::traces::config::get(); -// -// assert( -// traces_commit( -// ref channel, public_input, unsent_commitment, traces_config -// ) == stone_proof_fibonacci::traces::commitment::get(), -// 'Invalid value' -// ); -// -// assert(channel.digest == 0x484f5da62866b3e2a0d4ceb5e00cf7ba33ec5c57ce032df6ca74a40cc6015a0, 'Invalid value'); -// assert(channel.counter == 0x0, 'Invalid value') -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_traces_decommit() { -// let queries = stone_proof_fibonacci::queries::get().span(); -// let commitment = stone_proof_fibonacci::traces::commitment::get(); -// let decommitment = stone_proof_fibonacci::traces::decommitment::get(); -// let witness = stone_proof_fibonacci::traces::witness::get(); -// -// traces_decommit(queries, commitment, decommitment, witness); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_traces_config() { - let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); + let traces_config = stone_proof_fibonacci::traces::config::get(); - traces_config.validate(0x14, 0x64); + traces_config.validate(0x16, 0x64); } #[test] #[available_gas(9999999999)] fn test_traces_commit() { - let mut channel = ChannelImpl::new_with_counter( - 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 - ); - let public_input = @stone_proof_fibonacci_keccak::public_input::get(); - let unsent_commitment = stone_proof_fibonacci_keccak::traces::unsent_commitment::get(); - let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); + let mut channel = ChannelImpl::new_with_counter(0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0); + let public_input = @stone_proof_fibonacci::public_input::get(); + let unsent_commitment = stone_proof_fibonacci::traces::unsent_commitment::get(); + let traces_config = stone_proof_fibonacci::traces::config::get(); assert( traces_commit( ref channel, public_input, unsent_commitment, traces_config - ) == stone_proof_fibonacci_keccak::traces::commitment::get(), + ) == stone_proof_fibonacci::traces::commitment::get(), 'Invalid value' ); - assert( - channel.digest == 0x39d06a4cd9e64c43aaec44a5415c4cbdf530040b2fc82308ceddb5f2be39dd5, - 'Invalid value' - ); + assert(channel.digest == 0x484f5da62866b3e2a0d4ceb5e00cf7ba33ec5c57ce032df6ca74a40cc6015a0, 'Invalid value'); assert(channel.counter == 0x0, 'Invalid value') } #[test] #[available_gas(9999999999)] fn test_traces_decommit() { - let queries = stone_proof_fibonacci_keccak::queries::get().span(); - let commitment = stone_proof_fibonacci_keccak::traces::commitment::get(); - let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get(); - let witness = stone_proof_fibonacci_keccak::traces::witness::get(); + let queries = stone_proof_fibonacci::queries::get().span(); + let commitment = stone_proof_fibonacci::traces::commitment::get(); + let decommitment = stone_proof_fibonacci::traces::decommitment::get(); + let witness = stone_proof_fibonacci::traces::witness::get(); traces_decommit(queries, commitment, decommitment, witness); } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_traces_config() { +// let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); +// +// traces_config.validate(0x14, 0x64); +// } +// +// #[test] +// #[available_gas(9999999999)] +// fn test_traces_commit() { +// let mut channel = ChannelImpl::new_with_counter( +// 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 +// ); +// let public_input = @stone_proof_fibonacci_keccak::public_input::get(); +// let unsent_commitment = stone_proof_fibonacci_keccak::traces::unsent_commitment::get(); +// let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); +// +// assert( +// traces_commit( +// ref channel, public_input, unsent_commitment, traces_config +// ) == stone_proof_fibonacci_keccak::traces::commitment::get(), +// 'Invalid value' +// ); +// +// assert( +// channel.digest == 0x39d06a4cd9e64c43aaec44a5415c4cbdf530040b2fc82308ceddb5f2be39dd5, +// 'Invalid value' +// ); +// assert(channel.counter == 0x0, 'Invalid value') +// } +// +// #[test] +// #[available_gas(9999999999)] +// fn test_traces_decommit() { +// let queries = stone_proof_fibonacci_keccak::queries::get().span(); +// let commitment = stone_proof_fibonacci_keccak::traces::commitment::get(); +// let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get(); +// let witness = stone_proof_fibonacci_keccak::traces::witness::get(); +// +// traces_decommit(queries, commitment, decommitment, witness); +// } // === KECCAK ONLY END === diff --git a/src/common/hasher.cairo b/src/common/hasher.cairo index 42f4dd501..be4fe71db 100644 --- a/src/common/hasher.cairo +++ b/src/common/hasher.cairo @@ -4,43 +4,43 @@ use cairo_verifier::common::{ }; // === BLAKE ONLY BEGIN === -// -// fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { -// if hash_len { -// data.append(n); -// } -// blake2s_u8(data) -// } -// -// fn hash_truncated(data: Array) -> felt252 { -// truncated_blake2s(data) -// } -// -// fn hash(data: Array) -> u256 { -// blake2s(data) -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === -fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { +fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { if hash_len { - keccak::cairo_keccak(ref data, n.into(), 1) - } else { - keccak::cairo_keccak(ref data, 0, 0) + data.append(n); } + blake2s_u8(data) } -fn hash_truncated(mut data: Array) -> felt252 { - (keccak::cairo_keccak(ref data, 0, 0) - .flip_endianness() % 0x10000000000000000000000000000000000000000) - .try_into() - .unwrap() +fn hash_truncated(data: Array) -> felt252 { + truncated_blake2s(data) } -fn hash(mut data: Array) -> u256 { - keccak::cairo_keccak(ref data, 0, 0) +fn hash(data: Array) -> u256 { + blake2s(data) } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// +// fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { +// if hash_len { +// keccak::cairo_keccak(ref data, n.into(), 1) +// } else { +// keccak::cairo_keccak(ref data, 0, 0) +// } +// } +// +// fn hash_truncated(mut data: Array) -> felt252 { +// (keccak::cairo_keccak(ref data, 0, 0) +// .flip_endianness() % 0x10000000000000000000000000000000000000000) +// .try_into() +// .unwrap() +// } +// +// fn hash(mut data: Array) -> u256 { +// keccak::cairo_keccak(ref data, 0, 0) +// } // === KECCAK ONLY END === diff --git a/src/fri/tests/test_fri_verify.cairo b/src/fri/tests/test_fri_verify.cairo index db96845c5..331a629c5 100644 --- a/src/fri/tests/test_fri_verify.cairo +++ b/src/fri/tests/test_fri_verify.cairo @@ -3,29 +3,29 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_fri_verify() { -// let queries = stone_proof_fibonacci::queries::get().span(); -// let commitment = stone_proof_fibonacci::fri::commitment::get(); -// let decommitment = stone_proof_fibonacci::fri::decommitment::get(); -// let witness = stone_proof_fibonacci::fri::witness::get(); -// -// fri_verify(queries, commitment, decommitment, witness) -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_fri_verify() { - let queries = stone_proof_fibonacci_keccak::queries::get().span(); - let commitment = stone_proof_fibonacci_keccak::fri::commitment::get(); - let decommitment = stone_proof_fibonacci_keccak::fri::decommitment::get(); - let witness = stone_proof_fibonacci_keccak::fri::witness::get(); + let queries = stone_proof_fibonacci::queries::get().span(); + let commitment = stone_proof_fibonacci::fri::commitment::get(); + let decommitment = stone_proof_fibonacci::fri::decommitment::get(); + let witness = stone_proof_fibonacci::fri::witness::get(); fri_verify(queries, commitment, decommitment, witness) } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_fri_verify() { +// let queries = stone_proof_fibonacci_keccak::queries::get().span(); +// let commitment = stone_proof_fibonacci_keccak::fri::commitment::get(); +// let decommitment = stone_proof_fibonacci_keccak::fri::decommitment::get(); +// let witness = stone_proof_fibonacci_keccak::fri::witness::get(); +// +// fri_verify(queries, commitment, decommitment, witness) +// } // === KECCAK ONLY END === diff --git a/src/proof_of_work/tests/test_proof_of_work.cairo b/src/proof_of_work/tests/test_proof_of_work.cairo index 8a0e38a04..67eb01822 100644 --- a/src/proof_of_work/tests/test_proof_of_work.cairo +++ b/src/proof_of_work/tests/test_proof_of_work.cairo @@ -1,46 +1,12 @@ use cairo_verifier::proof_of_work::proof_of_work::verify_proof_of_work; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_verify_proof_of_work_0() { -// let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; -// let nonce: u64 = 0x1683b; -// let n_bits: u8 = 20; -// verify_proof_of_work(digest, n_bits, nonce); -// } -// -// #[test] -// #[should_panic] -// #[available_gas(9999999999)] -// fn test_verify_proof_of_work_1() { -// let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; -// let nonce: u64 = 0x1683b + 1; -// let n_bits: u8 = 20; -// verify_proof_of_work(digest, n_bits, nonce); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_verify_proof_of_work_2() { -// let digest: u256 = u256 { -// low: 0x15aa9b8787d877d61588844c0cfe2fb9, high: 0x7cd36c3da65b8d57331341e661a86574 -// }; -// let nonce: u64 = 0x40719c5; -// let n_bits: u8 = 0x1e; -// verify_proof_of_work(digest, n_bits, nonce); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_verify_proof_of_work_0() { - let digest: u256 = u256 { - low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 - }; - let nonce: u64 = 0xd65397f; - let n_bits: u8 = 0x1e; + let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; + let nonce: u64 = 0x1683b; + let n_bits: u8 = 20; verify_proof_of_work(digest, n_bits, nonce); } @@ -48,11 +14,9 @@ fn test_verify_proof_of_work_0() { #[should_panic] #[available_gas(9999999999)] fn test_verify_proof_of_work_1() { - let digest: u256 = u256 { - low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 - }; - let nonce: u64 = 0xd65397f + 1; - let n_bits: u8 = 0x1e; + let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; + let nonce: u64 = 0x1683b + 1; + let n_bits: u8 = 20; verify_proof_of_work(digest, n_bits, nonce); } @@ -60,24 +24,60 @@ fn test_verify_proof_of_work_1() { #[available_gas(9999999999)] fn test_verify_proof_of_work_2() { let digest: u256 = u256 { - low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed + low: 0x15aa9b8787d877d61588844c0cfe2fb9, high: 0x7cd36c3da65b8d57331341e661a86574 }; - let nonce: u64 = 0x544bb355; + let nonce: u64 = 0x40719c5; let n_bits: u8 = 0x1e; verify_proof_of_work(digest, n_bits, nonce); } +// === BLAKE ONLY END === -#[test] -#[should_panic] -#[available_gas(9999999999)] -fn test_verify_proof_of_work_3() { - let digest: u256 = u256 { - low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed - }; - let nonce: u64 = 0x544bb355 - 1; - let n_bits: u8 = 0x1e; - verify_proof_of_work(digest, n_bits, nonce); -} +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_verify_proof_of_work_0() { +// let digest: u256 = u256 { +// low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 +// }; +// let nonce: u64 = 0xd65397f; +// let n_bits: u8 = 0x1e; +// verify_proof_of_work(digest, n_bits, nonce); +// } +// +// #[test] +// #[should_panic] +// #[available_gas(9999999999)] +// fn test_verify_proof_of_work_1() { +// let digest: u256 = u256 { +// low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 +// }; +// let nonce: u64 = 0xd65397f + 1; +// let n_bits: u8 = 0x1e; +// verify_proof_of_work(digest, n_bits, nonce); +// } +// +// #[test] +// #[available_gas(9999999999)] +// fn test_verify_proof_of_work_2() { +// let digest: u256 = u256 { +// low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed +// }; +// let nonce: u64 = 0x544bb355; +// let n_bits: u8 = 0x1e; +// verify_proof_of_work(digest, n_bits, nonce); +// } +// +// #[test] +// #[should_panic] +// #[available_gas(9999999999)] +// fn test_verify_proof_of_work_3() { +// let digest: u256 = u256 { +// low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed +// }; +// let nonce: u64 = 0x544bb355 - 1; +// let n_bits: u8 = 0x1e; +// verify_proof_of_work(digest, n_bits, nonce); +// } // === KECCAK ONLY END === diff --git a/src/stark/tests/test_stark_commit.cairo b/src/stark/tests/test_stark_commit.cairo index 3f9bc83a1..1d89ee85b 100644 --- a/src/stark/tests/test_stark_commit.cairo +++ b/src/stark/tests/test_stark_commit.cairo @@ -4,54 +4,54 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_stark_commit() { -// let mut channel = ChannelTrait::new_with_counter(0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0); -// -// let public_input = stone_proof_fibonacci::public_input::get(); -// let unsent_commitment = stone_proof_fibonacci::stark::unsent_commitment::get(); -// let config = stone_proof_fibonacci::stark::config::get(); -// let stark_domains = stone_proof_fibonacci::stark::domains::get(); -// -// assert( -// stark_commit( -// ref channel, @public_input, @unsent_commitment, @config, @stark_domains -// ) == stone_proof_fibonacci::stark::commitment::get(), -// 'Invalid value' -// ); -// -// assert(channel.digest == 0x9c769c7e0797cf043b06b980072a798b141f2bc41b14e85ad93ba178b13de7, 'Invalid value'); -// assert(channel.counter == 0x0, 'Invalid value'); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_stark_commit() { - let mut channel = ChannelTrait::new_with_counter( - 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 - ); + let mut channel = ChannelTrait::new_with_counter(0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0); - let public_input = stone_proof_fibonacci_keccak::public_input::get(); - let unsent_commitment = stone_proof_fibonacci_keccak::stark::unsent_commitment::get(); - let config = stone_proof_fibonacci_keccak::stark::config::get(); - let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); + let public_input = stone_proof_fibonacci::public_input::get(); + let unsent_commitment = stone_proof_fibonacci::stark::unsent_commitment::get(); + let config = stone_proof_fibonacci::stark::config::get(); + let stark_domains = stone_proof_fibonacci::stark::domains::get(); assert( stark_commit( ref channel, @public_input, @unsent_commitment, @config, @stark_domains - ) == stone_proof_fibonacci_keccak::stark::commitment::get(), + ) == stone_proof_fibonacci::stark::commitment::get(), 'Invalid value' ); - assert( - channel.digest == 0x28f12249c8cba51796d59e7573019ce2b4608c9a8cdeee26e821b0763c69229, - 'Invalid value' - ); + assert(channel.digest == 0x9c769c7e0797cf043b06b980072a798b141f2bc41b14e85ad93ba178b13de7, 'Invalid value'); assert(channel.counter == 0x0, 'Invalid value'); } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_stark_commit() { +// let mut channel = ChannelTrait::new_with_counter( +// 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 +// ); +// +// let public_input = stone_proof_fibonacci_keccak::public_input::get(); +// let unsent_commitment = stone_proof_fibonacci_keccak::stark::unsent_commitment::get(); +// let config = stone_proof_fibonacci_keccak::stark::config::get(); +// let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); +// +// assert( +// stark_commit( +// ref channel, @public_input, @unsent_commitment, @config, @stark_domains +// ) == stone_proof_fibonacci_keccak::stark::commitment::get(), +// 'Invalid value' +// ); +// +// assert( +// channel.digest == 0x28f12249c8cba51796d59e7573019ce2b4608c9a8cdeee26e821b0763c69229, +// 'Invalid value' +// ); +// assert(channel.counter == 0x0, 'Invalid value'); +// } // === KECCAK ONLY END === diff --git a/src/stark/tests/test_stark_proof_verify.cairo b/src/stark/tests/test_stark_proof_verify.cairo index e2d982687..e9106e6c4 100644 --- a/src/stark/tests/test_stark_proof_verify.cairo +++ b/src/stark/tests/test_stark_proof_verify.cairo @@ -4,37 +4,37 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(99999999999)] -// fn test_stark_proof_fibonacci_verify() { -// let security_bits: felt252 = 50; -// // -// let stark_proof = StarkProof { -// config: stone_proof_fibonacci::stark::config::get(), -// public_input: stone_proof_fibonacci::public_input::get(), -// unsent_commitment: stone_proof_fibonacci::stark::unsent_commitment::get(), -// witness: stone_proof_fibonacci::stark::witness::get(), -// }; -// -// stark_proof.verify(security_bits); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] -#[available_gas(9999999999)] +#[available_gas(99999999999)] fn test_stark_proof_fibonacci_verify() { let security_bits: felt252 = 50; - +// let stark_proof = StarkProof { - config: stone_proof_fibonacci_keccak::stark::config::get(), - public_input: stone_proof_fibonacci_keccak::public_input::get(), - unsent_commitment: stone_proof_fibonacci_keccak::stark::unsent_commitment::get(), - witness: stone_proof_fibonacci_keccak::stark::witness::get(), + config: stone_proof_fibonacci::stark::config::get(), + public_input: stone_proof_fibonacci::public_input::get(), + unsent_commitment: stone_proof_fibonacci::stark::unsent_commitment::get(), + witness: stone_proof_fibonacci::stark::witness::get(), }; stark_proof.verify(security_bits); } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_stark_proof_fibonacci_verify() { +// let security_bits: felt252 = 50; +// +// let stark_proof = StarkProof { +// config: stone_proof_fibonacci_keccak::stark::config::get(), +// public_input: stone_proof_fibonacci_keccak::public_input::get(), +// unsent_commitment: stone_proof_fibonacci_keccak::stark::unsent_commitment::get(), +// witness: stone_proof_fibonacci_keccak::stark::witness::get(), +// }; +// +// stark_proof.verify(security_bits); +// } // === KECCAK ONLY END === diff --git a/src/stark/tests/test_stark_verify.cairo b/src/stark/tests/test_stark_verify.cairo index 07e6245cc..c264da904 100644 --- a/src/stark/tests/test_stark_verify.cairo +++ b/src/stark/tests/test_stark_verify.cairo @@ -4,33 +4,33 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_stark_verify() { -// let queries = stone_proof_fibonacci::queries::get().span(); -// let commitment = stone_proof_fibonacci::stark::commitment::get(); -// let witness = stone_proof_fibonacci::stark::witness::get(); -// let stark_domains = stone_proof_fibonacci::stark::domains::get(); -// -// stark_verify( -// NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, queries, commitment, witness, stark_domains, -// ) -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_stark_verify() { - let queries = stone_proof_fibonacci_keccak::queries::get().span(); - let commitment = stone_proof_fibonacci_keccak::stark::commitment::get(); - let witness = stone_proof_fibonacci_keccak::stark::witness::get(); - let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); + let queries = stone_proof_fibonacci::queries::get().span(); + let commitment = stone_proof_fibonacci::stark::commitment::get(); + let witness = stone_proof_fibonacci::stark::witness::get(); + let stark_domains = stone_proof_fibonacci::stark::domains::get(); stark_verify( NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, queries, commitment, witness, stark_domains, ) } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_stark_verify() { +// let queries = stone_proof_fibonacci_keccak::queries::get().span(); +// let commitment = stone_proof_fibonacci_keccak::stark::commitment::get(); +// let witness = stone_proof_fibonacci_keccak::stark::witness::get(); +// let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); +// +// stark_verify( +// NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, queries, commitment, witness, stark_domains, +// ) +// } // === KECCAK ONLY END === diff --git a/src/table_commitment/tests/test_table_commitment_decommit.cairo b/src/table_commitment/tests/test_table_commitment_decommit.cairo index 0ab03fcfc..8010cc63d 100644 --- a/src/table_commitment/tests/test_table_commitment_decommit.cairo +++ b/src/table_commitment/tests/test_table_commitment_decommit.cairo @@ -10,29 +10,29 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_table_commitment_decommit() { -// let commitment = stone_proof_fibonacci::traces::commitment::get().original; -// let queries = stone_proof_fibonacci::queries::get().span(); -// let decommitment = stone_proof_fibonacci::traces::decommitment::get().original; -// let witness = stone_proof_fibonacci::traces::witness::get().original; -// // -// table_decommit(commitment, queries, decommitment, witness); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_table_commitment_decommit() { - let commitment = stone_proof_fibonacci_keccak::traces::commitment::get().original; - let queries = stone_proof_fibonacci_keccak::queries::get().span(); - let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get().original; - let witness = stone_proof_fibonacci_keccak::traces::witness::get().original; - + let commitment = stone_proof_fibonacci::traces::commitment::get().original; + let queries = stone_proof_fibonacci::queries::get().span(); + let decommitment = stone_proof_fibonacci::traces::decommitment::get().original; + let witness = stone_proof_fibonacci::traces::witness::get().original; +// table_decommit(commitment, queries, decommitment, witness); } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_table_commitment_decommit() { +// let commitment = stone_proof_fibonacci_keccak::traces::commitment::get().original; +// let queries = stone_proof_fibonacci_keccak::queries::get().span(); +// let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get().original; +// let witness = stone_proof_fibonacci_keccak::traces::witness::get().original; +// +// table_decommit(commitment, queries, decommitment, witness); +// } // === KECCAK ONLY END === diff --git a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo index 6dc58cbaf..2ca20462e 100644 --- a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo +++ b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo @@ -4,121 +4,16 @@ use cairo_verifier::vector_commitment::vector_commitment::{ }; // === BLAKE ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_vector_commitment_decommit_1() { -// let commitment = VectorCommitment { -// config: VectorCommitmentConfig { -// height: 0x9, n_verifier_friendly_commitment_layers: 0x64, -// }, -// commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 -// }; -// // -// let queries = array![ -// VectorQuery { -// index: 0x73, value: 0x12346ea425a6aebc8c323a401410cc325aabaf99b54e600a7271f146488aa2d -// }, -// VectorQuery { -// index: 0xa5, value: 0x1aabe006a27bfa5f93bde192ff552adbef87058e62546c831ed14ce94866ac1 -// }, -// VectorQuery { -// index: 0xb0, value: 0x7205a2b5f5f403b8053b4e4ac65e2a484c007f6d118524fe28b7cdf2a56bb8a -// }, -// VectorQuery { -// index: 0xf8, value: 0x5d49462d844a3f203c59d39fa005cbe153c78e6ac831987f19c0d6dfae38fad -// }, -// VectorQuery { -// index: 0x115, value: 0x53d21587a9cb08d1b9402a4b8c2a9d37942b26963936200fea3122eaaf870b1 -// }, -// VectorQuery { -// index: 0x11c, value: 0x7c3355a75f6b36a95068b68d48e7539cd97531b7478e2cf7d2dc85b32bafc66 -// }, -// VectorQuery { -// index: 0x12f, value: 0xb6f3a522577229ac26f12df90daaf376afbd960ee4b0ab07f270bf9c5da56a -// }, -// VectorQuery { -// index: 0x13c, value: 0x174cfc44eb57da0eda6ae9407db71c5144940f05ef51f858bc8e229d15703e2 -// }, -// VectorQuery { -// index: 0x153, value: 0x2220da78b33e155482bdf0534dc30fc17fe059a7b9e30f710ee2681a8151484 -// }, -// VectorQuery { -// index: 0x1f4, value: 0x566b71a4f84556a3816d911c5dfb45f75cc962d9829acd0dd56e81517cc73b8 -// }, -// ] -// .span(); -// // -// let witness = VectorCommitmentWitness { -// authentications: array![ -// 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, -// 0xf3fb7305323c5fa68ad49a509a9c470e2396af41bfd2c9cf86228504436a3, -// 0x9dc63f0ac48b17304af16748798567f21bb25f8cbeaa48a462a74b3e0c5d79, -// 0x5d35649398cb24bc00458a32d01c61a8450c7a30cc5b95043f4e2b30df01360, -// 0x4493f60ea79053f2a96439d50d6335fd35e13599190e1656b724eacac658e37, -// 0x7f58b9c9c333dc5b31e3ee5e8a98d8cab0c84b3a886042b279dc2f2c408d92b, -// 0x349a976371b7aef1b1992908fefa423b9e5d4d0be58092ff6e5ead51ecf1ca4, -// 0x3ffacb144085ca3c572a314c6bb0e01b253827231285fba4084e3b624438ace, -// 0x55d22158d5bfad58ddf2633f24a3fae4642afbcea1cb9155e8b54c2a432fbfd, -// 0x63c1598794322bd8f1686e89c94dc60b0bb4f7940b5427af72187091e71ef63, -// 0xebaa8e9ab29cfba43cdc1f2cacb9cbc08b2cb17317fed571718e5e66b42488, -// 0xa31370f89d85108378244beeea13a2b2c379d16cde55c2fcd674f4296ddabe, -// 0x4285440535fff0ba31e970a1948a09951ff740c91c6d6cf4635527877c55ff1, -// 0x49eb1420843ac1a3178010c314906d28f6118e8b36620ce4469dffca27a047d, -// 0x4e65200356931c3ea1e20e087b5bff96ba268239ed2e2f784def64f5760418d, -// 0x103809d798aab5452c77f42bc4c8fcfcfa9e6efdfe24077e41928a52daf1dc8, -// 0x4253b3498a013d4473d43686f9e509be7541daf00afae0d7216f7019bc75d8f, -// 0x689297a643de6bd5955e314f94367af901eac67eeef51a52e40c0205cf8023, -// 0x2ca9dcef95643af6ec5ee055d1a05720f2e3f5e6226de5b206c4a78482963b8, -// 0x72fbddae565406f284bb4dd89623c29c821b6187dd7dfc292dbbddd4094077, -// 0x30e5ea3c2280db52829548ae99a71faa030b4e4bb87679b427f76c594aaa05a, -// 0x45ba1eda942e1085af97db6e189996903cfa09db90e52b4589e16df981f1601, -// 0x8c36a69368bea30f8ecf7de3e461a03b0cdd004ae08a3d44281b093fc63f2, -// 0x5c7194878dcb2d4ba69da97c1a878f96dd78d97612c882ba7179bafe92a6a90, -// 0x20c37b922bb713f2b6772a9ae014715f418fe5da4d53fe9b00cc2fe851f233a, -// 0x3a7e7c684904e82bf0be54290299b6d83f448bac5c6e9ea4d1cd1e844eccb70, -// 0x1ebbb30dbcb3b4fd0da33cf84d456101bbe9147b1a65507901715b3490649c6, -// 0x1409c71e0dcf4a620856775508ce1b4c7d55e4229ac5fd41a3f8ecee097eb39, -// 0x18cdf340cc64b00bf134c9e55396f79eddfbda8e2090542380c5c4967ee790b, -// 0x18add43c036948c8d7e767ae22056e1f5f1a9d1daad6b9a8f2e7da996f4a1c2, -// 0x30e7224d1c98b75e019b60bbe320e358ef35b1adaf12aad044744e640c2a4d, -// 0x25a8793c928ecacb2e84802830fa101fb3839455957921ed7bcb39549b1f80, -// 0x65dd0f91032712c4a8b1b5c35cd6ebdb654efb5e56085a2eef0def4bde4d066, -// 0x4a50e2b14315602b8c97c9d2304db828806c37b751203bb7dad534d7b45d21d, -// 0x5afdcfcf55c58dbf5ad58b17f16514da8dac3e69501fb399c30333ab3050c3, -// 0x20f5ecf9107f9d3e33f462948d955b70d5ec5573a679ae548998c41b5eec730, -// 0x1f70d9f6c203312c6aabf4d191cd4cbc68f8c92bebf561cb8e20ce9fc07ef55, -// 0x14e877449f7005ee874020d6759ce808345e20c3fae4a62e7f12c2c457f71ec, -// 0x780b4537e060e0f1e88ca7337d5d43ef2d4bbb4b48e4899c55ea9a5e7120b5a, -// 0x608a4544987ef3599043e9a8b4aa0598f8d71dee81e46104ca6ac186e2c8044, -// 0x58cbd95dd12e8761a99011f0ae970fe73e03b7d7e43b614510ee7a6a2efe7d3, -// 0x5c533c05cbf2af6d819bdf23272e567b7a49c2c2bd799201ed0e32ce9ff092b, -// 0x342bb671b7d40601d4031045068abfbf2c578f7e4a380e180dbf2b0c8fef6, -// 0x2da269eab1f7e247c0caf3bcac1bb0e5e7abacde34bc54a9de3e0a82a36cfff, -// 0x117cc37e078928598470cfe43e1b6c66c6365d1cf601bc5daf1055a0f8210db, -// 0x4640956c2daa074399825b0404260bee0898f9d24b1c807f5c43159e7a9b019, -// 0x1da36b1fb01d0470d48c3eb4c92263eadb7b58c8829f2ee77e3287a6e39c902, -// 0x78dac96e95e86f83b4a426bd0505d84b5ea967822d0fca9f3bd28331164d94b, -// 0x1d50c82e363d8e7fa2641c9f2137b99832372d1879a2ee02b2c824a4cb620dd, -// 0x2fd5a64db6093c9efda84ba327a43043e41310626073e58331c9f2f9f2db20f -// ] -// .span(), -// }; -// // -// vector_commitment_decommit(commitment, queries, witness); -// } -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] -fn test_vector_commitment_decommit() { +fn test_vector_commitment_decommit_1() { let commitment = VectorCommitment { config: VectorCommitmentConfig { height: 0x9, n_verifier_friendly_commitment_layers: 0x64, }, commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 }; - +// let queries = array![ VectorQuery { index: 0x73, value: 0x12346ea425a6aebc8c323a401410cc325aabaf99b54e600a7271f146488aa2d @@ -152,7 +47,7 @@ fn test_vector_commitment_decommit() { }, ] .span(); - +// let witness = VectorCommitmentWitness { authentications: array![ 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, @@ -208,9 +103,114 @@ fn test_vector_commitment_decommit() { ] .span(), }; - +// vector_commitment_decommit(commitment, queries, witness); } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_vector_commitment_decommit() { +// let commitment = VectorCommitment { +// config: VectorCommitmentConfig { +// height: 0x9, n_verifier_friendly_commitment_layers: 0x64, +// }, +// commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 +// }; +// +// let queries = array![ +// VectorQuery { +// index: 0x73, value: 0x12346ea425a6aebc8c323a401410cc325aabaf99b54e600a7271f146488aa2d +// }, +// VectorQuery { +// index: 0xa5, value: 0x1aabe006a27bfa5f93bde192ff552adbef87058e62546c831ed14ce94866ac1 +// }, +// VectorQuery { +// index: 0xb0, value: 0x7205a2b5f5f403b8053b4e4ac65e2a484c007f6d118524fe28b7cdf2a56bb8a +// }, +// VectorQuery { +// index: 0xf8, value: 0x5d49462d844a3f203c59d39fa005cbe153c78e6ac831987f19c0d6dfae38fad +// }, +// VectorQuery { +// index: 0x115, value: 0x53d21587a9cb08d1b9402a4b8c2a9d37942b26963936200fea3122eaaf870b1 +// }, +// VectorQuery { +// index: 0x11c, value: 0x7c3355a75f6b36a95068b68d48e7539cd97531b7478e2cf7d2dc85b32bafc66 +// }, +// VectorQuery { +// index: 0x12f, value: 0xb6f3a522577229ac26f12df90daaf376afbd960ee4b0ab07f270bf9c5da56a +// }, +// VectorQuery { +// index: 0x13c, value: 0x174cfc44eb57da0eda6ae9407db71c5144940f05ef51f858bc8e229d15703e2 +// }, +// VectorQuery { +// index: 0x153, value: 0x2220da78b33e155482bdf0534dc30fc17fe059a7b9e30f710ee2681a8151484 +// }, +// VectorQuery { +// index: 0x1f4, value: 0x566b71a4f84556a3816d911c5dfb45f75cc962d9829acd0dd56e81517cc73b8 +// }, +// ] +// .span(); +// +// let witness = VectorCommitmentWitness { +// authentications: array![ +// 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, +// 0xf3fb7305323c5fa68ad49a509a9c470e2396af41bfd2c9cf86228504436a3, +// 0x9dc63f0ac48b17304af16748798567f21bb25f8cbeaa48a462a74b3e0c5d79, +// 0x5d35649398cb24bc00458a32d01c61a8450c7a30cc5b95043f4e2b30df01360, +// 0x4493f60ea79053f2a96439d50d6335fd35e13599190e1656b724eacac658e37, +// 0x7f58b9c9c333dc5b31e3ee5e8a98d8cab0c84b3a886042b279dc2f2c408d92b, +// 0x349a976371b7aef1b1992908fefa423b9e5d4d0be58092ff6e5ead51ecf1ca4, +// 0x3ffacb144085ca3c572a314c6bb0e01b253827231285fba4084e3b624438ace, +// 0x55d22158d5bfad58ddf2633f24a3fae4642afbcea1cb9155e8b54c2a432fbfd, +// 0x63c1598794322bd8f1686e89c94dc60b0bb4f7940b5427af72187091e71ef63, +// 0xebaa8e9ab29cfba43cdc1f2cacb9cbc08b2cb17317fed571718e5e66b42488, +// 0xa31370f89d85108378244beeea13a2b2c379d16cde55c2fcd674f4296ddabe, +// 0x4285440535fff0ba31e970a1948a09951ff740c91c6d6cf4635527877c55ff1, +// 0x49eb1420843ac1a3178010c314906d28f6118e8b36620ce4469dffca27a047d, +// 0x4e65200356931c3ea1e20e087b5bff96ba268239ed2e2f784def64f5760418d, +// 0x103809d798aab5452c77f42bc4c8fcfcfa9e6efdfe24077e41928a52daf1dc8, +// 0x4253b3498a013d4473d43686f9e509be7541daf00afae0d7216f7019bc75d8f, +// 0x689297a643de6bd5955e314f94367af901eac67eeef51a52e40c0205cf8023, +// 0x2ca9dcef95643af6ec5ee055d1a05720f2e3f5e6226de5b206c4a78482963b8, +// 0x72fbddae565406f284bb4dd89623c29c821b6187dd7dfc292dbbddd4094077, +// 0x30e5ea3c2280db52829548ae99a71faa030b4e4bb87679b427f76c594aaa05a, +// 0x45ba1eda942e1085af97db6e189996903cfa09db90e52b4589e16df981f1601, +// 0x8c36a69368bea30f8ecf7de3e461a03b0cdd004ae08a3d44281b093fc63f2, +// 0x5c7194878dcb2d4ba69da97c1a878f96dd78d97612c882ba7179bafe92a6a90, +// 0x20c37b922bb713f2b6772a9ae014715f418fe5da4d53fe9b00cc2fe851f233a, +// 0x3a7e7c684904e82bf0be54290299b6d83f448bac5c6e9ea4d1cd1e844eccb70, +// 0x1ebbb30dbcb3b4fd0da33cf84d456101bbe9147b1a65507901715b3490649c6, +// 0x1409c71e0dcf4a620856775508ce1b4c7d55e4229ac5fd41a3f8ecee097eb39, +// 0x18cdf340cc64b00bf134c9e55396f79eddfbda8e2090542380c5c4967ee790b, +// 0x18add43c036948c8d7e767ae22056e1f5f1a9d1daad6b9a8f2e7da996f4a1c2, +// 0x30e7224d1c98b75e019b60bbe320e358ef35b1adaf12aad044744e640c2a4d, +// 0x25a8793c928ecacb2e84802830fa101fb3839455957921ed7bcb39549b1f80, +// 0x65dd0f91032712c4a8b1b5c35cd6ebdb654efb5e56085a2eef0def4bde4d066, +// 0x4a50e2b14315602b8c97c9d2304db828806c37b751203bb7dad534d7b45d21d, +// 0x5afdcfcf55c58dbf5ad58b17f16514da8dac3e69501fb399c30333ab3050c3, +// 0x20f5ecf9107f9d3e33f462948d955b70d5ec5573a679ae548998c41b5eec730, +// 0x1f70d9f6c203312c6aabf4d191cd4cbc68f8c92bebf561cb8e20ce9fc07ef55, +// 0x14e877449f7005ee874020d6759ce808345e20c3fae4a62e7f12c2c457f71ec, +// 0x780b4537e060e0f1e88ca7337d5d43ef2d4bbb4b48e4899c55ea9a5e7120b5a, +// 0x608a4544987ef3599043e9a8b4aa0598f8d71dee81e46104ca6ac186e2c8044, +// 0x58cbd95dd12e8761a99011f0ae970fe73e03b7d7e43b614510ee7a6a2efe7d3, +// 0x5c533c05cbf2af6d819bdf23272e567b7a49c2c2bd799201ed0e32ce9ff092b, +// 0x342bb671b7d40601d4031045068abfbf2c578f7e4a380e180dbf2b0c8fef6, +// 0x2da269eab1f7e247c0caf3bcac1bb0e5e7abacde34bc54a9de3e0a82a36cfff, +// 0x117cc37e078928598470cfe43e1b6c66c6365d1cf601bc5daf1055a0f8210db, +// 0x4640956c2daa074399825b0404260bee0898f9d24b1c807f5c43159e7a9b019, +// 0x1da36b1fb01d0470d48c3eb4c92263eadb7b58c8829f2ee77e3287a6e39c902, +// 0x78dac96e95e86f83b4a426bd0505d84b5ea967822d0fca9f3bd28331164d94b, +// 0x1d50c82e363d8e7fa2641c9f2137b99832372d1879a2ee02b2c824a4cb620dd, +// 0x2fd5a64db6093c9efda84ba327a43043e41310626073e58331c9f2f9f2db20f +// ] +// .span(), +// }; +// +// vector_commitment_decommit(commitment, queries, witness); +// } // === KECCAK ONLY END === From 7d561c27812811e1a8921f2211752190430ae73a Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 7 Mar 2024 14:22:32 +0100 Subject: [PATCH 41/48] fmt --- src/air/tests/test_composition.cairo | 3 +-- src/air/tests/test_traces.cairo | 9 +++++++-- src/stark/tests/test_stark_commit.cairo | 9 +++++++-- src/stark/tests/test_stark_proof_verify.cairo | 2 +- .../tests/test_table_commitment_decommit.cairo | 2 +- .../stone_proof_fibonacci/fri/unsent_commitment.cairo | 3 +-- src/tests/stone_proof_fibonacci/stark/config.cairo | 3 +-- .../tests/test_vector_commitment_decommit.cairo | 6 +++--- 8 files changed, 22 insertions(+), 15 deletions(-) diff --git a/src/air/tests/test_composition.cairo b/src/air/tests/test_composition.cairo index 6552dbb80..afbf042c5 100644 --- a/src/air/tests/test_composition.cairo +++ b/src/air/tests/test_composition.cairo @@ -26,7 +26,6 @@ fn test_eval_composition_polynomial() { trace_generator: 0x4768803ef85256034f67453635f87997ff61841e411ee63ce7b0a8b9745a046 ); assert( - res == 0x511668bf439c0999c57d3c05c9f1bcf12095ef76d5a032985bd2350f1731604, - 'invalid value' + res == 0x511668bf439c0999c57d3c05c9f1bcf12095ef76d5a032985bd2350f1731604, 'invalid value' ); } diff --git a/src/air/tests/test_traces.cairo b/src/air/tests/test_traces.cairo index 9b4cfd154..8482ba8e5 100644 --- a/src/air/tests/test_traces.cairo +++ b/src/air/tests/test_traces.cairo @@ -16,7 +16,9 @@ fn test_traces_config() { #[test] #[available_gas(9999999999)] fn test_traces_commit() { - let mut channel = ChannelImpl::new_with_counter(0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0); + let mut channel = ChannelImpl::new_with_counter( + 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 + ); let public_input = @stone_proof_fibonacci::public_input::get(); let unsent_commitment = stone_proof_fibonacci::traces::unsent_commitment::get(); let traces_config = stone_proof_fibonacci::traces::config::get(); @@ -28,7 +30,10 @@ fn test_traces_commit() { 'Invalid value' ); - assert(channel.digest == 0x484f5da62866b3e2a0d4ceb5e00cf7ba33ec5c57ce032df6ca74a40cc6015a0, 'Invalid value'); + assert( + channel.digest == 0x484f5da62866b3e2a0d4ceb5e00cf7ba33ec5c57ce032df6ca74a40cc6015a0, + 'Invalid value' + ); assert(channel.counter == 0x0, 'Invalid value') } diff --git a/src/stark/tests/test_stark_commit.cairo b/src/stark/tests/test_stark_commit.cairo index 1d89ee85b..bbb18b389 100644 --- a/src/stark/tests/test_stark_commit.cairo +++ b/src/stark/tests/test_stark_commit.cairo @@ -7,7 +7,9 @@ use cairo_verifier::{ #[test] #[available_gas(9999999999)] fn test_stark_commit() { - let mut channel = ChannelTrait::new_with_counter(0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0); + let mut channel = ChannelTrait::new_with_counter( + 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 + ); let public_input = stone_proof_fibonacci::public_input::get(); let unsent_commitment = stone_proof_fibonacci::stark::unsent_commitment::get(); @@ -21,7 +23,10 @@ fn test_stark_commit() { 'Invalid value' ); - assert(channel.digest == 0x9c769c7e0797cf043b06b980072a798b141f2bc41b14e85ad93ba178b13de7, 'Invalid value'); + assert( + channel.digest == 0x9c769c7e0797cf043b06b980072a798b141f2bc41b14e85ad93ba178b13de7, + 'Invalid value' + ); assert(channel.counter == 0x0, 'Invalid value'); } // === BLAKE ONLY END === diff --git a/src/stark/tests/test_stark_proof_verify.cairo b/src/stark/tests/test_stark_proof_verify.cairo index e9106e6c4..8aa9cd9f5 100644 --- a/src/stark/tests/test_stark_proof_verify.cairo +++ b/src/stark/tests/test_stark_proof_verify.cairo @@ -8,7 +8,7 @@ use cairo_verifier::{ #[available_gas(99999999999)] fn test_stark_proof_fibonacci_verify() { let security_bits: felt252 = 50; -// + // let stark_proof = StarkProof { config: stone_proof_fibonacci::stark::config::get(), public_input: stone_proof_fibonacci::public_input::get(), diff --git a/src/table_commitment/tests/test_table_commitment_decommit.cairo b/src/table_commitment/tests/test_table_commitment_decommit.cairo index 8010cc63d..82521a0e3 100644 --- a/src/table_commitment/tests/test_table_commitment_decommit.cairo +++ b/src/table_commitment/tests/test_table_commitment_decommit.cairo @@ -17,7 +17,7 @@ fn test_table_commitment_decommit() { let queries = stone_proof_fibonacci::queries::get().span(); let decommitment = stone_proof_fibonacci::traces::decommitment::get().original; let witness = stone_proof_fibonacci::traces::witness::get().original; -// + // table_decommit(commitment, queries, decommitment, witness); } // === BLAKE ONLY END === diff --git a/src/tests/stone_proof_fibonacci/fri/unsent_commitment.cairo b/src/tests/stone_proof_fibonacci/fri/unsent_commitment.cairo index 7ec52bded..8df01cd8d 100644 --- a/src/tests/stone_proof_fibonacci/fri/unsent_commitment.cairo +++ b/src/tests/stone_proof_fibonacci/fri/unsent_commitment.cairo @@ -9,7 +9,6 @@ fn get() -> FriUnsentCommitment { 0x787b0937a4cd02e0143e93979bb79139ca9546fc1654b4f755f8642c989ba20, ] .span(), - last_layer_coefficients: stone_proof_fibonacci::fri::last_layer_coefficients::get() - .span(), + last_layer_coefficients: stone_proof_fibonacci::fri::last_layer_coefficients::get().span(), }; } diff --git a/src/tests/stone_proof_fibonacci/stark/config.cairo b/src/tests/stone_proof_fibonacci/stark/config.cairo index afe05cac8..107b04aeb 100644 --- a/src/tests/stone_proof_fibonacci/stark/config.cairo +++ b/src/tests/stone_proof_fibonacci/stark/config.cairo @@ -1,7 +1,6 @@ use cairo_verifier::{ stark::StarkConfig, table_commitment::table_commitment::TableCommitmentConfig, - vector_commitment::vector_commitment::VectorCommitmentConfig, - tests::stone_proof_fibonacci, + vector_commitment::vector_commitment::VectorCommitmentConfig, tests::stone_proof_fibonacci, }; fn get() -> StarkConfig { diff --git a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo index 2ca20462e..049359025 100644 --- a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo +++ b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo @@ -13,7 +13,7 @@ fn test_vector_commitment_decommit_1() { }, commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 }; -// + // let queries = array![ VectorQuery { index: 0x73, value: 0x12346ea425a6aebc8c323a401410cc325aabaf99b54e600a7271f146488aa2d @@ -47,7 +47,7 @@ fn test_vector_commitment_decommit_1() { }, ] .span(); -// + // let witness = VectorCommitmentWitness { authentications: array![ 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, @@ -103,7 +103,7 @@ fn test_vector_commitment_decommit_1() { ] .span(), }; -// + // vector_commitment_decommit(commitment, queries, witness); } // === BLAKE ONLY END === From 1b64e4bed83c8221cf936253e137420829826298 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 7 Mar 2024 14:23:36 +0100 Subject: [PATCH 42/48] change to poseidon-keccak --- src/air/tests/test_traces.cairo | 112 ++++----- src/common/hasher.cairo | 58 ++--- src/fri/tests/test_fri_verify.cairo | 34 +-- .../tests/test_proof_of_work.cairo | 110 ++++----- src/stark/tests/test_stark_commit.cairo | 68 +++--- src/stark/tests/test_stark_proof_verify.cairo | 46 ++-- src/stark/tests/test_stark_verify.cairo | 38 +-- .../test_table_commitment_decommit.cairo | 36 +-- .../test_vector_commitment_decommit.cairo | 218 +++++++++--------- 9 files changed, 360 insertions(+), 360 deletions(-) diff --git a/src/air/tests/test_traces.cairo b/src/air/tests/test_traces.cairo index 8482ba8e5..29c8f05a3 100644 --- a/src/air/tests/test_traces.cairo +++ b/src/air/tests/test_traces.cairo @@ -5,57 +5,12 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -#[test] -#[available_gas(9999999999)] -fn test_traces_config() { - let traces_config = stone_proof_fibonacci::traces::config::get(); - - traces_config.validate(0x16, 0x64); -} - -#[test] -#[available_gas(9999999999)] -fn test_traces_commit() { - let mut channel = ChannelImpl::new_with_counter( - 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 - ); - let public_input = @stone_proof_fibonacci::public_input::get(); - let unsent_commitment = stone_proof_fibonacci::traces::unsent_commitment::get(); - let traces_config = stone_proof_fibonacci::traces::config::get(); - - assert( - traces_commit( - ref channel, public_input, unsent_commitment, traces_config - ) == stone_proof_fibonacci::traces::commitment::get(), - 'Invalid value' - ); - - assert( - channel.digest == 0x484f5da62866b3e2a0d4ceb5e00cf7ba33ec5c57ce032df6ca74a40cc6015a0, - 'Invalid value' - ); - assert(channel.counter == 0x0, 'Invalid value') -} - -#[test] -#[available_gas(9999999999)] -fn test_traces_decommit() { - let queries = stone_proof_fibonacci::queries::get().span(); - let commitment = stone_proof_fibonacci::traces::commitment::get(); - let decommitment = stone_proof_fibonacci::traces::decommitment::get(); - let witness = stone_proof_fibonacci::traces::witness::get(); - - traces_decommit(queries, commitment, decommitment, witness); -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // #[test] // #[available_gas(9999999999)] // fn test_traces_config() { -// let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); +// let traces_config = stone_proof_fibonacci::traces::config::get(); // -// traces_config.validate(0x14, 0x64); +// traces_config.validate(0x16, 0x64); // } // // #[test] @@ -64,19 +19,19 @@ fn test_traces_decommit() { // let mut channel = ChannelImpl::new_with_counter( // 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 // ); -// let public_input = @stone_proof_fibonacci_keccak::public_input::get(); -// let unsent_commitment = stone_proof_fibonacci_keccak::traces::unsent_commitment::get(); -// let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); +// let public_input = @stone_proof_fibonacci::public_input::get(); +// let unsent_commitment = stone_proof_fibonacci::traces::unsent_commitment::get(); +// let traces_config = stone_proof_fibonacci::traces::config::get(); // // assert( // traces_commit( // ref channel, public_input, unsent_commitment, traces_config -// ) == stone_proof_fibonacci_keccak::traces::commitment::get(), +// ) == stone_proof_fibonacci::traces::commitment::get(), // 'Invalid value' // ); // // assert( -// channel.digest == 0x39d06a4cd9e64c43aaec44a5415c4cbdf530040b2fc82308ceddb5f2be39dd5, +// channel.digest == 0x484f5da62866b3e2a0d4ceb5e00cf7ba33ec5c57ce032df6ca74a40cc6015a0, // 'Invalid value' // ); // assert(channel.counter == 0x0, 'Invalid value') @@ -85,13 +40,58 @@ fn test_traces_decommit() { // #[test] // #[available_gas(9999999999)] // fn test_traces_decommit() { -// let queries = stone_proof_fibonacci_keccak::queries::get().span(); -// let commitment = stone_proof_fibonacci_keccak::traces::commitment::get(); -// let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get(); -// let witness = stone_proof_fibonacci_keccak::traces::witness::get(); +// let queries = stone_proof_fibonacci::queries::get().span(); +// let commitment = stone_proof_fibonacci::traces::commitment::get(); +// let decommitment = stone_proof_fibonacci::traces::decommitment::get(); +// let witness = stone_proof_fibonacci::traces::witness::get(); // // traces_decommit(queries, commitment, decommitment, witness); // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +#[test] +#[available_gas(9999999999)] +fn test_traces_config() { + let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); + + traces_config.validate(0x14, 0x64); +} + +#[test] +#[available_gas(9999999999)] +fn test_traces_commit() { + let mut channel = ChannelImpl::new_with_counter( + 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 + ); + let public_input = @stone_proof_fibonacci_keccak::public_input::get(); + let unsent_commitment = stone_proof_fibonacci_keccak::traces::unsent_commitment::get(); + let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); + + assert( + traces_commit( + ref channel, public_input, unsent_commitment, traces_config + ) == stone_proof_fibonacci_keccak::traces::commitment::get(), + 'Invalid value' + ); + + assert( + channel.digest == 0x39d06a4cd9e64c43aaec44a5415c4cbdf530040b2fc82308ceddb5f2be39dd5, + 'Invalid value' + ); + assert(channel.counter == 0x0, 'Invalid value') +} + +#[test] +#[available_gas(9999999999)] +fn test_traces_decommit() { + let queries = stone_proof_fibonacci_keccak::queries::get().span(); + let commitment = stone_proof_fibonacci_keccak::traces::commitment::get(); + let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get(); + let witness = stone_proof_fibonacci_keccak::traces::witness::get(); + + traces_decommit(queries, commitment, decommitment, witness); +} // === KECCAK ONLY END === diff --git a/src/common/hasher.cairo b/src/common/hasher.cairo index be4fe71db..42f4dd501 100644 --- a/src/common/hasher.cairo +++ b/src/common/hasher.cairo @@ -4,43 +4,43 @@ use cairo_verifier::common::{ }; // === BLAKE ONLY BEGIN === - -fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { - if hash_len { - data.append(n); - } - blake2s_u8(data) -} - -fn hash_truncated(data: Array) -> felt252 { - truncated_blake2s(data) -} - -fn hash(data: Array) -> u256 { - blake2s(data) -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // -// fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { +// fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { // if hash_len { -// keccak::cairo_keccak(ref data, n.into(), 1) -// } else { -// keccak::cairo_keccak(ref data, 0, 0) +// data.append(n); // } +// blake2s_u8(data) // } // -// fn hash_truncated(mut data: Array) -> felt252 { -// (keccak::cairo_keccak(ref data, 0, 0) -// .flip_endianness() % 0x10000000000000000000000000000000000000000) -// .try_into() -// .unwrap() +// fn hash_truncated(data: Array) -> felt252 { +// truncated_blake2s(data) // } // -// fn hash(mut data: Array) -> u256 { -// keccak::cairo_keccak(ref data, 0, 0) +// fn hash(data: Array) -> u256 { +// blake2s(data) // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === + +fn hash_n_bytes(mut data: Array, n: u8, hash_len: bool) -> u256 { + if hash_len { + keccak::cairo_keccak(ref data, n.into(), 1) + } else { + keccak::cairo_keccak(ref data, 0, 0) + } +} + +fn hash_truncated(mut data: Array) -> felt252 { + (keccak::cairo_keccak(ref data, 0, 0) + .flip_endianness() % 0x10000000000000000000000000000000000000000) + .try_into() + .unwrap() +} + +fn hash(mut data: Array) -> u256 { + keccak::cairo_keccak(ref data, 0, 0) +} // === KECCAK ONLY END === diff --git a/src/fri/tests/test_fri_verify.cairo b/src/fri/tests/test_fri_verify.cairo index 331a629c5..db96845c5 100644 --- a/src/fri/tests/test_fri_verify.cairo +++ b/src/fri/tests/test_fri_verify.cairo @@ -3,29 +3,29 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -#[test] -#[available_gas(9999999999)] -fn test_fri_verify() { - let queries = stone_proof_fibonacci::queries::get().span(); - let commitment = stone_proof_fibonacci::fri::commitment::get(); - let decommitment = stone_proof_fibonacci::fri::decommitment::get(); - let witness = stone_proof_fibonacci::fri::witness::get(); - - fri_verify(queries, commitment, decommitment, witness) -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // #[test] // #[available_gas(9999999999)] // fn test_fri_verify() { -// let queries = stone_proof_fibonacci_keccak::queries::get().span(); -// let commitment = stone_proof_fibonacci_keccak::fri::commitment::get(); -// let decommitment = stone_proof_fibonacci_keccak::fri::decommitment::get(); -// let witness = stone_proof_fibonacci_keccak::fri::witness::get(); +// let queries = stone_proof_fibonacci::queries::get().span(); +// let commitment = stone_proof_fibonacci::fri::commitment::get(); +// let decommitment = stone_proof_fibonacci::fri::decommitment::get(); +// let witness = stone_proof_fibonacci::fri::witness::get(); // // fri_verify(queries, commitment, decommitment, witness) // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +#[test] +#[available_gas(9999999999)] +fn test_fri_verify() { + let queries = stone_proof_fibonacci_keccak::queries::get().span(); + let commitment = stone_proof_fibonacci_keccak::fri::commitment::get(); + let decommitment = stone_proof_fibonacci_keccak::fri::decommitment::get(); + let witness = stone_proof_fibonacci_keccak::fri::witness::get(); + + fri_verify(queries, commitment, decommitment, witness) +} // === KECCAK ONLY END === diff --git a/src/proof_of_work/tests/test_proof_of_work.cairo b/src/proof_of_work/tests/test_proof_of_work.cairo index 67eb01822..8a0e38a04 100644 --- a/src/proof_of_work/tests/test_proof_of_work.cairo +++ b/src/proof_of_work/tests/test_proof_of_work.cairo @@ -1,12 +1,46 @@ use cairo_verifier::proof_of_work::proof_of_work::verify_proof_of_work; // === BLAKE ONLY BEGIN === +// #[test] +// #[available_gas(9999999999)] +// fn test_verify_proof_of_work_0() { +// let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; +// let nonce: u64 = 0x1683b; +// let n_bits: u8 = 20; +// verify_proof_of_work(digest, n_bits, nonce); +// } +// +// #[test] +// #[should_panic] +// #[available_gas(9999999999)] +// fn test_verify_proof_of_work_1() { +// let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; +// let nonce: u64 = 0x1683b + 1; +// let n_bits: u8 = 20; +// verify_proof_of_work(digest, n_bits, nonce); +// } +// +// #[test] +// #[available_gas(9999999999)] +// fn test_verify_proof_of_work_2() { +// let digest: u256 = u256 { +// low: 0x15aa9b8787d877d61588844c0cfe2fb9, high: 0x7cd36c3da65b8d57331341e661a86574 +// }; +// let nonce: u64 = 0x40719c5; +// let n_bits: u8 = 0x1e; +// verify_proof_of_work(digest, n_bits, nonce); +// } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === #[test] #[available_gas(9999999999)] fn test_verify_proof_of_work_0() { - let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; - let nonce: u64 = 0x1683b; - let n_bits: u8 = 20; + let digest: u256 = u256 { + low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 + }; + let nonce: u64 = 0xd65397f; + let n_bits: u8 = 0x1e; verify_proof_of_work(digest, n_bits, nonce); } @@ -14,9 +48,11 @@ fn test_verify_proof_of_work_0() { #[should_panic] #[available_gas(9999999999)] fn test_verify_proof_of_work_1() { - let digest: u256 = 0x1c5a5f4381df1f5cd7ca1d48a19d8ff802a71d94169de38382621fdc5514a10a; - let nonce: u64 = 0x1683b + 1; - let n_bits: u8 = 20; + let digest: u256 = u256 { + low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 + }; + let nonce: u64 = 0xd65397f + 1; + let n_bits: u8 = 0x1e; verify_proof_of_work(digest, n_bits, nonce); } @@ -24,60 +60,24 @@ fn test_verify_proof_of_work_1() { #[available_gas(9999999999)] fn test_verify_proof_of_work_2() { let digest: u256 = u256 { - low: 0x15aa9b8787d877d61588844c0cfe2fb9, high: 0x7cd36c3da65b8d57331341e661a86574 + low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed }; - let nonce: u64 = 0x40719c5; + let nonce: u64 = 0x544bb355; let n_bits: u8 = 0x1e; verify_proof_of_work(digest, n_bits, nonce); } -// === BLAKE ONLY END === -// === KECCAK ONLY BEGIN === -// #[test] -// #[available_gas(9999999999)] -// fn test_verify_proof_of_work_0() { -// let digest: u256 = u256 { -// low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 -// }; -// let nonce: u64 = 0xd65397f; -// let n_bits: u8 = 0x1e; -// verify_proof_of_work(digest, n_bits, nonce); -// } -// -// #[test] -// #[should_panic] -// #[available_gas(9999999999)] -// fn test_verify_proof_of_work_1() { -// let digest: u256 = u256 { -// low: 0x6308b38ae2841c18fb8c06c9acc9bcd5, high: 0x5d35fab3c11198da5f6fe41666993b16 -// }; -// let nonce: u64 = 0xd65397f + 1; -// let n_bits: u8 = 0x1e; -// verify_proof_of_work(digest, n_bits, nonce); -// } -// -// #[test] -// #[available_gas(9999999999)] -// fn test_verify_proof_of_work_2() { -// let digest: u256 = u256 { -// low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed -// }; -// let nonce: u64 = 0x544bb355; -// let n_bits: u8 = 0x1e; -// verify_proof_of_work(digest, n_bits, nonce); -// } -// -// #[test] -// #[should_panic] -// #[available_gas(9999999999)] -// fn test_verify_proof_of_work_3() { -// let digest: u256 = u256 { -// low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed -// }; -// let nonce: u64 = 0x544bb355 - 1; -// let n_bits: u8 = 0x1e; -// verify_proof_of_work(digest, n_bits, nonce); -// } +#[test] +#[should_panic] +#[available_gas(9999999999)] +fn test_verify_proof_of_work_3() { + let digest: u256 = u256 { + low: 0xaa161ad28fb8da3ccf6938931e57e7a1, high: 0x35dbd852ffd135485a3376a8187a2aed + }; + let nonce: u64 = 0x544bb355 - 1; + let n_bits: u8 = 0x1e; + verify_proof_of_work(digest, n_bits, nonce); +} // === KECCAK ONLY END === diff --git a/src/stark/tests/test_stark_commit.cairo b/src/stark/tests/test_stark_commit.cairo index bbb18b389..cb69e712a 100644 --- a/src/stark/tests/test_stark_commit.cairo +++ b/src/stark/tests/test_stark_commit.cairo @@ -4,34 +4,6 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -#[test] -#[available_gas(9999999999)] -fn test_stark_commit() { - let mut channel = ChannelTrait::new_with_counter( - 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 - ); - - let public_input = stone_proof_fibonacci::public_input::get(); - let unsent_commitment = stone_proof_fibonacci::stark::unsent_commitment::get(); - let config = stone_proof_fibonacci::stark::config::get(); - let stark_domains = stone_proof_fibonacci::stark::domains::get(); - - assert( - stark_commit( - ref channel, @public_input, @unsent_commitment, @config, @stark_domains - ) == stone_proof_fibonacci::stark::commitment::get(), - 'Invalid value' - ); - - assert( - channel.digest == 0x9c769c7e0797cf043b06b980072a798b141f2bc41b14e85ad93ba178b13de7, - 'Invalid value' - ); - assert(channel.counter == 0x0, 'Invalid value'); -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // #[test] // #[available_gas(9999999999)] // fn test_stark_commit() { @@ -39,24 +11,52 @@ fn test_stark_commit() { // 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 // ); // -// let public_input = stone_proof_fibonacci_keccak::public_input::get(); -// let unsent_commitment = stone_proof_fibonacci_keccak::stark::unsent_commitment::get(); -// let config = stone_proof_fibonacci_keccak::stark::config::get(); -// let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); +// let public_input = stone_proof_fibonacci::public_input::get(); +// let unsent_commitment = stone_proof_fibonacci::stark::unsent_commitment::get(); +// let config = stone_proof_fibonacci::stark::config::get(); +// let stark_domains = stone_proof_fibonacci::stark::domains::get(); // // assert( // stark_commit( // ref channel, @public_input, @unsent_commitment, @config, @stark_domains -// ) == stone_proof_fibonacci_keccak::stark::commitment::get(), +// ) == stone_proof_fibonacci::stark::commitment::get(), // 'Invalid value' // ); // // assert( -// channel.digest == 0x28f12249c8cba51796d59e7573019ce2b4608c9a8cdeee26e821b0763c69229, +// channel.digest == 0x9c769c7e0797cf043b06b980072a798b141f2bc41b14e85ad93ba178b13de7, // 'Invalid value' // ); // assert(channel.counter == 0x0, 'Invalid value'); // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +#[test] +#[available_gas(9999999999)] +fn test_stark_commit() { + let mut channel = ChannelTrait::new_with_counter( + 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 + ); + + let public_input = stone_proof_fibonacci_keccak::public_input::get(); + let unsent_commitment = stone_proof_fibonacci_keccak::stark::unsent_commitment::get(); + let config = stone_proof_fibonacci_keccak::stark::config::get(); + let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); + + assert( + stark_commit( + ref channel, @public_input, @unsent_commitment, @config, @stark_domains + ) == stone_proof_fibonacci_keccak::stark::commitment::get(), + 'Invalid value' + ); + + assert( + channel.digest == 0x28f12249c8cba51796d59e7573019ce2b4608c9a8cdeee26e821b0763c69229, + 'Invalid value' + ); + assert(channel.counter == 0x0, 'Invalid value'); +} // === KECCAK ONLY END === diff --git a/src/stark/tests/test_stark_proof_verify.cairo b/src/stark/tests/test_stark_proof_verify.cairo index 8aa9cd9f5..7d11634f7 100644 --- a/src/stark/tests/test_stark_proof_verify.cairo +++ b/src/stark/tests/test_stark_proof_verify.cairo @@ -4,37 +4,37 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -#[test] -#[available_gas(99999999999)] -fn test_stark_proof_fibonacci_verify() { - let security_bits: felt252 = 50; - // - let stark_proof = StarkProof { - config: stone_proof_fibonacci::stark::config::get(), - public_input: stone_proof_fibonacci::public_input::get(), - unsent_commitment: stone_proof_fibonacci::stark::unsent_commitment::get(), - witness: stone_proof_fibonacci::stark::witness::get(), - }; - - stark_proof.verify(security_bits); -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // #[test] -// #[available_gas(9999999999)] +// #[available_gas(99999999999)] // fn test_stark_proof_fibonacci_verify() { // let security_bits: felt252 = 50; -// +// // // let stark_proof = StarkProof { -// config: stone_proof_fibonacci_keccak::stark::config::get(), -// public_input: stone_proof_fibonacci_keccak::public_input::get(), -// unsent_commitment: stone_proof_fibonacci_keccak::stark::unsent_commitment::get(), -// witness: stone_proof_fibonacci_keccak::stark::witness::get(), +// config: stone_proof_fibonacci::stark::config::get(), +// public_input: stone_proof_fibonacci::public_input::get(), +// unsent_commitment: stone_proof_fibonacci::stark::unsent_commitment::get(), +// witness: stone_proof_fibonacci::stark::witness::get(), // }; // // stark_proof.verify(security_bits); // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +#[test] +#[available_gas(9999999999)] +fn test_stark_proof_fibonacci_verify() { + let security_bits: felt252 = 50; + + let stark_proof = StarkProof { + config: stone_proof_fibonacci_keccak::stark::config::get(), + public_input: stone_proof_fibonacci_keccak::public_input::get(), + unsent_commitment: stone_proof_fibonacci_keccak::stark::unsent_commitment::get(), + witness: stone_proof_fibonacci_keccak::stark::witness::get(), + }; + + stark_proof.verify(security_bits); +} // === KECCAK ONLY END === diff --git a/src/stark/tests/test_stark_verify.cairo b/src/stark/tests/test_stark_verify.cairo index c264da904..07e6245cc 100644 --- a/src/stark/tests/test_stark_verify.cairo +++ b/src/stark/tests/test_stark_verify.cairo @@ -4,33 +4,33 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -#[test] -#[available_gas(9999999999)] -fn test_stark_verify() { - let queries = stone_proof_fibonacci::queries::get().span(); - let commitment = stone_proof_fibonacci::stark::commitment::get(); - let witness = stone_proof_fibonacci::stark::witness::get(); - let stark_domains = stone_proof_fibonacci::stark::domains::get(); - - stark_verify( - NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, queries, commitment, witness, stark_domains, - ) -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // #[test] // #[available_gas(9999999999)] // fn test_stark_verify() { -// let queries = stone_proof_fibonacci_keccak::queries::get().span(); -// let commitment = stone_proof_fibonacci_keccak::stark::commitment::get(); -// let witness = stone_proof_fibonacci_keccak::stark::witness::get(); -// let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); +// let queries = stone_proof_fibonacci::queries::get().span(); +// let commitment = stone_proof_fibonacci::stark::commitment::get(); +// let witness = stone_proof_fibonacci::stark::witness::get(); +// let stark_domains = stone_proof_fibonacci::stark::domains::get(); // // stark_verify( // NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, queries, commitment, witness, stark_domains, // ) // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +#[test] +#[available_gas(9999999999)] +fn test_stark_verify() { + let queries = stone_proof_fibonacci_keccak::queries::get().span(); + let commitment = stone_proof_fibonacci_keccak::stark::commitment::get(); + let witness = stone_proof_fibonacci_keccak::stark::witness::get(); + let stark_domains = stone_proof_fibonacci_keccak::stark::domains::get(); + + stark_verify( + NUM_COLUMNS_FIRST, NUM_COLUMNS_SECOND, queries, commitment, witness, stark_domains, + ) +} // === KECCAK ONLY END === diff --git a/src/table_commitment/tests/test_table_commitment_decommit.cairo b/src/table_commitment/tests/test_table_commitment_decommit.cairo index 82521a0e3..dbed01b69 100644 --- a/src/table_commitment/tests/test_table_commitment_decommit.cairo +++ b/src/table_commitment/tests/test_table_commitment_decommit.cairo @@ -10,29 +10,29 @@ use cairo_verifier::{ }; // === BLAKE ONLY BEGIN === -#[test] -#[available_gas(9999999999)] -fn test_table_commitment_decommit() { - let commitment = stone_proof_fibonacci::traces::commitment::get().original; - let queries = stone_proof_fibonacci::queries::get().span(); - let decommitment = stone_proof_fibonacci::traces::decommitment::get().original; - let witness = stone_proof_fibonacci::traces::witness::get().original; - // - table_decommit(commitment, queries, decommitment, witness); -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // #[test] // #[available_gas(9999999999)] // fn test_table_commitment_decommit() { -// let commitment = stone_proof_fibonacci_keccak::traces::commitment::get().original; -// let queries = stone_proof_fibonacci_keccak::queries::get().span(); -// let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get().original; -// let witness = stone_proof_fibonacci_keccak::traces::witness::get().original; -// +// let commitment = stone_proof_fibonacci::traces::commitment::get().original; +// let queries = stone_proof_fibonacci::queries::get().span(); +// let decommitment = stone_proof_fibonacci::traces::decommitment::get().original; +// let witness = stone_proof_fibonacci::traces::witness::get().original; +// // // table_decommit(commitment, queries, decommitment, witness); // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +#[test] +#[available_gas(9999999999)] +fn test_table_commitment_decommit() { + let commitment = stone_proof_fibonacci_keccak::traces::commitment::get().original; + let queries = stone_proof_fibonacci_keccak::queries::get().span(); + let decommitment = stone_proof_fibonacci_keccak::traces::decommitment::get().original; + let witness = stone_proof_fibonacci_keccak::traces::witness::get().original; + + table_decommit(commitment, queries, decommitment, witness); +} // === KECCAK ONLY END === diff --git a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo index 049359025..7868a23e9 100644 --- a/src/vector_commitment/tests/test_vector_commitment_decommit.cairo +++ b/src/vector_commitment/tests/test_vector_commitment_decommit.cairo @@ -4,121 +4,16 @@ use cairo_verifier::vector_commitment::vector_commitment::{ }; // === BLAKE ONLY BEGIN === -#[test] -#[available_gas(9999999999)] -fn test_vector_commitment_decommit_1() { - let commitment = VectorCommitment { - config: VectorCommitmentConfig { - height: 0x9, n_verifier_friendly_commitment_layers: 0x64, - }, - commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 - }; - // - let queries = array![ - VectorQuery { - index: 0x73, value: 0x12346ea425a6aebc8c323a401410cc325aabaf99b54e600a7271f146488aa2d - }, - VectorQuery { - index: 0xa5, value: 0x1aabe006a27bfa5f93bde192ff552adbef87058e62546c831ed14ce94866ac1 - }, - VectorQuery { - index: 0xb0, value: 0x7205a2b5f5f403b8053b4e4ac65e2a484c007f6d118524fe28b7cdf2a56bb8a - }, - VectorQuery { - index: 0xf8, value: 0x5d49462d844a3f203c59d39fa005cbe153c78e6ac831987f19c0d6dfae38fad - }, - VectorQuery { - index: 0x115, value: 0x53d21587a9cb08d1b9402a4b8c2a9d37942b26963936200fea3122eaaf870b1 - }, - VectorQuery { - index: 0x11c, value: 0x7c3355a75f6b36a95068b68d48e7539cd97531b7478e2cf7d2dc85b32bafc66 - }, - VectorQuery { - index: 0x12f, value: 0xb6f3a522577229ac26f12df90daaf376afbd960ee4b0ab07f270bf9c5da56a - }, - VectorQuery { - index: 0x13c, value: 0x174cfc44eb57da0eda6ae9407db71c5144940f05ef51f858bc8e229d15703e2 - }, - VectorQuery { - index: 0x153, value: 0x2220da78b33e155482bdf0534dc30fc17fe059a7b9e30f710ee2681a8151484 - }, - VectorQuery { - index: 0x1f4, value: 0x566b71a4f84556a3816d911c5dfb45f75cc962d9829acd0dd56e81517cc73b8 - }, - ] - .span(); - // - let witness = VectorCommitmentWitness { - authentications: array![ - 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, - 0xf3fb7305323c5fa68ad49a509a9c470e2396af41bfd2c9cf86228504436a3, - 0x9dc63f0ac48b17304af16748798567f21bb25f8cbeaa48a462a74b3e0c5d79, - 0x5d35649398cb24bc00458a32d01c61a8450c7a30cc5b95043f4e2b30df01360, - 0x4493f60ea79053f2a96439d50d6335fd35e13599190e1656b724eacac658e37, - 0x7f58b9c9c333dc5b31e3ee5e8a98d8cab0c84b3a886042b279dc2f2c408d92b, - 0x349a976371b7aef1b1992908fefa423b9e5d4d0be58092ff6e5ead51ecf1ca4, - 0x3ffacb144085ca3c572a314c6bb0e01b253827231285fba4084e3b624438ace, - 0x55d22158d5bfad58ddf2633f24a3fae4642afbcea1cb9155e8b54c2a432fbfd, - 0x63c1598794322bd8f1686e89c94dc60b0bb4f7940b5427af72187091e71ef63, - 0xebaa8e9ab29cfba43cdc1f2cacb9cbc08b2cb17317fed571718e5e66b42488, - 0xa31370f89d85108378244beeea13a2b2c379d16cde55c2fcd674f4296ddabe, - 0x4285440535fff0ba31e970a1948a09951ff740c91c6d6cf4635527877c55ff1, - 0x49eb1420843ac1a3178010c314906d28f6118e8b36620ce4469dffca27a047d, - 0x4e65200356931c3ea1e20e087b5bff96ba268239ed2e2f784def64f5760418d, - 0x103809d798aab5452c77f42bc4c8fcfcfa9e6efdfe24077e41928a52daf1dc8, - 0x4253b3498a013d4473d43686f9e509be7541daf00afae0d7216f7019bc75d8f, - 0x689297a643de6bd5955e314f94367af901eac67eeef51a52e40c0205cf8023, - 0x2ca9dcef95643af6ec5ee055d1a05720f2e3f5e6226de5b206c4a78482963b8, - 0x72fbddae565406f284bb4dd89623c29c821b6187dd7dfc292dbbddd4094077, - 0x30e5ea3c2280db52829548ae99a71faa030b4e4bb87679b427f76c594aaa05a, - 0x45ba1eda942e1085af97db6e189996903cfa09db90e52b4589e16df981f1601, - 0x8c36a69368bea30f8ecf7de3e461a03b0cdd004ae08a3d44281b093fc63f2, - 0x5c7194878dcb2d4ba69da97c1a878f96dd78d97612c882ba7179bafe92a6a90, - 0x20c37b922bb713f2b6772a9ae014715f418fe5da4d53fe9b00cc2fe851f233a, - 0x3a7e7c684904e82bf0be54290299b6d83f448bac5c6e9ea4d1cd1e844eccb70, - 0x1ebbb30dbcb3b4fd0da33cf84d456101bbe9147b1a65507901715b3490649c6, - 0x1409c71e0dcf4a620856775508ce1b4c7d55e4229ac5fd41a3f8ecee097eb39, - 0x18cdf340cc64b00bf134c9e55396f79eddfbda8e2090542380c5c4967ee790b, - 0x18add43c036948c8d7e767ae22056e1f5f1a9d1daad6b9a8f2e7da996f4a1c2, - 0x30e7224d1c98b75e019b60bbe320e358ef35b1adaf12aad044744e640c2a4d, - 0x25a8793c928ecacb2e84802830fa101fb3839455957921ed7bcb39549b1f80, - 0x65dd0f91032712c4a8b1b5c35cd6ebdb654efb5e56085a2eef0def4bde4d066, - 0x4a50e2b14315602b8c97c9d2304db828806c37b751203bb7dad534d7b45d21d, - 0x5afdcfcf55c58dbf5ad58b17f16514da8dac3e69501fb399c30333ab3050c3, - 0x20f5ecf9107f9d3e33f462948d955b70d5ec5573a679ae548998c41b5eec730, - 0x1f70d9f6c203312c6aabf4d191cd4cbc68f8c92bebf561cb8e20ce9fc07ef55, - 0x14e877449f7005ee874020d6759ce808345e20c3fae4a62e7f12c2c457f71ec, - 0x780b4537e060e0f1e88ca7337d5d43ef2d4bbb4b48e4899c55ea9a5e7120b5a, - 0x608a4544987ef3599043e9a8b4aa0598f8d71dee81e46104ca6ac186e2c8044, - 0x58cbd95dd12e8761a99011f0ae970fe73e03b7d7e43b614510ee7a6a2efe7d3, - 0x5c533c05cbf2af6d819bdf23272e567b7a49c2c2bd799201ed0e32ce9ff092b, - 0x342bb671b7d40601d4031045068abfbf2c578f7e4a380e180dbf2b0c8fef6, - 0x2da269eab1f7e247c0caf3bcac1bb0e5e7abacde34bc54a9de3e0a82a36cfff, - 0x117cc37e078928598470cfe43e1b6c66c6365d1cf601bc5daf1055a0f8210db, - 0x4640956c2daa074399825b0404260bee0898f9d24b1c807f5c43159e7a9b019, - 0x1da36b1fb01d0470d48c3eb4c92263eadb7b58c8829f2ee77e3287a6e39c902, - 0x78dac96e95e86f83b4a426bd0505d84b5ea967822d0fca9f3bd28331164d94b, - 0x1d50c82e363d8e7fa2641c9f2137b99832372d1879a2ee02b2c824a4cb620dd, - 0x2fd5a64db6093c9efda84ba327a43043e41310626073e58331c9f2f9f2db20f - ] - .span(), - }; - // - vector_commitment_decommit(commitment, queries, witness); -} -// === BLAKE ONLY END === - -// === KECCAK ONLY BEGIN === // #[test] // #[available_gas(9999999999)] -// fn test_vector_commitment_decommit() { +// fn test_vector_commitment_decommit_1() { // let commitment = VectorCommitment { // config: VectorCommitmentConfig { // height: 0x9, n_verifier_friendly_commitment_layers: 0x64, // }, // commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 // }; -// +// // // let queries = array![ // VectorQuery { // index: 0x73, value: 0x12346ea425a6aebc8c323a401410cc325aabaf99b54e600a7271f146488aa2d @@ -152,7 +47,7 @@ fn test_vector_commitment_decommit_1() { // }, // ] // .span(); -// +// // // let witness = VectorCommitmentWitness { // authentications: array![ // 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, @@ -208,9 +103,114 @@ fn test_vector_commitment_decommit_1() { // ] // .span(), // }; -// +// // // vector_commitment_decommit(commitment, queries, witness); // } +// === BLAKE ONLY END === + +// === KECCAK ONLY BEGIN === +#[test] +#[available_gas(9999999999)] +fn test_vector_commitment_decommit() { + let commitment = VectorCommitment { + config: VectorCommitmentConfig { + height: 0x9, n_verifier_friendly_commitment_layers: 0x64, + }, + commitment_hash: 0x1e9b0fa29ebe52b9c9a43a1d44e555ce42da3199370134d758735bfe9f40269 + }; + + let queries = array![ + VectorQuery { + index: 0x73, value: 0x12346ea425a6aebc8c323a401410cc325aabaf99b54e600a7271f146488aa2d + }, + VectorQuery { + index: 0xa5, value: 0x1aabe006a27bfa5f93bde192ff552adbef87058e62546c831ed14ce94866ac1 + }, + VectorQuery { + index: 0xb0, value: 0x7205a2b5f5f403b8053b4e4ac65e2a484c007f6d118524fe28b7cdf2a56bb8a + }, + VectorQuery { + index: 0xf8, value: 0x5d49462d844a3f203c59d39fa005cbe153c78e6ac831987f19c0d6dfae38fad + }, + VectorQuery { + index: 0x115, value: 0x53d21587a9cb08d1b9402a4b8c2a9d37942b26963936200fea3122eaaf870b1 + }, + VectorQuery { + index: 0x11c, value: 0x7c3355a75f6b36a95068b68d48e7539cd97531b7478e2cf7d2dc85b32bafc66 + }, + VectorQuery { + index: 0x12f, value: 0xb6f3a522577229ac26f12df90daaf376afbd960ee4b0ab07f270bf9c5da56a + }, + VectorQuery { + index: 0x13c, value: 0x174cfc44eb57da0eda6ae9407db71c5144940f05ef51f858bc8e229d15703e2 + }, + VectorQuery { + index: 0x153, value: 0x2220da78b33e155482bdf0534dc30fc17fe059a7b9e30f710ee2681a8151484 + }, + VectorQuery { + index: 0x1f4, value: 0x566b71a4f84556a3816d911c5dfb45f75cc962d9829acd0dd56e81517cc73b8 + }, + ] + .span(); + + let witness = VectorCommitmentWitness { + authentications: array![ + 0x2e9de49846b184d454c30e3b4854167583093da20c5ddef5e3ba2885524d006, + 0xf3fb7305323c5fa68ad49a509a9c470e2396af41bfd2c9cf86228504436a3, + 0x9dc63f0ac48b17304af16748798567f21bb25f8cbeaa48a462a74b3e0c5d79, + 0x5d35649398cb24bc00458a32d01c61a8450c7a30cc5b95043f4e2b30df01360, + 0x4493f60ea79053f2a96439d50d6335fd35e13599190e1656b724eacac658e37, + 0x7f58b9c9c333dc5b31e3ee5e8a98d8cab0c84b3a886042b279dc2f2c408d92b, + 0x349a976371b7aef1b1992908fefa423b9e5d4d0be58092ff6e5ead51ecf1ca4, + 0x3ffacb144085ca3c572a314c6bb0e01b253827231285fba4084e3b624438ace, + 0x55d22158d5bfad58ddf2633f24a3fae4642afbcea1cb9155e8b54c2a432fbfd, + 0x63c1598794322bd8f1686e89c94dc60b0bb4f7940b5427af72187091e71ef63, + 0xebaa8e9ab29cfba43cdc1f2cacb9cbc08b2cb17317fed571718e5e66b42488, + 0xa31370f89d85108378244beeea13a2b2c379d16cde55c2fcd674f4296ddabe, + 0x4285440535fff0ba31e970a1948a09951ff740c91c6d6cf4635527877c55ff1, + 0x49eb1420843ac1a3178010c314906d28f6118e8b36620ce4469dffca27a047d, + 0x4e65200356931c3ea1e20e087b5bff96ba268239ed2e2f784def64f5760418d, + 0x103809d798aab5452c77f42bc4c8fcfcfa9e6efdfe24077e41928a52daf1dc8, + 0x4253b3498a013d4473d43686f9e509be7541daf00afae0d7216f7019bc75d8f, + 0x689297a643de6bd5955e314f94367af901eac67eeef51a52e40c0205cf8023, + 0x2ca9dcef95643af6ec5ee055d1a05720f2e3f5e6226de5b206c4a78482963b8, + 0x72fbddae565406f284bb4dd89623c29c821b6187dd7dfc292dbbddd4094077, + 0x30e5ea3c2280db52829548ae99a71faa030b4e4bb87679b427f76c594aaa05a, + 0x45ba1eda942e1085af97db6e189996903cfa09db90e52b4589e16df981f1601, + 0x8c36a69368bea30f8ecf7de3e461a03b0cdd004ae08a3d44281b093fc63f2, + 0x5c7194878dcb2d4ba69da97c1a878f96dd78d97612c882ba7179bafe92a6a90, + 0x20c37b922bb713f2b6772a9ae014715f418fe5da4d53fe9b00cc2fe851f233a, + 0x3a7e7c684904e82bf0be54290299b6d83f448bac5c6e9ea4d1cd1e844eccb70, + 0x1ebbb30dbcb3b4fd0da33cf84d456101bbe9147b1a65507901715b3490649c6, + 0x1409c71e0dcf4a620856775508ce1b4c7d55e4229ac5fd41a3f8ecee097eb39, + 0x18cdf340cc64b00bf134c9e55396f79eddfbda8e2090542380c5c4967ee790b, + 0x18add43c036948c8d7e767ae22056e1f5f1a9d1daad6b9a8f2e7da996f4a1c2, + 0x30e7224d1c98b75e019b60bbe320e358ef35b1adaf12aad044744e640c2a4d, + 0x25a8793c928ecacb2e84802830fa101fb3839455957921ed7bcb39549b1f80, + 0x65dd0f91032712c4a8b1b5c35cd6ebdb654efb5e56085a2eef0def4bde4d066, + 0x4a50e2b14315602b8c97c9d2304db828806c37b751203bb7dad534d7b45d21d, + 0x5afdcfcf55c58dbf5ad58b17f16514da8dac3e69501fb399c30333ab3050c3, + 0x20f5ecf9107f9d3e33f462948d955b70d5ec5573a679ae548998c41b5eec730, + 0x1f70d9f6c203312c6aabf4d191cd4cbc68f8c92bebf561cb8e20ce9fc07ef55, + 0x14e877449f7005ee874020d6759ce808345e20c3fae4a62e7f12c2c457f71ec, + 0x780b4537e060e0f1e88ca7337d5d43ef2d4bbb4b48e4899c55ea9a5e7120b5a, + 0x608a4544987ef3599043e9a8b4aa0598f8d71dee81e46104ca6ac186e2c8044, + 0x58cbd95dd12e8761a99011f0ae970fe73e03b7d7e43b614510ee7a6a2efe7d3, + 0x5c533c05cbf2af6d819bdf23272e567b7a49c2c2bd799201ed0e32ce9ff092b, + 0x342bb671b7d40601d4031045068abfbf2c578f7e4a380e180dbf2b0c8fef6, + 0x2da269eab1f7e247c0caf3bcac1bb0e5e7abacde34bc54a9de3e0a82a36cfff, + 0x117cc37e078928598470cfe43e1b6c66c6365d1cf601bc5daf1055a0f8210db, + 0x4640956c2daa074399825b0404260bee0898f9d24b1c807f5c43159e7a9b019, + 0x1da36b1fb01d0470d48c3eb4c92263eadb7b58c8829f2ee77e3287a6e39c902, + 0x78dac96e95e86f83b4a426bd0505d84b5ea967822d0fca9f3bd28331164d94b, + 0x1d50c82e363d8e7fa2641c9f2137b99832372d1879a2ee02b2c824a4cb620dd, + 0x2fd5a64db6093c9efda84ba327a43043e41310626073e58331c9f2f9f2db20f + ] + .span(), + }; + + vector_commitment_decommit(commitment, queries, witness); +} // === KECCAK ONLY END === From 11dbc50b3c302ed96ddf6ae0c438128bf01471d0 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 7 Mar 2024 14:37:32 +0100 Subject: [PATCH 43/48] refactor --- src/air/tests/test_autogenerated.cairo | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/air/tests/test_autogenerated.cairo b/src/air/tests/test_autogenerated.cairo index 1d52501fe..7dd5ea7ff 100644 --- a/src/air/tests/test_autogenerated.cairo +++ b/src/air/tests/test_autogenerated.cairo @@ -1,3 +1,4 @@ +use core::array::SpanTrait; use core::array::ArrayTrait; use cairo_verifier::{ air::{ @@ -15,14 +16,10 @@ use cairo_verifier::{ #[available_gas(9999999999)] fn test_eval_composition_polynomial_inner() { let oods_values = stone_proof_fibonacci::stark::oods_values::get(); - let mask_values = oods_values.span().slice(0, oods_values.len() - 2); - - assert(mask_values.len() == MASK_SIZE, 'Invalid value'); - - let constraint_coefficients = stone_proof_fibonacci::constraint_coefficients::get(); - - assert(constraint_coefficients.len() == N_CONSTRAINTS, 'Invalid value'); - + let mask_values = oods_values.span().slice(0, MASK_SIZE); + let constraint_coefficients = stone_proof_fibonacci::constraint_coefficients::get() + .span() + .slice(0, N_CONSTRAINTS); let point = 0x47148421d376a8ca07af1e4c89890bf29c90272f63b16103646397d907281a8; let trace_generator = 0x4768803ef85256034f67453635f87997ff61841e411ee63ce7b0a8b9745a046; @@ -60,7 +57,7 @@ fn test_eval_composition_polynomial_inner() { assert( eval_composition_polynomial_inner( - mask_values, constraint_coefficients.span(), point, trace_generator, global_values, + mask_values, constraint_coefficients, point, trace_generator, global_values, ) == 0x511668bf439c0999c57d3c05c9f1bcf12095ef76d5a032985bd2350f1731604, 'Invalid value' ) From 564e666c6d70656934b8a62a38c93abeb7b8244d Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 7 Mar 2024 17:31:24 +0100 Subject: [PATCH 44/48] scarb 2.6.0 & runner update --- .tool-versions | 2 +- Cargo.toml | 15 ++-- benches/src/bench.rs | 47 ++++-------- benches/src/main.rs | 7 +- examples/starknet/Cargo.toml | 9 ++- examples/starknet/src/main.rs | 20 ++++- runner/src/lib.rs | 2 + runner/src/main.rs | 89 +++++++--------------- src/benches.cairo | 8 +- src/benches/air/traces/commit.cairo | 12 +-- src/benches/fri/commit.cairo | 3 +- src/benches/stark/commit.cairo | 3 +- src/benches/stark/stark_proof_verify.cairo | 4 +- 13 files changed, 90 insertions(+), 131 deletions(-) create mode 100644 runner/src/lib.rs diff --git a/.tool-versions b/.tool-versions index b100888da..f2e92b793 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -scarb 2.4.3 +scarb 2.6.0 diff --git a/Cargo.toml b/Cargo.toml index 4678385e6..d33a7eb10 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,15 +9,16 @@ version = "0.1.0" [workspace.dependencies] anyhow = "1" cairo-felt = "0.9" -cairo-lang-casm = "2.5.0" -cairo-lang-runner = "2.5.0" -cairo-lang-sierra = "2.5.0" -cairo-lang-utils = "2.5.0" +cairo-lang-casm = "=2.6.0" +cairo-lang-runner = "=2.6.0" +cairo-lang-sierra = "=2.6.0" +cairo-lang-utils = "=2.6.0" cairo-proof-parser = { git = "https://github.com/Okm165/cairo-proof-parser" } -cairo-vm = "0.9.2" -clap = { version = "4", features = ["derive"] } +cairo-vm = "=0.9.2" +clap = { version = "4.5.2", features = ["derive"] } itertools = "0.12.0" -num-bigint = "0.4" +num-bigint = "0.4.4" +runner = { path = "runner" } serde = { version = "1", features = ["derive"] } serde_json = "1" thiserror = "1.0" \ No newline at end of file diff --git a/benches/src/bench.rs b/benches/src/bench.rs index 513bf80ac..65f974f74 100644 --- a/benches/src/bench.rs +++ b/benches/src/bench.rs @@ -1,43 +1,22 @@ use cairo_lang_runner::{ - build_hints_dict, CairoHintProcessor, RunResult, SierraCasmRunner, StarknetState, + ProfilingInfoCollectionConfig, RunResultStarknet, RunnerError, SierraCasmRunner, }; use cairo_lang_sierra::program::Program; use cairo_lang_utils::ordered_hash_map::OrderedHashMap; -use cairo_vm::vm::runners::cairo_runner::RunResources; -use itertools::chain; -pub fn bench(sierra_program: Program, function: &str) -> anyhow::Result { - let sierra_runner = SierraCasmRunner::new( - sierra_program, +pub fn bench(sierra_program: Program, function: &str) -> Result { + let runner = SierraCasmRunner::new( + sierra_program.clone(), Some(Default::default()), OrderedHashMap::default(), - true, - )?; - - let func = sierra_runner.find_function(function)?; - let initial_gas = sierra_runner.get_initial_available_gas(func, Some(usize::MAX))?; - let (entry_code, builtins) = sierra_runner.create_entry_code(func, &[], initial_gas)?; - let footer = SierraCasmRunner::create_code_footer(); - let (hints_dict, string_to_hint) = build_hints_dict(chain!( - entry_code.iter(), - sierra_runner.get_casm_program().instructions.iter() - )); - let assembled_program = sierra_runner - .get_casm_program() - .assemble_ex(&entry_code, &footer); - - let mut hint_processor = CairoHintProcessor { - runner: Some(&sierra_runner), - starknet_state: StarknetState::default(), - string_to_hint, - run_resources: RunResources::default(), - }; - - Ok(sierra_runner.run_function( + Some(ProfilingInfoCollectionConfig::default()), + ) + .unwrap(); + let func = runner.find_function(function).unwrap(); + runner.run_function_with_starknet_context( func, - &mut hint_processor, - hints_dict, - assembled_program.bytecode.iter(), - builtins, - )?) + &[], + Some(u32::MAX as usize), + Default::default(), + ) } diff --git a/benches/src/main.rs b/benches/src/main.rs index 541e73a71..e2feb4e83 100644 --- a/benches/src/main.rs +++ b/benches/src/main.rs @@ -36,14 +36,9 @@ fn main() -> anyhow::Result<()> { println!("Function: {f_name}"); // println!("---------------------------------"); // println!("Gas Used : {}", result.gas_counter.unwrap()); - println!("Execution Steps : {}", result.memory.len()); + println!("Number of steps : {}", result.memory.len()); // println!("Return Value : {:#?}", result.value); println!("---------------------------------\n"); - - // let profiling_processor = ProfilingInfoProcessor::new(sierra_program.program); - // let processed_profiling_info = profiling_processor.process(&profiling_info.unwrap()); - - // println!("profiling: {}", processed_profiling_info); }); Ok(()) diff --git a/examples/starknet/Cargo.toml b/examples/starknet/Cargo.toml index b940f6f01..7790022f1 100644 --- a/examples/starknet/Cargo.toml +++ b/examples/starknet/Cargo.toml @@ -7,8 +7,9 @@ edition = "2021" [dependencies] anyhow.workspace = true -cairo-args-runner.workspace = true -clap.workspace = true cairo-proof-parser.workspace = true -serde.workspace = true -serde_json.workspace = true \ No newline at end of file +clap.workspace = true +itertools.workspace = true +runner.workspace = true +serde_json.workspace = true +serde.workspace = true \ No newline at end of file diff --git a/examples/starknet/src/main.rs b/examples/starknet/src/main.rs index 679885d20..11f4bed6c 100644 --- a/examples/starknet/src/main.rs +++ b/examples/starknet/src/main.rs @@ -1,13 +1,27 @@ -use cairo_args_runner::VecFelt252; use cairo_proof_parser::parse; +use itertools::{chain, Itertools}; +use runner::VecFelt252; use std::io::{stdin, Read}; fn main() -> anyhow::Result<()> { let mut input = String::new(); stdin().read_to_string(&mut input)?; - let exprs = parse(input)?.to_string(); - let proof: VecFelt252 = serde_json::from_str(&exprs).unwrap(); + let parsed = parse(input)?; + + let config: VecFelt252 = serde_json::from_str(&parsed.config.to_string()).unwrap(); + let public_input: VecFelt252 = serde_json::from_str(&parsed.public_input.to_string()).unwrap(); + let unsent_commitment: VecFelt252 = + serde_json::from_str(&parsed.unsent_commitment.to_string()).unwrap(); + let witness: VecFelt252 = serde_json::from_str(&parsed.witness.to_string()).unwrap(); + + let proof = chain!( + config.to_vec(), + public_input.to_vec(), + unsent_commitment.to_vec(), + witness.to_vec() + ) + .collect_vec(); let proof_string = proof .iter() diff --git a/runner/src/lib.rs b/runner/src/lib.rs new file mode 100644 index 000000000..0c9f9760f --- /dev/null +++ b/runner/src/lib.rs @@ -0,0 +1,2 @@ +pub mod vec252; +pub use vec252::VecFelt252; \ No newline at end of file diff --git a/runner/src/main.rs b/runner/src/main.rs index 472d43d71..5c81a6139 100644 --- a/runner/src/main.rs +++ b/runner/src/main.rs @@ -1,24 +1,17 @@ mod vec252; +use crate::vec252::VecFelt252; +use cairo_lang_runner::{Arg, ProfilingInfoCollectionConfig, SierraCasmRunner}; +use cairo_lang_sierra::program::VersionedProgram; +use cairo_lang_utils::ordered_hash_map::OrderedHashMap; +use cairo_proof_parser::parse; +use clap::Parser; +use itertools::{chain, Itertools}; use std::{ fs, io::{stdin, Read}, }; -use cairo_lang_runner::{ - build_hints_dict, profiling::ProfilingInfoProcessor, Arg, CairoHintProcessor, RunResult, - SierraCasmRunner, StarknetState, -}; -use cairo_lang_sierra::program::VersionedProgram; -use cairo_lang_utils::{ordered_hash_map::OrderedHashMap, unordered_hash_map::UnorderedHashMap}; -use cairo_vm::vm::runners::cairo_runner::RunResources; -use clap::Parser; -use std::io::{stdin, Read}; -use cairo_proof_parser::parse; -use itertools::{chain, Itertools}; - -use crate::vec252::VecFelt252; - #[derive(Parser)] #[command(author, version, about, long_about = None)] struct Cli { @@ -49,58 +42,34 @@ fn main() -> anyhow::Result<()> { ) .collect_vec(); + println!("proof size: {} felts", proof.len()); + let sierra_program = serde_json::from_str::(&fs::read_to_string(target)?)?.into_v1()?; - let sierra_runner = SierraCasmRunner::new( + let runner = SierraCasmRunner::new( sierra_program.program.clone(), Some(Default::default()), OrderedHashMap::default(), - true, - )?; - - let func = sierra_runner.find_function(function)?; - let initial_gas = sierra_runner.get_initial_available_gas(func, Some(usize::MAX))?; - let (entry_code, builtins) = - sierra_runner.create_entry_code(func, &[Arg::Array(proof)], initial_gas)?; - let footer = SierraCasmRunner::create_code_footer(); - let (hints_dict, string_to_hint) = build_hints_dict(chain!( - entry_code.iter(), - sierra_runner.get_casm_program().instructions.iter() - )); - let assembled_program = sierra_runner - .get_casm_program() - .assemble_ex(&entry_code, &footer); - - let mut hint_processor = CairoHintProcessor { - runner: Some(&sierra_runner), - starknet_state: StarknetState::default(), - string_to_hint, - run_resources: RunResources::default(), - }; - - let RunResult { - gas_counter, - memory, - value, - profiling_info, - } = sierra_runner.run_function( - func, - &mut hint_processor, - hints_dict, - assembled_program.bytecode.iter(), - builtins, - )?; - - println!("gas: {}", gas_counter.unwrap()); - println!("n_steps: {}", memory.len()); - println!("return: {:#?}", value); - - let profiling_processor = - ProfilingInfoProcessor::new(sierra_program.program, UnorderedHashMap::default()); - let _processed_profiling_info = profiling_processor.process(&profiling_info.unwrap()); - - // println!("profiling: {}", _processed_profiling_info); + Some(ProfilingInfoCollectionConfig::default()), + ) + .unwrap(); + let func = runner.find_function(function).unwrap(); + let result = runner + .run_function_with_starknet_context( + func, + &[Arg::Array(proof.to_vec())], + Some(u32::MAX as usize), + Default::default(), + ) + .unwrap(); + // let profiling_processor = + // ProfilingInfoProcessor::new(None, sierra_program.program, UnorderedHashMap::default()); + // let processed_profiling_info = profiling_processor.process(&result.profiling_info.unwrap()); + + println!("gas_counter: {}", result.gas_counter.unwrap()); + println!("n_steps: {}", result.memory.len()); + println!("return: {:#?}", result.value); Ok(()) } diff --git a/src/benches.cairo b/src/benches.cairo index 1fc82b1fc..ebfbc0b2d 100644 --- a/src/benches.cairo +++ b/src/benches.cairo @@ -1,5 +1,3 @@ -// mod air; -// mod fri; -// mod stark; - - +mod air; +mod fri; +mod stark; diff --git a/src/benches/air/traces/commit.cairo b/src/benches/air/traces/commit.cairo index 408799ce0..c9fca4063 100644 --- a/src/benches/air/traces/commit.cairo +++ b/src/benches/air/traces/commit.cairo @@ -1,15 +1,15 @@ use cairo_verifier::{ - channel::channel::ChannelImpl, air::{traces::traces_commit}, tests::stone_proof_fibonacci, + channel::channel::ChannelImpl, air::{traces::traces_commit}, + tests::stone_proof_fibonacci_keccak, }; fn bench_air_traces_commit() { let mut channel = ChannelImpl::new_with_counter( - u256 { low: 0xba9d17a3ebd900899148b125421c118f, high: 0x87433b8dd90acbfe5abea8474d795191 }, - 0x0, + 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 ); - let public_input = @stone_proof_fibonacci::public_input::get(); - let unsent_commitment = stone_proof_fibonacci::traces::unsent_commitment::get(); - let traces_config = stone_proof_fibonacci::traces::config::get(); + let public_input = @stone_proof_fibonacci_keccak::public_input::get(); + let unsent_commitment = stone_proof_fibonacci_keccak::traces::unsent_commitment::get(); + let traces_config = stone_proof_fibonacci_keccak::traces::config::get(); traces_commit(ref channel, public_input, unsent_commitment, traces_config); } diff --git a/src/benches/fri/commit.cairo b/src/benches/fri/commit.cairo index d602ed679..c5ca244a1 100644 --- a/src/benches/fri/commit.cairo +++ b/src/benches/fri/commit.cairo @@ -4,8 +4,7 @@ use cairo_verifier::{ fn bench_fri_commit() { let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0x22b3f4d7841a28271009bef644a84a5e, high: 0x8f17c0c0dcde2144cd36213ab3aaff1b }, - 0x0, + 0x3612d68f9f68b263d83b0854b812018fd1b7ba0359d7514fffdabd44f0696e6, 0x1 ); let fri_config = stone_proof_fibonacci_keccak::fri::config::get(); diff --git a/src/benches/stark/commit.cairo b/src/benches/stark/commit.cairo index ba8147842..31773f5d4 100644 --- a/src/benches/stark/commit.cairo +++ b/src/benches/stark/commit.cairo @@ -5,8 +5,7 @@ use cairo_verifier::{ fn bench_stark_commit() { let mut channel = ChannelTrait::new_with_counter( - u256 { low: 0x22b3f4d7841a28271009bef644a84a5e, high: 0x8f17c0c0dcde2144cd36213ab3aaff1b }, - 0x0 + 0xaf91f2c71f4a594b1575d258ce82464475c82d8fb244142d0db450491c1b52, 0x0 ); let public_input = stone_proof_fibonacci_keccak::public_input::get(); diff --git a/src/benches/stark/stark_proof_verify.cairo b/src/benches/stark/stark_proof_verify.cairo index f2517b674..77e1925c5 100644 --- a/src/benches/stark/stark_proof_verify.cairo +++ b/src/benches/stark/stark_proof_verify.cairo @@ -1,6 +1,8 @@ use cairo_verifier::{stark::{StarkProof, StarkProofTrait}, tests::stone_proof_fibonacci_keccak}; fn bench_stark_proof_verify() { + let security_bits: felt252 = 50; + let stark_proof = StarkProof { config: stone_proof_fibonacci_keccak::stark::config::get(), public_input: stone_proof_fibonacci_keccak::public_input::get(), @@ -8,5 +10,5 @@ fn bench_stark_proof_verify() { witness: stone_proof_fibonacci_keccak::stark::witness::get(), }; - stark_proof.verify(); + stark_proof.verify(security_bits); } From ca0ff951b897c276ea833f3135f118412a96650b Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 7 Mar 2024 17:31:40 +0100 Subject: [PATCH 45/48] fmt --- runner/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runner/src/lib.rs b/runner/src/lib.rs index 0c9f9760f..4c90fc59f 100644 --- a/runner/src/lib.rs +++ b/runner/src/lib.rs @@ -1,2 +1,2 @@ pub mod vec252; -pub use vec252::VecFelt252; \ No newline at end of file +pub use vec252::VecFelt252; From 36761c0c71326d8aaba919c9050b146fe84c5d60 Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 7 Mar 2024 17:39:31 +0100 Subject: [PATCH 46/48] readme benches --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index aa1c3e4a8..fda1b3696 100644 --- a/README.md +++ b/README.md @@ -101,6 +101,14 @@ cpu_air_prover \ You can `verify` this the proof `locally` or on the `Starknet Cairo verifier` contract by specifying the path `examples/proofs/fibonacci_proof.json` to the newly generated proof. +## Benchmarking + +In order to lunch benchmarking just run this: + +```bash +cargo run --release --bin benches -- target/dev/cairo_verifier.sierra.json +``` + ## Changing the Hasher By default, the verifier uses Pedersen for verifier-friendly layers and Keccak for unfriendly layers. To change the hasher for unfriendly layers, use the provided Python script: From 55ed773c4f8c4b7e9a228bf9703763d725e0c9cb Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Thu, 7 Mar 2024 17:39:47 +0100 Subject: [PATCH 47/48] readme fix --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fda1b3696..03c50b23d 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ You can `verify` this the proof `locally` or on the `Starknet Cairo verifier` co ## Benchmarking -In order to lunch benchmarking just run this: +In order to launch benchmarking just run this: ```bash cargo run --release --bin benches -- target/dev/cairo_verifier.sierra.json From 306a0863d25dac0afba25ce7d738b7ce8acc88ee Mon Sep 17 00:00:00 2001 From: Bartosz Nowak Date: Fri, 15 Mar 2024 13:46:09 +0100 Subject: [PATCH 48/48] update prover examples configs & example proof --- .gitignore | 3 + README.md | 11 +- examples/proofs/.gitignore | 2 +- examples/proofs/example_proof.json | 2512 +++++++++++--------- examples/prover/.gitignore | 7 +- examples/prover/cpu_air_params.json | 12 +- examples/prover/cpu_air_prover_config.json | 2 +- src/lib.cairo | 2 +- 8 files changed, 1462 insertions(+), 1089 deletions(-) diff --git a/.gitignore b/.gitignore index 7eb824ff2..2c0a711a8 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,6 @@ # Resources resources/ + +# Stone-prover repository +stone-prover \ No newline at end of file diff --git a/README.md b/README.md index 03c50b23d..a08c7ab19 100644 --- a/README.md +++ b/README.md @@ -54,9 +54,12 @@ To create a proof, perform the following steps: 1. Install stone-prover (restart your shell after installation): ```bash -git clone --recurse-submodules https://github.com/Moonsong-Labs/stone-prover-sdk.git -cd stone-prover-sdk -bash scripts/install-stone.sh +git clone https://github.com/starkware-libs/stone-prover.git +cd stone-prover +docker build --tag prover . +container_id=$(docker create prover) +docker cp -L ${container_id}:/bin/cpu_air_prover ../examples/prover +docker cp -L ${container_id}:/bin/cpu_air_verifier ../examples/prover ``` 2. Install cairo-lang: @@ -90,7 +93,7 @@ cairo-run \ 5. Prove the Cairo program: ```bash -cpu_air_prover \ +./cpu_air_prover \ --out_file=../proofs/fibonacci_proof.json \ --private_input_file=fibonacci_private_input.json \ --public_input_file=fibonacci_public_input.json \ diff --git a/examples/proofs/.gitignore b/examples/proofs/.gitignore index 675e33df3..97074783d 100644 --- a/examples/proofs/.gitignore +++ b/examples/proofs/.gitignore @@ -1,2 +1,2 @@ -*.json +*proof.json !example_proof.json \ No newline at end of file diff --git a/examples/proofs/example_proof.json b/examples/proofs/example_proof.json index 52feb6693..5db0ebb5d 100644 --- a/examples/proofs/example_proof.json +++ b/examples/proofs/example_proof.json @@ -1,1199 +1,1561 @@ { - "annotations" : - [ + "annotations": [ "title cpu air Proof Protocol", "", - "P->V[0:32]: /cpu air/STARK/Original/Commit on Trace: Commitment: Hash(0x61cb9987d55c793fdb238238311dcea46c75cd8698e52f1d01cf74cd25dc797)", - "V->P: /cpu air/STARK/Interaction: Interaction element #0: Field Element(0x7421a548380f80540c8ca0a4c71b753ea6f6b147b0dbee1419d4b63e3be6340)", - "V->P: /cpu air/STARK/Interaction: Interaction element #1: Field Element(0x5215c179c61f16ab368ce9433917ebc9be815d9287b8c1c65d517fd95cfc1f2)", - "V->P: /cpu air/STARK/Interaction: Interaction element #2: Field Element(0x694cc62d87990a943c788a1391fd4ef2642b95950647de4c83e594007f82817)", - "V->P: /cpu air/STARK/Interaction: Interaction element #3: Field Element(0x5c631ff31394cfde22d9f6093ca97d1e6e2bda13beb181f0a32f8a994428c4c)", - "V->P: /cpu air/STARK/Interaction: Interaction element #4: Field Element(0x3cb987f2a7e9e3075799f5eca856f562807d1169a720e369b8a263a563388d5)", - "V->P: /cpu air/STARK/Interaction: Interaction element #5: Field Element(0x347c055bc6fe4bb41a31080b14a62d033d7cfefbbd8fa310b1db5b8d5f0b6fc)", - "P->V[32:64]: /cpu air/STARK/Interaction/Commit on Trace: Commitment: Hash(0xd83002f626f359bc4b5a913cd29e7aa05f7ca8dee061330b61c8677f5830b3)", - "V->P: /cpu air/STARK/Original: Constraint polynomial random element: Field Element(0x1969425625b21b1bb869ad0fd55cdc23126c08469fc1cc0b6bc0b778a0c2537)", - "P->V[64:96]: /cpu air/STARK/Out Of Domain Sampling/Commit on Trace: Commitment: Hash(0x671e750eb2c87f39263a909ab58b1ae4175bdff34dde999c02ca360490bb1e8)", - "V->P: /cpu air/STARK/Out Of Domain Sampling/OODS values: Evaluation point: Field Element(0x66e527678ac61b27330fd77590774f214bcadea25b3e6a9e9d2bcbd2bd58acb)", - "P->V[96:128]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 0: Field Element(0x65e194595930fefc20590efb377c8ef1d331e2f4cd87c94485ff41215840af)", - "P->V[128:160]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 1: Field Element(0x6be47997b8581ef93ed80ba8e8d2ec7942e52a990b4b9c9b523cf8321fce223)", - "P->V[160:192]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 2: Field Element(0x21d56f02ddf942a76256d5e4895d667109364ecb0a7bcffde20628a1e57a07c)", - "P->V[192:224]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 3: Field Element(0x7a14035028e85b451118dee8a55c263558d202fb833c36d191a585b5cbfb4a)", - "P->V[224:256]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 4: Field Element(0x559dbaad7874a67deb6aab5f92fb31774b1b68d976b3b8f1a3f3fe5882bb9a9)", - "P->V[256:288]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 5: Field Element(0x22d8edd5e051d741bcdce30fd670fb523653f7b0425ed1ced7a9911ae6a60fa)", - "P->V[288:320]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 6: Field Element(0x7f6a5a46e5c947946ecf93cb9d3cc60a87eaff9344336393168bf587bf9f32c)", - "P->V[320:352]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 7: Field Element(0x6670576cd76e847e669f76faa7d58264ffa38a93db2d07ff8cc5d7308cc868)", - "P->V[352:384]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 8: Field Element(0x55211746e1b67c6995c3c8f63b2f0111e8d912ab22809f71f1e12a799fac72b)", - "P->V[384:416]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 9: Field Element(0x51af34af3cf45b58b9eae0949c3a4ac71f9c7061eb27c6550c123617cc67aa9)", - "P->V[416:448]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 10: Field Element(0x5abce069cea4bf2ef7b2c71e7f49da3c89fcb324838e4905b57eb9f3242b1cd)", - "P->V[448:480]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 11: Field Element(0x6df4aeee9d47f5fccd4fbab2ec403c3c6745fc81e2896d39684a7afedeffdfd)", - "P->V[480:512]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 12: Field Element(0x6044990413ed4817f4d3938cac4646f13c5fc27076795494d769616a17d2f38)", - "P->V[512:544]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 13: Field Element(0xe998cc55ab09e867785a42d7723a4cbcd3816316ae93eef2072b12fea1a8f0)", - "P->V[544:576]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 14: Field Element(0x4c554b54efb094959812fe97d3b9478c719f6e60a346012282ae770028c2955)", - "P->V[576:608]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 15: Field Element(0x6d3c0e4541123047f9cead604733e613e8e321de61f345a003e127421414f5b)", - "P->V[608:640]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 16: Field Element(0x4cc9a9f2102ae6594a9bc26a9be756e42f8ae6796a7cd2c995529ea49838d19)", - "P->V[640:672]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 17: Field Element(0x3ffbfe18da4d597ad69da888d4a1f66f21494958f872e7bf58f25c92322ff97)", - "P->V[672:704]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 18: Field Element(0x7230046cdb05fc39e0d6ed6c1c72cd2956e9a0a629525b7faa4ee19b606b596)", - "P->V[704:736]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 19: Field Element(0x62ee8aceb1dcb9ab58d7c255b6d19234587d02756de1f25bf1b8cb8966e6223)", - "P->V[736:768]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 20: Field Element(0x227b1dadcf5ffa16385ae285a9c3744603170fad55d53391e468b64669b983f)", - "P->V[768:800]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 21: Field Element(0x4ce31fc1c12cc50177f99cf0322932310ced8b25f99fc2266a98f20fe73684)", - "P->V[800:832]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 22: Field Element(0x5e59835fe4b38140c3a397bb517aed43e9820399c149c318cdcdea5a2e06d60)", - "P->V[832:864]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 23: Field Element(0x7becfc0a99493f8462d36669cfad4ea3b5bfd93cada49a1faf2282e347480ed)", - "P->V[864:896]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 24: Field Element(0x3f0e33a9f86881cdb5dd5228df5d7c0fbb3267444ab26aee02ad517b42ee43f)", - "P->V[896:928]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 25: Field Element(0x2ef568b53212fbe430849aa6f2a12e045ef447121645535bcd1ca062b1a4836)", - "P->V[928:960]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 26: Field Element(0x8020034d5d2bc1d694c5fad715b98823e360c0606ae0ac2903e912a83ed90f)", - "P->V[960:992]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 27: Field Element(0x1a9543499c6eadf17c12c05de7b7e3dbfdd2e7dd9686adf395b3dc866f400)", - "P->V[992:1024]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 28: Field Element(0x110038eee6829e35c28e8830683fbab9adc925ab259f4cbd56caa16a0251d6)", - "P->V[1024:1056]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 29: Field Element(0x3b1f230c25bcd761b4e1fa65f8faadeecbb85c0c3ec13eb51777a492e975abd)", - "P->V[1056:1088]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 30: Field Element(0x5c8d865841c2243992dcdc8010e0f651a2ca6f2a25421b0e14be3986d4d80a8)", - "P->V[1088:1120]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 31: Field Element(0x6bb02f778f639c7aac7ba5161d57edac2def78c740eda5571208755dc6bc849)", - "P->V[1120:1152]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 32: Field Element(0x7d4a825f27be23e725726d6b148f8b07cc021e0b99a9a01746bda2c06b3c9da)", - "P->V[1152:1184]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 33: Field Element(0x5a9bccee16637828983342d59f3b53c4322764eafc223ce09abdc041808115c)", - "P->V[1184:1216]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 34: Field Element(0x5b1819f6ba897b24771e7a9293d1f2ed3f358e7f255d64026af5fa27ecfeec1)", - "P->V[1216:1248]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 35: Field Element(0x6ad989d0cdc6622783df25abb19735d16c792685fd7dda1e1562f9a6a8a0702)", - "P->V[1248:1280]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 36: Field Element(0x3aebe3a94a539ed7a5c28a057703321ec55c7608945555b1467e8307152beda)", - "P->V[1280:1312]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 37: Field Element(0x79a3ba41aa925e6516422cdbcfbc3774a15da15bd03633a66b7a171f626eccd)", - "P->V[1312:1344]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 38: Field Element(0xd17ad9197e469ffb44cc9798389c7d8abecb9255217bb9c46e1c3fca3c7cb8)", - "P->V[1344:1376]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 39: Field Element(0x39b46c8e8f763f9808cdaae275d26ea171a0aee03249bf5b29cf001d5818802)", - "P->V[1376:1408]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 40: Field Element(0x51899281b778726a4e72cb8c7430c5b07678cfccfd6712b1e29da93a8dd3930)", - "P->V[1408:1440]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 41: Field Element(0x3b1368f4a2fb4cf7169e2b850c625527344a0fca1c15be855b96205077f09a4)", - "P->V[1440:1472]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 42: Field Element(0x20993b5f3c9bff9ea7c568c1f6904ae0dccdb9ab365f5f74ede0fce9fc55084)", - "P->V[1472:1504]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 43: Field Element(0x52b09408628f7143dade535c0a3eb91800aae71a5362902465936e266d95a12)", - "P->V[1504:1536]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 44: Field Element(0x7b5b4d550b1859ddcbadc0bb3b8b1e36ad4784e7a4f5a9cc5a6c68faafee97e)", - "P->V[1536:1568]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 45: Field Element(0x309da484fc0550bb853222d2e50a182487a5e12d77bba2ffc65b63b1a483ce1)", - "P->V[1568:1600]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 46: Field Element(0x2bdfdf95cbb6efaf98e4665ce6e580b9cfc27f711a5f52ef1de8f73a184ad32)", - "P->V[1600:1632]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 47: Field Element(0x79b590b02750b50f4a059c974db604678336a27b9b62325be7d0be738f18201)", - "P->V[1632:1664]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 48: Field Element(0x149fd7df5ee115529a3be8ec05518231b73861e859a38e7113a789ed1ca671)", - "P->V[1664:1696]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 49: Field Element(0x61cc74f763df29546d5a3ad5b7aa0a3ac4057638e6dc2ae3569fa51a8e628cd)", - "P->V[1696:1728]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 50: Field Element(0x6fa6019edaa1d16d9926d32839e2e909a22f6c9511bf45dbe1e65da9e97b390)", - "P->V[1728:1760]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 51: Field Element(0x4d233f48482737e99e1b00d2989b25ef1237cee4f67fd37ba4fd9a4b9375be0)", - "P->V[1760:1792]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 52: Field Element(0x56466235e25b571299e48c4961c6f39e9e04c52580550ff6f5010eeefede434)", - "P->V[1792:1824]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 53: Field Element(0x5a66132297eee8fc1553765fbc7c40a6eca6768039281ebaffe4d054794a9a2)", - "P->V[1824:1856]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 54: Field Element(0x3f6ec8985aad5b36d98d7c9f6dfaa5141aa93c8dc4aef92c7da5d4bc33ef046)", - "P->V[1856:1888]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 55: Field Element(0x5c2bb1616804ca9e3350f9a4cedb063d44994396ccc7991bb63b54816f41db)", - "P->V[1888:1920]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 56: Field Element(0x7f35fad53980fe0c5ef3f9e5d871654c3fd2b74293d46e5624e59492d21860d)", - "P->V[1920:1952]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 57: Field Element(0x2373a3c75cf46afdfbcec31039420473b84bfc01d18a5d360a676747b9cfed)", - "P->V[1952:1984]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 58: Field Element(0x5a47dbd2cd46f2962c87fb7a0b4ecd43b0f0c57802d77387e5442a5463d12d2)", - "P->V[1984:2016]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 59: Field Element(0x62e7f909b1a53d990666eb2479da4d968b713fa09e4c03784935044383e7d87)", - "P->V[2016:2048]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 60: Field Element(0x5e6820d0f6bcab4c6dcda3253b28d1a0943262276ea6460a96908d64a3f81a1)", - "P->V[2048:2080]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 61: Field Element(0x7ab6c9b4b60af17f89a8270343fdecf03e2316ba2b1e1be49f36dfd905e120f)", - "P->V[2080:2112]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 62: Field Element(0x294390f6d53463800dc00e1ee31a2db35a3a2358bc6a0874005c137b8505df)", - "P->V[2112:2144]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 63: Field Element(0x653671c4e6ac60c583abb2d41632ac9d933d1a9f6c01296ac4def4c5806db20)", - "P->V[2144:2176]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 64: Field Element(0x1bb0b4ada38fb53871b277316f4519d603599d72450200a9212275b8d01ed7a)", - "P->V[2176:2208]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 65: Field Element(0xf2c00e58f52ab01811aefda5b4f37667b2e94e00c3a8651bcf15611411af3c)", - "P->V[2208:2240]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 66: Field Element(0x33d0c40f50597df142294beb03b7503d145ed390e803c5720800624e30632e1)", - "P->V[2240:2272]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 67: Field Element(0x39cab357b0acb08eda3ebdd2843ada3b2f228effa278152e05fc6e7774a78f3)", - "P->V[2272:2304]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 68: Field Element(0x15ec84452062e95f4a054f6ae408a3872fc56b8dac20c0a5f05f49ad33c3360)", - "P->V[2304:2336]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 69: Field Element(0x6fdc2d8252b6a9fcfbe16f46f74ec552f8de1b10cea11eb02e83f18b0f038e8)", - "P->V[2336:2368]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 70: Field Element(0x149d2a2a538f16e6c751e98825704ac901b73ec28178f3164118cb34ea178bb)", - "P->V[2368:2400]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 71: Field Element(0x74fe0111021334fe88ac1fa8911bda5d0b706c224fcbbefd457d6a46bfc1988)", - "P->V[2400:2432]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 72: Field Element(0x4c382d28465130ecf92d40e79285e4c62c716c1bf82ef473bf79987db597711)", - "P->V[2432:2464]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 73: Field Element(0x26922f1e39b0089fe3d4fb92af908c3446d86251146d52e302064cb55eefad7)", - "P->V[2464:2496]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 74: Field Element(0x400ca5b36e26da82e0ef1aeaebb8e46273cfb3470f45620e7844c29333ddbcf)", - "P->V[2496:2528]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 75: Field Element(0x655c4a37660b80ffe05e01f39a6a51cf54afdfe5786c12031a7bd047e35934)", - "P->V[2528:2560]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 76: Field Element(0x57646757235f1006765059720476207f87791da7ea3ca394888633b8331c61)", - "P->V[2560:2592]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 77: Field Element(0x31c400c4f2011a9a3184a6e70fa481ead9c9a51aace1c489f00c35c96b9f9d)", - "P->V[2592:2624]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 78: Field Element(0x72df6286c90515e26e64778cb23ee6d6276a74e3cc7a42927a8e4c64ad3e631)", - "P->V[2624:2656]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 79: Field Element(0x372e01040f14e4b4d9efe11838ced04933e975408c64a1eb6b2d4b1a4d805ec)", - "P->V[2656:2688]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 80: Field Element(0x1f4e7d7f5b6297c08ce37471d7c1fa299da192e3f6f84f1c8a0bf4f5edf0fa5)", - "P->V[2688:2720]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 81: Field Element(0x587d8fccad44ec93bf84431b43eb111dc5ada9d45cfd76ba10e2c29c22eba0d)", - "P->V[2720:2752]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 82: Field Element(0x740adc10a343cc321da1733eafe1ce6683f5a735cafdc381247d8e296786d4e)", - "P->V[2752:2784]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 83: Field Element(0x42e4018f58c37233e2c3491189507a98ed3caac6062f2203a4df2732bc5b8ec)", - "P->V[2784:2816]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 84: Field Element(0x32a3d10cc5e2cce5091cd1022d7775b966b8d08fa76676e8efe56e977f93b1d)", - "P->V[2816:2848]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 85: Field Element(0x72b7154df519243f09a46e7174e73c82057c1ce02e6cd4513ec330c783b9e6b)", - "P->V[2848:2880]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 86: Field Element(0x446fc78cbf59cf4457a8c249f94988307044bd1e4cbf6ed868f0abeea06f738)", - "P->V[2880:2912]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 87: Field Element(0x191dec2d909587e83736a1486d1e15dc91f24b2befb5d86f22a2780fdc6a56b)", - "P->V[2912:2944]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 88: Field Element(0x5050c438b72ab0da067ce7e7ad95a9ff8af9c9ed9e39faadf1054a3ee49b4eb)", - "P->V[2944:2976]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 89: Field Element(0x3c1cb7afc34e4931dcc09c3ca4ecb1eaae62ea49728a275ba3394a66561f71a)", - "P->V[2976:3008]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 90: Field Element(0x7920de31f64b1a9659ab680d83f7aeaef33a5ed57658996e8a018353e8b61c7)", - "P->V[3008:3040]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 91: Field Element(0x4edd29a87db9ea0c55c6ca506b53a0f608cd6eb4fb16a1565155406377f67d2)", - "P->V[3040:3072]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 92: Field Element(0x1faab46420dabcfec252b40cf07d1e3b95cae34629e8a5bd4b606c5ae7023ac)", - "P->V[3072:3104]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 93: Field Element(0x47d48ef12b973bb33a13750f323d6409c2a71d21789c28c0c5d398c0db94410)", - "P->V[3104:3136]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 94: Field Element(0x1ef3440cf04da0f2d3f235df25b5970b14f70b163360cdc384b8f17e9b3d0d4)", - "P->V[3136:3168]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 95: Field Element(0x32effabf39166bf7e1b0021885cdc3a883850e89517a1335585fd660a49ab39)", - "P->V[3168:3200]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 96: Field Element(0x1f22ac760d7189a7092c249379189caa6ca2dfaec7629d7dce005078c0ef974)", - "P->V[3200:3232]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 97: Field Element(0x2fe0ea7a1ef7b22449436f1a5ee897c2957e6a5d4c8940e619fcfc41c96af4f)", - "P->V[3232:3264]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 98: Field Element(0x7c89449ef50cb051bd8a9bcc39930f27cb6705361d7bf63d9395ebfcf2b1fed)", - "P->V[3264:3296]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 99: Field Element(0x62d4679a74a4917ecbc38338a7702ee3e1649de0ff374cd96c95e08f2a21147)", - "P->V[3296:3328]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 100: Field Element(0x3a8bb09700275527cfba687edd6bce531854c1820c080852fde8e4c0994a7ad)", - "P->V[3328:3360]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 101: Field Element(0x2d30e80d5ada69a4870b45abe6ee88d3763abf74ad21ecea49563dc305e198a)", - "P->V[3360:3392]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 102: Field Element(0x519fc2dce6e1e8ed56d9ded1a6c95a7bf06563489866bb7f1f4089466b5a5d0)", - "P->V[3392:3424]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 103: Field Element(0x185c60f058a4dc87c2210b2108c417deef15f06a828f492356e3d2d851bd7ac)", - "P->V[3424:3456]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 104: Field Element(0x495e8a5322f153289adce1ca7a4e8adf5668933f5565e021660cdb00b06b305)", - "P->V[3456:3488]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 105: Field Element(0x53820d128c0b9ed3a97d17e1ed802c0c7753f0c49cdae53d73b176f6c5d779d)", - "P->V[3488:3520]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 106: Field Element(0x21080bf9c20f813677c0c4a961257907caf2b66dfc6ff4ed7ad6482bdbb24ba)", - "P->V[3520:3552]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 107: Field Element(0x699f34ab0d303e5e0f3951999476d627e59aca62ce590ff80c3454d3698b003)", - "P->V[3552:3584]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 108: Field Element(0x18353da18801c9b2a48ceb3443e4a693f091a2c63b711b989ca2d4122d90b41)", - "P->V[3584:3616]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 109: Field Element(0x3384bb150c843c0b56244184f5aa98f81d8c2f1cd02db621da3c4245869cf0e)", - "P->V[3616:3648]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 110: Field Element(0x65d2714d8e78ce0e7bb38ca4087c848c75835669c6e63c235b0163eeba65db)", - "P->V[3648:3680]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 111: Field Element(0x2a138288a794e3f996b95d9d19cd07ba383d94d1f78d9aee5e1e6c83f1d5db3)", - "P->V[3680:3712]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 112: Field Element(0x386cc4b75d0d8968130810750167d1c43c2e124c8874c8085317bf3d4f74af6)", - "P->V[3712:3744]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 113: Field Element(0xf0ae9a86348c062c47299be95894f492dc5cb7d588ccd9fc65132dde2eea75)", - "P->V[3744:3776]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 114: Field Element(0x66ae9af38d2134b5ea202dd5563a9092a77859be73aeaac6636d7bd8dd95836)", - "P->V[3776:3808]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 115: Field Element(0x5af83247240c2b18ce639565885cba77f68e8863f7744123928ed3e0b9bd3b9)", - "P->V[3808:3840]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 116: Field Element(0x21c11709e715243fc1d8e504e13b4edafaf7692910537b3e12119fc84cec0a4)", - "P->V[3840:3872]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 117: Field Element(0x4b4dc2154cfddf6afd5db75497ef5684c4abe6531b8eb7b5ddde6b5b45c0cc3)", - "P->V[3872:3904]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 118: Field Element(0x519d7e47fc8dc41dd0efcac12def6d2efbcc80aad6628581482c55e41c6a365)", - "P->V[3904:3936]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 119: Field Element(0x4d5877cbe074b9fa924cb59604eed543f191664b703cfee412fa51b6d20b249)", - "P->V[3936:3968]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 120: Field Element(0x5030a8ebb667059afba17cfebaf71cd3f2a1cf8f678e71630d0cecd4131c2ca)", - "P->V[3968:4000]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 121: Field Element(0x6fc3bb82f2840334a9573992cb27027f278377b290bcc32e9e09605f98bc614)", - "P->V[4000:4032]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 122: Field Element(0x4f766847fb1c9552070385322366bad73dce927a0a0ba65274e0fe9bc685e11)", - "P->V[4032:4064]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 123: Field Element(0x627652473930dae02f7b46b5e02d9d60dcdda3af7138560e8901e067bf3ff32)", - "P->V[4064:4096]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 124: Field Element(0x14f040d56b80f395ddccc5dbaa7c6d0ad7298a5dc0fa9fd46a6269fbe46bfb6)", - "P->V[4096:4128]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 125: Field Element(0x253d82a77da2ae3a4db6f1b7ad83e164c6f78bdfe22d509bd7ece3de565dda5)", - "P->V[4128:4160]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 126: Field Element(0x22dbecdb61963666b512990e004009af01de5ea1324f9bc74e12d2e9811d79c)", - "P->V[4160:4192]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 127: Field Element(0x514217c99ca2c53f9dd0661973824637867fba3cc2ea1b6eac2e87ee74ca672)", - "P->V[4192:4224]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 128: Field Element(0x680f5bc4b9c02ab48744eafa3345a781e2058e33b37c0e8ab7486272da768b8)", - "P->V[4224:4256]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 129: Field Element(0x443ed548df181b9a90b1698effffc4d77416d0c435f203d29b464dc617cb4bd)", - "P->V[4256:4288]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 130: Field Element(0x4ff1ad4865c929ea0a3d6166ad65e5bdd4f3ad3a46c74403ac00527ce62f99a)", - "P->V[4288:4320]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 131: Field Element(0x2650f74390fd821ba250d42ea6c7e57743874970e4722661732366e90f6b56)", - "P->V[4320:4352]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 132: Field Element(0x497d030306c60e5b7f3f2202688d20647576ef4b6f23fdf555e1a6b8867fa14)", - "P->V[4352:4384]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 133: Field Element(0x344e743edbe4e679d6fd7bd490f4062031293e1b4e98926dd1c6c8ed28513b4)", - "P->V[4384:4416]: /cpu air/STARK/Out Of Domain Sampling/OODS values: 134: Field Element(0x7fd7a9fddc0c0eafa64b996a2bd062159f8930f28a930629e63ab897f662cb2)", - "V->P: /cpu air/STARK/Out Of Domain Sampling: Constraint polynomial random element: Field Element(0xeb24355844f3985b14be3b60d49120d33460a2c8a8ce0b03dffc3cca11f99d)", - "P->V[4416:4448]: /cpu air/STARK/FRI/Commitment/Layer 1: Commitment: Hash(0x279143db565360bb784ae426d9c99b535716a7faa9fb12b6fb041135129a1c6)", - "V->P: /cpu air/STARK/FRI/Commitment/Layer 2: Evaluation point: Field Element(0x398fb2dd5ae945fe667e632daa36e90868f8b9149fe91da928d5826d553621f)", - "P->V[4448:4480]: /cpu air/STARK/FRI/Commitment/Layer 2: Commitment: Hash(0x419a7a9f53c0590ce26732c34661027bf6cc38649b73edd9dca46259239955c)", - "V->P: /cpu air/STARK/FRI/Commitment/Layer 3: Evaluation point: Field Element(0x3dcd6dbe5e814960f9d8af4726d5fa3d7083183acb7a32f9b36c99ae314f489)", - "P->V[4480:4512]: /cpu air/STARK/FRI/Commitment/Layer 3: Commitment: Hash(0xed511ff0988c4683f82e319c5eff6881fd0b624fa4dd453cc93b5d34dbeb70)", - "V->P: /cpu air/STARK/FRI/Commitment/Layer 4: Evaluation point: Field Element(0x4e51e3464c5e3fb15135c585f9b475120898f86e2e40787288c1e4b9beef88b)", - "P->V[4512:8608]: /cpu air/STARK/FRI/Commitment/Last Layer: Coefficients: Field Elements(0x54e90ceefcced7a26e948b9036ecdbda0bb8067d72661db896017898a2a53a3, 0x3bcbf94e2ec654d8b7cd34a27eabf2a9e61a70b0715f1734e8ca8a0d97ffd92, 0x789104d180df90ddd262ae661ae7834fe3a7f650bda1cfbd923e66befcf8009, 0x5831b306fe59a01eb57eb488e1269ec8a9db92c482e8adebada1ceb431f1a1a, 0x3a99b0fa4d840b3a4bfe7130e0f818ef5943c0770202e492800937511c64824, 0xe9a7150de775c3893fbda9ccd89ff45f2bda1159576cc8677128212e172261, 0x464156b3b0158fcaf73da73078fb2cd501b8dc1c8493ae2895fdf73451219be, 0x28610e520500097f7dc29c45f078acce9fa9d4d344ba58431c610c4b67c4fb, 0x6154ba59e6988f8b0ae5593fb74a5cccd8a023f05b0119e9d3919ec1b6e5fcb, 0x651ec5ad6c24d98cc9a511ff5c3e85e3100a47daffaec9c63b35f5255079ddb, 0x6b89d559aef778bc35ca6b46e782c45ff4ac120239a08943ce0d9acd265801a, 0x6e3766cf86c15e5eb960971ec74aa07840aed0a3367dcb9b54147c98cb8e7d8, 0x310b2c7458e92f2198f005df038aeff7299146acff68958c28fb3d1677ab948, 0x2531f97e55ac51e122c7395ee9dcc1f0d87c803df063a4ff234f9fd8eccabfb, 0x38701343745e8c38ccfecfc357315246eea178ea3a86ee1a9796783c64fbd5a, 0x263db66c20dc49b79cfaa5ca88040c7c14fd449372095bde82045f587fdee7, 0x4a6bed362934d2faf5666f81bd4ded6f8db3aadf59f69fb80a045ca4f05d34c, 0x7b57eb49a38f2ca604f2f89df1e18c5a259e3d1a226e40cbd976c52d0c6cacc, 0x320cc9ce14a49b56fd7ff974e38c04a1ae16582038865a3478cefc944eb0ec5, 0x554aaf1e1712aa21df86e3f3072ac3583035dd199c1ba339ad6b77055c2e76e, 0x580607a1b44afe92b29e9c4e69f45bc9b47bbf31c5aa30ec5f1da2c1742af3a, 0xa7b2dcb90177cb05ceaf51bd1661eb9836cf06c963e9fcb28abebfe9e25cdc, 0x335a7a80216cf354024f3d1fa8c2ae6be71bdc1a4d11753c0b03d5eaeddd995, 0x36713385eab9d71b3953d129dfbc13cc0cf257fa2fea954b11e7064ad3fb926, 0x7b755a796c6c9ec6d78e4479d7a0d6940382e8cac216c10f259798a806a1ebe, 0x1b7a2bcf780c713713737a808066daf07c4fa6a85ba3d8c4d1f85b7deb7200c, 0x1618376dd039ef6e3862aa2107c153b9ff5fc6723ea2a737e83270c69da2ca0, 0x54d3b63239ba30e435504a1c6fa9f9ab83ca3f1cb784063e48d75bd527e6879, 0x7e71847901dae1d3d5ce27c619c23fec823a5c55a17bc423a2d5f98201dd649, 0x794b637b8ca3a43ac426bb7aa63a329c07ee9674dc5c3b6467e21eb98c39fbf, 0x2e6b9e7981efa62f1b6b795739287e513331c48160ec44a6793dd78d5ddd58a, 0xa715cf5205aa3666bee546f6b004156d262d4a3eb2a3b00f877c59f707786b, 0x5c4f28113d8b152a7c254d20d5c88a311f0b0983df3355a7278fed6e48c0ed1, 0x262e39095aa048c9c722572108fd211c7fb66d7fbd87da6ac5fddb46bfce6cd, 0x24a272677940f22f1b1a10b51d6ae6b0fbe2d72483d219b7c2c6aa762a5cf42, 0x678f66cb2f4e291bc95463721e1cecc91687bdcc3e11132f15acbe1e94e61ba, 0x79131376939e60dce7827b9b56acf967a25a0dbbb30b6ed2612b6c27ef59f22, 0x7380f645ae7850eeb8fea116c414a7bf9f12d5f9c3409b91a5bf7f07b3ac4a9, 0xdca9ca3fd0fd87d0796eb4fa1503c3692bcfc6485d593c2bb1a0088deb298e, 0x61113aa4a93c4ea75bee5cda1c5a6d86cee58218fa5c0c93542fea948b01ee1, 0x4ef68556e9207925be023eae8279d02e3bf08597ca7d0b843219274af9aee07, 0x5d96dd7509a6d46b474ae470270c63d2139c1884653225cdedd2b74825b2e, 0x51b2ee4fde2f29b7ab2e712b8c39bb1ea4e9db27d8333cd29bf614501fd0194, 0x3afee49f1f697dacd5b3020414a8db58c9507b7fe5f39ab176af13432fc3981, 0x71a528e3e4bf05dfb18a0017bdbb624c05e7e7ff20b4fafc51046c29f9eda43, 0xa08dc0416068b7ea669f44e7edbe5ebc91effcd8cb1831f3ce870f977e631, 0x4f2ed8c29c0e01880e9fda5db88905586a72525cedf4e04124dcb820fc7c731, 0x4c3aa4db3824bddab7e267c4308314005ef7e3cc7780cb90eac4164958ece0e, 0x27c4e23f7068e4e9363e48f76ff81ac2d910f02bca495ae52095bc786c0caa0, 0x5622119efc06f70173414acdbdcba94f19c0340a443defa23ea48cf5bfd2583, 0x392538446816a73a12871650b6366a2804743aa1dbd66bb9211c40cdf1072d6, 0x6e3ab721a53db2588b70f8521077efc31d75930f6999af2afa159ab1cce3d1b, 0x66ae9144bb25329e0c69793b293362c0e91d9bc018710c8612c43eb119026a1, 0x40d802f5cc3601d7d2af0aa1aa3587e2e7c478b9368ce1dbbaca685cf3c381c, 0x3260ece4800b1c33b538f23e5bebad75a6850e1dd3052e1a01f1143e06ab6a4, 0x5a901f62b91a881f374113dcc95ab9eafc93db24c14b8bb320ac1dfe5c7771a, 0x76b8844c35b7dffaf6ecdd5927722802f24255074f5d26e8b07d2e9aafd0178, 0x791a572a40fee82acd1240f3fad0dfd681f0c14dbda553a1ae27305ea023b30, 0x3f6ba28d31e557f4f9ccdf8e8b11dcfa28fb718894b166f292eb9c8782a9df1, 0x2a2f586ecfaff8127f5996b552119869aeb0e7ff5e967a2b4b780c9a8703b14, 0x5c308911d0161f6b893aa69cc97a38558b354373e0d980bb7be37d6afec33a1, 0x68ddb96d7c609736c7ad13a799c0904a8f11242fe280dddd91e4f9106b78bc1, 0x45ff24d8d227def0f8c4ae96dc4295251c26420d8beecc6057119cce995ce0a, 0x59a4fe4e7792ebeff5bbc93d06f3130237b1f618ff666162a3c92115de7ab74, 0x7ded074de0bfe8b182ba871a3ab7b31ff58d98665769fdb9720da4ee2ca6c4e, 0x4b7d9c9394278b5164de633ebd5b5b51b79a9e166c01ca4011ed95b7b4c40c4, 0x5e67520ddd60b3c6ff73124272c60834f809243e8b8dfd1d26313832634be8f, 0x36d13dd5c74f6d876442459e78df145b328e3fdd30f0dad9778061890b54c0f, 0x2dfdf7c5a67a6ff7a6a286e3d2b048a95d3a855b989a5cad35100c2966f4dc0, 0x2370b1a6dcb8bed6dec4d71d6454736837172c9f19ba958d20411d0c7f6f5e3, 0x4f65c3a7d7840450b0255084589bc4ae22d274bde42095b88c0d5204d8c70c6, 0x574a4d614fa4d83f9e64b3588e1f71909f6c7ef8366ae599fd66b6ee18d3eb, 0x1105735a4af94604ca365c13aa717155da12c021ee3f9d89a80cb54c06a9aef, 0x495d018b2c4b466dbcc469789d71b9c307d077921c4062813d7c4091eddfa6, 0xe0f74f8431b20628579ade77c5b454050d4bcc2b5517cdf42a7d90acc14175, 0x646f2fe3a4f613024284ef9da75b147874eaf2b29b52ec2f957d355dc7786dc, 0x641e13fbc2e4d5279effe38cc3451cfeeeb6902d390bb52f20081297f8dba65, 0x2625a1311e162c4aa106e179d48f074d4a215a38184d0d2c859424e8a57d0aa, 0x4037508987e90bb571338b4b1d0697da9d4b22695fa8069685896312777d48b, 0x5574e914fcba6269113e7a238badaf5abe32ccc51a05289dff66b30c99750fc, 0x3319bc0c4ed0a320bd54753b31d21da46b4ac141b0b7fdbf43c5262747db196, 0x5d2333fc57a1abcc35d6cc9b8fb217cdbf0e6c2ce3e479b503621e6281793ab, 0x282913157a7d1bbb1c674eb6df5f2eef7f0a0c07fde92e3ea8ed1c7bb153a8e, 0x52593c39f340c73558c714aaa11dcc0a88488637ec2f7ebdf6ca709ab0b0880, 0x33b39cea336736e007d0b0c24a04de66954a11efe26314b504e99ea65f5b13c, 0x7dd459a19f6bbed31f0e8f6251c9647ba6b4380495502e69eeda566021db311, 0x77ab7a2017c38948a8957d0c726a520b37e7b7e03ba2061ba2f7966de1ff00f, 0x2a525312c58269737e624bc69140ccfd4487d80d9082db1f641712bd47be64e, 0x7a88f86609a66bde2a2bb699f57e062e796c9382af3d2a9e2df9cd45430f616, 0x398124ad6e40525280772bff260f4a0f313343d97933dabdaa3fc381f267a18, 0x18dcc6030c28087f31a7768180c8aa0bd2a751981be53b49deef9f1ca805f9c, 0x27cc4bfc11af1d56d0450cbfa50ba8e2f38a94999f692c45b7a25db60b59002, 0x6a846fe3b3e834e5fa9a1e5c731665abcb793a023c3697fd18a77589c69ce5c, 0x2e4631e1f4bd7d5b3ffea3aafe50f2a9e00df3c27d6464f1e9a73ded7843827, 0x141937a513b8af8fa985cd2cb53ce041b5ce3741a1f62ff53bd7d77f2d0cb34, 0x390b41371626f7ea7b9f1fc82865587757dcd2ffd60fe8db737c37542d825f2, 0x21392d7938b099ede8ee76eefaef0bed77de72526aee0cdef900be55cc41507, 0x45075033651c010d94994c605747937e1c77af3a497cd9c5f03e60c5f5ebf91, 0x429b14906130d43292b758f05f53c9cc78a46c9567cdac098288b2e169e7a1f, 0x63fa1f609aa5c9c23b30ed2e297ed451387fc1e3b02408f7845ab0192abc114, 0x655e68a3799fd4a89e8fadd127911c111371f29142ee6ffa52338936ed08476, 0x4e3603989a713da0e1fec5fbe430ba9247d12f5cb859d5756712baf8c43d322, 0x726691c1c43efcf9992b7237fb5abdcddb5b52830e919edd117d533d4619c65, 0x3176c80f6269717d7fc9343fba099e8cdb6f12392fdb998c33c58bdfe47dae8, 0x1a14a42f8c7c464f79114ac9de378beb8e1574a9331a8dd9f8d8af4f9798f86, 0x4640708a6412b03a71bf478984081b8b7c1a724b3a7bcf1b381054d74ef16d3, 0x70233ffe07aca110df681400ed8ac89eabddbfe07e2acc9527cd2958bb089bc, 0x543aa30f6d8bdba45ba066a0577f739627a2bc6a165e6c938143882a64a87f, 0x8a0dc82be49e41bd4f36ad6289f7c212051947613462a4e37e648d004ca341, 0x33c30410a9dc9f786f78cb5dd9fb5c3391f066cf52aece1387158e273019ee0, 0x2724b3c03741a9ae3639160f437b222dbc5cead09672dbf284caa3abf68a32b, 0x7f280c81669ef11e968a3ce813aa29d9e650454d0b9c5bcd50351fec5085f83, 0x528ffe7016fb3a160dc973b2c5d91e9f7b522a0ea0cd9009d620b2b84dced5f, 0xbcfbcbf38dae3675ae66b41f4ad90bd7d50c20e9128a173e837e6f3ff37b87, 0x39ec7731fd9c6f5dc85af3411d4c10ae40c6d05c2fc0e2f6cf0289aa0b04278, 0x7fc5f1ab7f7b0cd8bb31e8af0924520caf168f1f7ad14e086d42bb36fa388b3, 0x7fbfeb54d30b0149de4b2d2505765b93055de5b3f0c8105aec903d5e8c8779f, 0x7f251a286f3a856dd08e017f09e398d5f69424361604a594fdc8c97ac3c6b8f, 0x4f7c8d566328b6dc033ec06c3121246fa8ecc239cd62dfd3555cd77a465c903, 0x77c409d8ad0b0dbaf61f69829c872b2f0a432ef038b4ee6d16f7fec4ba0c6c8, 0x43ccecf2febe76d15c9a5b9aba8b886b5101b8bcd2e0b1002c459f3c06f69aa, 0x56c904c6e8fdff0f089ffd4d73a27d1274b788420c0f3b09020a0d9a8150743, 0x1044befc6e7ca3081ba1e8a1c211e20a77e5f37fed22004ea9e06ffde793184, 0x4263280cb97a054ccb9f21e608d9aed0555edf812811ca4a23554b4470c2b53, 0x55e497ad4d40f2f95ef0c160d6e0c9eddf44c20383347e43d79f8f0816eb302, 0x5bdf2dfcb3e0d337b0bab0cfc3eee7d1c77590c053da8797c3e5a788e56050, 0x770f78601fbd78302a35fcfd1c8326783c206569905c1f4ed2ed7e3d8c2ee0c, 0x4d7089d6faebb4e913a56b4ff206e2b1e573d79540df442cf6e8e4a40012ed7)", - "P->V[8608:8616]: /cpu air/STARK/FRI/Proof of Work: POW: Data(0x1242fe5e)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 0: Number(2787507)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 1: Number(1563275)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 2: Number(965793)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 3: Number(3088197)", - "V->P: /cpu air/STARK/FRI/QueryIndices: 4: Number(2667997)", - "P->V[8616:8648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 965793, Column 0: Field Element(0x507de3a4996cfc0d0ef0c3bd265eb038d4f82e22e170aaafb241660a07d89c)", - "P->V[8648:8680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 965793, Column 1: Field Element(0x5620e8fc1523223b21795967d766f9d9af1d765f9253b2ca56717b4387524bc)", - "P->V[8680:8712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 965793, Column 2: Field Element(0x681dbc5d4b0073db2e965a3cc4d7872888da0fc2f0610a70de418005c152a0c)", - "P->V[8712:8744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 965793, Column 3: Field Element(0x3777c6dce310a34804f679d99a25a433a66551bdc4fb8bd0138135d2358421e)", - "P->V[8744:8776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 965793, Column 4: Field Element(0x10ab118402362b0a3b4f5100db1a87dd73ea6daa7fca3db34bdb676ff3d4bc1)", - "P->V[8776:8808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 965793, Column 5: Field Element(0x7114160b85049772c128fca236e5ebbf9aeb47c96c204e28dbacb3ebed6c663)", - "P->V[8808:8840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 965793, Column 6: Field Element(0x1a94137da00c802f3687228e6e620ebb106a7edf3dcf5eb584e365148755c96)", - "P->V[8840:8872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1563275, Column 0: Field Element(0x6c7e763a68e84e95854895fe85ee25afacb67f20a1143978c1485adff0d38eb)", - "P->V[8872:8904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1563275, Column 1: Field Element(0x2ed4c5ad932309ec0b67b92d0267353b4fe8640772d891d57a9281d90fe1ab1)", - "P->V[8904:8936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1563275, Column 2: Field Element(0x3c980b9e54411839b34b397a5b9d64356afd2cd07476a25fcba3c73443b85ec)", - "P->V[8936:8968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1563275, Column 3: Field Element(0x3fa984e855ca8fb8f13b7d78bab5ec19b3ae2943d2b145c78f10a087b54155a)", - "P->V[8968:9000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1563275, Column 4: Field Element(0x247ac2c3095916a033951d1cb70581cb9a546a14ac9e26502effdc0ad5cd385)", - "P->V[9000:9032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1563275, Column 5: Field Element(0x70183323343a7deec075914752e5d010cff1b8cbeb8839f493d0199c7d9db33)", - "P->V[9032:9064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 1563275, Column 6: Field Element(0x3d81004432c7831129666d04c0574fde894ccb753ea15047555e505d1087fb3)", - "P->V[9064:9096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2667997, Column 0: Field Element(0x72cad1ba4e8cce7a136f71a693b7a1ff82e5f73585ab89514370ab9ee3cefe5)", - "P->V[9096:9128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2667997, Column 1: Field Element(0x3263c10a25842760d86eade43acb2fa5a2de9b7f76c61349211a66e577d1130)", - "P->V[9128:9160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2667997, Column 2: Field Element(0x7b66c37cc994a5584447d7930478f07ffc1a7d7549bf785d2713e86b1ee1c1)", - "P->V[9160:9192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2667997, Column 3: Field Element(0x475a4d9c3166b98a2d5b695c485d60c8f48e4b737cae716d17e032d141f34b3)", - "P->V[9192:9224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2667997, Column 4: Field Element(0x54897ade2bc29f3503445f260613fbdc28610f67a43aacce3c06c9ba3d68f1c)", - "P->V[9224:9256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2667997, Column 5: Field Element(0x7ef6b16e5130b2ba65da981b28aeb782e77890fc99eca0ac506274880653eda)", - "P->V[9256:9288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2667997, Column 6: Field Element(0x5965a66fb62eaf52fdb6d86090111b1490033a36443597b35b60905ab009a26)", - "P->V[9288:9320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2787507, Column 0: Field Element(0x360162542e982a32a97147c459c2039c0b5d9c2c5c8d822e28d7f29d93f5640)", - "P->V[9320:9352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2787507, Column 1: Field Element(0x138717fbbd42de5a5417d86f2809846d3c694293bbf140b3a9679d60f829c42)", - "P->V[9352:9384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2787507, Column 2: Field Element(0x6af096443581a1d8a8fa15d461f745efc7b707df9cdb884cc99138a4b919706)", - "P->V[9384:9416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2787507, Column 3: Field Element(0xe50365d7c4360dc6482b822f62cf904dba97012a7aae8a186391aae4f14925)", - "P->V[9416:9448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2787507, Column 4: Field Element(0xe7538f0b3e1bd37c0040913d8ca5f71e08c0fa78bfeb9d46ca77c4116ffdef)", - "P->V[9448:9480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2787507, Column 5: Field Element(0x4fc4dd0b4aa41d0cc184d2ad48b132537563b4e937d08d9f6665eb7c90aa7c3)", - "P->V[9480:9512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 2787507, Column 6: Field Element(0x2a9bf3756da3fbe4b2e07a17266188c1ea490720253c5d03015b5cc00111b67)", - "P->V[9512:9544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 3088197, Column 0: Field Element(0x6854897039da25457a9e638a3283ceaa3bdba2347357b766ee07263172f9233)", - "P->V[9544:9576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 3088197, Column 1: Field Element(0x11ff2bd8234f9e295d5d752171fae5ba34afa94ea7e51abb0b85c6a903eab8e)", - "P->V[9576:9608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 3088197, Column 2: Field Element(0x33b04af7bb6d8f3628e06bf20e8960fbd4396aa32ed95b6ceb4965d4643652b)", - "P->V[9608:9640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 3088197, Column 3: Field Element(0x52cf7a96d20414ed1ef61fb4883a950f1fe97072bb84809602cb97b13706470)", - "P->V[9640:9672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 3088197, Column 4: Field Element(0x175cf5a4f45aa5ab9c59c960e312eca8e224bb3d90635371f68857c0e40c9b6)", - "P->V[9672:9704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 3088197, Column 5: Field Element(0x29c260a5cdd69555662495963f02b435c2bcf4d8883ffba3d9d518b2ef0dbd1)", - "P->V[9704:9736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 3088197, Column 6: Field Element(0x7611cc2d35a2ecc8d5eaced8368dd8fe8185b0557c34803d2a92ddd28134a94)", - "P->V[9736:9768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5160096: Hash(0x617d3c54819e301c3adc81ebf7b9575fbbe79e48)", - "P->V[9768:9800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5757578: Hash(0x77f2ec41a3c228a650358bf7108c6a62af091275)", - "P->V[9800:9832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6862300: Hash(0xfec978b900ece93a9dd3be8ac02574141beffd13)", - "P->V[9832:9864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6981810: Hash(0x4f2fadb875a5da250e4e0cee7c89485947f73fa2)", - "P->V[9864:9896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7282500: Hash(0x2c9046ca27c1c80942df4297d0ad218037f677f3)", - "P->V[9896:9928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2580049: Hash(0x1e0a45b9cfdf6eb3785cbb81c28524023c30714ed6ea737fff3b9bbe11f7683)", - "P->V[9928:9960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2878788: Hash(0x50c543d64a34400eab0c06472bf3eb5583f96da25a30979ec8d524acaac01e9)", - "P->V[9960:9992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3431151: Hash(0x143a301c125d50240c8685cb19ca89cbc961ed55ce8147557f17fa5cf4767ad)", - "P->V[9992:10024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3490904: Hash(0x59ef30dfef66c40a0ef87207ce9899ae3d4b0cead47b7e5d9e69c0c583171ac)", - "P->V[10024:10056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3641251: Hash(0xf3352c2d90759760ca87560a70b1c893846924765a4fab4adb55888abaeee0)", - "P->V[10056:10088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1290025: Hash(0x477061f361fb7ab455be1ff2bd1d475d9d0a3c39e10712c57f8300262eb1675)", - "P->V[10088:10120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1439395: Hash(0x486512419b335de4aa6818a3c0890ae30e06b49f2c4107ab5a2d96e98c49c14)", - "P->V[10120:10152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1715574: Hash(0x6157467a57f2ec563e70c396c952579f9d9b890df09015574ceb784bf431a32)", - "P->V[10152:10184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1745453: Hash(0xbd7f83b2f69088ae5818324255abf3930e905e34ee0aa7c8b660aa020b60f0)", - "P->V[10184:10216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1820624: Hash(0x4235b74e34b63284aec6081a6c9c4ce5f4979cb056c98e1291eb56056c4d659)", - "P->V[10216:10248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 645013: Hash(0x54ac842492e389b088e4692f8486d3327565f862d4fdbd218d151005b3a565b)", - "P->V[10248:10280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 719696: Hash(0x520ff882d18f9216220f0e403d9b550cfaf672c2e5e9f731f2a854a20a0d5e4)", - "P->V[10280:10312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 857786: Hash(0x71106f718687e1539bb82d9bf31c86e43b742d26901724d0a0b940bbb4a5959)", - "P->V[10312:10344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 872727: Hash(0x3e73b8db6db4c669714677679052422f9c54d8615b85cfaa8d791201b69059a)", - "P->V[10344:10376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 910313: Hash(0x374c00e6cef9642ceb96916dd81cb7a09b2dbfa7bf9cb94faeebd4eef68bf1e)", - "P->V[10376:10408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 322507: Hash(0xbaa4e7fbac65fec3b1e64772e6a946b86b49e43b983840773cfb5d67b2b1fc)", - "P->V[10408:10440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 359849: Hash(0x87d22a432b8d589f89dddccdc25a157e19b4a9fef08d0c5cd9efedcf77a346)", - "P->V[10440:10472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 428892: Hash(0x7d4e705edd890d396def26d8cd0f2f2061f8c51c7b97287db9f9164f0ceef22)", - "P->V[10472:10504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 436362: Hash(0x35abcb99ca21d5b56c1bcbb9d0e453d11831c9159c89006a133af59c163122d)", - "P->V[10504:10536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 455157: Hash(0x116dfcac054dde9c30ff97accceb33996a88aa5166ffdbf3dab6f984e85574c)", - "P->V[10536:10568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 161252: Hash(0x5513679e89d890336fdecac9dd3cccaed70e14477ed3af7cde160e684ad4230)", - "P->V[10568:10600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 179925: Hash(0x47adbe47975a23074cff7b1fd7846b17296b004e6b3c3dd8d3a0dedeb412e8d)", - "P->V[10600:10632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 214447: Hash(0x431897026aa8ccb1fe8d8026fa21abefca0ce947872d7652e510dd913b378f3)", - "P->V[10632:10664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 218180: Hash(0x369087fb09dbfdbc677022afbbbd57837b89fabcb93db845fe85af73f984e19)", - "P->V[10664:10696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 227579: Hash(0x7f737c07af675bf6f4de545826f8c3c515afbd52e58d50033f5a2d0824ec1b2)", - "P->V[10696:10728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 80627: Hash(0x75750b06978e9257f2dc5b4cb96be8a4156c11bd349f36f1850822cf729b619)", - "P->V[10728:10760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 89963: Hash(0x31ab7a5c09b6801458c1bac554089748336e4e8a7ff1688cb1436812f256bcf)", - "P->V[10760:10792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 107222: Hash(0x6c219fc6359bfd2f94e67e9f5dc232bad51620dfa15c5fb8051463f3a2f9418)", - "P->V[10792:10824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 109091: Hash(0x5cb051a1219299ebd3d6fbef63938a3b9907f8b1ddedfb7680d8d1a825910a0)", - "P->V[10824:10856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 113788: Hash(0xdad1b1a009b13aed04f118f0d047267df05ed5b5c7ffacda0efa50a2f6e66d)", - "P->V[10856:10888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 40312: Hash(0x2509cf61b9ebf68d08c252b4602242ed4704813c3485da6ff8d588b2cc138d5)", - "P->V[10888:10920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 44980: Hash(0x2e582cb1dcf3773d6a29446f4d49e5771ba583ec6eb95b62474f49f9bd24ebd)", - "P->V[10920:10952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 53610: Hash(0x5fcd8ceedcedf3d9db0dad7d041aaae5a578057bc63ad1d6f09c705b6914fe2)", - "P->V[10952:10984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 54544: Hash(0x57719ca9a14495accd553df500878da912eafb82a57d6acbe75f493663fc0ce)", - "P->V[10984:11016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 56895: Hash(0x93cb7dd66fa82cf3dea6adbd393f991733bcfc7306498396ccbaa18ec733bb)", - "P->V[11016:11048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 20157: Hash(0x1b373b7de41add8d1a45908541d2f5da550495fbddbcbb61980a2628c3103c4)", - "P->V[11048:11080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 22491: Hash(0x3b5e379e408ff62cb0de8e63740ae418c9ae4983f5830dc2a6a1ad4cb2c2eef)", - "P->V[11080:11112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26804: Hash(0x7b0a62230dd737bb644599743d60eb8bbdc8675beb278da2bf696b6e49f23e7)", - "P->V[11112:11144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 27273: Hash(0xff6ca8de937875e141412ae8216bfaf0339e131d0e46454f5a25179725cc94)", - "P->V[11144:11176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 28446: Hash(0x309c18ba0871b5a12e28f5721f180f547c12e7332850418576e7abefc573cc7)", - "P->V[11176:11208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 10079: Hash(0x2552dd779be5f24f86ba34c72030e9c86b29c777aa290dd7e824dc3ddd50427)", - "P->V[11208:11240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11244: Hash(0x5bc947ce37974730110b99e6fd8ce76ca8501cea5ef83b928b6c2619daa26de)", - "P->V[11240:11272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13403: Hash(0x6d8bf1653a3e3e4bf47698e61343f6ede75bde701ddb4cea784d5b166b2e04c)", - "P->V[11272:11304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13637: Hash(0x2f02a8d6b800b73eaad9ef3756a34de57628d58ed504e6f08fa88cf0e45560)", - "P->V[11304:11336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14222: Hash(0xb26550fd7d6bd576e928457c190d7156d0457d159dcd95e28bfe3608ed0c63)", - "P->V[11336:11368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5038: Hash(0x2b97ab69acd80547fb69720c3d844891ccba1a64452bfb351bf8b5e28f4116c)", - "P->V[11368:11400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5623: Hash(0x1d5a339c14e5e4c420060f75c903e54d89edaddcc5a1388b9f62d2a5ad75e70)", - "P->V[11400:11432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6700: Hash(0x1a0a7cb13dd6e848b29d1b8e3afe72bba2178031e92495d80dd67866c3eda32)", - "P->V[11432:11464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6819: Hash(0x1f9a02a3fc7d9125ed32c37a03e3b774c21202f4fb96f4a195ed2096e13b81a)", - "P->V[11464:11496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7110: Hash(0x258171f2250181c31ccff74810ff1f5fd7cbc130eb950ea1f05473bd86a97b7)", - "P->V[11496:11528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2518: Hash(0x599951536268e94d6da4c7b9e64730326555a7ba9955eb7dc53aea40ff80e8e)", - "P->V[11528:11560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2810: Hash(0x3feeeb4c8e559b2a7b13792f0d16bbb5302ddb13f89e27548578cf2244fd62e)", - "P->V[11560:11592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3351: Hash(0x206f7c9568aaa93917c79e71aa92b69aec73615d6644cc745a934f644e01e5e)", - "P->V[11592:11624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3408: Hash(0x3ee45acb1eaf38593d9df0760b93bc10a0b59b67f0f1775ec4d973c837bdb67)", - "P->V[11624:11656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3554: Hash(0x13e6e3664cdf82e350eab7a8ba4bb186c8969d7eb0d174fe12fa1c006ce2b3c)", - "P->V[11656:11688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1258: Hash(0x22ca26e997f5669274eebdc53707d3fd5e503951d4bbb9cba06354618ecafad)", - "P->V[11688:11720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1404: Hash(0x44fcd0302dad40583377296a9aa65423abf504c7da45a022221751ee37a8e6f)", - "P->V[11720:11752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1674: Hash(0x6529cc9f520fe9d66695f402e52cd2e84312e9e0ac1abc15dc7524c6fe6eb63)", - "P->V[11752:11784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1705: Hash(0x47a95d00d14ae0e1296c115c45deee8c5a032121cffd1f81a888108e3c71c1f)", - "P->V[11784:11816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1776: Hash(0x6257950962cf927ba26bbad4f69a28e51a6ae8d0fd58bcc9848cbeba77d5e1e)", - "P->V[11816:11848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 628: Hash(0x61029c0019bd3bf0eb2dfdee3aabbfe3072e2308770db2e5216fcd7072d2981)", - "P->V[11848:11880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 703: Hash(0x7ee07aa6751c6c83d66a6e3b5c7d163fdf64f6cd7549d65672ce427d4964c90)", - "P->V[11880:11912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 836: Hash(0xd07b89e36863415f60614152279ab8d744c206d74feea36b6a2504ef295bff)", - "P->V[11912:11944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 853: Hash(0x5b08a7cf8c4b56b94ec686dfc6ea76ee7c4ccd2efe65d88bb708ec12739e45)", - "P->V[11944:11976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 889: Hash(0x3139a7e7088cd183763c58b445eab15e86f64d6feb89660ef6e210732c2908f)", - "P->V[11976:12008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 315: Hash(0x4c8d3ab52006c2d132732e9870e302c0f205e4255e1419a0c9d4a22761ab942)", - "P->V[12008:12040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 350: Hash(0x4706e789c6a3b6ad4d9d423a2f54d13f38635d847fc57a76023053a2bb5fa56)", - "P->V[12040:12072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 419: Hash(0x7c38803caa50af38b5b89a5d03efe2b10e219bcc04c5d8385ad70e54e46b61b)", - "P->V[12072:12104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 427: Hash(0x3094a8968b1cd2bf501f6032123e47a09d8903f41f869a66659552a3507f1e8)", - "P->V[12104:12136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 445: Hash(0x2f172c3261614c2e285557ba43f117b770c4ffffe1b480424511c2c1706015a)", - "P->V[12136:12168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 156: Hash(0x25b6a6d5571ae5131f1417c2c4ac480e0fafb28e1c85ab9e9f992c3ab962f0f)", - "P->V[12168:12200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 174: Hash(0x16dcbe422af3fe80a9925cae7f3717eb1bea9200385a6b1a2b980fd917c1f9e)", - "P->V[12200:12232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 208: Hash(0x5deab3c783d6acb1e87903e1b9a1ab4807603decc6be430026c7021bed75924)", - "P->V[12232:12264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 212: Hash(0x69d73dc8e0f890aafda4fbb2a318ecf398d330c25e70e8a3b9d20705a179337)", - "P->V[12264:12296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 223: Hash(0xaea42eae442425a851ca813f4f070556dca9ba699e4e8c9bd78b60a5993458)", - "P->V[12296:12328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 79: Hash(0x5e68e615fc9464b21f26c23742918655195f2779a5531f58210d7842fbef3bc)", - "P->V[12328:12360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 86: Hash(0x5276c360e53419336156e73290d75ce63ae47dd17ff96b4ec2cb9e5459c8a94)", - "P->V[12360:12392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 105: Hash(0x1d5e60edba87fc068ee49e52b1fac86b3fbf0b704a12be4d8d6ba633ee84fa4)", - "P->V[12392:12424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 107: Hash(0x1754febcba9ddaa378141f5ce27ad9059c9f16ef7f383ddf92e7bae1ec2b2cc)", - "P->V[12424:12456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 110: Hash(0x37be862fec5d1f9482fb444d00205f10aae538a50e1adc2096df15d759ccae2)", - "P->V[12456:12488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 38: Hash(0x56d6a99e3e3e8e9fa08341e1bbf9e1b017e18b9bfcd1f1c53cb6f42a7287868)", - "P->V[12488:12520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 42: Hash(0x5f15992d5c86bc4ca61ca2fae5469ec8bcb0b3d4d321011bf5ed9d8f3fc1412)", - "P->V[12520:12552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 54: Hash(0x613682bb86990a30dd1a05d1a90e171c5cce2960946600145293c62b9c4f085)", - "P->V[12552:12584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 18: Hash(0x67957088c2fb79efb844595fc858f19bd92d8063a80f19acec700923f849ac7)", - "P->V[12584:12616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 20: Hash(0x82a89ab627d4aa190c1acc70d11453d744fdb0bd96d427f7cbce497edcea78)", - "P->V[12616:12648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8: Hash(0x5a8a7f5642624e508aff8e887324309dfc52e5753adc2684ded55d71eb77f2b)", - "P->V[12648:12680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 11: Hash(0x42418888bb625617e10c2e4a3aedcebf56823fe7cbc2beec049356eca4389c8)", - "P->V[12680:12712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12: Hash(0x53dd3972a05fb01eb6d500a029f062e762f25599fef0e40578608d2d3695fba)", - "P->V[12712:12744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7: Hash(0x6de43659a2f0534d5da93e977b99df1b06a7a4a66a6989660e1b39dc9170f90)", - "P->V[12744:12776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 965793, Column 0: Field Element(0x1d20fcb7edfd8609923f07c9464cc3b8a5c6b31457437d0116964ae8182886b)", - "P->V[12776:12808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 965793, Column 1: Field Element(0x503367fa7b393c9c5c659667132de28642e766225987769d2d48f186be30a6a)", - "P->V[12808:12840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 965793, Column 2: Field Element(0x501fd0b6c1fb8da35402ca4b8f88034c343cbd3fca98d8fa604e6267737f98c)", - "P->V[12840:12872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 1563275, Column 0: Field Element(0x5577ed384aa04795e05e4c02febe9d7b024db90931cd27e366aa432ec888c5b)", - "P->V[12872:12904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 1563275, Column 1: Field Element(0x7670ff7d2fe4fc9d0e35c9987a46512f6888be307ba0d13154d592f645a671f)", - "P->V[12904:12936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 1563275, Column 2: Field Element(0x69b1cb56b3574c58db0eae897595b7bc8de42f9c2e008ae90a1b88ce351c707)", - "P->V[12936:12968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 2667997, Column 0: Field Element(0x57b287d994cdda33f4c539409a2f934796e0d2d704702c96fc4847f40a21e5f)", - "P->V[12968:13000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 2667997, Column 1: Field Element(0x59c2a81e1feef79b2bbea11abc8fabfc605d775d00bb7d493a2ce7a3c078b4a)", - "P->V[13000:13032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 2667997, Column 2: Field Element(0x1698949404d67a621c9c08bd0a10de168408fa26ede0f28db282774c545137c)", - "P->V[13032:13064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 2787507, Column 0: Field Element(0x33a26844e3ee4ab8da20720fd544e4a57babc2cd5a12cf5235a9dbe15139dd1)", - "P->V[13064:13096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 2787507, Column 1: Field Element(0x25f7a97028bc2f177a8f9c4d6c6a5e26bd3bf6228ff83575a3415c7af6d033)", - "P->V[13096:13128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 2787507, Column 2: Field Element(0x33801eb406cc9a1a4b5bfe5a29b0992b8ace80146cd9cb59371a991cbee947e)", - "P->V[13128:13160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 3088197, Column 0: Field Element(0x3fc4e3c4854e62d76e6f04af6c68fcc8e510e530e0e8905868cf2c33580b55c)", - "P->V[13160:13192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 3088197, Column 1: Field Element(0x3b1db1f0a9644e238bb3649594f3a2091d8e42d7b1926083ef97d9ffa06618b)", - "P->V[13192:13224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 3088197, Column 2: Field Element(0x6c7f637b111f8a7d276ac80fe918d01688b36828459f133ac60356906c278b4)", - "P->V[13224:13256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5160096: Hash(0x71e66dde56eb9240f358100fb0826eefc9e362ec)", - "P->V[13256:13288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5757578: Hash(0x90b19a08c1329ca73a7b6bf560eba00a32b969e3)", - "P->V[13288:13320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6862300: Hash(0x5ac7e3c864a73bd61183d5b4effd37acaa284278)", - "P->V[13320:13352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6981810: Hash(0x34ca0e7fe3d217de5ad826d8d315177a037f16e8)", - "P->V[13352:13384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7282500: Hash(0x8f98bbfacf6812ac76d8c58f68646aadea56b00e)", - "P->V[13384:13416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2580049: Hash(0x1c3fb3db47bcbb4779526e9ebb27a2dd7ebefa6e55360641b0477ff34e88de9)", - "P->V[13416:13448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2878788: Hash(0x4bd2a18e9966d0e04f606f546bcfb2305f798150449a1c6f71b32de80594942)", - "P->V[13448:13480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3431151: Hash(0x3a8a9c03f6bef556c62d2757fda206af77953a500b3d43fa95f7a7a65b3eb35)", - "P->V[13480:13512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3490904: Hash(0x4751a6977dfbfae3807aac717e91e220bf2492095e64fd79fb09dba3cb11eb1)", - "P->V[13512:13544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3641251: Hash(0x2aba0e6660a09b6b2ab6e30b6552d4cb811af0766f9638da934720ed5280dd8)", - "P->V[13544:13576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1290025: Hash(0x68e76ba7325f1e42f5f745f9097457647dc5d48a4368941bedc46bbe544e5cf)", - "P->V[13576:13608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1439395: Hash(0x7a3c2198cb18d623a1df787930d87e2d96991ac921c0ceb04ab2e40adff879b)", - "P->V[13608:13640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1715574: Hash(0x16ab00015405fb67842c206e54402b922dddb5eb8d73401242d6385d7d13cd4)", - "P->V[13640:13672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1745453: Hash(0x8b05fe0a148b58296add984384d9f2e3659a419a1616ca7d486a61c308a276)", - "P->V[13672:13704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1820624: Hash(0xad9aa47c652153e88aeca0fcb66e9f20dc7f40c5d649ed4ca0ad66b8d1d8ef)", - "P->V[13704:13736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 645013: Hash(0x75a4f7b059e9877f166be46fa7df4527eeecdcb9412b9661666dc4bbe5b4565)", - "P->V[13736:13768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 719696: Hash(0x728b0d43938e38ded6f32fa8025085090115ec569087aacf5ff78cd2b668b30)", - "P->V[13768:13800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 857786: Hash(0x7fdd394847b64623b7c9d1e9607e995aabc73779159deaf532872ecfb189eda)", - "P->V[13800:13832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 872727: Hash(0x76b91046bd9a4d99532ebccdbe572984be14047040b1a07b46bfb4a05fc1edb)", - "P->V[13832:13864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 910313: Hash(0x6913ec42b65f136131ea5352a6960828c67f302676f6dd99c8da2db36f80a44)", - "P->V[13864:13896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 322507: Hash(0x39179e609206659e3611cf11015c1a7f38f349204a471db4734ed124ccf9213)", - "P->V[13896:13928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 359849: Hash(0x5de8724c9711c947ee440165ea8ee0af4c42c32d2d839bdafa79d23c554822e)", - "P->V[13928:13960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 428892: Hash(0x7792b391d4267683d11ce71274d05689ea19c1e4ca062c330aca55193531ee4)", - "P->V[13960:13992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 436362: Hash(0x7cf246bffd4c395412c6e011ba4f6b59a674fde412f7360f9f56fb33943ebd9)", - "P->V[13992:14024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 455157: Hash(0x4ae340752f4073cc9b816096863d4466be989aacaada5a5ddffb1b227030fbd)", - "P->V[14024:14056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 161252: Hash(0x5de06c02e409cf19f92e2511eef10b38f6312b09d0fcd58ac8c67a1cd69d8cd)", - "P->V[14056:14088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 179925: Hash(0x2cc9a0fba409287a386d7b4ba225dd6756648b4b1aeaf251bedb443df9beac6)", - "P->V[14088:14120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 214447: Hash(0x176dc828824e99164b91fcb49e029c88b03b74c0567027d34dd02b02a755c1d)", - "P->V[14120:14152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 218180: Hash(0x6c675efd3990a2253536cd5c5bc7386d04bd81e7acd894d6278ff083a015f22)", - "P->V[14152:14184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 227579: Hash(0x346f43801d4e4a39370f5977a91d50a513e46c577661680c910a14dff9aba72)", - "P->V[14184:14216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 80627: Hash(0x3b8ada6451d81daf3b38a71b6e16c3eb829fa7ee4180aa609a76709adf88b68)", - "P->V[14216:14248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 89963: Hash(0x748df75c43c5a351c3f2d0e790ed531ca3ac888a83be710c0a083f5436294b1)", - "P->V[14248:14280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 107222: Hash(0xae0f7a1c9b654b2ea2b83b16963a6fd99997a5b2b00d13ec68a344c823c562)", - "P->V[14280:14312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 109091: Hash(0x50cfbb19dc4c9d14fa11d78556ae9ce10124cd9f6db40a26cb4272ee3a2492e)", - "P->V[14312:14344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 113788: Hash(0x2701dabd2536cb9dfeae642cc02c106a9591c7816d2e3ac5053221656912235)", - "P->V[14344:14376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 40312: Hash(0x2df0365664d90d447e365c6058d9af1f4a25f4c6d79cb1c3bab7859efd3d8f9)", - "P->V[14376:14408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 44980: Hash(0x6a056fff547fa328ca8c90064812c4e5811b8d7e5e31472c4ab2311bded7a4f)", - "P->V[14408:14440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 53610: Hash(0x749e5c49889ba6cba974906375982dc89967e34cb35fa5fcd2783add5ff0290)", - "P->V[14440:14472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 54544: Hash(0x59f5147951621588570c954599354bcf01a04bbca043b90192236ca04f33972)", - "P->V[14472:14504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 56895: Hash(0x638c2ead702bd2f96ad74ff9a6cac55d0c414de5beee219d39d648433197270)", - "P->V[14504:14536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 20157: Hash(0x1f93f411c403af73ccc7378427816d659f48c2dffd1d9527b9bc68f64b8b6ed)", - "P->V[14536:14568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 22491: Hash(0x382e41c8f5eb6596cc3e33a665c8f0ca36101b27094aaf1f211f8c13151ae76)", - "P->V[14568:14600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26804: Hash(0x3cced5ac4441f26cf671f1ff598dbfe25c1a39d242395b2c72c4be44c222cf9)", - "P->V[14600:14632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 27273: Hash(0x2b6e723024e9fd2dd0e532021c0c3566c035a1b33190d00533573221a143cdf)", - "P->V[14632:14664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 28446: Hash(0x1f743e534b758b9de1a166b86ce4b9b96e52852cc572eb712cba277179746f8)", - "P->V[14664:14696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 10079: Hash(0xf95bc70f4dbb62fbeffc4a49df83fd81e1cb1cec2dcb88fe024786bd194881)", - "P->V[14696:14728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11244: Hash(0x2eb3b1ff060c42be492adb4efdf7cbbea7a717468409a0e2e3b45c38fd10dff)", - "P->V[14728:14760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13403: Hash(0x64a8db2470c418842093d39a0e5bafa474246bad80b8b74bdcd7aee16894ccf)", - "P->V[14760:14792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13637: Hash(0x3e60c0b1d6ad253e7a24bafca6c3126b711b42b48298817254359ff0b67107c)", - "P->V[14792:14824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14222: Hash(0x77e6e7bee8d75ee21da3e41d37228dee4d8a8f2a9e4c02e1908d48f475b0a01)", - "P->V[14824:14856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5038: Hash(0x19b0d8ddff8b55962f38363d40933622f09db734650ceb93969a3d076409c79)", - "P->V[14856:14888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5623: Hash(0x78f45fc90cb7d9e20833b581ba8aff86079aaa664d74c47dcddcf4eec69cd9)", - "P->V[14888:14920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6700: Hash(0x4c095548d5c0c4963ecdda13d07de1e2bec169e2b395fdfa2c9c09e0c612386)", - "P->V[14920:14952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6819: Hash(0x5ef75286f9ecab7390d73b68c4c145d2e3acb9dc932974385553239247551c1)", - "P->V[14952:14984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7110: Hash(0x20bd679e0cd883bf476c5d8eab081265216c322a30bb88f498be83af0132091)", - "P->V[14984:15016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2518: Hash(0x2c43c10b6e10466779c59e035f011ab9263e481a4b3ce40901e53d016a50649)", - "P->V[15016:15048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2810: Hash(0x55cd007a8ee8577fb13164c46ea5ff9861981171689cb24e97e56336e8a4d53)", - "P->V[15048:15080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3351: Hash(0x1e271abcd30d514732f21eff855e1511767ebc0e65de54c2521236383d9ab0c)", - "P->V[15080:15112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3408: Hash(0x77c0d52345724f59b7b0cdbfcd71e756d8a1d2cf07ae81c3c20c88f69f57bfb)", - "P->V[15112:15144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3554: Hash(0x4307f15af656e0929eaebddadef7a7ad348c24a27139f7c8252c4c008be9cca)", - "P->V[15144:15176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1258: Hash(0x40ede757e0a0bda1114dab69175a59ff2342dda1e3749e70ed6c710f8b1b6a4)", - "P->V[15176:15208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1404: Hash(0x4eae2caba1bd9c266449482f2f3ca8e88a78bfc7fd8f19f90b4582e0e1d128f)", - "P->V[15208:15240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1674: Hash(0x6a93bb915de15721bc379df662d29508648aa7fce6489f444cb05f9794fda5e)", - "P->V[15240:15272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1705: Hash(0x5acf234d96f68a9b7cf07bf51ceb48f92a1f614fa8b8a27e6a5a31ce7119d50)", - "P->V[15272:15304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1776: Hash(0x71b2bfe54ed132aee354be696c622e31f537cb03ab70dc1b697528758e5e54b)", - "P->V[15304:15336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 628: Hash(0x1d125d094adddbcd9581b753d13964487edf8bdff98abe3b83287b8fc8b4155)", - "P->V[15336:15368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 703: Hash(0xd395fc06cee97a85e7ba0c26524ebdcab2f7596d89a5fdb0cd0b41d2ce8f4)", - "P->V[15368:15400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 836: Hash(0x779163d7804481e40b87b939cb0c2e0a291bbb574ccb18bd89ab388399bea90)", - "P->V[15400:15432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 853: Hash(0x97e3cb0c709059956db57e2d26730533f6cfac08b401b1eac61d9b39653031)", - "P->V[15432:15464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 889: Hash(0x7a118a374156d1c0a709121d957a555e7f734a854f1c6904e61b72b65e3c324)", - "P->V[15464:15496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 315: Hash(0x70e57b5ef5a2919229ae0bd7315fe006649fec23e5f0dbd34bd6469ee906947)", - "P->V[15496:15528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 350: Hash(0x49a7d4414e4fd21538d8466c7a508a3e3dfb5d72b68b412e45dbd704c5cea17)", - "P->V[15528:15560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 419: Hash(0x1eb38823a9ccd2b36c0babfd6b03ce4a6f644bd138f3f5b7a628e39ba48e04f)", - "P->V[15560:15592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 427: Hash(0x2849ea50decb8576372712467557d97194075ce6a7992b801d509edc0922748)", - "P->V[15592:15624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 445: Hash(0x8d7049b9b6e01e6634e20edc92502bf38a6feccd67316ddb388d6503054c22)", - "P->V[15624:15656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 156: Hash(0x5e7bce3c36a90288322394d094a0baf5733b1eb0c7240e7770779c1e2d4daf8)", - "P->V[15656:15688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 174: Hash(0x4287e1df31fcf90a0621543277fe5f7486f5f19f522ff60ba571ba513c17fff)", - "P->V[15688:15720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 208: Hash(0x7030301ead3755739cc7ab796de7314b17f8ec4e11de91f76f04241b7e26a74)", - "P->V[15720:15752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 212: Hash(0x20d3b336c9cfad30d3c7ad163744218b687cb83b7732ec49769fb3732bc65d0)", - "P->V[15752:15784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 223: Hash(0x2ae79e89736f5eee0581ffb685b1ecf1b8b1424c74e8f1ceb1a4a138b4fe7d3)", - "P->V[15784:15816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 79: Hash(0x156341dccd7af9e523b1ffd080d50f1869a0a45b718fb6614bb9076b8e6ad15)", - "P->V[15816:15848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 86: Hash(0x5d338eb4c2e7d6158fd63ec22030d07576acb938e5b7722f12fda26e012c631)", - "P->V[15848:15880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 105: Hash(0x694e8b422c474e6a95a808f7f0024695f05e9baed751959aa6c349cfa314b0d)", - "P->V[15880:15912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 107: Hash(0x742d52caf846702acd8671c95fee5a676f6fe39e2a5ace3ac7b7b8539286172)", - "P->V[15912:15944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 110: Hash(0x1139b721fbb254b903abe5935d8a398ec402716c29a87128a5d257e7df52c73)", - "P->V[15944:15976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 38: Hash(0x1e8fb543dd4d32e7a8ce3a3d32577e024ec2a585dead4050ce7ee95f7a319d8)", - "P->V[15976:16008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 42: Hash(0x73ecbfc2722527ee4a90a84da751ab4cfd5cce2bd73fb5ada0e7396c2d1f2da)", - "P->V[16008:16040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 54: Hash(0x5bce75afb35d006dd18d7b79c70c49e25c70cf6d211fa52491bc658edd2e1a0)", - "P->V[16040:16072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 18: Hash(0x1f41d30fc55f163e159f08cfe500978f1d0583358b7ffa5ba24c70eeab32e63)", - "P->V[16072:16104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 20: Hash(0x5a404fc11bff02133e80088bfe37df66d979d65848d561c1dc94e4b53841a3f)", - "P->V[16104:16136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8: Hash(0x1b1d8e2d00dcb5699663c11c31718e40dc96b9ea451c0aa8cd250c4ce2964f3)", - "P->V[16136:16168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 11: Hash(0x752836f09795e7edb045f7d5f3817dc98d89ce02882adccaf8cb8441a501f44)", - "P->V[16168:16200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12: Hash(0x74d2bd560e81f8d51d30133f22591a6ea7dde5abe455121a99fb1aa5ba87aa3)", - "P->V[16200:16232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7: Hash(0x2a9f83cea3ffcc43fe5496d0c9b0914ad92743a9609264964417a4fab59697f)", - "P->V[16232:16264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 965793, Column 0: Field Element(0x7ab103449c7cb889016b7f9eb39ffa79c66213f4ad046a2892262a3e45fdcf)", - "P->V[16264:16296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 965793, Column 1: Field Element(0x152345e2f910f2b19621db67e6af2f85a2113768ac6dd7fb8a9b4f951051407)", - "P->V[16296:16328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 1563275, Column 0: Field Element(0x50438a0f0d52502a55cb22ea1f179ed39f9e639b399b0bd1e8f884ad2f426f2)", - "P->V[16328:16360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 1563275, Column 1: Field Element(0x5a5b09383aa1e40e2700e5db333fb6cbbf89f9d2f8ef65a3f478c1125c26817)", - "P->V[16360:16392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 2667997, Column 0: Field Element(0x2fc76b662b7c5e0ed745933c0242d592ab5797306f53d1370c8b982154d4c47)", - "P->V[16392:16424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 2667997, Column 1: Field Element(0x7089bbdde73148becd9a8a2cf89be2754404b1353a795b53214c84e93133330)", - "P->V[16424:16456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 2787507, Column 0: Field Element(0x3095074f17706f38344bfc8cb93213bbcd4098e0e4541281eafcea974a5e9a5)", - "P->V[16456:16488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 2787507, Column 1: Field Element(0x160638fbec3eab6ca0c389e46c68758d41cbe125d14bae134d2af9bf47f2cb9)", - "P->V[16488:16520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 3088197, Column 0: Field Element(0x4bd281284acaf63cb6b74f7de393068609fb4000fc809803ae22e68276437e8)", - "P->V[16520:16552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 3088197, Column 1: Field Element(0x5578975dce0a35b9adb95d22bdc0ba9afe1311b2cbaa7dbf0f2fe01e8d8c6ca)", - "P->V[16552:16584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5160096: Hash(0x1df53e9a833bf573bda84af8ca6fd076bb9bd742)", - "P->V[16584:16616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5757578: Hash(0xda270759313670d5d9edaa19c52910567ad0dfc8)", - "P->V[16616:16648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6862300: Hash(0x40eec1384bb1e94a196c9846e65dc254231e0d8b)", - "P->V[16648:16680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6981810: Hash(0x40f907ac9199c6845af3a34596ec3163978a374d)", - "P->V[16680:16712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7282500: Hash(0x77e3b4c36c66d2e911444a7a9cd95ee92e60e070)", - "P->V[16712:16744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2580049: Hash(0x4ec2f6b734a0038a0594eca7626c296869677157da7400a2c222e9cd8849a60)", - "P->V[16744:16776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2878788: Hash(0x58d987224a3fb79235eacba6dcaec125d9735a8ec81ec8672255135ff45ac66)", - "P->V[16776:16808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3431151: Hash(0x782a736295933d1c8226d7ad332f2ccc2b2e6162f12112678d99332198bcab2)", - "P->V[16808:16840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3490904: Hash(0x1c80df0da833056d6058de0438a671935f13187e773aff645125d2c04f38fbc)", - "P->V[16840:16872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3641251: Hash(0x68f368b70d81e1cba1bd5b5d252fb70e8671b3fe756d5f4c34b41bc8a922240)", - "P->V[16872:16904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1290025: Hash(0x2636eaf2c3861063b23d0ce4f68f48c74fa3da92f53b2371b94703df66e00ad)", - "P->V[16904:16936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1439395: Hash(0x1631a511ab40f86b7f60d798ff6cd4f21f072d199e66218376e832a5cb7edbb)", - "P->V[16936:16968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1715574: Hash(0x3286e9d840ed73f510a54687ad4cd9ab56c7743ad1e8827dc5e14304948e5cb)", - "P->V[16968:17000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1745453: Hash(0x78d5ef50efec9e21bb6520ff0a518221f1351e6d23d56eb22980a717b369104)", - "P->V[17000:17032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1820624: Hash(0x4b27c633675cb54ee78a3ac48c2ae295a6b603b4eccd5f25f2ad13f71f75b4a)", - "P->V[17032:17064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 645013: Hash(0x1f1ce344b2839b1e8aeafd9a4b7763a6994a0eeb8b322814f17cd3d697c0fb7)", - "P->V[17064:17096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 719696: Hash(0x212b4dee55fb7dd73d5fe40b6f6a7787ce9659181acb6fa42583c2dd2ad9bf8)", - "P->V[17096:17128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 857786: Hash(0x17bbb92cfa0ff6bd072c2ea127fd3d3153953223fc259d78048794b1f0d4e55)", - "P->V[17128:17160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 872727: Hash(0x6f2f7340b0b095343f825dc476289447adf3b0e7cfd3e59e1239ac19ba96aa)", - "P->V[17160:17192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 910313: Hash(0x7d9cded7aca0646efb7fea2e542bf8698c5d4bd79d4ed0f1f8994c174ce9e61)", - "P->V[17192:17224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 322507: Hash(0x68b9d16f1f26a2f107ee7c2f852ae66d0fd0ad4dc682a375d0f877424bff535)", - "P->V[17224:17256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 359849: Hash(0x1d00dfcfc9c2c1cbc7519e6aab1de7644e8f40f070e56f1b0e0c9203f71597c)", - "P->V[17256:17288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 428892: Hash(0x1ca38b98f7b3624db23bad45e654a236879a5d92e4a8dd3a39d4cb94647093f)", - "P->V[17288:17320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 436362: Hash(0x7742fb70decdc7c01bf58d26ac75c50cccc092e9e40ce8bafbca7e1268d6151)", - "P->V[17320:17352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 455157: Hash(0x792d2d43462b356cdcd7ac7714ce4f6a344c099152a717e5b7e4bd74fdb0f03)", - "P->V[17352:17384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 161252: Hash(0x2dcad56c7cd74373c65a7b115a7a7eb560875dcf237515a224cb899308fd624)", - "P->V[17384:17416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 179925: Hash(0x499f806f5347b25fa533059c2f78ac646d665f3c70a59e69b17f005893c35a4)", - "P->V[17416:17448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 214447: Hash(0x26565697c619c88a4e23f2766325b29be776c53eb8e7d3c1f0cbc156df93240)", - "P->V[17448:17480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 218180: Hash(0x59df9f2e4ec8bbd62f7c698bf9ace889f3edd4191fa1323684e819c170e5ed3)", - "P->V[17480:17512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 227579: Hash(0x494940eaf55b50838ac32fda72b9e8fbe7f41012d673e4f8e43da5d3954f241)", - "P->V[17512:17544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 80627: Hash(0x2782576857095095b0274c4c48694bd9878568a90ebcba0c1bb0e31db4e7c53)", - "P->V[17544:17576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 89963: Hash(0x21b316c601dcb9b4e5cb997723cb9caa0984de26b36dca1d8c95626352a894e)", - "P->V[17576:17608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 107222: Hash(0x48a02f6dd1ace60009b908791b2b7eb8df418776ad9fe2e3b8f970dfedf3592)", - "P->V[17608:17640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 109091: Hash(0x1828424351055c5a574ee5c79f142758bff6cbf508eb681c88c780e3a22999c)", - "P->V[17640:17672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 113788: Hash(0x574085163a097edd4141d5aa1d6ef5fb6a38bff8dcbaf5edf2e980f5010a0ed)", - "P->V[17672:17704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 40312: Hash(0x477945ff175b8062930ca62f4ccbbdff4b41ef4cf14505a6efe438522bf2634)", - "P->V[17704:17736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 44980: Hash(0x5f2018135d70e7c5618158a97037a0270cb22a04b39c86f966bbf602652b096)", - "P->V[17736:17768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 53610: Hash(0x4fa702599ef36e8df614527068492dc47a93edd16109fec3c81a9ff7acef1a6)", - "P->V[17768:17800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 54544: Hash(0x2bbf27f87078dc2de56f9fb86398ae45d39960e2279dac1bb577c39a1cf1104)", - "P->V[17800:17832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 56895: Hash(0x55dc096d74dea81dfb91daf3c01f19a66585c07399a77b31339b835b0046d65)", - "P->V[17832:17864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 20157: Hash(0x68c8e3435d88186cc64391215d68305bd79fd711295e167c5ab5bc3d4fbffb6)", - "P->V[17864:17896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 22491: Hash(0x171776d040dc34518a401a26eb3707642102d0f28808a65e58a2be45a75658a)", - "P->V[17896:17928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26804: Hash(0x22337b6dcbedb627b99f8378c2341974e26bd475981b30112d199c07dd4df29)", - "P->V[17928:17960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 27273: Hash(0x71604662ce25fa202c00cd2132f5f7a6d6f82ef4cf8206ae5829690fc86e98c)", - "P->V[17960:17992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 28446: Hash(0x3ded8792e446cd7f581880b8f285156a0d19c214040e244ec72c3da056de0eb)", - "P->V[17992:18024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 10079: Hash(0x96c3b8eb6ea4318f39cb089e7bdb0b6ec7531f9fa94627a4bb1867d9529a64)", - "P->V[18024:18056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11244: Hash(0x85955df13b8bcece49f0926e453656ea6926e67b2393296efd7e344f1299c2)", - "P->V[18056:18088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13403: Hash(0x4a670beaa45ae0b97ce5f91774e2beb2b0d965bb824b25cfb53c2128fcf6f0e)", - "P->V[18088:18120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13637: Hash(0x54ce0f1c18d2ea8fd36f2f6a6d01e4f0f40bbe6f70af2a01210d9dc274f90e6)", - "P->V[18120:18152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14222: Hash(0x6f087b4a1987550a250ea5054bb3721143f0fa174cbaab618c8b23e215894b0)", - "P->V[18152:18184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5038: Hash(0x20a4b033757caa52a13873c80877315ecdb705968b60184c8af5c8ad9c3706a)", - "P->V[18184:18216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5623: Hash(0x144c5d25ccd55052d51ace9f17f075f44f7ffc06ddf610095ea9e87f30c2a83)", - "P->V[18216:18248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6700: Hash(0x373e79a56daf5b404cf24dddb9b259c07c712194c3b271d3cf522b9f7b00451)", - "P->V[18248:18280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6819: Hash(0x117b691fe7c42f21a9bd2528b0bb76e902ba00a0d45a0c68e88cb15036ef210)", - "P->V[18280:18312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7110: Hash(0x411bc597362f0e2cb427f9e9f7a685f74adba6b9f72cddbe35d057dab00d04e)", - "P->V[18312:18344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2518: Hash(0x4ca97e162b805988eeab9b6cfeadb108f9ed6ce63a0cee6a0ae149b95bc2185)", - "P->V[18344:18376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2810: Hash(0xab40796ecad35c76afab67df505a28e80c85a851e12eb263f18194c9fd1a34)", - "P->V[18376:18408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3351: Hash(0xd5a24d27037db986649284d33ed85987505738349798c9b0089d52c364c8ac)", - "P->V[18408:18440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3408: Hash(0x622dfe1fe5a7e54cbdfab61e06aea9d71849c71af61fcce41f15a407ed6c7a5)", - "P->V[18440:18472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3554: Hash(0x6a0d8a2c805a034e716eb3847036e4218edac60524167f0b5939deb74b88168)", - "P->V[18472:18504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1258: Hash(0x1c88e87953d2a1154080dc269c87b57e07f82f8333cd300847014a31051602)", - "P->V[18504:18536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1404: Hash(0x78b8f3c58978c7d7a7c970d6baeb0486d485b315d3b812dbb8f7ac854219e5e)", - "P->V[18536:18568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1674: Hash(0x72f2d20e81f6d1b17f28be14794a90edb7f1ad0854fce96a404f5762e2c5c58)", - "P->V[18568:18600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1705: Hash(0x2a40baf9aacae4c75282693f86fe8f358331ef7b22dd3519f9c06e424d85f4d)", - "P->V[18600:18632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1776: Hash(0x4e81449dbc171f40d46f9ba7da230d4965d4a5008000ddb6b92db53b4a7fd20)", - "P->V[18632:18664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 628: Hash(0x935309b6f61e96996d3c838992a1f452c9fb4873b43931cbb954cd57324b7b)", - "P->V[18664:18696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 703: Hash(0x467d6372e9184b639b68ce101f0552df1651e04f4714357153d4365c9833cf4)", - "P->V[18696:18728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 836: Hash(0x74ecd49d2f63c874013b4d3b601933f926bfdeec0d54cc79597395d0e39f5d9)", - "P->V[18728:18760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 853: Hash(0x2f24487bfc47cbf018277ac09f5e63251e514d1484709ff116f4c3a3fbe8789)", - "P->V[18760:18792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 889: Hash(0x7b610c5ddc0e38725bf4a0e81ee9beafe1bf8323756476a15bceef229a24f57)", - "P->V[18792:18824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 315: Hash(0x5ccfd53ae4cc8df64ae6a6e5f0f6ded0290b37775380eecafc2069eebe7eb14)", - "P->V[18824:18856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 350: Hash(0x7f83e157db25dabc9fd9b94d939e208c2c5c451fd3ef288f4d51a40bb7f9718)", - "P->V[18856:18888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 419: Hash(0x143442abc5b18314ada86fef97462cd6c9a4dd1fd0a7c51113ee461b623c23d)", - "P->V[18888:18920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 427: Hash(0x19866d70b750890a149ceeaa6fffa466a0a66d3044b9c0d86d5cc49f90b7e81)", - "P->V[18920:18952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 445: Hash(0x7e8492da6053988a194bd59fb20576a09cfa455889a61114f6ba190b33f58bb)", - "P->V[18952:18984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 156: Hash(0x6e81cf35fe2159f4edfcaafeeebfd5a5722c6e5c3a88180b1ded538d4fc9166)", - "P->V[18984:19016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 174: Hash(0x6ca07a032205b6b401e7190590f9d92f0b5b07d31b6a5eb01ad2dd73e28b982)", - "P->V[19016:19048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 208: Hash(0x4b02d54b5aa3dc8910d74cc48ff3be7e03ee85bd903f59674ada1ef0a84c98f)", - "P->V[19048:19080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 212: Hash(0x625ffc1ac4ce20bdf32ffccb749fcbf0ca25d191a0acf62b03f80164c11ab66)", - "P->V[19080:19112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 223: Hash(0x1641f8430c9d0298f10678731f79ecaf7a36c7efcc2080d18cf086a08e2e532)", - "P->V[19112:19144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 79: Hash(0x291bd959fcbb1726db87b70b1a398953eb556863cd8774f0785610872409f75)", - "P->V[19144:19176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 86: Hash(0x30dd75e74ff098e6b2d1829cb293563273054926d7dcea1cedaff44c073fe69)", - "P->V[19176:19208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 105: Hash(0x1638c9dc58f6dbd28d2858045cbd53357c280487c179deda43f7bf95375e1a4)", - "P->V[19208:19240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 107: Hash(0x45cd574956fca36342fdf5d31008f25f9c2fd6b7ff1c8b0dca56c4195ed2d1e)", - "P->V[19240:19272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 110: Hash(0x22701e2a42fadf8348dc9a0eaae1d0682634687c7007c274604a593d58a40d)", - "P->V[19272:19304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 38: Hash(0x1a0aa22254b39a68bcc8680344f82f05be97691ec74910930b5a4bcc919fcf8)", - "P->V[19304:19336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 42: Hash(0xbf6db4f611c671cf8e1b25b5b20d1e897e17bcf61e4b95d4efe67239a38b7)", - "P->V[19336:19368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 54: Hash(0x4aa13022859371ce1631cfba2e07d1ca6b5c5185ee58148e60d54b888346129)", - "P->V[19368:19400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 18: Hash(0x1516c53cf224b2c205120583fa72a3e1d05bf6e97dafa7f12ac858ae2793ef0)", - "P->V[19400:19432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 20: Hash(0x3d2e9d3b5b0aa350a202d53659f2297e41beccf935ea4404ad9ae7497ed2989)", - "P->V[19432:19464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8: Hash(0x24204d87f901b0805a940fb81f88aab6a2635cb12f7f4694a8db2acf8881dcf)", - "P->V[19464:19496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 11: Hash(0x5773b866ff734a79a759c2ebdbb5039620325aa2347483a92742a11469a354d)", - "P->V[19496:19528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12: Hash(0x25c981d8b766b9393f01318019314840f3473bc2747250d3eed9ac43428e195)", - "P->V[19528:19560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7: Hash(0x270dd705c5cc57afbe031d346a50958e5e0351a305af3c7bd1162aeb8ce3791)", - "P->V[19560:19592]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60362, Column 0: Field Element(0x4aaf71f7a85e5f002a8d80f6be2b01af0afa39742b0e4a44794b3e041ab706c)", - "P->V[19592:19624]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60362, Column 2: Field Element(0x13451ec7839b1e6fc93cf09812feea8251790d9791e91839675a43885df9bf9)", - "P->V[19624:19656]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60362, Column 3: Field Element(0x1a32600931505c91847df04375e99240ebc8ca382289728eaba6c8c0899c3ea)", - "P->V[19656:19688]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60362, Column 4: Field Element(0x1bdf59c3dad27e1936f4aedebdc6c08aa27072ece5b209fcc04c78a922e6a8)", - "P->V[19688:19720]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60362, Column 5: Field Element(0xe3435bf6ce288d28ee913af2494583a67fcc7fa6132577ae2ece503ee5be37)", - "P->V[19720:19752]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60362, Column 6: Field Element(0x799d65e99da22d26cb14c63039283929c587f874c4d1b01fdbd9eef21bb6683)", - "P->V[19752:19784]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60362, Column 7: Field Element(0x1a535931fd0be742eb77a16d14f6c7ef57ae37467d3854a90d3c57cbb8fc9c5)", - "P->V[19784:19816]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60362, Column 8: Field Element(0x4f234bda487f13b99452e8d1eb6d128dc9b9a5472681a7127f10d011427d5d8)", - "P->V[19816:19848]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60362, Column 9: Field Element(0x17b3140d11f836aae66f581de6e82ed66e81abd6ee9b6a665c8604601a12c7b)", - "P->V[19848:19880]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60362, Column 10: Field Element(0x41cd2ae7cc1e60b40f3d3cbfe13ef9468871d673f8aef4e787c142ebe2acfad)", - "P->V[19880:19912]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60362, Column 11: Field Element(0x1688158762f4c18061f7baadb5247047a620dd34a65fe2828304f00a77ff989)", - "P->V[19912:19944]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60362, Column 12: Field Element(0x1998459b41f1597818770ad4099fd22731201b69a5597695df349b3916ce9fb)", - "P->V[19944:19976]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60362, Column 13: Field Element(0x604bb830aea1ce89081720d1a5a60c1db8a93c45f5a03cfc3b9e392dc2fe334)", - "P->V[19976:20008]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60362, Column 14: Field Element(0x31294e14279b157cf6341c915c1ac827f8b920501d628745c8b57e64d53b0c0)", - "P->V[20008:20040]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 60362, Column 15: Field Element(0x3ffa132fdda8a91be3f424a5049a15b4f9f91cd34a5651f8a86fdbb318cda85)", - "P->V[20040:20072]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 97704, Column 0: Field Element(0x16400f8895380d2704936a28deb2b5ba5a4630908c1d20d0ee9494a39214f76)", - "P->V[20072:20104]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 97704, Column 1: Field Element(0x71a0acd20db5fdde8665ba6d74da24e113dde65d8e528cb13b56b03c2e0a939)", - "P->V[20104:20136]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 97704, Column 2: Field Element(0x3459f0512d578034ca3a310ce3fc9d44efea8d655a6dbc45a4d1ebd4aa03d45)", - "P->V[20136:20168]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 97704, Column 3: Field Element(0x4e1c433cab2b941875f25e9a113be8323d52323e1f56a3d35493b9bfd82a096)", - "P->V[20168:20200]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 97704, Column 4: Field Element(0x53d590ad7f252664008f38e1aad67de91b26cee190ffe44f0c25b634b101986)", - "P->V[20200:20232]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 97704, Column 5: Field Element(0x6bf051a638358f3e688bfb1b5ad063f548b7090022f96b9ffd6ecb1735c6fe4)", - "P->V[20232:20264]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 97704, Column 6: Field Element(0x6cf9be423d737d62d7d2e9ea1adc6202966e31e9ac59cc39fdfc808bd970686)", - "P->V[20264:20296]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 97704, Column 7: Field Element(0x7b3fd0f90679b1b5932f5f14507846be538dfe1551a59b0741dbaf8aa363e1e)", - "P->V[20296:20328]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 97704, Column 8: Field Element(0x60b014b6c8d24eb8b0fedf6b3c2011873a9fb0097da0bc5453732fe245beb82)", - "P->V[20328:20360]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 97704, Column 9: Field Element(0x1002ba0f182fb5ac614ac9767189043bf1067be292887b1ff53ce9dfe0ab5d2)", - "P->V[20360:20392]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 97704, Column 10: Field Element(0x1bd58d66b053ed66b756b1dab31a2e8451a5196b2af65f55a71e1ad11db8fe3)", - "P->V[20392:20424]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 97704, Column 12: Field Element(0x6cf2d955d344cb2d64aac7500346eb64d347a6aeb00989880cdcf49352a2fbd)", - "P->V[20424:20456]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 97704, Column 13: Field Element(0x3b31c9cd6a4fb6e66296d8c64ef41a24ed39074d08ebdcc8281d3796419cf15)", - "P->V[20456:20488]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 97704, Column 14: Field Element(0x7d1666cde628b584d09749f850a05d4ad882692cf040c0aaa487b97574eeb7f)", - "P->V[20488:20520]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 97704, Column 15: Field Element(0x1aba105704c54ba2348206380d5e6aadd310ae14236c4773e61c50fe224f39d)", - "P->V[20520:20552]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 166749, Column 0: Field Element(0x356f954f35a8250e88d6b9631f9c3ebfda02334f468f58d5524ae41ad513085)", - "P->V[20552:20584]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 166749, Column 1: Field Element(0x247e6fd971cb0d6fe161a9d13e8bd7c058f69aa1c4baf9d01882de6d00445f0)", - "P->V[20584:20616]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 166749, Column 2: Field Element(0x189209499b18f37c55196168943fc135bd5b303c3ae3da75737897d0fa54dea)", - "P->V[20616:20648]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 166749, Column 3: Field Element(0x792073d064a1c762eb2acce59e305a9b472af5513d1ea0518a0df40946f232f)", - "P->V[20648:20680]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 166749, Column 4: Field Element(0x171eb010e475d07dcbf8cb1a3e9f42069dde7f2a7622f7fd317f77a62f8cad2)", - "P->V[20680:20712]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 166749, Column 5: Field Element(0x5061d5277ec41de932d19471613d501270408647b2ff08206a38e48fbcae06b)", - "P->V[20712:20744]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 166749, Column 6: Field Element(0x260d71182050ec392ddd6a092acc9c18a22878b68b086cc22cc3a06a12d71ee)", - "P->V[20744:20776]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 166749, Column 7: Field Element(0x2a88ee81c7c22c1a00104e99d7395a6df90d079437f168eb24bcc86d7b650bb)", - "P->V[20776:20808]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 166749, Column 8: Field Element(0x64547644c2d89423ac8fc98178f2f5d718567f23a3f3157225ecd29b8b24b41)", - "P->V[20808:20840]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 166749, Column 9: Field Element(0x6fa0c216983fa2708de0b03c62b8b0263ae0703782f4e31e233fef4c7d7ae26)", - "P->V[20840:20872]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 166749, Column 10: Field Element(0xfc9e298cac1c211171c2ac959387c11c06be66fbbcf5998dbcacb10239c098)", - "P->V[20872:20904]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 166749, Column 11: Field Element(0x561d163f3ffc67f82d673f1988cce6e4fcad3562ff40996ec0278872af08038)", - "P->V[20904:20936]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 166749, Column 12: Field Element(0x638d37e12e5146df8913cd5b660a16d0151ae5648c46bc6315ed0637b252010)", - "P->V[20936:20968]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 166749, Column 14: Field Element(0x657918b19462cea63975ca711390b71bdcb906bc978978fc17ba4adfd716a42)", - "P->V[20968:21000]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 166749, Column 15: Field Element(0x57b4c73a13025cb212f0747e9671d6e5a100ad366de2f11b270f1d6d51dfa9e)", - "P->V[21000:21032]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 174219, Column 0: Field Element(0x4433863572642e373ba491d6d882ef12cff593bfdb312592c1871f07b1577be)", - "P->V[21032:21064]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 174219, Column 1: Field Element(0x4f233359bd2940ff9847a355888e7e76521193009a4f11d51a7dcc9331515dd)", - "P->V[21064:21096]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 174219, Column 2: Field Element(0x63182220880149907545cf158eedd2eb220291eed14bee33198b03a1ee4c06f)", - "P->V[21096:21128]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 174219, Column 4: Field Element(0x745fb2c0fc2058c02457f55592db387f3bcd4ba8f8bdc3a5798aef91bd49688)", - "P->V[21128:21160]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 174219, Column 5: Field Element(0x1f1314c67717bc2beea4b8969ae21c4f5bcd80d467038da6c32a2c3160ea453)", - "P->V[21160:21192]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 174219, Column 6: Field Element(0x67bde0880009e4f0f0ef98fa0fd59a6af35e8f267e57d97a27ba3b53a442a90)", - "P->V[21192:21224]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 174219, Column 7: Field Element(0x13b74b8e00ac655b0cd92cde4b9642ef0b404eddd19ae29290bf7a99c30808f)", - "P->V[21224:21256]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 174219, Column 8: Field Element(0x791424b7876cfbaf9bfd49b907ba95d7a537f3dc00bda963b9ae0ee0b04568b)", - "P->V[21256:21288]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 174219, Column 9: Field Element(0x6064eadf59680745e3ee56723d4c2922737339a8424755af4cce2e1c3f6aa1e)", - "P->V[21288:21320]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 174219, Column 10: Field Element(0x5b632f3da545983a328b469d574ca2eaaeba5c4d2f3f85583d558924ddb35d8)", - "P->V[21320:21352]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 174219, Column 11: Field Element(0x4032e36b6dc4c170b53b941a53be625a3535fddb52234af1150e2aab8034240)", - "P->V[21352:21384]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 174219, Column 12: Field Element(0x10526131d6d97f7413335c20d58f585b3386ff7768e946614050c7463f8d2f6)", - "P->V[21384:21416]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 174219, Column 13: Field Element(0x7c9bfd4f69819bf59d39f1487b6e3839773371045cd95805aeb413509525676)", - "P->V[21416:21448]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 174219, Column 14: Field Element(0x76f4b0cf9a8bb595c1cff295995c9b16668b26045b0cd983c0e4f09f1c003c)", - "P->V[21448:21480]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 174219, Column 15: Field Element(0x30c48466685c343a334d18bce0ae0ecc92469689fa07094a316416b807a2d32)", - "P->V[21480:21512]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 193012, Column 0: Field Element(0x1b6bad60335aa7409add42e318b00176baee47fec08e913234e13bfb60c98f0)", - "P->V[21512:21544]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 193012, Column 1: Field Element(0x11b3af63a195de23cd14039c46c99f7905583149a9566991f0f292a42026923)", - "P->V[21544:21576]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 193012, Column 2: Field Element(0x6e55f655c8da9c8638a02ba327e0d0fc12fcd4fe517cea275dd07d78aeb6ce4)", - "P->V[21576:21608]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 193012, Column 3: Field Element(0x4c90d44c0b9d5db28dff6895ac44e4d74b6e658ea35f1167e436c486243c505)", - "P->V[21608:21640]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 193012, Column 4: Field Element(0x35fdea2e2f064808486b5dd2f44274716589c40136f50d44542bd0992445a3e)", - "P->V[21640:21672]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 193012, Column 6: Field Element(0x758c4151323a8f57007817326027df29439a6d855fd88d45f59493e7c946161)", - "P->V[21672:21704]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 193012, Column 7: Field Element(0x63814c36b458346e9153b46945a5da975eb0804e2e40140ba3b96adf785c3c4)", - "P->V[21704:21736]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 193012, Column 8: Field Element(0x6d9a82ed21a21f674707b65fcddb3d76eb512cc0aa468c3df7f93e6d4cb964)", - "P->V[21736:21768]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 193012, Column 9: Field Element(0x1eb0c0e08d82dcef9d775aee39747076a3a4ddc62ae1554c0c87fd9d1f13d11)", - "P->V[21768:21800]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 193012, Column 10: Field Element(0x7e2579bfdb8e0bbeef718daf3080e8bcb9fd6f2d434605a0e0977c5c43b27f0)", - "P->V[21800:21832]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 193012, Column 11: Field Element(0x1168f54523a656a4169553a347060cb1c389dc391b0909e4f09cd193761660b)", - "P->V[21832:21864]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 193012, Column 12: Field Element(0x41fd9d0197da57f5f702f51f4d4d326f983583c08240da376db4a7bdf2b8179)", - "P->V[21864:21896]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 193012, Column 13: Field Element(0x68ab2b7c986f6abc59c70125606ae000de7f5c22a830d83282f0ab39d39ac71)", - "P->V[21896:21928]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 193012, Column 14: Field Element(0x2f3bf057370f91225ae6284454404ee943974df59f71a06889a37a20603370f)", - "P->V[21928:21960]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 193012, Column 15: Field Element(0x188e2a17ad4c7661fb7e78188c2f23d548bd3a0ea24831431a047554f6cf1ad)", - "P->V[21960:21992]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 322507: Hash(0x5ea79cb54f842a9bb94d123556cdf9854b51c715)", - "P->V[21992:22024]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 359849: Hash(0xd69be1f5966b34fb4d97b1dabef7dd3884b118bc)", - "P->V[22024:22056]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 428892: Hash(0xcbef1d2b78922b7cf233f8b3b9f734d5b2befcb7)", - "P->V[22056:22088]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 436362: Hash(0xe245bfe2545152669f812df1490d7fcfbe0c1068)", - "P->V[22088:22120]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 455157: Hash(0x4e854b6614523554aedbe3b462d14bf1bcf8a269)", - "P->V[22120:22152]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 161252: Hash(0x79f00b570d5dd6662f4acd682d296bac13e311cdf9f63e98f9258b914a655a2)", - "P->V[22152:22184]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 179925: Hash(0x5cc44c27aa845b88a5732758b2a585eee57bdb9b99d1ab6cf0920e846cd51d7)", - "P->V[22184:22216]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 214447: Hash(0x4a11828a56fbabeabdda82619eab7a254b24c626e8cf9dd2b4d0000f8046345)", - "P->V[22216:22248]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 218180: Hash(0x5dc856b7f126d744acce2c726b2052f06b4b8d7b37720b6bfbf3795703ba05)", - "P->V[22248:22280]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 227579: Hash(0x4336aa370a9b7d1c7343cf14c5f81061bb15963a22647ce319b0ad8b6e08b39)", - "P->V[22280:22312]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 80627: Hash(0x3a78ed38de865aaba02f654c715f19e46f1a4773ba198a20fccea8d6076c284)", - "P->V[22312:22344]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 89963: Hash(0x5506d7123fc95eec72cacf5564bd21fbb5d4ddc2515ce5ff4816aba77258a7c)", - "P->V[22344:22376]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 107222: Hash(0xb3f5aef4a0f1a3dd8fdeb091f726fcae0955aba009a13cf255c4d13560f144)", - "P->V[22376:22408]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 109091: Hash(0x1372711c03c97d9cde691f4a90792e5d43d1b8dc5911bc0a45b825e72a92202)", - "P->V[22408:22440]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 113788: Hash(0x675ef506220bd9fa52a3e915c0d5f592cc32de6756c5e3a801f80206d6d6736)", - "P->V[22440:22472]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 40312: Hash(0x1cda6c885d4a47abea99fa955d7068853214a2e874c8a8a45aee86783375772)", - "P->V[22472:22504]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 44980: Hash(0x48e1405ae24f29c4c206e60006756696151b00bd2b40d3ea9dee37f92040a54)", - "P->V[22504:22536]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 53610: Hash(0x3e668c2d22442f850840afe9c68439e383a09ef3a53aed71672d0cdbd5df026)", - "P->V[22536:22568]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 54544: Hash(0x269e03e12fc55203182c460fc0158613681289ad22c3949c5fa7a9c7a992550)", - "P->V[22568:22600]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 56895: Hash(0x2bd3a0ad9f077bb153e76ec650e2948d49a8265e5e0c802df8ed40f90deef9c)", - "P->V[22600:22632]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 20157: Hash(0x6fd633263ed4539a0942a14f09340b6640adbc5faa72f590a6ff8a98a72f051)", - "P->V[22632:22664]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 22491: Hash(0x737db705cc5bf8820bb735ba58e3a86836646c60886a769dd7258c822d271f4)", - "P->V[22664:22696]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 26804: Hash(0x13d1ad6e6dcc7d57e47d298582b487eeec72c2bde2f0049669dc9c3c30b24b9)", - "P->V[22696:22728]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 27273: Hash(0x484426cc3d254fb964650aa5a0bdc1a64035b792e275a46ada09f55f83b8a9c)", - "P->V[22728:22760]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 28446: Hash(0x486f204f9e2883395c96d71c5d49cce4073492b18733d02321a550d4d146c16)", - "P->V[22760:22792]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 10079: Hash(0x77ff370662544573274ce0dadc4a5bb3b80b90d14c1be1cd1e3bbb54ddb9993)", - "P->V[22792:22824]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 11244: Hash(0x3dddb18d371fe9e2ce01bcfcf53e8fb3b2ec8dc134b25eb4a5c9e0b05699060)", - "P->V[22824:22856]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13403: Hash(0x125bde41b724588bf0a687c8370f77e412926e2706432544299ef8f1feb2a17)", - "P->V[22856:22888]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13637: Hash(0x23fbf20a43f2dc5270f0fd345dbf80a17442d8d18eeeafcf5b3d77bcae76232)", - "P->V[22888:22920]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 14222: Hash(0x34bb0602df96ad2975695df6a24e27ed7985272c4e35228fdbf00a466970faf)", - "P->V[22920:22952]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5038: Hash(0x488219e6f03f0c9940108c68053336704bf0d6c011ed36e0b70f45c8c65442a)", - "P->V[22952:22984]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5623: Hash(0x392feed58a20e1f3ba81917c08168dc186d6504d4f229f81771f26e3a41af79)", - "P->V[22984:23016]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6700: Hash(0x7c5101f7fc2f173be2ea6484f5fd2b00c4d401b5b5006e6294bda453bb22717)", - "P->V[23016:23048]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6819: Hash(0x3f7de43a503f61c12ff2e0f3b318bcad3c5adfc1156d393e16b019686c699f0)", - "P->V[23048:23080]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7110: Hash(0x6a0acd6dbb9c523ea214660dc7455298b98a86e360f802fc2a8ad24d93f47da)", - "P->V[23080:23112]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2518: Hash(0x77c8090dd81add6f6dbe977d4408d407ec98b8bf70eb007d708aeace4679944)", - "P->V[23112:23144]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2810: Hash(0x20977d2a632a3e156c22fc6b27098f1af92e0f61e409a6aca0fd911d0da44c0)", - "P->V[23144:23176]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3351: Hash(0x56b5e802d2864c29c8c3fe8286a2516acee8bdb184a2497be9203dc3e902d7)", - "P->V[23176:23208]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3408: Hash(0x60d94be761c9ec7ea54d992743686de0c3426d2a6050f10a704a4da3cec9c13)", - "P->V[23208:23240]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3554: Hash(0x21449c83b8fa10139e145df96a7aaceeb362b62976e8c707d96f5d8ccbb225d)", - "P->V[23240:23272]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1258: Hash(0x21b1e427ca35be4fd9c9df5b708472ba593d79ed4b19f6fc36fc4bbf690454e)", - "P->V[23272:23304]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1404: Hash(0x68291c7c051de8a4e6077c6ffd45f57197f1568797fc2c1820fdac16cdcc297)", - "P->V[23304:23336]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1674: Hash(0x7f2af07f3d0b87809c82a2d11cb06c2d1cedbc7ce45cce7617435e1e029fd7e)", - "P->V[23336:23368]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1705: Hash(0x35f32839fd20fb395e4a45e947818b4b97c164a2989a177f93bcc239d8059ed)", - "P->V[23368:23400]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1776: Hash(0x6c466e0838651ce8e1c0933924e54868bf519847265483347d809783d0b902)", - "P->V[23400:23432]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 628: Hash(0x6681c75571071b8e041c5408904b06b124a7cada7f6ef5124426c13c5a8a67e)", - "P->V[23432:23464]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 703: Hash(0x41ef7e35c9acf9d49f7f7d64326c6391c1081f1b3920949fdcb4487cca0cb1c)", - "P->V[23464:23496]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 836: Hash(0x7aff074b977d0464637526d6cc45b7ef9699fc2b8ba9da873839e353987db89)", - "P->V[23496:23528]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 853: Hash(0x2c63719816645c3b13ba72d79d541889f21ab44ef47671586613f91b8869251)", - "P->V[23528:23560]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 889: Hash(0x44ba6e206506635bb5b7628a62648d66aedbe203af463e6b1ebdbf7ed80ef34)", - "P->V[23560:23592]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 315: Hash(0x6ccbc2c7b4c3702596cb2b823aab53b63fef4609d19af1ce7bc8f04a657930d)", - "P->V[23592:23624]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 350: Hash(0x7e8b0445aad153ed5919ce01ba506e5331de81d66175f2c14da57c94ab6c5fb)", - "P->V[23624:23656]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 419: Hash(0x4647d87338741fc780db919bf8cd5681440fbc785ce08388b2ed3fed68f2287)", - "P->V[23656:23688]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 427: Hash(0x729d590f26ae9e327acc2fcf3c568769c5d4f6a9ec71080043500046cb22890)", - "P->V[23688:23720]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 445: Hash(0x5f237638a2ff2d69a18255bc01c1458b70d63ba93c1115aa49a1c18b61692ac)", - "P->V[23720:23752]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 156: Hash(0x1b785cd709172a5acc5f56b2e69148f0c5e785bf41af56fd68f16d5506b3838)", - "P->V[23752:23784]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 174: Hash(0xab69d9363f03cfef2b729b28a7b6750fae450dff72019adbdba7ae7b2b58ef)", - "P->V[23784:23816]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 208: Hash(0x32f8bad37422d88afbada944a9de3131ab6cd1bd63a7d37e86c0c142f705236)", - "P->V[23816:23848]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 212: Hash(0x91d398c4aeb41c5c59a4b92c3b56676c1b9fcdcf7ddd9ebab7a65e641572a5)", - "P->V[23848:23880]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 223: Hash(0x1a673d6b7878613612a925ba5a7a7a395c177a69aeb53014f28367ac51b2138)", - "P->V[23880:23912]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 79: Hash(0x6a8ca630484069b4d0f1db6e39cf16fa874c7a9304651aadb490f0dd5a0dfb1)", - "P->V[23912:23944]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 86: Hash(0x4940b25d794845e4592051af248f9f09cc52f1811e61e93171754d623527a47)", - "P->V[23944:23976]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 105: Hash(0x64eddb13bd80790739b8418aebf738918abfd281b63cc6395576c9705e80a60)", - "P->V[23976:24008]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 107: Hash(0x4a0b85e32ee218926411e9bb8e9ad6e92dbeada6f42712218515c0a332cc846)", - "P->V[24008:24040]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 110: Hash(0x7713110c438d1b3214be2fa3c864cb24ff3ed32ce529d59f0c7513fa5511f94)", - "P->V[24040:24072]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 38: Hash(0x2ba9869257f0334dbd1d6e3d1465537a782b8e494ffea4c78af74e93845f185)", - "P->V[24072:24104]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 42: Hash(0x182853a51e69a572170aa88bd72371d691f5d84a671b64e874f19bedecccf7b)", - "P->V[24104:24136]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 54: Hash(0xfcb40b2e614de2c2fcb8c8e43935fab729d3282e57dd025c68216b77f3cdab)", - "P->V[24136:24168]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 18: Hash(0x4a018f2656f40cbdc615f438d13a1cfbe2ece97219652250663bed3a8f6945d)", - "P->V[24168:24200]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 20: Hash(0x1692e8a41cc7940b8037362adc213a93947546adafe989f631988d95e804d9e)", - "P->V[24200:24232]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8: Hash(0x265b2f9f141bf93aa581264b7f746a1c4d2cb1608db7555e08ec779e02bf8fc)", - "P->V[24232:24264]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 11: Hash(0x1a6aaf6b29ce43f2d88efd656c4e3dc9ca536db58d4116666765c2ef6549051)", - "P->V[24264:24296]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12: Hash(0x64dbe654d2a8707c39cf63a83b197123fd3988b9e85b0a576b944fd5899d6ad)", - "P->V[24296:24328]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7: Hash(0x79f0165c3b163edc0fa22f996d15b3293bdb65a08ca43d288b684feaefd840f)", - "P->V[24328:24360]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3772, Column 0: Field Element(0x42251f0e139633e3ae9cac9ec79a27bfd16f76d7ebb6fe68390df513b1afb8)", - "P->V[24360:24392]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3772, Column 1: Field Element(0x2a9a1cb5190227f8bf8298380f32256e93274dd7e1bfe9e55a1613a360e3488)", - "P->V[24392:24424]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3772, Column 2: Field Element(0x7ef01044443a16c851a8917b5ed1ed8dc0f67229d16c77b53fbdb20e045cef6)", - "P->V[24424:24456]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3772, Column 3: Field Element(0x13c660557327d760fb324bd80d2386305c01d4d210bc85a6a6673c9909f8bcc)", - "P->V[24456:24488]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3772, Column 4: Field Element(0x7df5b088dc1b9544efef740881e40e74a23bcf75a260dcad90793d171a2153b)", - "P->V[24488:24520]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3772, Column 5: Field Element(0x67d3fd4df8fadb26979e584a59de9573f7a022b88cd7a2caf7291623b3f1cac)", - "P->V[24520:24552]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3772, Column 6: Field Element(0x7561d4c169e2463392f8b90135178bfdbc135f5d23bf7569ade756dffe33fbf)", - "P->V[24552:24584]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3772, Column 7: Field Element(0x6fe7b66de37c93a66804a910657721e162a711a05e2c529add779ad79ea7d5a)", - "P->V[24584:24616]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3772, Column 8: Field Element(0x16173b2548590736724b75ec423f14b15d0cb57ac35fa6e121e9d09fde5788)", - "P->V[24616:24648]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3772, Column 9: Field Element(0x13b90323033c1e4fe2d5fe0153674f377ba9d611b11a77ffb2e4210793e4b64)", - "P->V[24648:24680]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3772, Column 11: Field Element(0x99cf8238e5376642cb6a4b23bd0d0874abd37c1fceb6c404eb7196e0a845b)", - "P->V[24680:24712]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3772, Column 12: Field Element(0x466617477d293b59c55cb7666aa34eeccaa4f876077f7b324acd28ebcb9f5ae)", - "P->V[24712:24744]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3772, Column 13: Field Element(0x8d618f84bbbfa851b124ca1dd6b622a0b9eb328c7ecfec920518353906b44d)", - "P->V[24744:24776]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3772, Column 14: Field Element(0x65e039a55460676b9033353303c9aad3d925eef0757e101fdd898fe81104543)", - "P->V[24776:24808]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3772, Column 15: Field Element(0x43b0e8dbc68a8637c20f4a6bb38665eda1f6fede01c2a3b8593e813c8f31b)", - "P->V[24808:24840]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6106, Column 0: Field Element(0x7011466741685b8d7485a68d60c8f34a8b5b46c9b21c042ebb4578e04ae442c)", - "P->V[24840:24872]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6106, Column 1: Field Element(0xd034d361f81ab62fe73f5be3c2d111cf965af811578740aa9150180752e54b)", - "P->V[24872:24904]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6106, Column 2: Field Element(0x52ac0499870e537066ad3b2f496f81b395cc8938f09e6fab7fc50578b0eae77)", - "P->V[24904:24936]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6106, Column 3: Field Element(0x64d1e5c2abe439d8181bfd7c2288dd876e9e0c2423bf183f1fea551d4532abe)", - "P->V[24936:24968]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6106, Column 4: Field Element(0x543407fcfcc868ade833dbd6aa362d05f437d1cb12e5f20272f3396bbcf2d8)", - "P->V[24968:25000]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6106, Column 5: Field Element(0x74642bf7b0adbc7bf9bdee6f9a6e3421c7fa4112adc0f63845b72e7bca843ec)", - "P->V[25000:25032]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6106, Column 6: Field Element(0x2699aa9e9e886c46c6a128735aefe64e499ad673cf3f564324286d0e50e4109)", - "P->V[25032:25064]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6106, Column 7: Field Element(0x465b78c37e1fb8284b2ec33fa7e827d64cf34c66dc6841953368cf3f3c4a1a9)", - "P->V[25064:25096]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6106, Column 9: Field Element(0x4897d17a085a56cbfbbd469c04f610397172a8edb27556f1a0895f2ea27d4c)", - "P->V[25096:25128]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6106, Column 10: Field Element(0x43ca127ab4db2e80914ae63f6fae1d5f42792c13a22f9befc3da1731b7178fe)", - "P->V[25128:25160]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6106, Column 11: Field Element(0x2d1997ace549828411365a73fec9fbbbcd8681999468d55924b448765fbcfd0)", - "P->V[25160:25192]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6106, Column 12: Field Element(0x2946af21b203a7f4b03bca39bc59701ed9c01cbe8efe588dd9ea4bde40ac8e8)", - "P->V[25192:25224]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6106, Column 13: Field Element(0x71f1a71892cb85c041d17a9e75e0cdef93f55b9af14ae12114e794de9343b0c)", - "P->V[25224:25256]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6106, Column 14: Field Element(0x5474345ac8848315a57a6ae7bc738409c72183fb1086f16bc9f1fb532866f44)", - "P->V[25256:25288]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 6106, Column 15: Field Element(0x3e52d815f81e0e72f5de9d408b3366a2a5a8b08eb8a235c7fe08709bdc60133)", - "P->V[25288:25320]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10421, Column 0: Field Element(0x6b433dd892981f533e38e7b607ef39690543e61dca63af5f42ba6a6f40922c2)", - "P->V[25320:25352]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10421, Column 1: Field Element(0x39c66a4f8400e0ff5150963f6388ac35be2cf0a035274aac3be808669911c18)", - "P->V[25352:25384]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10421, Column 2: Field Element(0x491463cc8117caa01db59cffb43261f53a8a7c077a881716a5250d95b4990fa)", - "P->V[25384:25416]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10421, Column 3: Field Element(0x77f296ac84c9edca232b9d99645572254cc4db9eb44dfcacd66b382e52dd967)", - "P->V[25416:25448]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10421, Column 4: Field Element(0x3fab684d1fbc7ad1eace629f1a77eb67e593bef3e73d8c7a5a01fac91e58503)", - "P->V[25448:25480]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10421, Column 5: Field Element(0x3a7b40967faecaea13cb19a1916e8cc54fcc668574563832d8da5a34698f92d)", - "P->V[25480:25512]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10421, Column 6: Field Element(0x5e6291817a2012eaf4bd4ce1ed8f76e218f3454977558c2d606449f2fc70340)", - "P->V[25512:25544]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10421, Column 7: Field Element(0x1fae5e221904c28d9901af159f1f3fb0b5e3b047c7337a34c9dc5647d4b02ae)", - "P->V[25544:25576]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10421, Column 8: Field Element(0x39abf5f97e511d864e7cff856fc505c71fc81535a7b45caa2765bba977978e0)", - "P->V[25576:25608]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10421, Column 9: Field Element(0x2e7ee851823ff3a4ec80d8d2d6562ee520421b06b1a8d37d3875f229e9bc095)", - "P->V[25608:25640]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10421, Column 10: Field Element(0x7848a0d7dc5ad17c72efdfe00783cb47dfccfa57f87c63583d109b273f3bcba)", - "P->V[25640:25672]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10421, Column 11: Field Element(0x46c2b80583694e1b50d585a5f472925a7ca6caf8c5afb82a16a3c2d21cfa710)", - "P->V[25672:25704]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10421, Column 12: Field Element(0x30666314523065db46173ded5904e83403fa7466e1021add24782f78bdc127c)", - "P->V[25704:25736]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10421, Column 14: Field Element(0x5001d59c5c31edfd007da1a64476063935ceb0a26cddb88b5478420f5bb8bac)", - "P->V[25736:25768]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10421, Column 15: Field Element(0x6ca9fc3cb33216333117baf25f2cbba2fe2489fd0f58415a9f00ad70c421b7c)", - "P->V[25768:25800]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10888, Column 0: Field Element(0x5119ad238e25ba5f967bda5ba247bcf9e46aeac39afb4d059bcf68e09cdc5a3)", - "P->V[25800:25832]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10888, Column 1: Field Element(0x203b77ee9fb2f67be4bb7f35dccb83fdcd0cd9787e2febba03227b7242eb4b1)", - "P->V[25832:25864]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10888, Column 2: Field Element(0xc160b448597fd63dc35baad08f1ca27c7b8abbb59494b08c6be88928ffd9fc)", - "P->V[25864:25896]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10888, Column 3: Field Element(0x697cc03243968ea81e6798a642797a946ce1a72a8f051c4ea2d061dd7cb6405)", - "P->V[25896:25928]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10888, Column 4: Field Element(0x4a99829dac473da82b2d8d5b1d7863b72894fc86a532c0e77de911f85c28d3a)", - "P->V[25928:25960]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10888, Column 5: Field Element(0x40a7ebdea48f3cc7a19b0aa436716fbe93c210ebf36e168ba10226d991c5f48)", - "P->V[25960:25992]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10888, Column 6: Field Element(0x7cd034328502bf1175bf08d63eac1feb8245b27dcaf625a5653a947dd61ab71)", - "P->V[25992:26024]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10888, Column 7: Field Element(0x35c41cddf18233446d636d3144475550582cab786629fc0d9258d9ff392785a)", - "P->V[26024:26056]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10888, Column 8: Field Element(0x54cfbe005b6171359851655c8419c223f2a44bc849104eeab1042aca5fb3888)", - "P->V[26056:26088]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10888, Column 9: Field Element(0x6c20812c184dca99349b026686e486f7cd27ddc45654cedb6746e7983d3837a)", - "P->V[26088:26120]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10888, Column 10: Field Element(0x7b8d8761ee5c9a97db8d90ac7a834ecb6c7221b8b4edebaa1c393fb0cb6e131)", - "P->V[26120:26152]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10888, Column 12: Field Element(0x5c402f2649e966d68ec2b039fbb866812efd927b2867073d5dc42867f21f4ec)", - "P->V[26152:26184]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10888, Column 13: Field Element(0x2ae6bf8490f57091c244cf79b102915d84840c584260f3d12e70226c186abc4)", - "P->V[26184:26216]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10888, Column 14: Field Element(0x50b553545449c9b78f2587c47009f2c93fccdd238f4db0e95f65591d6f5b704)", - "P->V[26216:26248]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 10888, Column 15: Field Element(0x49012d6015ff2e849e7afd4cf38904c37e8bf1afa87983fe356e17eecb8502a)", - "P->V[26248:26280]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12063, Column 0: Field Element(0x273f55c404280de0d2ec3a56582343616e6ac6e24521a6be11fef8c18e9ec94)", - "P->V[26280:26312]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12063, Column 1: Field Element(0x65ea44043bedece8438f8bbe20e46d073d1d31f4ed294561b00391aab6df512)", - "P->V[26312:26344]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12063, Column 2: Field Element(0x7f6db44a1d3d9e670e5aa5b00a1d1fb248a6b128e320aac399b557aebde540f)", - "P->V[26344:26376]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12063, Column 3: Field Element(0x5d526f18cb66671a032bbc7c1d9e9e0d8db0e48826f2914272dc2b5d0dd3d84)", - "P->V[26376:26408]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12063, Column 5: Field Element(0x74437244d5e04c68560993b9130bcde7ae07814f2f48bcf711cceba4e8b0971)", - "P->V[26408:26440]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12063, Column 6: Field Element(0x7542741434a7f7a45624e78b42fadae8433e0ddb43b37bb41ca8b6a9c82a460)", - "P->V[26440:26472]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12063, Column 7: Field Element(0x652d1b6c5ee5c76aa7dc94261e6e315869bffe5f30dbb60bcff6461eebaff02)", - "P->V[26472:26504]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12063, Column 8: Field Element(0x7a89a355290ec7dd78ca3a9479a64e0f1cade95dba0faab8a1105d64619e9f3)", - "P->V[26504:26536]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12063, Column 9: Field Element(0x66b0f6c0e176449e479cdefb4a2267a3ccde98f34464b75a38b1e8c9a052625)", - "P->V[26536:26568]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12063, Column 10: Field Element(0x755135c0087fb57cbf63369c92484ddd6a927645c882f688c64682f57a1ac83)", - "P->V[26568:26600]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12063, Column 11: Field Element(0x3d79dbf92977e97e5526c88cd732863d0af5fa8134d148e8149e7b4d3db56f8)", - "P->V[26600:26632]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12063, Column 12: Field Element(0xceb2e1a1ddf5f3b077151c7ae26ef3d86357c07bcab81f4fe747a0d9818c79)", - "P->V[26632:26664]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12063, Column 13: Field Element(0x246a408e8610d88d6242e571ce06c522b2cac68969c626b2108f62d61dae9d7)", - "P->V[26664:26696]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12063, Column 14: Field Element(0x124a7cc59c6f2adc21c783148f10abfbfeb620e8b52c3e6a8dfb9fa7cef5e55)", - "P->V[26696:26728]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 12063, Column 15: Field Element(0x7466b7d3b9eeb67d3f70e24d8da7ca3603afb269cf1411f09974d573378242)", - "P->V[26728:26760]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 20157: Hash(0xff974e3bd3877ca5789d67afce75b3d77ed57428)", - "P->V[26760:26792]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 22491: Hash(0x3c392416223257f12e22a786c0837b62b12b06a0)", - "P->V[26792:26824]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 26804: Hash(0x8562b955b9f8133254af172d4d57e2d44f45573a)", - "P->V[26824:26856]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 27273: Hash(0x3f23df24ce42634cd37bced8059eca902aafd9dd)", - "P->V[26856:26888]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 28446: Hash(0x534f666c10211a2c48ad78d9011c252543a46eb4)", - "P->V[26888:26920]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 10079: Hash(0xf858a7e78acfc65ce9a960db2ce6b81f3e591f49117fef4454ed2c6f966150)", - "P->V[26920:26952]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 11244: Hash(0x2f0bfa5f86f5e0d35ca0b9dd7cfa9f09f521e7b6e78c324c0ae14da883029d8)", - "P->V[26952:26984]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 13403: Hash(0x3d64780551446add60eb567e5719897eb808ac40f2e8ddbbea23558d97b500b)", - "P->V[26984:27016]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 13637: Hash(0x739d756ac9b4eade2f7dc738f4472bbe8bb5975271742f82155425c77f3b2c7)", - "P->V[27016:27048]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 14222: Hash(0x63479d927a6a1d2bc66825579a245e83ceaabbedcd10a5f6c8801e3807ce2b0)", - "P->V[27048:27080]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5038: Hash(0x485a6f2b98f0a1d71bfe19271aeb349baeb067f72d4d87abff829021f61965b)", - "P->V[27080:27112]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5623: Hash(0x76db0f40815c6afd78df3e4242750b289a816fc81528eb265d26267efa270c)", - "P->V[27112:27144]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6700: Hash(0x6acbac48ecb77b7d4ff4f4adb688a0dfb85bab4ba9053c6de87287a7ad21254)", - "P->V[27144:27176]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6819: Hash(0x2a638fcfa3c7f81ef0b1061ca91d93d52fd5bd8106d115d58d62ec0545da3b7)", - "P->V[27176:27208]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7110: Hash(0x4b7d0b29225fab3a44003425d6e985e6a67343f8f40c6c3474093be933034e1)", - "P->V[27208:27240]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2518: Hash(0x6f7c4df26e0be77036106bb40d3f94b455bc15975b472760d617bde4ddb034d)", - "P->V[27240:27272]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2810: Hash(0x1d5470e94b328ae66084c11fdafcaa122a11f4b0190635cbf9e8653884d5506)", - "P->V[27272:27304]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3351: Hash(0x439fa955964817226e9d184bf7ee6f75c25a8e12df381a220032139469bc3bc)", - "P->V[27304:27336]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3408: Hash(0x78f25cf6020879eb6e7c1c935917eb99640eb9c9b44d120065121fb140ca5c3)", - "P->V[27336:27368]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3554: Hash(0x10c9be82cd265fa2684bc74959f7a454e19dd233cde0d57e040204c18cb6303)", - "P->V[27368:27400]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1258: Hash(0x32d2a882d3735196fb08165abdca4c03bc259d4e9121b4b812ad6792d73b25c)", - "P->V[27400:27432]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1404: Hash(0x530629f6bd22f79203295245cc028cc3940b1a9ba4714057f21b8faaff7e051)", - "P->V[27432:27464]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1674: Hash(0x1dd01a675f3b24d435f6dc6ebdc599e039005f511546ea56e0747c5fac6bc98)", - "P->V[27464:27496]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1705: Hash(0x33a532305ece144cc449de1b7d4ddf6432b709de23d09845776505c351745a2)", - "P->V[27496:27528]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1776: Hash(0x1088eb1035e5b5bbae657b334a71545647aee544d948f144cc638fcd73567eb)", - "P->V[27528:27560]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 628: Hash(0x28c76835ff5a66d241332008a89236289b28ffff606acd6d371248b79932b0)", - "P->V[27560:27592]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 703: Hash(0x584f65b740dbf51dfa5a0c69be72343ddb92cbc97ad075bc08f52403d821c1)", - "P->V[27592:27624]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 836: Hash(0x46263590fe0df54007fac833c6f6f72edf17b4900b64e5bdd021e8108c71c1f)", - "P->V[27624:27656]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 853: Hash(0x398004384349284a2fb3103c3a3d48cc5e2433d850883e78a3b1f1946bdf037)", - "P->V[27656:27688]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 889: Hash(0x8bfacd8ba9154f2ead6a109f103d1d5c65262136b8e0f5b6f6580b4027b8be)", - "P->V[27688:27720]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 315: Hash(0x79fd272ae6e8643d11c5c3b4f5b01bba90c5fddeecf1e4f274a69d4b70887ee)", - "P->V[27720:27752]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 350: Hash(0x4244ff293f1b5e4a4a84bd0ff37b053a0bb20ff52f5a63c29ee04366e5bcba5)", - "P->V[27752:27784]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 419: Hash(0x636447207ec6d26dd460d18c76cd7994b17da290264288e22b475207aad6645)", - "P->V[27784:27816]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 427: Hash(0x36f9622fbf305babe65daf49c40bfac6bb668239266727bfcf15cb714cf0d49)", - "P->V[27816:27848]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 445: Hash(0x4bda0e7dc67d73db9b1116fd65a986335619710c18c9d0a2020179aa96b6f42)", - "P->V[27848:27880]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 156: Hash(0x6bad3e0dbae129ef7aaa09900860866895df5632bfbaa684596afc56396724d)", - "P->V[27880:27912]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 174: Hash(0x1208c59e94408dfc4fa23bbebcd6d530491ad0b566b757b912fbecfba766ed6)", - "P->V[27912:27944]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 208: Hash(0x6d8d7711b0fa2b02e76128248ac1572589e69fb429e5650cc63bdfdad27304a)", - "P->V[27944:27976]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 212: Hash(0x6eec8c3b2afba7f445c30eef04ea69276993be9dcf89d151b061bb4deb43431)", - "P->V[27976:28008]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 223: Hash(0x6197f4010b1275a6566ce58d34d4d1957946c67ae2f16b2180b41f5aaf1bbac)", - "P->V[28008:28040]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 79: Hash(0x6575e17d0d7a34ec1a91c4a559502e4a0fe59eda3c8f5125f6eb4432ad3d245)", - "P->V[28040:28072]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 86: Hash(0x6bba8c7a1dfadae8350299115817bc59c2c417f9909242c97df1c46b27c6b5)", - "P->V[28072:28104]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 105: Hash(0x4671fd3b64bf9bf7fdd4fb8b8b18970ee75261b23f8c878a05029aa1b5ef4db)", - "P->V[28104:28136]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 107: Hash(0xe7d83aa7e1b6d3f754cc95dbcabc594a8b54aea48fdd47552381d821024d35)", - "P->V[28136:28168]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 110: Hash(0x38736ea811babb678f0a360b7c321c9a7a83d7f9bab444727e882a557af7bb7)", - "P->V[28168:28200]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 38: Hash(0x4831160ef8ebc3e23e4b458c411a48862b3cd19bc1cef7e7c27743ed7b350ac)", - "P->V[28200:28232]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 42: Hash(0x180bbd411c4fc54d9fe8115189edd51fd59524d57ef6aeff2610194654e2766)", - "P->V[28232:28264]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 54: Hash(0x34221830a120d612b853d559c76188420a8b7b3fd5aabd094c48fcb1a7922df)", - "P->V[28264:28296]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 18: Hash(0x5fa3ddff9fd4b4347442816a9559333a13adc820878d797d9a227cbb27528aa)", - "P->V[28296:28328]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 20: Hash(0x6f4bc25bdec8005c059aef6640f18ce6619e337cb0e2151119c3d1c5e9a0a7c)", - "P->V[28328:28360]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8: Hash(0x2dc43526225c1355af87727469a927706b5dd227f6f74ad4282012bcf3d3c3a)", - "P->V[28360:28392]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 11: Hash(0x44b7386e790fdfd9b834d5b088e8fd24fc6f53957f2ebd091be9dd40ddbe616)", - "P->V[28392:28424]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 12: Hash(0x71c6abae5215d5e87faa441c6d72c48289efea9996c4700b531d73cc430fb93)", - "P->V[28424:28456]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7: Hash(0x92ef6f56623a7164c2eea483d6194dc75277839e27648189ec4f6fb782a55d)", - "P->V[28456:28488]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 471, Column 0: Field Element(0x7d84f46e0061159f73da9dbccbace6ea07e3e256db11528d41afff2e83e02e8)", - "P->V[28488:28520]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 471, Column 1: Field Element(0x799bae7deecd8f1bf98ceae34ac8380d1147a86366f39f3e84e468ff449e98a)", - "P->V[28520:28552]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 471, Column 2: Field Element(0x4f14a669cc7b178b73e152b0f3a327a98c4bc0c1606a2a9bffaf0964e507a38)", - "P->V[28552:28584]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 471, Column 3: Field Element(0x124e7a1e34b1205d801a95669dcf492bc1bc890bbea9b1704d71afeb07f9189)", - "P->V[28584:28616]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 471, Column 5: Field Element(0x3d58cc58d6946a8a0574482e9e90faf8327f1425320bee2ab50b5254553957)", - "P->V[28616:28648]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 471, Column 6: Field Element(0xd18dae749591876545bd8831b94f872604e62e675901f516370cda51922df5)", - "P->V[28648:28680]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 471, Column 7: Field Element(0x7cc44adbe80c4cd196d633d2cd85b805381ac7bffb59b82e311b87253d31253)", - "P->V[28680:28712]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 763, Column 0: Field Element(0x15fd7dd1e421adbabc5e2cf139c8d4474b8445f24d2f5d4b66eddb97bd2763a)", - "P->V[28712:28744]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 763, Column 1: Field Element(0x78e6fa4e177277e3904734c6f3c96787a7c087be66205e4a55f548bc3e22310)", - "P->V[28744:28776]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 763, Column 3: Field Element(0x727a134e17123892638a744015e81bc89056588ab717afebfaa054281fe282c)", - "P->V[28776:28808]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 763, Column 4: Field Element(0x4acf0e1dede575beab88875c750cde92f718b4a0a0857f73d2047e00ed5752a)", - "P->V[28808:28840]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 763, Column 5: Field Element(0x3720a52924e787ebccd3347ad730062e2407d5169b4836ed7296a6911453400)", - "P->V[28840:28872]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 763, Column 6: Field Element(0x29e5bdf2c2b376177815ab506067b971dfd8ef400a0342e122db79ba7ce612e)", - "P->V[28872:28904]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 763, Column 7: Field Element(0x249b94c91985becc93ab70eae2f90513a9776f703c1a5cc6b4fcfe1ea3a97a)", - "P->V[28904:28936]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1302, Column 0: Field Element(0x2340cfbd3f5c2b32053f70397a853187f809ef49c49b9b5a91cd60ae5a47383)", - "P->V[28936:28968]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1302, Column 1: Field Element(0x72f79afd5c7f46871d63edf5fdf7ca1d5ce690af680603bf7342e87390a91fa)", - "P->V[28968:29000]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1302, Column 2: Field Element(0x14095a7db564a13b088119eb0f3f638c89d1596d41054c7608fbf320a480523)", - "P->V[29000:29032]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1302, Column 3: Field Element(0x10f83f028d3342a5c351ede02dd8c85a07fad633f3a823154ab9972fef8db23)", - "P->V[29032:29064]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1302, Column 4: Field Element(0x337f78f290dbb5c008024a4416b8e30ae9b980630357caa14b166285eeacf24)", - "P->V[29064:29096]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1302, Column 6: Field Element(0x305fae0e4fd93df8c4e61dde376d5c791ed036559691b46fff4179a9ca1c0ca)", - "P->V[29096:29128]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1302, Column 7: Field Element(0x2776f85fe76d7d747c33c9ca8a42a40e6cb4c09a4123ee17aa2f64b392e2ca6)", - "P->V[29128:29160]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1361, Column 1: Field Element(0x7fc70bfa080e7576679dce88fca38751229bdb8cf681ad3b9267de6ae6a57b8)", - "P->V[29160:29192]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1361, Column 2: Field Element(0x4c752d7293327e820d759e10f7d08dbc1c82c7c2890da8f61f3b510422c6784)", - "P->V[29192:29224]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1361, Column 3: Field Element(0x6c47480edb330d770043d99f15aa5dd7ba6de81279bffafdf104b858653d298)", - "P->V[29224:29256]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1361, Column 4: Field Element(0x1ace2c1f92f0f7b146193e39cf522a8657b2343642ce6ad5f37a10038cdd25)", - "P->V[29256:29288]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1361, Column 5: Field Element(0x5cd6a751c5ac32744923200e5c4689032cea8f7cf12ef2d07a51d59e7c5601c)", - "P->V[29288:29320]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1361, Column 6: Field Element(0x7a8464c8a9098fdfb96649aeb7543458dcca599f17715cc90720467e1525771)", - "P->V[29320:29352]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1361, Column 7: Field Element(0x5e8f7f8065eab9632e66db5e3457fe8d60d8c728d3fafc7e0c15d1c383c57ca)", - "P->V[29352:29384]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1507, Column 0: Field Element(0x5d5bbc38a5fe1fe6f68b03cda1d0c39cb353ab88646bddc67e49612e3136503)", - "P->V[29384:29416]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1507, Column 1: Field Element(0x2c7308f76324a05689ef6e04d45e9cedc3ae0ce652952ff76d68f41ca1d5b12)", - "P->V[29416:29448]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1507, Column 2: Field Element(0x1c63da88ab742f6c4622eeeceace33fdee39f60f5357314bd73e8eed5fa2ed9)", - "P->V[29448:29480]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1507, Column 3: Field Element(0x3a844b12b4d5e6aa41c1887150780d488fe5b584af17b5714c17de7806eb018)", - "P->V[29480:29512]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1507, Column 4: Field Element(0x2e8fc709ead1a8c0d32af6df408fe8775093ad514114465130fae6d8000f008)", - "P->V[29512:29544]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1507, Column 5: Field Element(0x6ffd4f448e84ae5c288554d032935e593fdbd617f5d9663b322fb1306f2b583)", - "P->V[29544:29576]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 1507, Column 6: Field Element(0x1eb31b21af373f738ec9fb2b4f811413c91ea2d4aad7d34633f95f4f4c2366c)", - "P->V[29576:29608]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2518: Hash(0xdd718b49994b2f75bf848e3da7021da90f76053c)", - "P->V[29608:29640]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 2810: Hash(0xbb02dba8a4c341556a3d4906ac078534ce98e0a8)", - "P->V[29640:29672]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3351: Hash(0x86087d630015859cf7d4c64599ddfb439c246c9a)", - "P->V[29672:29704]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3408: Hash(0xdb2961bc3fca7a3deb972691e55ca23a43e29608)", - "P->V[29704:29736]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 3554: Hash(0x4ac5bf18a9aa3115030ee435094432dbc20d3818)", - "P->V[29736:29768]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1258: Hash(0x5d48af1da701dabc4d1cf8ab35a05acfe4f6c1a6800b7bc6a3e01832b5e852f)", - "P->V[29768:29800]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1404: Hash(0x5355468053394ee27c1141bfd1f8e5b9f13a38dc61297c681575236fb5732e9)", - "P->V[29800:29832]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1674: Hash(0x75cd23263552a691f88c387124a8a20a64ad913c8da163426e29f230ce2308d)", - "P->V[29832:29864]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1705: Hash(0x30ec07cdb0b9c3465472478861fef7627bdd6dd91427382d79d9f337dedf0ba)", - "P->V[29864:29896]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 1776: Hash(0x3e2df159f35c0dda9a815ea033b71bc5827d500517afd094385c3ffee9e7680)", - "P->V[29896:29928]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 628: Hash(0x4623c55734b88d009ecab7330ee43466168041e453f599efdb85d7ce015bdae)", - "P->V[29928:29960]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 703: Hash(0x713bc0c9425404e85b96e66a6cda7d35e15ddb818769595e27b2adbc5f6bdb8)", - "P->V[29960:29992]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 836: Hash(0x7a0a893c0be495e62d234455c5ba0ee4761a7a84478eac2bf4c4a657302e144)", - "P->V[29992:30024]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 853: Hash(0x2ef7e0842c9bc0aadb94dd8ed8759b9b5ad4fe1241a6e072d3275f67cf759d9)", - "P->V[30024:30056]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 889: Hash(0x3ac3071a12761a1b66ee8cee69890d80c025737b06f85b078073727f469ab88)", - "P->V[30056:30088]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 315: Hash(0x1a3e2efa01feed930cc9d7452847960fa16c6561a5fa066aa47cafaad3619f6)", - "P->V[30088:30120]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 350: Hash(0x517412121c0b89cfb21031f53cfbfcd43b96c520f4e0bb39db98228e9e4103c)", - "P->V[30120:30152]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 419: Hash(0x595cd63d4da07cf4e0f777e134ed623e9b09212cbe7aa13cef184a3afab76a7)", - "P->V[30152:30184]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 427: Hash(0xfe709a488de74ab9b7ad481eefd4b05940e48786841c1f7ced7b1823acf166)", - "P->V[30184:30216]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 445: Hash(0xf6d4b6ed92afe75352ffd198f8598d07f52074ba8ea2d0581f6b728b0aada8)", - "P->V[30216:30248]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 156: Hash(0x7dc5e1454cbaea36511783d144f846f8aa9bd8661819acc5401e2b3a2b662d2)", - "P->V[30248:30280]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 174: Hash(0x34c1d3ffbb14188180685d8fcc38c6b8f6bc94d8694cf3c4def4b400f86fdee)", - "P->V[30280:30312]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 208: Hash(0x68dd5b210027ef5cc04f375db5b6fa8d651ba5ed9f946420d88b303e8f718ed)", - "P->V[30312:30344]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 212: Hash(0x4567b12d4c602c8a5e16d214df62a8847b55cde4f0301a69cdb349db264413)", - "P->V[30344:30376]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 223: Hash(0x17bbb79639cb1fc375bac5fd10532248d34eeb063ecf8d2746993e74b6e96af)", - "P->V[30376:30408]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 79: Hash(0x1870f437d7ca41517d45becc0712dbbab45f593f4110ede80fda7851e4cbbea)", - "P->V[30408:30440]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 86: Hash(0x255290bbd3617db6fe68d6cb36c59c45b6d030b887fca2aacb6716946cef293)", - "P->V[30440:30472]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 105: Hash(0x508b121d4866cb6c5e7ef18ad8dba121fa046f60016b1b485a983688ed2b92f)", - "P->V[30472:30504]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 107: Hash(0x3cd4facab38638df3d77865616b07703ba1594b2305cbf80b854f7baa3496ba)", - "P->V[30504:30536]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 110: Hash(0x2f559750bbc584f562d26bcefd4ed64d5c5d51acb009dce4a6d6db8bf9bd981)", - "P->V[30536:30568]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 38: Hash(0xb860644d4829b7e0dfefeafbee8d3b856e68fffd496714d5ec0818167a0306)", - "P->V[30568:30600]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 42: Hash(0xe5e971c9f241aa5a64395c102f2b0535e3864adf6bc8f4825d96dd86f22f94)", - "P->V[30600:30632]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 54: Hash(0x43c4c8dbec144d77a9f24b91b669a5c4c104b689a9f5379f52f550cb64e3a4c)", - "P->V[30632:30664]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 18: Hash(0x4bf11e807e5503af08a553ce1f94a2931b52536171a688958d0d85ac2f7d27f)", - "P->V[30664:30696]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 20: Hash(0x4b72af0ffba224f7eb85b9ff76681045dc2531d4fa0b631ce1eb6cff587a8ac)", - "P->V[30696:30728]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 8: Hash(0x6c62420219df25ee0ad53656c3f84e6b73d30117df840cb2bae5e21a8c3762d)", - "P->V[30728:30760]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 11: Hash(0x6526aa44597e03eb7a20d9629693ba382d0bde24703b5e081dea6c1739dc796)", - "P->V[30760:30792]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 12: Hash(0x1c8a2fd1b6acdc5727bec6d4060a4a2b8f0c4e7e2f7eb2d5bc2628aaaafdef2)", - "P->V[30792:30824]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 7: Hash(0x7b4efa4b33800515c66f211ccbf8cb52db62258f7dae4e5a4f61f7307715d16)", + "P->V[0:32]: /cpu air/STARK/Original/Commit on Trace: Commitment: Hash(0x2a588e8517b956684162e05e373dc6891146c1853c82d3984fbc707ae937972)", + "V->P: /cpu air/STARK/Interaction: Interaction element #0: Field Element(0x33dd9c083eee682a168398d8189bf14bc503febe8d298c7b254ff5d74868c39)", + "V->P: /cpu air/STARK/Interaction: Interaction element #1: Field Element(0x6a7aed3206de9c6a434484cc1f499801fc2df433783aef27b67ee8010b9a6c5)", + "V->P: /cpu air/STARK/Interaction: Interaction element #2: Field Element(0x645541a20083f184215fcb20d8014bed0546f6ae292f9eb7ee3de254117c597)", + "V->P: /cpu air/STARK/Interaction: Interaction element #3: Field Element(0x11d978931f41d88e9e8930b42c84b6471782ca8c565464dd6f468c2b4804a22)", + "V->P: /cpu air/STARK/Interaction: Interaction element #4: Field Element(0x1e22e58ff299d68ff2d5823796c232bd70a8e700d70379417849503417a478a)", + "V->P: /cpu air/STARK/Interaction: Interaction element #5: Field Element(0x3b74ba4892c5814cd3d16f5f28df48e8a6dc70a3d67f18b1b4921510fe88278)", + "P->V[32:64]: /cpu air/STARK/Interaction/Commit on Trace: Commitment: Hash(0x7171ffc67e24fcbb2a7d1acd6244fa91c54dff15c96ca26d193907b716ce2c5)", + "V->P: /cpu air/STARK/Original: Constraint polynomial random element: Field Element(0x4da23dc78db913ed7f160102687b018283adaa5d23fab8190b47d72ec065692)", + "P->V[64:96]: /cpu air/STARK/Out Of Domain Sampling/Commit on Trace: Commitment: Hash(0x30b93bbd6b193eb57d9f818202b899b7e8e09b0c7d183537fe85f4e6b6f4373)", + "V->P: /cpu air/STARK/Out Of Domain Sampling/OODS values: Evaluation point: Field Element(0x1c0d29e24bc79e4679b20a2185841d65fa77a288bdd472e1d4a3de9324338e7)", + "P->V[96:4416]: /cpu air/STARK/Out Of Domain Sampling/OODS values: : Field Elements(0x2f04daf73cc0e87db6f06e64808049ec8b1d87cb9f8306bd5474912b74e59d4, 0x3f468746ab0fb702742047b0b166f4f7188db1f92f54258f9e74974c6df7abe, 0x45f3fcdeca621009bf38cf64bdb62cfe99e2c1b15d6d9dc09b30fd1879a32e5, 0x7d6125af100d52e3c3ba2d19711afa9026a5b19230c5e80bee939c6865006d8, 0x2a21f97feebb60b3e0a44ece7dce776dec26eb165add1aec206443cf2d3d6d7, 0x11c766b423fa1c9ccc3efb9167f4039b406dc8d9da4bdced22f8b050588e10f, 0x7ceed1e3a8d4a03830952e622dc81ceee160d1f42ab2658f1e2aedccc4df9f0, 0x5d483b26d7401065fd6ad30c8bc96b9b1952adabf9bfe8be41d06ee3d64f794, 0x2a8e3798e7dd94964897d476a6e3d82274a283210df80797c8b7ce4cf0e1da4, 0x1909b72a75e3cc9207c4d699413361bfeb57c07ccd4fc14121e16975a745d3e, 0x45f180401da4a55f5a6c86531835b88298c222b93105365cf397f0d40cb175b, 0x3d520b40268da3f156f634dcdce1aa4dd2166ad8b474a01160434a80ffdf534, 0x7b4ec746a79813ae2c6ee0e24bfbbdfb60a45215e773be3da497023df0912a9, 0x5617bd8ae2f3b8390408ecd8d677056db94abaf8474784f31a2f0e37a5152ea, 0x29c8c76933bd09f7ebaa2f77fa85dc8aefa26a9ab95604b2f8fd0db9662ed32, 0x1baa8286d23c3dc7b7d9427c12af81716628e975a9c8da6d07ac9897fbbc8d2, 0x4a0160390c873c3a03d647f3af6b4a4f92abaf03a2d8d20fdc4320299bf084e, 0x64725534c5bdcdd3344e66da959639575f742171a2665c81024182ead0641bd, 0x1a75e0f30fdfc2bd6198672862ca7ce3c083336ab8e35e082df0af4b27c83e3, 0xd7d46553024fdd8e494e2f39a7e0e9152b256df1285f9ef2e61c33b8c8f776, 0x370fe78859b47e624f36abce7fefb0e288d34a502a6b9d3b5db2142d3b14109, 0x5db111a438fe1cb285f733d975fb57059527c13903a066930ee7942d57dbbaa, 0xd6e192a7ce724cc2b7e80cadc4a1f8053a58fdcd369b832695de91e7bf6744, 0x3755b20f3db35bb39813761bd2a00ec703c39331deb0e5ed1336c0c55942595, 0x6ded5aea248ca30f456be1cccb071c5885c18b2163c9a6fc01e0d378ac72df3, 0x4b6fea1b2302aac24787fab0dc8f5a49812b04eaa1d6a2a53a5e88e73197830, 0x155ad36cda56d25cc7669787318ffd446053cdd04afc2345efc3fb703f2406b, 0x514767ecef3e00d3f33b7ab50b5b9878f725c6dea9db5db07570f3b60613a99, 0x119104fab3d6b214d91fd5ff12aaada04d29ddc17e9b42e1b91e367f8b1d8bb, 0x1cf1120b5c9764e4b0e9b4229fe078222b96b12b3023cb44ad6e869ecc93ded, 0x344beb2f3fc53ffb987a3d28883e17c1a5cdbfb4303bdf63cf0f099ea5b4704, 0x2a18fb99b7490327e783f8d67a6c9a365eb5fb55272cdfea7fb370a2c578bbf, 0x39b849dc0aca02f3da9e3bd2ae6a5fc7ed88690e3e720b2dc96b99f32604310, 0x1ca123e5c4a2830d2564ae668599a643ec9ca036167ec5da6d3795d897ebeaa, 0x157042df629ed9991e578856c9ffdb80ab318a45e087c10db33222dfc785fad, 0x375691a678e619a2c01c20baf1af5a675a290887afd30d4989b6f16e04b3770, 0x4986cecd86d54e0216d4f4769851121fc937f5bb066d08d992dd534d6e7a39f, 0x481db912401b6d62103bd7fdd87c0903df6fbbfeac2e8f26f2499a92216f62e, 0x7c2211cddc2ea4c5a3e5010c448fc587181214b34702ace45103774d8601171, 0x317d431a9aacf9643f2a5d680a52baf9fa8acea83e0dda0aa6e007e835c3703, 0x3d93a07ab9a947700b2e578245f7d3d9b619d038601afbd437aea2e17c0e1af, 0x3410eaef7d00e980a2a8ab34a3402be23cf4ae5521a9e64d0b580150428361d, 0x766cf630d81274bb7f16cc6dcc2d26abc8e2b619f6451fdc0e01aa9489b8849, 0x17b9c166a7591d8363b53b38e8999e20624a230ab90d93bc78fa43c92d1bdaa, 0x335b3a7b8c72dd794e8f260ffe9849e252e0b1f49f625c1f972d11e268440b9, 0x3f88479d652c2a04eda7698dbc4944d33f1631b82922bdb2a82654c7734a817, 0x1d7777a13a1ff702dd78a0d322345eac519d6e82ef610899a8e35ebaac96352, 0x30098d1d8913f73bd9e44059d3f9c49f24e144d94d93dc1c549df5e12690451, 0x65525a3c22e53ba60840ac5538baeb8a3ff2301503e7daefd3fd8f22a4c2b46, 0x2a4d4cd42703b4dcc61b5d3dd89d57b4be7188a93ca1c36fd2e68054009deae, 0xc91a6c3f782e0c153f4a7b34811a51fac9e83c8b75cf9dea428c358786238e, 0x613512d9591df92fdce6147baa1ecbd04d10478bc1d09fde5d95ea938acfc5b, 0x496666fe2ffbc99267b841a25b1df3719b94a86cbac35e3a9a43a2626ce0be6, 0x7a23471e57d5f162c5e67d5b67190f44125a98c3bf8ea6257bb0f998615031e, 0x40fac2e713cd44fc1b7cc9b0791c0526b502e4fbb3db4324fb2ea2eae8fe693, 0x11fd7de31411f5bbb0081163de79549e4f0db77fea54032e0b5c491f1d062aa, 0x7ca613cd6e79c6e483d15c6fdd4c460b81525bb2d9c0af58944b0a50a5dc49e, 0x83dc0280cd76da69ecb727d9dfe94695df35bdf1f0061d132ab0bf8e84a98e, 0x779e088f88c26d813382c3749c3a21717b140d6cdad4143f989423b12ee4420, 0x1a0b5d54fc7b6d99ede539de893265acc7b37641ca1c8f2812b93dfb6ff5794, 0x3827fd3047928293d3a3a4b6d0698d3d14f5ebce6e4baa23152d44e45c01913, 0x30ba2f7678e81f781b0fbe9386a207bb588ef03656df3c32878e14052a412ff, 0x1a0fa03007fd511e32e158c1c041f73489976564f7a3c81b676b28774d9c360, 0x2313ded7c4c9bd126abbe21a97f63246960411f0d27f317d313b166601b5631, 0x52c588d44bd05998bd38186399dccd6851ee5385f92f730a5f61ea7c89f150a, 0x4f487c3ee9f1301fc4985103e2580ce629d6d01dce8d91bebcb47fa9bcac51d, 0x400a1dfa12751894496f575d29e397040c4a94754e59273e261b8559a004ce0, 0x7d34c4bd87ebaa609154ae5a1bc1854ce74138019323daee60a8e674f1d749c, 0x4b459e97368a0f741b208b87eca80d01d7e79d9e0572abf1ca78d9a3dfffc1e, 0x32768823e415b9d6f6a6ef685b15cde865e388ef6644f56ce0b5f18ede14e3f, 0x1acbd9578bf17a015adee0ad144bca314410f58bf7d20b7cc037aa3795390ee, 0x3d68a2f7a781dba2620d98fc64bab9063bf84865ecba83d0402c9644cdee7ab, 0x1aa2d28f54fb96102cf465907b595744ee1853208d5d3b00968175ab95762d3, 0xd955c826facabd68c6b77ab917660b0124e3321774c09cd950868270ab2d4a, 0x6cb5bf3e857a94b9f5b2c770ac31cafc396d524537fab2f75f71c383cf19f5, 0x75a1995d99f7f2aeb56b2ab32811baebedac8c3154f303764cc09c8331a3ef7, 0x6448e006dfe91ee22c51929695122a2588fd26e201fcdbca53f3197acdb9009, 0xef9eafec849de7d0f3c075814a8d9e52f88b47e612fed005d5f31a70cb8369, 0x4dd3612326d5fa9cc3d588763a812d2e2bc1252f786e9f38e20d7f29c2284f5, 0x1605441626ca0b5f5501f74612d8f28b09b05ee82fd654d84a92eea73ed222b, 0x1c9091ac7b7ce85df6a9715b5bb0bb08a461996d7ecd5cd59bad1fc6e92e565, 0x65f6e1ab7a0eeacf204db1f4e6987d26724595657b8e181a930af30184a3f0, 0x29571fcb79c65b4dd361ad0568730197d6a55dcf187c7adb21b88eb651d6484, 0x17c3ed575ec4eaa5e1e9c91f8b508f0fb607545729e57bec37b3da1d2263c62, 0x5460c4e492b0f50de1d47286b870cb6361b200b4476536db47549fa4cea9fc5, 0x6831eaf9764b69dcf1b6473afa5d403e7265dfcf3a96ac6161d2ed3b079acad, 0x30f5d8ff6c87f48ee78180b703a678987b2fdbd52f50d0d52d22c83bbe8eb40, 0x6e7ea10610b40a659f139eb8067b7f21943c3504a700290fbb63bbb19083ebb, 0x5a0d1188995cb8ceb184ee18fe419f6c7f45a46e1a27844209e551645ba8b94, 0x742c7d5f5e909bab5c242ab486334e869ed109ae161f29eb50596187582a56b, 0x7554fed1336b9b5f43d560f5fef898e9d358246b98fa5465261aee6798b11ff, 0x45488780cd91f04ca45ccdf17fbbd1394a59f4c14f0dbeb1453c9ee70d89a21, 0x28e91210e3b30625ba4e900e646037cbf9aa3418e0461d5fc08dfd08ab2b2f9, 0x7cb02cc44722ff10eee2f5bd9bfc43db89558dec397cec44286ad0448fd7562, 0x7f79ca06d2effc42d39d4982592e5529b3e9fabae43ea85fa29a0cf66177cdc, 0x108fb2d2dfd3fcfcf136cd511613c0e7485dbdc2763c4a2b8fcb6de24dbb461, 0x730db5de252adb58e57e9fb09e39a352b054327aefe709182858325f96f6890, 0x1bdd917c0170e168c4e1fa25e5f128673379c75c28477d901ef546afb47f080, 0x33a8610f41dd8b72666441537b12709bfdc7b79f914c52bc63e5817f17f53dc, 0x707de6b2c3c50a6fe8074c077f03c17a1933eeda96ad27659c2fff5170381c0, 0x3d58779d4774beda085070e12fbd2da8aed4e1caa177ada5f09e3d143dcf8d5, 0x545699a39acd250f145c9e7da8843332ca430126c718f5bee839a0b17f5b6c1, 0x4007a172acb5a304b6493c4d99a6856fbdec6626bc702a5a76425a7340ead68, 0x11f1d4bda02e6fd140221a4fc2443306e54161151660cad45fd47958e85a4d8, 0x2cfac026405cadeecfbe87cce56a25d8db45b72af8c51c65e0698da6ee1bdb, 0xae7e92da3ad4503d6a5598e94b4bd52e4eb495029a99c996cae456bb4d3d78, 0x5013f248ee45aa3b1b9c28508d89eb8175ea5405fa5ac20f4789c92e677e623, 0x7d1e8b63f411418c996705c33c35b21064a6ce2ad29dafd662289cc161d3f8e, 0x1dab056484f908d4027bdccfa3f3be5cfb5433d8a00a11a98ef8c8c2da99e25, 0x6dcee1ea3845c7dad1548469ff91f4260ae1b8a70d44afc9455a2d728994a31, 0x7db4d07fd3c506b23c838e4d94430748ca77c7daa19c1fce75e9d6a035082e4, 0xfb82a9853f54dd4047ceef4ca6e8272e563e5abb4535e89e7eb0d40dc05fc6, 0x369fcc0bc846413ea742f2361462d247604fc661f1b4dd7fdf4c1aa9f53b64, 0x59f72e6e8683095c89f19d565f2aa02e46dd9e9cfdef8a0ce972b748efbfb4a, 0x48eced14940489592f60ba239ac36ece65185e94da279da84b6fb78192cb883, 0x54d29271c9eab593619f212177af86e64ca6f6ccc2dbb81448578a2de08a19c, 0x2326f7c8158f55ea9c52da6f313a34f2a30795c32b526edfb561f41c94f4c55, 0x1c6d9fea074cf3ca13df5202e4314d07ccd77720fcb74e40da151679e0b4ebe, 0x30256b73ebcf45779d805a8a9d7e16489725816b9beaa07716627cade327435, 0x1b32e4a93b9cde356ecb4ebde82385580eb7cbcfa0dc7ee444ebc2baf2eb5a4, 0x1ea460f34a5e6ea7b4ca65ff51d41c87900b40cbe19ed88a3ee73e055049467, 0x756cf1b3db222fdbb876f8357b849b29c80fea111452c317f06dfbf29d57142, 0x49dbb1d0d9f5f8e90b341ae11cddccace9fde415fb8e8fc1d5d73dc1dcf1ff9, 0x448dc4492edc2aa7cdd0d516cdcf24ea368ab3943b053ec4f84542b9345346c, 0x2e7861497216dc76bed7b09dabfe23feb7cacc4f255348d0a6a03052bab686f, 0x7db683698e8a474c56d767f859dac4acc7388ed3dce6a171fced0052429cffe, 0x4f25685a20ad2dfb4e4ad162a05ecbc1b00bd410062fc8cb05dd49bae2042b2, 0x5066a4c57a24c57ce2b50e3e87e65c0c89bb5425030bb552af9347637b4a461, 0x5e50d16c0701ba8772594db85da348154d645476c4f730af943a9e180890548, 0x440c047f3cb8fbfd549e2924aed54b965f33e50e366f325d367ef34e69587d2, 0x7ad65e72982b2f4306c1379b9b7c00b09edf21a26636dfdb953db0f9aedb441, 0x2406a0449b1ed4abd8fc034739bf3582737cecfbe1cd4119cdc6230b9c918ea, 0x6d0fb89bc233eff8962afa8611aa1647da0f6e67f24f149bf0bc56bedcb4753, 0x2507a4b7c3596291efa9b8915f34c0e2de6e54590ffb2f0f77f1926cdea7369, 0x2c2632e56846c7c02c15a87bf902d779f55677a5ac3c67d749d2a6131f86ec4)", + "V->P: /cpu air/STARK/Out Of Domain Sampling: Constraint polynomial random element: Field Element(0x7868c5d7840087a855b30079a12cc1d5eeaedb666607b31e33175f41d3b535f)", + "P->V[4416:4448]: /cpu air/STARK/FRI/Commitment/Layer 1: Commitment: Hash(0x31b917291bbb3d38f7bc196dee1f3638ca197512162a4bdeb1ce814619c1625)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 2: Evaluation point: Field Element(0x3fa22931f1e5f47eb6273e90ee38c37a21730bb432f6ef09c7c8f8c4e7b7fff)", + "P->V[4448:4480]: /cpu air/STARK/FRI/Commitment/Layer 2: Commitment: Hash(0x6624e597bb2bb22da8bf9c67d496f0617bf5d94bb5e93c913d944d719648db7)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 3: Evaluation point: Field Element(0x3ddf9d5e37efba73cfb4462c679befb50ce52abfa5d472757f69ce36f079153)", + "P->V[4480:4512]: /cpu air/STARK/FRI/Commitment/Layer 3: Commitment: Hash(0x3da9b8b9c1459d47bcb1718147764e93b3efa7bda2577b62bf61326d7f29fca)", + "V->P: /cpu air/STARK/FRI/Commitment/Layer 4: Evaluation point: Field Element(0x62ac06a271ccd8f5639e89807f6ab19a77d804d0e0b20ee2f704200448d64e9)", + "P->V[4512:8608]: /cpu air/STARK/FRI/Commitment/Last Layer: Coefficients: Field Elements(0x7f2cb36ed5d087845544edd13816da97719906ba0fc977a0719b84bacc19946, 0x19a3507c1b76f4cc4114fe42ecc35bbb99661c6474e586f534c4a367037d153, 0xfc8e8e6b1b5b27227b7e7f731e198fc781b1f6fae29ea3fb18b4f555fb0052, 0x13ceb909afa012ec5999d44b1f500f94b23ae4f8e12d601a3e5491eabde66f1, 0x47e06a3505238058a7936c4dd822f55fa68261a31077b21de75298787e988ab, 0x72f31b483e3c14a4e31423817d548a2f5f4bfb35d820cd69f8debea6e4dd852, 0x661235f6caba193782a133eb7abab055bd65e56e8a0c2b808f7e3b53fc393b, 0x7f5605218124dceeec53138d5282f0975220946d648742c6261206d7b781fc1, 0x694d91e595410104c43ed2de3cfda68884cc9422d0aab1ee3faa7f647e25eb4, 0x24b881d9cec68b9936a551a3dd97531b39294377bb8c9c2584f31f549680b5, 0x6a46bacb1b35a72738a2bff02449d0df9fb8bc8cfac1f86c3df0d5768c1b777, 0x5961e29259b09cce96e6f2fc487c20742dc137df73a12c91d9853182b2e4355, 0x4bb611b0f87bbe3eff611188fa0e415457e76c5b44b4f05549fd3ee8a1d663e, 0x77761451d3e9fba31c9c4d04ac42cbe6c6fd62d313369beaf4e21928c6e61a, 0x1d2ff12403d815c256eb21b745f643a44b9a2bc0e99341620abf6a7332bd535, 0x35d1005b7df9e3fa61edf065c05c821171b23c62041259766841bfc0daa4b1b, 0xa8881a865fc6747492e6d46d0b7499ab28cba25d8357515eed4cf9b135638f, 0x4f4d99f2cd415e479ad999d1e32ef1f28e857a18eb658aeffaad0956d202264, 0x5509062c57aa36225e15d32f4a4913ffabe6e81d364ca116fb82b74c592f493, 0x7adcfc21d03c0e4b5300881888e94b12017ec7444e34d9c9abd8f55e2977788, 0x4a7c190dd79ed2af284ce2be6642917873cfad98ce57e0a03152133cf269cf6, 0x21ef8bde3feca2999419b2f52ad3daa9765f525aeea951e693ea0a9da131d32, 0x708d8d2ace62ba5f361f8742ea123a08c93d72d2da60a54edad702c6f1cfd27, 0x5ac07d6aea5acb8b769fba484adddc629b82b8ac110f0acc7eb8566e1290049, 0x166a5fa814cce4915c990993e5c19028a7e86158c397ec44be40230a8459d6c, 0x104c83b109143f3e451530d1290f397383550dd6ceafa8656326bf1f38d900c, 0x2fbbaaf57e6ac4246b6bfe4b59db293e55bb0210868ee381b8bc8f094a7887c, 0x5a5b2e222763c3ac8042888435c9bda404ae81d222283665f7afe4e19471867, 0x54841ed3be1336f4a1a724f4b5591894f3e13f38a0f12f385c88a39e025f4e4, 0x3e5640fa70b54f37f47063c56ebce8881d0413c4dc2a9f236319896ff7d5b2, 0x73f92f0620b5b13047bf85f4ea39b4e5d2bbafb4da603f21a5f1dccc9b971bf, 0x3da632d13f659c4df470e31bbe8aabf8f6357ffb1e4d9adf24f7229502028c2, 0x1104b2b9bab021249491a306f066c9ef7f9ee6fd3961cf93c1b6c699f1cbd5e, 0x6274cff482293af399566e3b95af0491b01b062a92cd6570a640092fe92886e, 0x2caeb4c2b13a096489f12a5c68f1738dbfcbbb58e53c26d6fbe717ae7738943, 0x5ad599f6fa9989946f79598371f9177eefce567b685f5a81d33cd0ccea6f29b, 0x784f5da19701bafee6bec4df6cf8e370b0f7f83506f8963fc4ab045bbcddc8f, 0x7fd786b67ce3faf4f6cea9f39efa07cfb0fb9adb6f5060b07970436dafcb033, 0x2c272174488d48246151a2bac4de621ca0a323fa41925aaa344d8e71a517ae4, 0x10576642c416323574ca8e3b1c774631c0ccc4aedb3e0e3590e4aaaa32110b2, 0x13aa5ddd21db7af1339aa527339d45858ccc209da04bdbe57716f69b51334a7, 0x29180367524801e76cb46f6ae6fa4b48f2d91afd4e31b5713605aa3576fe15d, 0x29800b3fa06b25bf0a2ee00226e799cd91473e2b9b841226ed68573671319ce, 0x5edcd3553e0d12fbcbf3d611b004501a53fa86b930ec7378c3944ea191cd467, 0x2c9b5bfe19ece4728e34e70bc230ef962097131892ab2af12cce0c13846ee73, 0x58ed02cc7165fb3cc474e33f78637a4ae27729b503cd29ae9817015f4244b02, 0xb575cd1df3bde009c99ef1242f6787388dfad46292c0d2d2fb15e45b57ef37, 0x547b28124982a3eba28d662b5224e14fbd98507e1027fd8dc6f4a5807b8deca, 0x3c1ddef02bdd204e6ca94848776bd7975bb8e274c8f8dec5820979af58e9bd1, 0x41e91d1fe208e8dd3ea05c8de59c9b96a3feba642cb668ac9011f07c4b92760, 0x21002764ffb70f698f17a3ac070889d2f3a106ed321d305ac45970c4ed84a75, 0x74bfa6ddb2a715a54180f2e4a023910f0cf1a9605c88be9c5c0fb194aec3ba5, 0x1a940f91c864fba573b40fbb7ad4187d824c535845512a123b35e0cdcbbb11f, 0x4374687ec61169136b66bc5188f432f17174a80ea58f3b3035c2a2f21413c98, 0x48ed79f07e66d73896c2736ed52b188630bed24173e687a15ce3df885fb3452, 0x41bf6ead7fb289fa428a5a3cc7be81bfea80dcdfbb6c57bcb3f59714a26ba93, 0x6b6112b123d30503563d4d0a95a4035a4e03f93375214c185ebee417c59466c, 0x4a7465bf04785ae79116ffbfd2686943f61ee7cd7f0cb5561189a5e85ebb99f, 0x3eb7c4ea3b5892ed2aa66e2be12110d1e3eb473a981543bb44c2b6c812c7ec8, 0x53bf298202a8301a22f17ca6e1367bf274532267ef9fef794abe5ca5254a15f, 0x2a66517d4f30571f08b443d0214c7187ff046f2bdc2ee354420cd1277ca327f, 0x3e51fa90460aa80121af135e1c5e86979f7eb363edf93e1d2d7b2155c5af79c, 0x37de47aafc37ee144648ee16d6a2ce8a039a87ddd8398e3ae4978e6753e3220, 0x658a70ad85e725eb693f96d552ee92c6d16d42ced534b76ef6f5c3b407e0614, 0x2487b526526609296431ff6c25efa3fe288d704270f3208badbf32a85f19937, 0x4c69432ea5f8c7b1dd94bf4380e8a9c62a331c807982354b1f9a23988f84dcc, 0x618825a756fb6d6538493293666e4345cbd8f1ac793dc9185b69d1d3e6d702f, 0x46b0ee36fdca33e4548d2ff0e585d51857ed5140fd3fe497d4fa28292ed8b78, 0x7702d60d33d99f26428b4cbb75d5ac9e7aa735491a7994a698ed33bf6f76846, 0x3554dedaa59b4560b04f9ad359a9a34eb9fe8172126ac85c9fdb81c51bbab9c, 0x3f47df27ab0782e9e8cfc78dfad923c97ddf2b8f495a8537d40719f2d4f7a86, 0x3a59d6505791af04721051c6247dc456a5bf0f716eb2ddd0fde59f80a8213f8, 0x7d1cb76501b3009d1cde2bd090023abf44ec36ac9ce06d35b7eead1332476d0, 0x17b0c51c92413ccdb76932954972a76d3b1bc06f0232b2bd046c8bef2f3e946, 0x55cd66a7d50bba89c9c28a3cc870044e7172c2536e0846cdea497492fd0c052, 0x21e5154928899f66f5f3451e985dab628f28b972447cb9f3649fd33ddc5aba4, 0x70436c4bf36a28f07cffa09b376a5721dc19e0f0dca1de0fbe543d517807ac9, 0x7d7dfa3b517d80d99afc2b8914100e12af76958984503a32410ab37005381d7, 0x616d82b9b773887bb8d0273b30aec9e7843e8fea19e49f0623e686d66293c43, 0x527921dc4861667c9260ba1c1696a1cdbfe2a21d04409acd5252e917c272ac4, 0x59146facc3d6634502b52c0ee41eea88441518e2c63654a49bb96376af5119f, 0x2eac2feac0ff17cc62140baa04f69f64c49c80fd52fec78e49a6225ed09d27e, 0xf9ae2d346ba7a072bde519c6069b3691ccb2403e9edb0eb4ce7d10f91cd5eb, 0x78ec572837c09dc0393774f222c69621baa23a18abde58802b2983705982bf7, 0x6c4ef4211758abfee7fed075457c17871b27edb5b00406ff07c152a9683cd03, 0x1d38804d9d302140ab6fc456e70b470176581de7523351c584016ed0ea82120, 0x3ef7ecb2ca75090a6f7f348a913971267971d4e0b1270efc009ba535949cb53, 0x2ca4c58c05c08df6bc2ee2376221627e016f4de7402bce73efd747b7442977, 0x283de1a5963e6fa07e5eb4f1fe8bba38895abbeba740e4a8f514e5833496220, 0x2f7b2faf956a3db6fd6f6c08f41ce577061e2ddea48d817dfa7264d9ef51452, 0x63b993c55d5213c029f056a4d19cc457c15b8b1f60833e4bc8b2ae7080b1ecc, 0x715aeec9bdb3ddacca0fc4d4ced7761997183c8a7a57727fc37fe3ce2a13ff9, 0x7f272d7f95a7e4c867fb21e89f536a1fc830a9056c04cedf8033fd9c923a474, 0x343180838c6cf786c7c4b0f499025dbcd778b6b3bd582fca72872a7fd086915, 0x52fd5eb8431549e85840d21df778120ad196acc0ccaf6525d0108e958831223, 0x5cc83b332324b86ee46eb5e289a417df8661735d625b931b03b2e6e07276198, 0x1d1e0b6b9be23d0efe503f4d8acc8f25a1da014650f5a7314afdf18ef944bf1, 0x752362b54e606dd6c1106839103649c4ca4920753acc1c27439c0abfc84fea0, 0x56890fdcaebad05fcd892f8faff7b8907813b8058c656121ae5aa8c925d80e9, 0x223231c98797cb5ebb677a781ee8d55b97908105251bc3942a11377dce30349, 0x45e85d09b8da2de21df7c1acddb935cd20a4fe3945ceb1128afbc3cbb1b0182, 0x69012c6cdf5275d5a42530d58417af32b9f386bb6a3261705ed92f11fb8f43b, 0x2bb128bc1917739839d7cb56ccbd9b173ef39c0ba4ff2f9e91017f6b629e495, 0x6d9c2d7ad1f039c564f798b99d39c9b9245b83ac6af3260bc159f3c75bf9e19, 0x499107a7cfbef2b503c00f7080ac19fe43efe10f964b6c3b38bf697f69e85b5, 0x74e2863ba7723220689990bf36bdd8b25700f4ebec73d5548f864bfb6c16cbb, 0x5ba34fd3eb325fa4117885347340733b12c6a96e5f88f8d5ac0ee1b9bdea7d0, 0x2543ca99bd9a072da373ae8d23053af8c3f75bc7a957704c7742f514f2544c3, 0x3602e0a4b427f31b301d3dc302093dd65dc4ad2613a6c0cd86703a35b4cd0bb, 0x2cdc04a9c9190594933ec69676caf1afcd5d445a9222ad295324cfb1ddefd41, 0x1fa01e613703e00c5dd8010bd82464ad807a096c71d795045aff9f9155d5625, 0x2f0d948433213ec4041640645ef717f50f54f26bef0bef8af7bdba21675223, 0x6f42832b64502c5e4f8e12eef8d821a2de91638500db6e25915fd7501c7c913, 0x24e3ab9a9edc1355fd36c7bf0476ed68b47c3f407b726daf40011a7ff735faa, 0x72a5175a3c107912637985ee16f55c83ebe152b2935d58841284ec251b18408, 0x605bc4c479030b5e54e56fc154177dcc85a137e76414f43179ecd3b31ae154, 0x65af291756d54eb3eeec64c609e7e948b98e931d4aea4955972f1a0de5ece4e, 0x44e65a75c100f61a1aad4e49520ce6b48c8ff8f95ff5f6d10dd557965c1f20, 0x6f8d04819ad2b736c8df44094de0ca718a3a5bec686feb70c597a324af7f9a4, 0x664b2dd41fc3997e454000ed58b0be338c5d60e948a864ecfe286d294bb670a, 0x4b2fa087466842b492f2444609dd6464b9fa5ade0f019339bf3ec3f46ac3d4c, 0x2e8aa2bf25545ca53c60d2a36283f37416f2c33af12472baa97418984cb7249, 0x6dba6ed5798cafd7df56130f3a2794387bff406f1fe6cc6185854c743b7dff9, 0x2bc84a8110c218070fc3f6cb5577eda95e38a19929fc047e70d1090f119d8f5, 0x1620e3f21ec8ee17629fe92a40c756995a4a3c90c48e0e8a4d5a7cb43434aa5, 0x71326f4cfac567eae3f732bc9b4cb889a9ae2d351bb29a6764ef50794c3cd1f, 0x7574cc22683360543d3ab75fe84c3b4119322bc89753a1af68895042ebbb742, 0x2663a6e01cab9ee33702b4744ab710ba10a0aeef098d3126f19bc7477e4411b)", + "P->V[8608:8640]: /cpu air/STARK/FRI/Proof of Work: POW: Data(0x16ef3c76)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 0: Number(602803)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 1: Number(639710)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 2: Number(742039)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 3: Number(836544)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 4: Number(218834)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 5: Number(929254)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 6: Number(579268)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 7: Number(199964)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 8: Number(168379)", + "V->P: /cpu air/STARK/FRI/QueryIndices: 9: Number(191446)", + "P->V[8640:8672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 168379, Column 0: Field Element(0x468d3e0d2126fa46d33507ff351eb5be84b8a75dd141374b2fbaf52fc0b3a93)", + "P->V[8672:8704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 168379, Column 1: Field Element(0x6204f6e36020c166a1f1ca7151b66bb68ba4913a5784ff3f5860ab2a1eaa7ac)", + "P->V[8704:8736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 168379, Column 2: Field Element(0x70b762785e3eb8754acc79387ec49c5ed475167d9c5f1dfc6703a5fde8c57f2)", + "P->V[8736:8768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 168379, Column 3: Field Element(0x4d5d6c728cb2583d5624789c531ca39f054df3f9054e0b96958bb061b28b2e3)", + "P->V[8768:8800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 168379, Column 4: Field Element(0x79cb8dc408fdca6e2286f868dbcade28b36ecc5f7be9a3c79af28b3918b1bfe)", + "P->V[8800:8832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 168379, Column 5: Field Element(0x5eb21b5be1684a9ccd2e54c440914840188fe73443074091956b627ddf4be8d)", + "P->V[8832:8864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 168379, Column 6: Field Element(0x7b4a70b9809aa9b3f77893ee879fecc1d7e06124db887368ffbf28da068d324)", + "P->V[8864:8896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 191446, Column 0: Field Element(0x71f0e9ed706425310228421ba38fb81f259036a93f3aa057c38b7d9066e51cd)", + "P->V[8896:8928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 191446, Column 1: Field Element(0x76a7c5acf9b962775f6c3a2276bb2ef19603700d4f142f7fddc9fb749a9005b)", + "P->V[8928:8960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 191446, Column 2: Field Element(0x4754b174f2c45d5c1f9d12dc6e8e9c4c7b198deafcd02634a66f0c9da90ac73)", + "P->V[8960:8992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 191446, Column 3: Field Element(0x129947885fe1e7789b971b43f5e2ece3099909747e35151d5a3245f396ef962)", + "P->V[8992:9024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 191446, Column 4: Field Element(0xb6c0efa1caf87f11cc0628f60dee62caa4547b85633b5ec77e8546251497ef)", + "P->V[9024:9056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 191446, Column 5: Field Element(0x55a4bfbaaebbb95c5f2f34b1be279941a45acc95c19329b8b618f7dccf26915)", + "P->V[9056:9088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 191446, Column 6: Field Element(0x777ccb07dd1d04849e9b0d729047a63136a31091a853273cead5e25a965995f)", + "P->V[9088:9120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 199964, Column 0: Field Element(0x1d05c7aff084decdc7c6a6644fe8a1a7a7df86d0fca3e43fec2ebe64ddb6545)", + "P->V[9120:9152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 199964, Column 1: Field Element(0x1dc9a97610c54930b05f809975fbe02a2a5d1224c61743862011324458fce0c)", + "P->V[9152:9184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 199964, Column 2: Field Element(0x2fdd768266debe8fc5af8083df351a700139052151a1a7062161c7c7e77faf3)", + "P->V[9184:9216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 199964, Column 3: Field Element(0x7de76f5219ec97596e90ba709a1d1a4c5c516f16d282a4c18adb812edd36dc)", + "P->V[9216:9248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 199964, Column 4: Field Element(0x3e69cc430d8f04d8876a0a7021c94f55c5601db98e09a7dd5091d18626b089a)", + "P->V[9248:9280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 199964, Column 5: Field Element(0x18f8329ac27fdcf986aefff2cb7434459bceee463fcd6b8b48bc6fd5330e8ef)", + "P->V[9280:9312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 199964, Column 6: Field Element(0x40b02ea4be1641568815bdbae6a7ff82c612e43c86fe94d3f91cb8bcd953876)", + "P->V[9312:9344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 218834, Column 0: Field Element(0x50548ec811b5e2327c95a6ee7beeecea08c9e0f52096995384a1b3fc9ccaa51)", + "P->V[9344:9376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 218834, Column 1: Field Element(0x4385cb6289e16bd09e9258719134e751b3c76a6704bde0db543805f60368acc)", + "P->V[9376:9408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 218834, Column 2: Field Element(0x264c5029c4858cd2e04be5c791517aba215e2d50ae9e810d19146fce8eee2c4)", + "P->V[9408:9440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 218834, Column 3: Field Element(0x4b1f02ed549646c67acee51d793d1cb7de1dfc566797457eb19f0aedd61caf9)", + "P->V[9440:9472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 218834, Column 4: Field Element(0xd6f9db7a429069d8cfb19bd9f0292798cdd9a94bdc8e811aa0aa2df9832c2c)", + "P->V[9472:9504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 218834, Column 5: Field Element(0x588f4d2b62d47f82d6722a003d498d14819cf9b38b8b2501667993fb6459a97)", + "P->V[9504:9536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 218834, Column 6: Field Element(0x4c0195c0d04a94bde3414c087742e765efbda74e463c22c0940b7e322ef2486)", + "P->V[9536:9568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 579268, Column 0: Field Element(0x5025ec3b87cb14ee8c76a918efaa51910213653d6fe71756ebc8f439864676e)", + "P->V[9568:9600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 579268, Column 1: Field Element(0x51ae81f9c3fc1a3078c65256f79a377639aaee57d7edf0584b825b1eca69ce7)", + "P->V[9600:9632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 579268, Column 2: Field Element(0x33371d84a827c18c7d57c4e6f6c19040f8d085c36df14fe06b0d8d870d3b8e)", + "P->V[9632:9664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 579268, Column 3: Field Element(0x3d7381412029598df489a10baa52f570d71e74022b06d8d8b8915883f8c46f0)", + "P->V[9664:9696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 579268, Column 4: Field Element(0x4b4f6eb8ef3024b719483817b70f25653cbc59334c60aa62ca9de9f876f66a8)", + "P->V[9696:9728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 579268, Column 5: Field Element(0x3723c07ae6b56e99871d2961a4461e77a7395af4d5e366a3fac871628d414c9)", + "P->V[9728:9760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 579268, Column 6: Field Element(0xe29407b32bcee2edd8a5c25b7cc47fc136646f81fc626818ed463f05b2dc5d)", + "P->V[9760:9792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 602803, Column 0: Field Element(0x1816f6df1b819fd3813fcbfff4d9f9ee023031d0ce4be44253b33e5e2d3c820)", + "P->V[9792:9824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 602803, Column 1: Field Element(0x2c3faab7158d5b35af1aed0a761ba20fc1675231f43dba74970b7071b5a24ac)", + "P->V[9824:9856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 602803, Column 2: Field Element(0x4f1f5d1f7d70dcbe602f7709b97690b8d3844b7f26b4ee57025e0cbc8e708d9)", + "P->V[9856:9888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 602803, Column 3: Field Element(0x46064801fcf4d43f3520b2e7247b83469e9d96773a1b176cea99edec8bc6ae9)", + "P->V[9888:9920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 602803, Column 4: Field Element(0x52ac4bf0aa8919e387cdddf6fc66950d0aef3671e3857aff340a91b052c2621)", + "P->V[9920:9952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 602803, Column 5: Field Element(0x70f5f585addb8ad03d59eb8d6d4a10dc2df6e3744f8d2880a713899d29d0efa)", + "P->V[9952:9984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 602803, Column 6: Field Element(0x12122e4b71cdadacef4c3207373be197af7d788215eeae8bd5ddb4e6ac38118)", + "P->V[9984:10016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 639710, Column 0: Field Element(0x651198e84c0ef6a3499bfdf579a2161a47f9c8c1a64c846616342e994652d35)", + "P->V[10016:10048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 639710, Column 1: Field Element(0x31cde656052d02f063c311a87b3f3b6133c2893694e9a683045203d4fa76179)", + "P->V[10048:10080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 639710, Column 2: Field Element(0x48217bcb073089cfb0dd79b342034e8a40fbd71c155aa37775027965d12d8a0)", + "P->V[10080:10112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 639710, Column 3: Field Element(0x6b2d25f9d9289d6c02d0ac9b023f7595ffedabb24e58e47a801debf8c64c151)", + "P->V[10112:10144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 639710, Column 4: Field Element(0x54c25e2ff4b07534be572cb40daa857004402e16c6b66ba329e329025aca3b1)", + "P->V[10144:10176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 639710, Column 5: Field Element(0x7f3601e8c8d295f6044a3aa2590b7ba20c404f9a31a302b91de958c2a129924)", + "P->V[10176:10208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 639710, Column 6: Field Element(0x57df73d0e22ace008ba6482df73db6445ab218530635e970b4d01881c3b7bf4)", + "P->V[10208:10240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 742039, Column 0: Field Element(0x1df2f2a06da37b08c5fbd7abf0dd5289b0fc35cd182d9e2b5e65d5b5938b6d3)", + "P->V[10240:10272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 742039, Column 1: Field Element(0x25c61f9b8e1ccbc47d76bec8edac4b7dc0099db07eb45a12a3e931c79012d5a)", + "P->V[10272:10304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 742039, Column 2: Field Element(0x22d8f28d06f20ccc2a69cc22a1cff685b6da40926fef17fcf81d1703c430f3a)", + "P->V[10304:10336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 742039, Column 3: Field Element(0x6480d1f443394cf7633d9285ac9af2934368caf071c3adbd7c4eab63c16dace)", + "P->V[10336:10368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 742039, Column 4: Field Element(0x5c9f5b4fa738276b9483b352ee76993ece8808ba2ac11613df38d4e0a1f7f51)", + "P->V[10368:10400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 742039, Column 5: Field Element(0x16a8e77a8e58c21dcb0e92c97e52cfc304d2bc29f929a1a0cb7bed43f4cc97a)", + "P->V[10400:10432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 742039, Column 6: Field Element(0x6ad150ce03fd17000cf2a29472e6f5d8b1dcfca370bc7dfad5459a76056c39b)", + "P->V[10432:10464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 836544, Column 0: Field Element(0x30acd2e00a8cf7ed2be5df1149f27a5947c93f02929beb279ac6ebff07276f6)", + "P->V[10464:10496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 836544, Column 1: Field Element(0x2c85678b5c906defaea73ddf34c158fd2e6a3079fccca8fa0de58cc99096910)", + "P->V[10496:10528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 836544, Column 2: Field Element(0x13fd20e818e9d46b357ffd9ec17a41a00ef014d5fb37767f40025da5a672f8e)", + "P->V[10528:10560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 836544, Column 3: Field Element(0x6b902e2f1997f33e11d24c2ad5c4380cc17ea3e113fdf4ee48d07395ecc60f0)", + "P->V[10560:10592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 836544, Column 4: Field Element(0x36dbcc8b0dc4917e54a245e461bfaa22c2564e2786ba924481ebaa2d4bc159a)", + "P->V[10592:10624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 836544, Column 5: Field Element(0x71ddb936aae222cdd3936587a8abc85d25e3dbae8779a5ae2d169d56e4ea76)", + "P->V[10624:10656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 836544, Column 6: Field Element(0x2a5ae3634deab19337b8e41b27a4fb84024ae8ed46676a2360a06e2b99b8766)", + "P->V[10656:10688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 929254, Column 0: Field Element(0x630cd4bc66f2011bc25fd307867951c275d6bae8cf6ea73ad65daf524698b2)", + "P->V[10688:10720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 929254, Column 1: Field Element(0x6ab66ec64d0f1ef327dc2b53be669dd756587e846ff87fe8e58559d923f03dc)", + "P->V[10720:10752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 929254, Column 2: Field Element(0x2555ceb01d0940af981ce8ab8285f9154855549e8dd8f14a15a96ef7ed539ac)", + "P->V[10752:10784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 929254, Column 3: Field Element(0x2a8fe9f06858d090c39917a3b27626278f4d717038e315eb97b1afa95e99cb5)", + "P->V[10784:10816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 929254, Column 4: Field Element(0x75bca1ff6b0cdeed645ba6abf05670c72aebb4973da0f5df819a0d4ce51c9ff)", + "P->V[10816:10848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 929254, Column 5: Field Element(0x5c5c88eee0f126360d2e2636503b87dde062ad65c0d31f3a8344b38d9a175bb)", + "P->V[10848:10880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: Row 929254, Column 6: Field Element(0x15ab8ce91fb01bccb6b1ef4066b600f3928111bf257fe3201f587f51ddd9d20)", + "P->V[10880:10912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1216954: Hash(0x151ee36fe0f33258657b56ea49dfe57eb151785f17fe110db6db8833437823f)", + "P->V[10912:10944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1240023: Hash(0x6d79e6d50a4392485f43a8002b542f2ab6b418ca4621476ea5464da0aeb426)", + "P->V[10944:10976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1248541: Hash(0x713aab828b00fa1784cba89a7fc45b8468dad77564640d2ed64b257d011361b)", + "P->V[10976:11008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1267411: Hash(0x57b5b597dc6d7f2b1da1d9f17e6968baa8f53b8825529bc2a40af71b1fe355)", + "P->V[11008:11040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1627845: Hash(0x4b80fd33434941b8db087a7a407be066a4a763127a1f0904ba62fd19bc09e1d)", + "P->V[11040:11072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1651378: Hash(0x5333a692aa52dfda869dd8fe79413c64bda6551dbbeab2336fd79e4809e5184)", + "P->V[11072:11104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1688287: Hash(0x3ef2b563125cf4039ae36a61c30ce3c7e1c308343d355c311b08d9890805ced)", + "P->V[11104:11136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1790614: Hash(0x46da627397054b3a8bf6a567a86a7eb23d4c159a3a22064d62be459476fad01)", + "P->V[11136:11168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1885121: Hash(0x5779b49d157fedc1d8036a3e47eec0f54b47f67575ee5e1f3b431578fa8f659)", + "P->V[11168:11200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1977831: Hash(0x78d44b9d58d8333ade3bdd71a6dff028c7c2203d0008d36faadfcf2d21b7f93)", + "P->V[11200:11232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 608476: Hash(0x5a116177265cd2bf33ff1fb7bfa9d24ced07cbfbe8607714cbe68bbacd40b34)", + "P->V[11232:11264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 620010: Hash(0x3ed49591edf9a1b1e7483f6105389574250fbf48e302947622b7afc0d80b054)", + "P->V[11264:11296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 624271: Hash(0x7d5f7cd2d623d0ef1acc6480a869cc2f268751be70135f79625277b27f9463b)", + "P->V[11296:11328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 633704: Hash(0x68854456c718a2a1f90b9779f22e0d5a9e8c8556b71761b7a4b4b42d2a89b4)", + "P->V[11328:11360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 813923: Hash(0x5bb178fdeac6238d416b76baace95eee18e3728200af4eeea1f9d2c324e4c3f)", + "P->V[11360:11392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 825688: Hash(0x7cc995209306d32426e01eb18d046eaa3d248ed5140a921199b0b0989ebfbea)", + "P->V[11392:11424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 844142: Hash(0x189ff12da11c42565bf9f7cab212ef8b86bb30c31755cc9a69c8def63db7660)", + "P->V[11424:11456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 895306: Hash(0x7135fb19cd9d19dca6fdbb469f7efbb5897a30f4302632ae9749f65b81887a4)", + "P->V[11456:11488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 942561: Hash(0x2a5b44cff2afbc49c60e42d7465cef3b1beae4f33b77f3779ec9b0c67de19b2)", + "P->V[11488:11520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 988914: Hash(0x201bd4bfb6090f68ecb4a53757ae1788a9d9a297973a23a1e6e36eb49e367dd)", + "P->V[11520:11552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 304239: Hash(0x108f6bf389bf87bbcfba9854f7644985d59a504e326e067197e057b3afafd9b)", + "P->V[11552:11584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 310004: Hash(0x23775b697f660437a7f3f76b659dea4f3282a88b0801b2c2f7d88f7732e16e1)", + "P->V[11584:11616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 312134: Hash(0x1554e5f1dfc75380f0c792ed9af9cfee8e052402930dde02f78aaaa395a9dbd)", + "P->V[11616:11648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 316853: Hash(0x7e0540e8614d4befb2935a8869f3a80f608deefb0630f14d5f4af2279c0bf82)", + "P->V[11648:11680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 406960: Hash(0x579607a5ecaad13beb65e4e54ba25c78c1ee7b6c15de597ace89eed51e447cc)", + "P->V[11680:11712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 412845: Hash(0x7a8c369e562445fbde37b71afeac636169f8b192b12dc207e25428f8e3bdcb6)", + "P->V[11712:11744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 422070: Hash(0x404936b705238ca11a268e6dabfdf573d8b49de39244db3eb429d71309f1413)", + "P->V[11744:11776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 447652: Hash(0x575cec4c3c8e0d5d5faf293bba934e2bf629092b6d2d55b12291c325cc42c1c)", + "P->V[11776:11808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 471281: Hash(0x1e9c6000c76c4ce4dbb3f9a5559c5b735de76fdf19372001b00f08cad000ae5)", + "P->V[11808:11840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 494456: Hash(0x65e0c8db747f85fe30b031678c5f09ed72b1667501691fe5814c8874195f8b5)", + "P->V[11840:11872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 152118: Hash(0x435ee23ebbac0c9354723f783429d9ba5a82822809d3f11e839ddceb35b7f30)", + "P->V[11872:11904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 155003: Hash(0x4a53a39ef2234b4fafd9d9c3b60ab699c58abf61aefbce3cef748276e241f64)", + "P->V[11904:11936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 156066: Hash(0x19a71881419a8c18c7b444a6f0142a7e5f8858a75972d4c515f518e3c2dd388)", + "P->V[11936:11968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 158427: Hash(0x4d7fd19d77f905e567492233a06cd72690807be9ee85cd34a0e7bf29e8456ec)", + "P->V[11968:12000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 203481: Hash(0x6896223e523926e0239209df2806a27e4a6d3bb3f1e2368b132df0870a9ea3a)", + "P->V[12000:12032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 206423: Hash(0x7c47bc3b548166da2d1f97e235529ac01145853e6008d2648816ab6b5c22b94)", + "P->V[12032:12064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 211034: Hash(0x474e3120fddd2970864acd05da3515033f08e790285e134027a27f4154e9644)", + "P->V[12064:12096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 223827: Hash(0x3f7dceaa8abb4d1ca41bea7c4cbf9c36852cb1157ff2b8b6223a6b7d0de8385)", + "P->V[12096:12128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 235641: Hash(0x4793d872ee64a1a1bbefb0610d1530edd32374818237e8eeda8747acbbe1d67)", + "P->V[12128:12160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 247229: Hash(0x71ea4ce20139453f4e5c57135079194c6724256ff2e88ae2d79109ec83e4406)", + "P->V[12160:12192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 76058: Hash(0x69f25cbebef12554c6eb491d4e90de1453ec704d4ff3881f2d2a11cb16275be)", + "P->V[12192:12224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 77500: Hash(0x1c9527cba042059c56f1dbc983a5700971c2362263c05239efe3bc45cf02fd5)", + "P->V[12224:12256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 78032: Hash(0x66e65f946a728e9d2f572d0904e379cf612df91be4ef2e7345ccdece12fa87f)", + "P->V[12256:12288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 79212: Hash(0x60ae6f9fac613a3bef7291b5aba978fac9f25c9a0991533884e61cd8ffa7ce7)", + "P->V[12288:12320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 101741: Hash(0x3192abfee9d1e593a38032fa26745201b6a9f6e4dc0f72666880a9cf229cc16)", + "P->V[12320:12352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 103210: Hash(0x7c1ae8ea149c83445b4c3b3a3c61d0b55db9de384dd00cfcbb96590e99f9aad)", + "P->V[12352:12384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 105516: Hash(0x12bd176b5d64ace6bda763cf0c642be6fe378f06c350012b0f236c86ad1d169)", + "P->V[12384:12416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 111912: Hash(0x56947c5be779dd055eadc1052f1e25a7e201eea7e720c857b8d20c19e6c44df)", + "P->V[12416:12448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 117821: Hash(0x6b2ea36454cce740abcabd5c661115a37333a370d94042f061b98329d295c6c)", + "P->V[12448:12480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 123615: Hash(0x7a3c5a1034b68cab095bff82c4c95044f4bf4f509c269d3cabd8d3c4def177a)", + "P->V[12480:12512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 38028: Hash(0x60cb866ead24040f97d7486b54c887e86fe3561def5e4be65b1f24ca868d66f)", + "P->V[12512:12544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 38751: Hash(0x725260522d7518a71aefed69a36f0135edd9a467ef4d578dce3321c6b356a64)", + "P->V[12544:12576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 39017: Hash(0x43c82654daf28f833b83dd094378bba741744b301093f81603fa04263bd5fc0)", + "P->V[12576:12608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 39607: Hash(0x6794c3a67c8deac1033f0c97f493dffef222f2d249a571a4374fc30b631e8f0)", + "P->V[12608:12640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 50871: Hash(0x34bd4b6fb87c34e8b4f6dc8ab54abf0e9e30c95c70dba15af7435c1bb9637ca)", + "P->V[12640:12672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 51604: Hash(0x6b8f219632df8b30fa34ffc2a24554ad75d593b81f26d566a8dbca5e3d7c6e9)", + "P->V[12672:12704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 52759: Hash(0x773acb2923d8681397f8779192895d0b3d80311db5574378b9f4283355e7ac1)", + "P->V[12704:12736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 55957: Hash(0x1fc8c1c8188d4a9745b204317b5dabdac40d18655db2f62cbae104e6d26b79a)", + "P->V[12736:12768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 58911: Hash(0x3dae38906aff8574cbd163a593af33c6cdef919cc64564c23ade108a5dbe6ec)", + "P->V[12768:12800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 61806: Hash(0x766990ada5f5a679adfe5ccb524fd83ec64b332c7dc11c570fe6d2f71366eef)", + "P->V[12800:12832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 19015: Hash(0x375d333d1f6f62e9482978590b8a7eda88c9f0d3baeb8c3db5ea44335626083)", + "P->V[12832:12864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 19374: Hash(0x4aa37582952a72b64d98f2f5ed34361f24261d66c67fbf46d4eb5aff79da169)", + "P->V[12864:12896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 19509: Hash(0x60480f72a9bea415defef35c252297675a70c3351242ef22ed918defe59a1c7)", + "P->V[12896:12928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 19802: Hash(0x4aa487f4c82669f5c2abb9b0e004d570ed9af13452b4a486a235bf963586ddd)", + "P->V[12928:12960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 25434: Hash(0x358c4ad2cfa8c38cf04bca86cc13a837fa78e18f669d2d42a24b47390188b6c)", + "P->V[12960:12992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 25803: Hash(0x648a39579a8ebcdea40ed5a508aa551afb710d0c92ca6206594e4bd07008890)", + "P->V[12992:13024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26378: Hash(0x73316ca340118c53b4e92e4612151a3d497f3082d49219ef66aedf46f56c739)", + "P->V[13024:13056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 27979: Hash(0x36232ab30d08906d34301671bf3eaf8a136920a281bbb119b53f2c70143fb68)", + "P->V[13056:13088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 29454: Hash(0xaa4ef6e79299af7fc0b56d02fd426906113d8c52f267903c93c166bbd0fa8a)", + "P->V[13088:13120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 30902: Hash(0x5ade63ec86a8bacc4c39abfa7ca6d8227d226c4daa2f1ab00da7820c67e2e)", + "P->V[13120:13152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 9506: Hash(0x7ac869898b65ca8be5a55b9e4e826915897ff62d833e38984bc1e7d9153888b)", + "P->V[13152:13184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 9686: Hash(0x7e3438b4100669895c6ce0603282b318c894b264cecfead4eb6c47e498a17cc)", + "P->V[13184:13216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 9755: Hash(0x3c04dec646c3d0634a8208411c3256e92cbe1868a993c410a5ff9ffda3e9a1d)", + "P->V[13216:13248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 9900: Hash(0x6799983c14ef5a55182e5d6a2dbf6e195a242ff67cd2bb2cb8410ceb92542db)", + "P->V[13248:13280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12716: Hash(0x33a2ae0679a25bdf950a31d162fd3d2d1221cdf418500190eb00678a3940b65)", + "P->V[13280:13312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 12900: Hash(0x14121db15994d01eaa8b8e08e612f9cb05f64c1ebe261a32a46c74ba6bb93c5)", + "P->V[13312:13344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13188: Hash(0x319935fcb6a02fe195371211579c042b657b81328baed64ffb030bdd9152ade)", + "P->V[13344:13376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 13988: Hash(0xf88fa9ff792370e8059a32aac49ec94c3b0206b29da550e7e6cbb51545a1fc)", + "P->V[13376:13408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 14726: Hash(0x1324b1ba88c96a348671fc012e9ffbf94dc588d41afead539812a2883441adf)", + "P->V[13408:13440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 15450: Hash(0x54abb5248911315caeba88e369eef2b2af466cc7b988c510837bef1bb353bd7)", + "P->V[13440:13472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4752: Hash(0x76bf26f7dbedd04e99e7c0c90ef052f4c26f841be301bf9af2fe28aa170989f)", + "P->V[13472:13504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4842: Hash(0x22f6a8a98b41801207c3d1c1b5b244ff22ada504ad3d74054d2ec7f1d2edea9)", + "P->V[13504:13536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4876: Hash(0x752fa9bc57b0a9aa7095655911203db7e606519e2019646a7c9e1b8c7fd58ae)", + "P->V[13536:13568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 4951: Hash(0x30e19732f24f49f9268b0b0af9411cf427692784c91f4cb05c0596938709ca1)", + "P->V[13568:13600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6359: Hash(0x744cfc449f59a15ed931c12f39e321d3d4396abe0f3ba299e3aa0ff06b97b4b)", + "P->V[13600:13632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6451: Hash(0x203b940fd472dbe97ded9c99510ad124e5baf86a6cec60ffbbe65e9e1cf7210)", + "P->V[13632:13664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6595: Hash(0x5b34eb2cb7abd6a2a4b85ec28fa63309cf65926970dae821a8d12396b44fbd3)", + "P->V[13664:13696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 6995: Hash(0x7ac4f3fcd15320dad70d451086a9438fb3ade6a8c63f56f5af3505c21c263c)", + "P->V[13696:13728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7362: Hash(0x3862e7b6f621da0237496ea5a818972a70c179d50c8ce85a81c40c6cb56f82b)", + "P->V[13728:13760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 7724: Hash(0x5c44d6364d99f595f374d3ff8e5fada002f5568f3855188a25cc6155ca37a31)", + "P->V[13760:13792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2377: Hash(0x5664e3367bace04d2905d7a7c56dca2a503243d9e210ea133276656da946577)", + "P->V[13792:13824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2420: Hash(0x512394543be2ec7ba74c2088d4ad225c9129a38ab766dc957ccd9da618fd8ee)", + "P->V[13824:13856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2439: Hash(0x360dfb0babec218dd4d228b1e4d5fd7acf480c8340f142a459c1b378f77f175)", + "P->V[13856:13888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 2474: Hash(0x1536c3d23f8ac9a91f1c7f1123b7fa8e7773b05737062c72c39985d2efbb16b)", + "P->V[13888:13920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3178: Hash(0x27be0703d345b8ad1f1824e5ac1e0cae66c2c4ff4dc5dd21b67abd38297570f)", + "P->V[13920:13952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3224: Hash(0x7b86ce3d1f3b62e9ccc00009986703857a52144278cef3ffe972cf00a62eb77)", + "P->V[13952:13984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3296: Hash(0x7c68bbcc65562d1e4533c06dc1cbc7a0b085d86e4dd63496222cabca699ff85)", + "P->V[13984:14016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3496: Hash(0xfbaa05891b094cfebe547751395499a312fc4c929b53bf273327406260576e)", + "P->V[14016:14048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3680: Hash(0x4cdb5c39ffc35afd15314cfd363cc938e16242715818af4ab85f76a2dc2a065)", + "P->V[14048:14080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 3863: Hash(0x69332525150fdb878baeaba7bf0e5a614e807587b2e24a9abf03e8846d3baef)", + "P->V[14080:14112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1189: Hash(0x70dad1d772f93961b9f0007cbd5465f75193692768c9ebce80e42f88067b002)", + "P->V[14112:14144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1211: Hash(0x24a50e26503d6029f5d10b00a91f39d6a326eb0231266a8e35778af84704f21)", + "P->V[14144:14176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1218: Hash(0x7e39ffb9620e08a52334b4690db4fb054eb12cef815da381a8206a1f2f1087c)", + "P->V[14176:14208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1236: Hash(0x2f0eddc7661e605de7b870ce3dc097eb741dd4107786c0d6fd75d3a48b9b1c2)", + "P->V[14208:14240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1588: Hash(0x8fa6ab43f5961a0300c8ba91dadbbc5b6bf066ed5e40a67ea2d8641941f189)", + "P->V[14240:14272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1613: Hash(0x24df8f6570842897121c912d7cf39beabfa97291fd95f9de9d76aaa2df00419)", + "P->V[14272:14304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1649: Hash(0x7a90e1a10ae95804208231135cfd7ff6f40c8d4319398a9153d9bc55242f03e)", + "P->V[14304:14336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1749: Hash(0x5b7c315c89e2b6dce515accf51ea241783a532e7bac7d38917299bfa22185c9)", + "P->V[14336:14368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1841: Hash(0x6d70174772abcd21087e7bf962b54ab47b10b338ff0ebd49625566e2c8d644c)", + "P->V[14368:14400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 1930: Hash(0x81c89ea7f3547f255b9ab1f52b2f1103c3963e085a863e6bda0bb73c997f40)", + "P->V[14400:14432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 595: Hash(0x36dbdc4ab1845e21ff56e85c78b7e644fce55f399a220657cf41f29968ca065)", + "P->V[14432:14464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 604: Hash(0x45ba653fff9ee56fa2410a8106008683c2de2363796563242e8ec9590f5726a)", + "P->V[14464:14496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 608: Hash(0x1915a574407b58072e7380234bf51969073f451b4867c08846430e2e7f675c1)", + "P->V[14496:14528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 619: Hash(0x32ca52cba8f63ae2282b5739f7c29acb2fab1c7a5becc7af15305dabea55acc)", + "P->V[14528:14560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 795: Hash(0x59d0fb4e18f47a50d7d6c2ac75eb3f44cfc5765be57218aac81f2d1834aaa9b)", + "P->V[14560:14592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 807: Hash(0x7c81b4eecc616444a42dd6949cfe704dc85212f45fe70fa5ff8a993e6c67ce1)", + "P->V[14592:14624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 825: Hash(0x16c075b923a0661214783ec52dba7f8dea9972c91996b6fd78f0f9ebe91254a)", + "P->V[14624:14656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 875: Hash(0x20fd5fc2a8a7f1d13c0879190369c7517ffaca21b81c592a79d5cc698a54c4d)", + "P->V[14656:14688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 921: Hash(0x21861eab8bc851010edfcaf8f26344105500532ef3c33ea4444f528f4cb533e)", + "P->V[14688:14720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 964: Hash(0x59e8a9b413b104715b936e03b45e5aea018d29f44a0ec1bf14a76bbb8cce490)", + "P->V[14720:14752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 296: Hash(0x3b71fabc9f27646f534ea7fd8e8e2ff2e8ec884b923ab993ae9d7862f3c2664)", + "P->V[14752:14784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 303: Hash(0x73034563b8b11c2a76eb85257f2cfc734a2c9ff8cfaf3612ea19145c853384)", + "P->V[14784:14816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 305: Hash(0x72c41b548d91b013cb3654c0ce04e3f5afb841f610cd4ccf364567219676537)", + "P->V[14816:14848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 308: Hash(0x53a046f4c572710d89152d68f48f7a7ff885a30cb73b5ef84766d4d96054c73)", + "P->V[14848:14880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 396: Hash(0x1203b22e76300361a482fa158bf904211b704e3ae67f80626aa44fc1587245e)", + "P->V[14880:14912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 402: Hash(0x2b0cad709cf270a1c790fc31c6c84111672ddc236e36cbc20335d61de1ac52f)", + "P->V[14912:14944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 413: Hash(0x3e276b69aa6def3b0ea05250ce24c8f3d897c25c69c420ee335bc15b5ce366d)", + "P->V[14944:14976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 436: Hash(0x2b2c02e9eb5ec31b47e831e10bbc085017186fd58ffcc76843086a2eecb28a1)", + "P->V[14976:15008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 461: Hash(0x329bfbf477742188a725304a28930d12c0211cd46de26bfe3841bfb27164e4b)", + "P->V[15008:15040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 483: Hash(0x4d3b20f85b5e404edd635046d5019ec4464d3c4c61caf93a7fb6f119f8ec326)", + "P->V[15040:15072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 149: Hash(0x3cf247dfc5b6d95ed5334fc01c78ac07a238a0c5f947e753061a1cb92223330)", + "P->V[15072:15104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 150: Hash(0x645bc57dc70cb81567b14a095193db75bb394080274869e9d96a74b811cd8d4)", + "P->V[15104:15136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 153: Hash(0x5f9397da9f8d355a0ee93d5688eac04bf66f74e440344fb9297bef319747587)", + "P->V[15136:15168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 155: Hash(0x17b5a4afe6931fc347e8d230771fca5a407ad4762d7766c385ed30bf9e79f12)", + "P->V[15168:15200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 199: Hash(0xa394f5a6c8cf6ac1be6d5b2daeefc4ab553d15ed3c69ff518083f77e5442e1)", + "P->V[15200:15232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 200: Hash(0x5fb051fb94b32d9f2ad077abe2f458a9e14badddbd90d1e4b7edc9b6e9bc19a)", + "P->V[15232:15264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 207: Hash(0x114f87e522e9cd9d3b08a29cac0f4f840f5c011b1af16824ddfe825966899fc)", + "P->V[15264:15296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 219: Hash(0x57112811c0766e20238fea76c384fe8d9b8bfb6786c56cb63bf63e369e276ea)", + "P->V[15296:15328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 231: Hash(0x71b2144027fa80d3d58ea0d76052ed172a270a268b1f9a4bbc209cb7dd03200)", + "P->V[15328:15360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 240: Hash(0x384049ec3c5133d43e8e1cdcba948e8a5e53efbd4632ef349f3f5e25f4bbf30)", + "P->V[15360:15392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 98: Hash(0x299286f734eb72f2d8bf7ef94e8e7a9dc7074e81d321d74a60be1b77542a826)", + "P->V[15392:15424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 101: Hash(0x6d1cf2c365bb54bfe7b8c20cd3192a7e7313718c666d0aa7def10089e924f70)", + "P->V[15424:15456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 102: Hash(0x603e4f88c5f30e2b23ad85c51f26e0f6cd06f7713c3dd0594859e68e47874d1)", + "P->V[15456:15488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 108: Hash(0x64350dfd1acd7c7247d685416b269c95c582ba40fb283ebbfb9d0b0280f9c70)", + "P->V[15488:15520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 114: Hash(0x1abd4a7d50205077f9867ca76b3d99ba844f1ac1bfda39bf626f2b1f111b0c8)", + "P->V[15520:15552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 121: Hash(0x36a5b2f00e99ad444b79f72bd67f959900698389fe5b17cf7df8fa438f81709)", + "P->V[15552:15584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 36: Hash(0x87bede151dfd773f6b569d7e305bab91b63c106343f27d43a42202fc28d755)", + "P->V[15584:15616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 39: Hash(0x634478290cbd6d249d4e49b39d4701e70cfbc637de4d9bf088c9293be92db51)", + "P->V[15616:15648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 48: Hash(0x1757afef11afbaee9a4d8f4d340a300b8f547823f9d07789321ff14ed3aa4f2)", + "P->V[15648:15680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 55: Hash(0x3795d603decc8d9190086a00e00782f71909db6dd906e84f7ee52b6c51a136f)", + "P->V[15680:15712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 56: Hash(0x73ba050f3e699fc905064a89269f748b095def21b7d5846b7f1c023ec37f9d3)", + "P->V[15712:15744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 61: Hash(0x77836115b151ac32a092121f1b9c3ca83b21d1a4aed2eb1f285c7a45ec9f9b4)", + "P->V[15744:15776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 26: Hash(0x1620172164cd6b5de66ac99874fa37124ad8fa28443cb202c471c74997e3d9c)", + "P->V[15776:15808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 29: Hash(0x6dc6f05adc9ad17f899e487d6ed54fc101750046a4d0cf58ab493ddfb1f338)", + "P->V[15808:15840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 31: Hash(0x43c2a5e632773c0657a48fb1909dd0dfd0f00de63148635b8b48a5587575fea)", + "P->V[15840:15872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 8: Hash(0x2a1f13ceea256bb43e72aff3f9cfcf945e1b7d8fd787e49162e944470d81804)", + "P->V[15872:15904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 0: For node 5: Hash(0xb262c53f05e1253b54df42748a6d0e203fc900d0c35d621c70b05991986d4f)", + "P->V[15904:15936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 168379, Column 0: Field Element(0x35179049b7df96edde7f52e54d1bb9c197018fd6792709d3186a98d2176627a)", + "P->V[15936:15968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 168379, Column 1: Field Element(0x6e2fa9f004a5fc9233cb3640207856685715dde33093af4517a6fc4c897c0c6)", + "P->V[15968:16000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 168379, Column 2: Field Element(0x6d14042c3f0ab37471ea96d4418509a25ab84a18432351535d2bcee21d5060d)", + "P->V[16000:16032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 191446, Column 0: Field Element(0x5a601027ecb539b28c78894f0d604345c1ef053c3ed12d89deab7dcb14f62c3)", + "P->V[16032:16064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 191446, Column 1: Field Element(0x2ed7b8e1cf073324c7a45649fcebddad376327afaa83a1c95e3925e24860df9)", + "P->V[16064:16096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 191446, Column 2: Field Element(0x2504c26bba24cc3f3a6ce5833f7a9b40316168a60ce410738193f1bd5e5af96)", + "P->V[16096:16128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 199964, Column 0: Field Element(0x5378433a3549e1f6147a3d5daac37f7eb9ea03ed36395b1ad072030b9732442)", + "P->V[16128:16160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 199964, Column 1: Field Element(0x33310283ba4d02a2c705ab96d84f454ca68b9b5190bc8c8df195bafc1d4dde)", + "P->V[16160:16192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 199964, Column 2: Field Element(0x2dad4052cd1f7754709a0535fa5853426b876e5412ec0b014701f4e4d5cd0aa)", + "P->V[16192:16224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 218834, Column 0: Field Element(0x54498fe29bfb16f808dbabcf2e67827f1216ab5e08bee71ada0cc048621d966)", + "P->V[16224:16256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 218834, Column 1: Field Element(0xf6547b08aa5e0c6695ee23f67b5ee1d0c06eced48d34bdb6360a72983ca7d3)", + "P->V[16256:16288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 218834, Column 2: Field Element(0x1969dd8029e4d50ea38d3e4bb277ca2d514b59b6952443cdbcdbabe9a4510d)", + "P->V[16288:16320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 579268, Column 0: Field Element(0x5665dc3080994f134db44921949a4ad5947586565640cb3721857fdf82fcccd)", + "P->V[16320:16352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 579268, Column 1: Field Element(0x56b8578e0e53046c321115071e7bbe6b816f8e064c751f9fb7afe1b73bf4f5)", + "P->V[16352:16384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 579268, Column 2: Field Element(0x7ba61ef8d21729f612fe572bd196650d1882cb70f6ecb34ccbe9ebd922785a0)", + "P->V[16384:16416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 602803, Column 0: Field Element(0x3e70c5e7e931e1bfdb19a7cb6586a4b88b83818c8b59e6357f478aa9240c3de)", + "P->V[16416:16448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 602803, Column 1: Field Element(0x6970924332719f9b1fa8c8061fd2fd52cc152c1cc078a94efd4d3c1936a5d82)", + "P->V[16448:16480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 602803, Column 2: Field Element(0x20befaa6b7c5da19b8935208568242f683eb797735c56ffda672d194b53c93)", + "P->V[16480:16512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 639710, Column 0: Field Element(0x15161cf35ff23641393e1adc7fb01e0d3f42a2f79e56581128ba0c2f3aa83bf)", + "P->V[16512:16544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 639710, Column 1: Field Element(0x3d050dda5412f207db50e0d2d21f1f3b8728bca2e033c989acdd35477c39bed)", + "P->V[16544:16576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 639710, Column 2: Field Element(0x565acb721530db377af75e6e3d9dad8046be13cb5e4c7634a6744dcb395db55)", + "P->V[16576:16608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 742039, Column 0: Field Element(0x75b2e404ba97b13f7c1078a6415676f582fcd407c00b1e1557e84d26b67fa34)", + "P->V[16608:16640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 742039, Column 1: Field Element(0x6792be1a91b86ea16980299338e5df632399e887dcd37305cea8bd54422415d)", + "P->V[16640:16672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 742039, Column 2: Field Element(0x1b49a646624a6649cd6da63756df48ca20235575b681ab4b54407fbdf2ff3f9)", + "P->V[16672:16704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 836544, Column 0: Field Element(0x9955dce34ec08682e2f1fa492cf14bdc49a84dc9c7f19e95c42e599ee99ca8)", + "P->V[16704:16736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 836544, Column 1: Field Element(0x2a575cc77e13ad33f5486ba9e82d34a3dc109caa05afc768418d6a87d547104)", + "P->V[16736:16768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 836544, Column 2: Field Element(0x4275ce19604956cb683b1ee82a00a488131bf0a0767fc6555b66f8f5bb1ea37)", + "P->V[16768:16800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 929254, Column 0: Field Element(0x28148aa056fcafa6321aecdcd24b0b64f5cc497d7d9afc71c79a85bc5c8c137)", + "P->V[16800:16832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 929254, Column 1: Field Element(0x64b769964cc0114d7114b6bdc4925cc8553b5af8287621200da638931737922)", + "P->V[16832:16864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: Row 929254, Column 2: Field Element(0x6dd77854e2f4328bf0ec87e037b201f962483341572dcea7d7bc97358f703fd)", + "P->V[16864:16896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1216954: Hash(0x61be8e4f35523fd8401dc34ebe9673927d5acf02719e8037012517dff1a55df)", + "P->V[16896:16928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1240023: Hash(0x439fa0546c4144dcaaaff57085f7f6cff85a33129109bfab939cfdbbff30f9d)", + "P->V[16928:16960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1248541: Hash(0x6c2bb537abfe44910bbbb0aef8196b9bca9b4ed45f5cafb24d45f084f76194f)", + "P->V[16960:16992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1267411: Hash(0x423a2d05b465d5303b1d107a0bbfb0c6b299abaff7f28c4cc24e29e4745c74)", + "P->V[16992:17024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1627845: Hash(0x7ac7ec4c1588ea353f2481e72a5dfc9ea0c3e7f6121e2f6b88a17eb30e3036e)", + "P->V[17024:17056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1651378: Hash(0x29153c31a3add018fd63264c167b6a7f1a112818bb64890eb1c10a7ab71fccc)", + "P->V[17056:17088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1688287: Hash(0x2b455e91eef45b3a877cf908b1915effdf74db24bbb7f8ce81a4e1949d2d7a9)", + "P->V[17088:17120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1790614: Hash(0x7f5203ef6365f3767987992e85f4e8741b934359f196d320d6f54fb77b77187)", + "P->V[17120:17152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1885121: Hash(0x20aa54fec58c96e5f51f272567589b1c7ac91a307b97ae2013dcfef3b15b87b)", + "P->V[17152:17184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1977831: Hash(0x3e0b094123e4c7e577a1c08c80893ba985bbc67491647f3c43f2db81f7ad40)", + "P->V[17184:17216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 608476: Hash(0x3bbec9cd90eb255ec9351385be4836b6469af79871cf8223a783bf683cd893e)", + "P->V[17216:17248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 620010: Hash(0x52090fa85574d3047dddec89417e3493602064da6b1a2ab3ad4d54caad9ec3)", + "P->V[17248:17280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 624271: Hash(0x8957571fa43c7abd3d0c9d67fc47e1680249f6e30778cc1e107793a9270958)", + "P->V[17280:17312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 633704: Hash(0x6d4f207cb8e1ddd1bd98a0a12df88a8790a2ca05e10ae2eab6335bf38526dd8)", + "P->V[17312:17344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 813923: Hash(0x153bf7815a3883c3a6536f95bb8f4acc6c086943419726c5ead3ed0066540c1)", + "P->V[17344:17376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 825688: Hash(0x799deced3e6f30b0e4c4ad1a385b95d7004657ab2cd9ed6116e779742d62168)", + "P->V[17376:17408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 844142: Hash(0x51c2910d2e4cadf7b981d2a5b837860781d03fcad3f9b2e04a4a16c34c1e7da)", + "P->V[17408:17440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 895306: Hash(0x3d027b3c9d0dd3ee80a18cb23031102baac891572e079b4bdf6d867e27c8965)", + "P->V[17440:17472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 942561: Hash(0x17915a442342bd46df84ec3c3c1c71a6d4d087e5aeb00d9d495aead7197a5c6)", + "P->V[17472:17504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 988914: Hash(0x785b74e4910f63cd29761bf71c27899e7a027207c5f2ca7f59f4c97ac6ac864)", + "P->V[17504:17536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 304239: Hash(0x15a58167ab3ba62b85dfed4a9ac540b5d4d10a87f8606711d4ff9db908cee4d)", + "P->V[17536:17568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 310004: Hash(0x108e1c036889af3f3a2064ee7fc2b2704bc78eb39913f7fcd529e4695a21fec)", + "P->V[17568:17600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 312134: Hash(0x622ead7cb15669b9c6a5c0b2a4577ef54e3f78599b545bfc5c6cdd05cf26c51)", + "P->V[17600:17632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 316853: Hash(0x27ea53c8d74e4ee022dacc0f6be66959e779da5e1560f18ec677bd42c5d1c01)", + "P->V[17632:17664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 406960: Hash(0x30fd983d803e7eab1b018ce5de8d6622da4efeb80c2d30becd38dfe303ebe31)", + "P->V[17664:17696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 412845: Hash(0x373a2d781f35f67c2bff537c0c25ab8c401612c937f3925e3306a3d1608f351)", + "P->V[17696:17728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 422070: Hash(0x558af24e44f01f5e298c2d3f529586e10698cfb3a832862c4f583b867c1c9c3)", + "P->V[17728:17760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 447652: Hash(0x51ace0fea4c71c31e157a4ac1bc9192066994efe4a7e5a314255ac037956f08)", + "P->V[17760:17792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 471281: Hash(0x5a03a923fc3fc72f3b35a6228bb1ddd7366bf4659148084f68caa4ee38bbb1a)", + "P->V[17792:17824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 494456: Hash(0x24e9774f4de52eac72ea2b1a87ae77028922aaca686b51e98a09681556003cb)", + "P->V[17824:17856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 152118: Hash(0x6fe04ca8d8c49af64f14c6e78e4ef12e1565f41d54404d351d0d573688d2f2a)", + "P->V[17856:17888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 155003: Hash(0x6c262352f6d747b9eb714d57e31fd3a6001101576abf9845affba2d467858dd)", + "P->V[17888:17920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 156066: Hash(0x475def7dfda991135fd8724735dc4542c6f1b27a8d6095534db6291c2fb5ab7)", + "P->V[17920:17952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 158427: Hash(0x4c70e8306e8c74162856f0211c86b081e6b340e3b569c708c2ebab541ce3454)", + "P->V[17952:17984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 203481: Hash(0x7edb743afec447cadcfbed452d2964b195a8c2cbf55cc52c67e415374778af8)", + "P->V[17984:18016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 206423: Hash(0x54cc5b1c2c3ab5d6135e02d13733373ce36436e667a4795cb7714370ea40c3b)", + "P->V[18016:18048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 211034: Hash(0x564d6430285927e522df74776eec2a173cbe651401f23d0e82cf92833bb5a40)", + "P->V[18048:18080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 223827: Hash(0x631f9b3b84eff66bb81a0d80422e56621b1795642fc016984659e34990b19fc)", + "P->V[18080:18112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 235641: Hash(0x5a4126b8270f90eb28d91da7465e45af029d4a3b16dc88d2b58dbece3e2fa19)", + "P->V[18112:18144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 247229: Hash(0x5b3ba77045ba6d8ee56c127a9c7b6b34d2f73ce407fadcea9b1121a54319b23)", + "P->V[18144:18176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 76058: Hash(0x6de3f1c0ca74eec137cb2cf0f7199a113ee4542ecc21b3dde92931dcf8e645b)", + "P->V[18176:18208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 77500: Hash(0x555493a93d2edbdd2ba942eaff1ea7690000f516c5959ca47f0cf4b6ba94ae)", + "P->V[18208:18240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 78032: Hash(0x3dba9a541be0d43eda29a619dfcb4f34f8971c4220f44c3c8fa999beebcba9e)", + "P->V[18240:18272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 79212: Hash(0x32eef5d132bda02e7c39421340f13a1ce9fcc0916b43c621a645b11a6b52c2c)", + "P->V[18272:18304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 101741: Hash(0x788840ecff9319f7faf6d6e0c9359ab3169073a884659c35bf6b8fec2c6273b)", + "P->V[18304:18336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 103210: Hash(0x5d0d95eebbfc98c174eb7a396ad89d046a65f2b0447bab1b3ab6ce2519771de)", + "P->V[18336:18368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 105516: Hash(0x592261c46615deb1176eee40f6100eb6032f4330f32d0818ecc4c83026452e)", + "P->V[18368:18400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 111912: Hash(0x24adb4f30813382ded290e68427cc6cc5240ed3a27b907d86d7c356d4d58eee)", + "P->V[18400:18432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 117821: Hash(0x2a16f33fdbdf9479a0a1aa7ec35c5c2749c6ed7915399f0440f164c84b38075)", + "P->V[18432:18464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 123615: Hash(0x24de8d056bbd51e5cc2d5f77b7bc77d3d2faf8668e34e20267a364957d4399f)", + "P->V[18464:18496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 38028: Hash(0x7a6a7c353accf898511ca35e271b40242e1093bda675fcac5e4daa5ff2ce839)", + "P->V[18496:18528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 38751: Hash(0x61236ef8b092045c0e4e352959e2701276891c2aac99fdcad96724c502fb520)", + "P->V[18528:18560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 39017: Hash(0x73dc73b0665ffd2d621e78296bbeb6d8628485e4dc780431b4ac2684f3b183d)", + "P->V[18560:18592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 39607: Hash(0x7f5bf216ca68180a251707624f9881a567f9bdc91db992b6aeeddb369e95e4d)", + "P->V[18592:18624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 50871: Hash(0x4dc076af0411523826e555b1dfd0364b4ea1796b74c58c9fcf3dc2ead8cd60)", + "P->V[18624:18656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 51604: Hash(0x4e467ede319967c033d2ebce029d1bc9d7004b6ba59db7faf9dc84ee32cc76)", + "P->V[18656:18688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 52759: Hash(0x30648298838ac8fa32efd1bd0704019413d085ab9372677a3a2576a17c328ae)", + "P->V[18688:18720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 55957: Hash(0x308d5042c1a3a951b5db9eee6f7f39b1e8c95955b58e9d54775ebd1bbee698d)", + "P->V[18720:18752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 58911: Hash(0x1d8b249e82fd839d52e6bfe0c22b377f4b08a5a675c9241301afce861909c6a)", + "P->V[18752:18784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 61806: Hash(0x42acc5867c69315ae4be884035e47b9dbd4cfd15c96d19a6be463bfcd94381f)", + "P->V[18784:18816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 19015: Hash(0x3619214a5c4b58079fe0733d2725eaedd852c55f116ac55f5d786a2b3753af2)", + "P->V[18816:18848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 19374: Hash(0x58b476d71d7331ade417c1666bae8280f0b2ea6276b9b0f7ab4fc33fe95f2ef)", + "P->V[18848:18880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 19509: Hash(0x788ab6f745bcdd712e7d61187684e3cee007898734cc64ddabedf3ad4032417)", + "P->V[18880:18912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 19802: Hash(0x46ee1a1638290850abb19c7a741fd30ef0c4ca33054ffa76a1801b1e846f669)", + "P->V[18912:18944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 25434: Hash(0xb8321b9c03fd517811053e4a20965856b02664ec6a315a8ea6ba1814b811b0)", + "P->V[18944:18976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 25803: Hash(0x2cbdc475babcf49f61dc0cac3c7993eff7f14c5ee6a079abd63e3aa0d1d82be)", + "P->V[18976:19008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26378: Hash(0x3d32a218f233487a87a8e9626d419391c7a581caf1d3dcb4915bfb06f0ff3ca)", + "P->V[19008:19040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 27979: Hash(0x6dba66e41cfdb1e45d3e6bb7d80ea60e8d421081ca1555a52274bd0adfeddbe)", + "P->V[19040:19072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 29454: Hash(0xf4a6a8b0ce729bd6cf3b454d65dc7edce5122b94e9f8dd235588f454e1306c)", + "P->V[19072:19104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 30902: Hash(0x5a88d5a7e1e84c3df235e46044804aad2b9b9ac404d7de2bfc260571075b298)", + "P->V[19104:19136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 9506: Hash(0x51a2e842e8614964c2b48c927813041e92c5d2307d9bcfd6cc558bd5a5559aa)", + "P->V[19136:19168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 9686: Hash(0x237fa212b9a666745e768e8cb9fdeef87b69e54fadd711b4ab136c84957a751)", + "P->V[19168:19200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 9755: Hash(0x1b88cc6ab79502f2558c903af6290d44696b59a801a64971da425602277fdca)", + "P->V[19200:19232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 9900: Hash(0x5492a86dd2011f9bbd410953a91108327693934946dc52ae7431fda29f5d5dd)", + "P->V[19232:19264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12716: Hash(0x67f678add054b029c0ae6d952eda1d8cff474ad501d67b43144280ef57b81b1)", + "P->V[19264:19296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 12900: Hash(0x4522632a9779713799975aa1dd8bc328fda4e492f2d2e0ad2e5ef8f6a30320e)", + "P->V[19296:19328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13188: Hash(0x3505e182e30ea35befe398a29aad30850ac2755ab81928ef37e519fb932c31c)", + "P->V[19328:19360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 13988: Hash(0x4f954e6d54ce7ebf147bb252b406af552dbab6fa26ed497c4e2b089034c5886)", + "P->V[19360:19392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 14726: Hash(0x23d42f1bdc6236240a8d41dc2c9773ba0093a30a77d6cacd6adb9c1f1d9f76)", + "P->V[19392:19424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 15450: Hash(0x5d247c4502a6b73118d82a993921535495a4aa2ed6cd3fe292c5c93d7ea21c1)", + "P->V[19424:19456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4752: Hash(0x5551d5ed592be7de9e0235166373c111bf65e335f18b9d66f5ffe93403399bd)", + "P->V[19456:19488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4842: Hash(0x4016b7cb90cad6b9dcc13c405b97a159f18d094333ae9326f239d1eb592775c)", + "P->V[19488:19520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4876: Hash(0x2ce2aa13d35292bec71b5b875018a357b7ed6b43e5d9aaf55aa2844ba218b85)", + "P->V[19520:19552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 4951: Hash(0x2aa79eafb9b5a1f64245c33f1705141fd280ca03cdb1c0bcd2584d3bf1ad8e2)", + "P->V[19552:19584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6359: Hash(0x59e9cd90395cc8d9f1ffa9e97be3933cfc8ff37c9cdc8c9823f785ed2fbb8ce)", + "P->V[19584:19616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6451: Hash(0x4ae41c52f19033d71517265305e648c55631df70c86443389ff9c2c42b1c2d9)", + "P->V[19616:19648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6595: Hash(0x3e6dbc69efae9468bab0858652f64f20690f92571f55d1a1bd30442bf2cd1ff)", + "P->V[19648:19680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 6995: Hash(0x5818caff89980d0d1e7cabb16d84b21c9f663ee7caf3493418b4e97950d6e65)", + "P->V[19680:19712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7362: Hash(0x70d069ecb3e810fbc8f72da01798db126b0c358b52ef5bf2ec417ab3b67a8f8)", + "P->V[19712:19744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 7724: Hash(0x3d76cbf2892fc662a7dc4b4fadcd4624189a9998ce6848c6cf526d0c550be81)", + "P->V[19744:19776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2377: Hash(0x34f5dd78de21329eaf88de8e377ff3b1bc1ffde2c7754538e96b609c66f2c9b)", + "P->V[19776:19808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2420: Hash(0x2adf22aca5975bd89d5c598db74d9fe0fa50475ad4c0c113bf2a5705e789f0a)", + "P->V[19808:19840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2439: Hash(0x7fd4187f78cdb2cf54f2eed199e5dbda17cc584095d3ec1045224ee74af70)", + "P->V[19840:19872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 2474: Hash(0x18fbaeef5502b01cd7f56e67765d8f7436ca16a6a0bf372e744ad147e5704c)", + "P->V[19872:19904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3178: Hash(0x6333618256f216e950ba9fb96972abd825e32a0d538d418859f960841b761e6)", + "P->V[19904:19936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3224: Hash(0x11500462e736e2f5604951d74569cd18d501275e0e1ee8e3514dcf1abdcf9e9)", + "P->V[19936:19968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3296: Hash(0x706ed21d6017097088babc96bf27bffe461b66154b5cfa0a5db1566641f9a92)", + "P->V[19968:20000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3496: Hash(0x21124d94144530ecad56afc973c31e13f2a6b391e97a96470daa1e7257f6cc5)", + "P->V[20000:20032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3680: Hash(0x544d0615e5156f57bf44e02856f9e87a0b555ad9b33e4105b5dc03671869d0b)", + "P->V[20032:20064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 3863: Hash(0x3a32159add90afe378935f44f56818b504e028204db57d171bbb169eaf34d)", + "P->V[20064:20096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1189: Hash(0x24af89013fd957acd1d7e3b3f8af448589ecdf824b164f9be349c47d218d105)", + "P->V[20096:20128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1211: Hash(0x7c18672678d47ad2a5204bca599362a0b4509f3c215daa3fdf75942be8acf69)", + "P->V[20128:20160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1218: Hash(0x72001e949a6e91c1183a0afaaac611f68bd4e68814703eb8a05853269b4e3a9)", + "P->V[20160:20192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1236: Hash(0x4c8509594c0a2f7808a2189a12aa39bf11115c94b0bb0a3f4a40ea0d6867aa)", + "P->V[20192:20224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1588: Hash(0x693139cd52894b989ff8bae066d9b5f341637986914a560e57cf46b2df555ad)", + "P->V[20224:20256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1613: Hash(0x623b1e33c2d268afc7bc4ace01253910f705869ad7fb99e06f915848c8e96dc)", + "P->V[20256:20288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1649: Hash(0x37646836a8c07f52262c3bbfe3cac1397fe5e27786f15d1c0e787dad6779158)", + "P->V[20288:20320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1749: Hash(0x70119675da19e1b0a1a3616c2aac981d88b95c29902786d8aae5df6948bd235)", + "P->V[20320:20352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1841: Hash(0x7bf09293bf6c4230677f91550348d44e69ce953c623e2c70c9d1cb4abeed3bb)", + "P->V[20352:20384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 1930: Hash(0x1ca08cdb62caf65dc48cfdf01e93c986eccc6a9363953c3813c178f6ab9b593)", + "P->V[20384:20416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 595: Hash(0x5a4ae182ed4643ba90f268acee92fde0959a5263a9263c3f2b2180188d67b74)", + "P->V[20416:20448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 604: Hash(0x5a5a0e3afa5c169b8a70d0ebd72b121ae2cc923991ac19225a73490e2fff469)", + "P->V[20448:20480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 608: Hash(0x38a53a407fbec6a59810a4dd171be2d732e58493962ee7af562140ac629dcf1)", + "P->V[20480:20512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 619: Hash(0x65342721c9b1f7e1e2dfb525ee6a6f751c7a32255a3b53083cb2aeaf4609007)", + "P->V[20512:20544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 795: Hash(0x4fef7128897a1aa96532a19c8a2cf7378840b875f6ae1e4474b931b211d45)", + "P->V[20544:20576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 807: Hash(0x162869c2ba6b5bd75fe27793a459efa2f449e8ee968393158c911e8e8481507)", + "P->V[20576:20608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 825: Hash(0x18efdc4489ec8f0d763fc62fbdb09fb62cc3d73d4572e6771b92bce410928c5)", + "P->V[20608:20640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 875: Hash(0x20cd7911e9f332c7475757a7f7a1141e8c81f13dbdf1ce41a823524ede39521)", + "P->V[20640:20672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 921: Hash(0x10f717e958242bd9fd704c48ca0b6203a9603d8bf392dc81b633d0f8ea842f7)", + "P->V[20672:20704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 964: Hash(0x2557b2a0c6933ff2fb244b86885c5e24a954025bbc5bfbc22fd78fcd9d2ad1d)", + "P->V[20704:20736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 296: Hash(0x3a094339272dec8fc3ed1905d7c284e7d0c4295de4c0f818d7c3a2aa1cb8df6)", + "P->V[20736:20768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 303: Hash(0xf4dead436beccdd5f526d104edf9f8156ce22f50ae23915f511895fb2f21a3)", + "P->V[20768:20800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 305: Hash(0x512b2b1fb65a9ed52cd8ab6604d17b1d1652e8b7f2dc3ede0643bff4aa298ac)", + "P->V[20800:20832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 308: Hash(0x5bdf520e7ef302fea0ddcbe1bc85651ed11587655270617f1bf66b21b182021)", + "P->V[20832:20864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 396: Hash(0x5fcf9cc1fc103fb018a164cbae9a3ee16e701d31d1b499c6a5500ce0b53e13e)", + "P->V[20864:20896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 402: Hash(0x28edff0f939e06ee63caf3ae5d3a0e7a32ed4a044cbcadd61e72ebe616fe8aa)", + "P->V[20896:20928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 413: Hash(0x67ed45bba3b45f4536a3c15126a6647ccdbfd9742e6a8fe6a597c27f6ef4d77)", + "P->V[20928:20960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 436: Hash(0x7c8577bf56c7460e0ff439fa1337d017d7b87ecb56822f3a4d573e1da4c75ff)", + "P->V[20960:20992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 461: Hash(0x28b0a107533059b649511ec48385d71f1e0e34154185154acfd4a0a0ac14a14)", + "P->V[20992:21024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 483: Hash(0x28a24556e2127788db8f381d9a394ecde2bf4b568ec3720ff403213244226d2)", + "P->V[21024:21056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 149: Hash(0x3c129fa649ecee8a315969de5c92a17f37b55ba3237330fe686c3f8f5188de3)", + "P->V[21056:21088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 150: Hash(0x45cc531688ca3cad4c034e7e37dbbf05076773824e71fd13908a03807ab9075)", + "P->V[21088:21120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 153: Hash(0x6dd0d82d3764dd13234df16e53c55a8d8b2e74196eef8ca85026e567875bd6f)", + "P->V[21120:21152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 155: Hash(0x6f4c98b1d73831d9e8a29e905204123785d40dd3756c117231337a814486ae6)", + "P->V[21152:21184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 199: Hash(0x14ac0c4e163aa19e91215c0fc771cc2a31e6dc3f9aa44d4a1f35fbfcb695810)", + "P->V[21184:21216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 200: Hash(0x38ec27ddbf87fe51863df65884c6cb5abc3e2c45ae1ad38cbae4d22556d5207)", + "P->V[21216:21248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 207: Hash(0x1d8b62b2ff8eb9095ffa8b4ede72e63ca9f2773177a86b2a2669d9676fe563d)", + "P->V[21248:21280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 219: Hash(0x1649ce811f39918f83e40788fbe93af982427916e44b77ed3f6ad32268347a3)", + "P->V[21280:21312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 231: Hash(0x4f4dbebf7195dbddde6d1b4b8df43d2711515daa136d26efe71befcbfd4bfec)", + "P->V[21312:21344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 240: Hash(0x4d3421ef840ec19fee05fce87c22dc957f285431c991f901e1ae8a86e38c3e2)", + "P->V[21344:21376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 98: Hash(0x21f9633154a9fed3b033a9a0987786efae576bd46543968d923887027dcb712)", + "P->V[21376:21408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 101: Hash(0x6e694ee8ce8c689ff2b5158cca8440324be3ecccabad911a352ff5fc77cbe9)", + "P->V[21408:21440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 102: Hash(0x1b3f2bd4523c83536ca69293a9d412acc3ab3b1e3ca90c0c1a7fa52799583ec)", + "P->V[21440:21472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 108: Hash(0x5d4fe1885f4afe4366fa43adcadc0a0576e1e77e2cf4360a0f33aff2a4fcc6)", + "P->V[21472:21504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 114: Hash(0xa4fb27d88e65587e3d46344abd46dd5670fb6a7018b0c1e67d0e38b9c62049)", + "P->V[21504:21536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 121: Hash(0x5b9f64ff7cddc297ca60a8573736f3b03a967b509e0a0da991266a280656799)", + "P->V[21536:21568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 36: Hash(0x6453a334a2a396be21e16ef5a54225b08d8a7ee84f97d76b2786be9989c3eb4)", + "P->V[21568:21600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 39: Hash(0x352ae73180d6b02ac4ffc2dcf4eecb6485ec257dddceed08ce1eac21de374e7)", + "P->V[21600:21632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 48: Hash(0x1a84ce8e1e09ff9a37ce8827f7a9eda4680343c23adbb13e669eb8874b74558)", + "P->V[21632:21664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 55: Hash(0x2fa5e7bc329c918206b89379ba1909bb7666ac575cddf06bf78055f031f6380)", + "P->V[21664:21696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 56: Hash(0x769e5e86ffad2abb6668191864fb23e8217aebba9204442ec86396829c38558)", + "P->V[21696:21728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 61: Hash(0x5359ebe709c404c5d22136da1f4a53b28a036baf8dd7d6b2d3de82a44b9f505)", + "P->V[21728:21760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 26: Hash(0x570cc39fefcb889e24e6ab77366b6376bb4d219d30c5015f3954f146f828eff)", + "P->V[21760:21792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 29: Hash(0x2ee4ad685a3135b90e992daaa8e2f21e5a7bdd15d64da0e84f6c65d1b0687a6)", + "P->V[21792:21824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 31: Hash(0x500ab86ee487ee0d78ea223b3448398dba24cc236d1416dc2b0cb2dfda7ac28)", + "P->V[21824:21856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 8: Hash(0x724a99ba8eeb2811abed127c86b74ed92e051812cd58e4ea4a15f709d29b850)", + "P->V[21856:21888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 1: For node 5: Hash(0x73c1f7e6d777d2183df7c8d1738e80f4a0dbaef8e7dcfe04e3f3eadf3913c92)", + "P->V[21888:21920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 168379, Column 0: Field Element(0x693bb2902c309257d53534c6c70fec234fed556c3c8934ff69cdbeb51110acd)", + "P->V[21920:21952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 168379, Column 1: Field Element(0xab25d87e7cde685eb50429ad8724a9951f013c2ee94bc7256bcdb358a075f3)", + "P->V[21952:21984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 191446, Column 0: Field Element(0x52eaf163fd00277842c60b06457e44f66316191c9bcd6f8dfa82c7998e32892)", + "P->V[21984:22016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 191446, Column 1: Field Element(0xd3b0524795cb0f23d292c782c2968b06b4c416f8711c0c04378796bd734ff7)", + "P->V[22016:22048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 199964, Column 0: Field Element(0x1f817916ada817f4de9fca57dd302bd744ff9d536396a2dbdc086226e92e873)", + "P->V[22048:22080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 199964, Column 1: Field Element(0x7242218922e417813a97aafc9b0a0c0e0464a54f82fa5ffc35f10411d387623)", + "P->V[22080:22112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 218834, Column 0: Field Element(0x44f2c8359d4f1307954eaa90ae854b5d37dd7342bf42fd69cfb0b9bb9411a60)", + "P->V[22112:22144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 218834, Column 1: Field Element(0x6a5891a5cc33785197cf35887a72f705bfccaa222b1db22f189246b711d5791)", + "P->V[22144:22176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 579268, Column 0: Field Element(0x592c9aa57b4f8ee7906dda8d616cb738a79d2cd3836fbc58f1d2bb5def3dd0a)", + "P->V[22176:22208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 579268, Column 1: Field Element(0x40dbba269aa6b552bbc157d8f98763b8be26067bf83f0efb2b9816fc28771ef)", + "P->V[22208:22240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 602803, Column 0: Field Element(0x873b1d09fbbdcaea86051a88295e7261d0c626900904c466536680ca022a7b)", + "P->V[22240:22272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 602803, Column 1: Field Element(0x5a040574b5ac7b0312960ceeb028b0d5ec0e62ae11986ecce1e555ad86a0cc)", + "P->V[22272:22304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 639710, Column 0: Field Element(0x5d36df5ab81a5003a5e1e32b7ea5fb3e1b9b3f0def507aee7c65fe800f4a584)", + "P->V[22304:22336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 639710, Column 1: Field Element(0x3cb808d9fb04fce05c1d6415cb494c5cecb29a8e02514890819b2d503fb8e20)", + "P->V[22336:22368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 742039, Column 0: Field Element(0x30256d219ccefe8dcb031a313374ee04abc96a0a9f8a449bccdf86c863ea5d)", + "P->V[22368:22400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 742039, Column 1: Field Element(0x3f8ef8fef52f266efe597c7f9e6336592da1e6674606b6e3300efe973fac3ce)", + "P->V[22400:22432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 836544, Column 0: Field Element(0x4e59c8952650f6396f168e4e3ae8152f6d671c7096285eb46cac000b0e35414)", + "P->V[22432:22464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 836544, Column 1: Field Element(0x60308ea6fc346607d556285741003ef454e1594ef154165c3103cde422fc3c1)", + "P->V[22464:22496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 929254, Column 0: Field Element(0x73cab583b7c23745021f04a4547532e2d4cb901e8a02c928d7093232dbd6793)", + "P->V[22496:22528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: Row 929254, Column 1: Field Element(0x4a3b0d34f9a3910e6db22895eb8a4f6a39f978bd63247edb22dd2310622d620)", + "P->V[22528:22560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1216954: Hash(0x35e1da466f8e1c6d8240631162e47eabff6935117089714168c208bb246af59)", + "P->V[22560:22592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1240023: Hash(0x4ce08408701edbc2a9de98033fa53e09c5e93ef91a86285b3c2812f59d141e8)", + "P->V[22592:22624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1248541: Hash(0x6b96009f963685ec8e43926d847821eb2d46c706e7354a292261fec7e21ca67)", + "P->V[22624:22656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1267411: Hash(0x57b56a4b995446eafaf59127ff0590f40f88b192f58893a73240f133b0f87c)", + "P->V[22656:22688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1627845: Hash(0x65cd106a6a640ab69d09738a78baa971fa0e734556637f71b51a14d88e8f94d)", + "P->V[22688:22720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1651378: Hash(0x2cbaad54c3c17a24425bae609682931df5f6ced72509b86241d6e9959d68d4a)", + "P->V[22720:22752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1688287: Hash(0x45304647b1b7d0f3e96ebe341860f2ad3e91f02661ac908f28b965aacf2dbd3)", + "P->V[22752:22784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1790614: Hash(0x43644c69a17989c09e18297c37a7a55cc668c726ba1e00d576197ca0ff8aafe)", + "P->V[22784:22816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1885121: Hash(0x5fc6750c4e12146f98ddecb899e81d27b22ec470224df875972c4e78b120af1)", + "P->V[22816:22848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1977831: Hash(0x5d12f1cdc9dd8748345c3732732854992fcab5ce0258defd10d61d823c104bc)", + "P->V[22848:22880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 608476: Hash(0x5bc37c86362c74f80a4a33c2bf627c0f8faab72e1f467b8b966d2a7e31d77f9)", + "P->V[22880:22912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 620010: Hash(0x1699b3a249a85f7304e65ef2635910525e0127ec98d103c2de31a887ba881b3)", + "P->V[22912:22944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 624271: Hash(0x1f874b6fbe1f4dc4d87b3c0e8d34f71bbfc80ccfd01b0b96d7cbe5dc517bc19)", + "P->V[22944:22976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 633704: Hash(0x9c97744928a758f595986342a2223f69143a05774acab52a4f5a994102fc54)", + "P->V[22976:23008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 813923: Hash(0x27378e593b224ca19cb35ffdcddb3b592887826cd7e79422463e9bc3dc47a2e)", + "P->V[23008:23040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 825688: Hash(0x117f6e7e3eb7f079f24ab107cffd7797a27be1d9c45a56b5c43f51a09dcbf50)", + "P->V[23040:23072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 844142: Hash(0x29c19ae8dd412c00ca7052ce31f54c44e485a1b1b72eead3bb0852d50c71f14)", + "P->V[23072:23104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 895306: Hash(0x41f64a087f78a5ec7e7b2766246ba304a867ca8d90f251a4d4bceecb017e093)", + "P->V[23104:23136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 942561: Hash(0x5645e7314712ac1de995d4b27918638915750f518d32022d585146f3c2e4957)", + "P->V[23136:23168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 988914: Hash(0x37929c89532be68c70dbdba5a0fe43d8b82d3c4af514f4de8095d911986e98)", + "P->V[23168:23200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 304239: Hash(0x2e93cce47c9159b393ebfa5dbcbdceeeb64d4a8b0f9faf5b828d1d5d8d268e7)", + "P->V[23200:23232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 310004: Hash(0x3c9d8160e37d18e65383d8c43df4196540d0830dca0aa99ea5ad8d8fdbaa697)", + "P->V[23232:23264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 312134: Hash(0x5b27a4afb0ff4c11c598a95cdb33963b3b021399d8c16ad826cda137e84952f)", + "P->V[23264:23296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 316853: Hash(0x32f2361c3529f1fdb3f99578ec15102ef3eb69284c808a5f4be5a9be8d191aa)", + "P->V[23296:23328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 406960: Hash(0x18b59db15462d66dad7ca108f09269f551522e4c8f60e79d5ba375c070ecbf)", + "P->V[23328:23360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 412845: Hash(0x3bde806f6eb90c8fa4a459e8475554914280292349b874403f4afe299db2864)", + "P->V[23360:23392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 422070: Hash(0x25984dff874ad14168d08e53522e070b2096eacf51d0da3a375dd205883bea1)", + "P->V[23392:23424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 447652: Hash(0x42b4f5cf1d03db0cb5532a5818dace1d66672c06f12309f12a7c9d626ebbc9e)", + "P->V[23424:23456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 471281: Hash(0x7be3e11f1683530373ab3996b106515bde8650f21947134ad1d22e3492e475b)", + "P->V[23456:23488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 494456: Hash(0x516d418cd627ec1461e305d91fa9e49ed1c6d43ca4f846bb5b9524a11c350fd)", + "P->V[23488:23520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 152118: Hash(0x722737f33cc71eed14400e7068b5bbba25e80cb7bfcccf3da0d364bab9cccf3)", + "P->V[23520:23552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 155003: Hash(0x30c45944cf7a83d63442223ec8f580948f5712a9986f070e909df34e751a5cb)", + "P->V[23552:23584]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 156066: Hash(0x59b78ac17d0bf1693d727b91c730fcbd6a2e5f33743c0835cd79d44b9cef44)", + "P->V[23584:23616]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 158427: Hash(0x4c139bebcda48ac9d2500494809486eda554452507a019a1e51435c5130a68c)", + "P->V[23616:23648]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 203481: Hash(0x2fa05f0f823f188b203ad8cf140f6c697c81167cfb2028db3d0c6d8feacd69c)", + "P->V[23648:23680]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 206423: Hash(0x452ab89b0ef75c0637ef347a74b5f671a528a66156ec09d36e79736cf3c596f)", + "P->V[23680:23712]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 211034: Hash(0x16280b3ea7a5fefe9dd10cf6d913ef69fbbc15ba5a7fb753779aafcfc01b8a2)", + "P->V[23712:23744]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 223827: Hash(0x58afbaf8a9924a5b2bae6cd26559f0f886ff8159d853d40d09a8fd1cd3ad039)", + "P->V[23744:23776]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 235641: Hash(0x6325f7bc0b9c4bdf19a960e818b63d4c08bf690881630a253908c96770413b6)", + "P->V[23776:23808]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 247229: Hash(0x237b6b4d90f5ead9a6a87d795cfd241b7c4f60c159d9c4cb334c576a7d05859)", + "P->V[23808:23840]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 76058: Hash(0x47858b2144901b625c907554a43f583efd63f5fb157366b4ae83a73acd341f4)", + "P->V[23840:23872]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 77500: Hash(0xfe58065e55873e051d76c0bccf5c4c7b455951d12ae741f30b56e34549aadb)", + "P->V[23872:23904]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 78032: Hash(0x28cd9c0b5d61b8ccef39bb440a2f9bd89dbb7f56d92695e54640f78d71d27db)", + "P->V[23904:23936]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 79212: Hash(0x33b5605f780acd610d8796ef3f4dc2b5105037409a49065f26a6782e91c9b27)", + "P->V[23936:23968]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 101741: Hash(0x5cf71af1e46f8dc542d48cb14ab46e6a65deafb70d4843b653de870fe06ce10)", + "P->V[23968:24000]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 103210: Hash(0x4f45876e7c225e17fc6f220397b1daed53dd673c6b7497f00828392069de9e8)", + "P->V[24000:24032]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 105516: Hash(0x7fdd28a68e6303715a172eaaa3be06cec2a81f9acd725e1b3d60ee1e6586b91)", + "P->V[24032:24064]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 111912: Hash(0x51595a5009bb9f61e08079b6dd94f331c5959046fb9eabdd8ec0f2be35ccbe0)", + "P->V[24064:24096]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 117821: Hash(0x1cf0218f8a44f49edee333f5bf82368563d81e29c127c17102d9ff5fdd74636)", + "P->V[24096:24128]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 123615: Hash(0x85d367529850027d3e342d7b01ede262e7f975d8943a483571981f87a7d2cf)", + "P->V[24128:24160]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 38028: Hash(0x6689305d22d70ca7da7237084b2d041cb7ad9aaae85e6fa7e9945908720bd2d)", + "P->V[24160:24192]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 38751: Hash(0x49dc3bce084d7b41eda8f844335692719471dcd8b940d458553f8ab5843aca5)", + "P->V[24192:24224]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 39017: Hash(0x35e734c420fc75c9983b4a3f0196fe004a203f675894884538bca9c62b584cb)", + "P->V[24224:24256]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 39607: Hash(0x16f6d21b449cf8e88cedc6b4ffa420369bd6b908b06d2df9d2b727bda0c0fd3)", + "P->V[24256:24288]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 50871: Hash(0x51e07d10da35fd48d47a9cd403fb3d9f64ab215cafbee684ac006c8c4902d74)", + "P->V[24288:24320]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 51604: Hash(0x147e241b1cca6c12691a0579331392129390edeaf3f06a62dcd32fecb7e9381)", + "P->V[24320:24352]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 52759: Hash(0x4bfd00ec7cdad11a2aabae58d11d7bfa7e885ab437e269147b9ae57b9cbbc2b)", + "P->V[24352:24384]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 55957: Hash(0x477b56edf0ca7445df234d3d42bd399a2f908ed0ba601f2e2330e315bc96488)", + "P->V[24384:24416]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 58911: Hash(0x3684ed008ee9c1e4bb9b2b10c0cb6f85f409703d712ccae3d29eefff7c8a43)", + "P->V[24416:24448]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 61806: Hash(0x2af2ea7c527f8cd778f79fc6e2199b863f81e34fb17fb563d54ebc3c429410f)", + "P->V[24448:24480]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 19015: Hash(0x32eacf6fad596caa142c8b112637896074447fa834c7033e7481aaad10a2cb1)", + "P->V[24480:24512]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 19374: Hash(0x33c1602e74686fc379ed7dbfbf86cca9bedfea64516c705e5cb5ba23abf1b95)", + "P->V[24512:24544]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 19509: Hash(0x67a93879a10651138dba3178cf4832655154120096295269c4baf108638d154)", + "P->V[24544:24576]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 19802: Hash(0x419aa41f867f0bf8edc67365ebff08caf7deaf99adef958734eac01a4100d9d)", + "P->V[24576:24608]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 25434: Hash(0x1aa4e6673d976087444b0ac119c8cd03a3468445fdce9716097ab35d6f78d66)", + "P->V[24608:24640]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 25803: Hash(0x260c1ca03e74cc3c12a4c70461ce208dff878e79d2ebd0b2eecd423876e3719)", + "P->V[24640:24672]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26378: Hash(0x39263224a34415ff11fba0d4bcc37809b2d498bb96049298b0c634208fe7a01)", + "P->V[24672:24704]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 27979: Hash(0x487a9f87e8c78c826fe3eea3273a3cb672d68c88165acc51eeec2f7c4a064fa)", + "P->V[24704:24736]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 29454: Hash(0x54e1b24b4a0fea831ed1966a2a2b174ef10ecad7bd988aa31b7bfa2b7908b77)", + "P->V[24736:24768]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 30902: Hash(0x73b43bbcfdb1333b8834e707bc0168ea472ab30bf52677cb30f2d6a8539e055)", + "P->V[24768:24800]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 9506: Hash(0x2b6512aca577321544c1ded557b0bbea87ed788dfc611ef0f32fdfe11acd50)", + "P->V[24800:24832]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 9686: Hash(0x47036a5dc0078c46986ab6636ee69a8bb04c48cb2039ca9846c60bf11dba9d5)", + "P->V[24832:24864]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 9755: Hash(0x67b48c49e5fcde328d1ce7003d99c0dbc8f80e6ecfa6a01516c379f70090d57)", + "P->V[24864:24896]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 9900: Hash(0x3d83f529ff96c14096ddd1836d94151bfac8b1c315442bb2c825d347c0edd4)", + "P->V[24896:24928]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12716: Hash(0x61877322fd363ae304b5da4e8b252ad4fd1a764db3f1baecf4c89b57da9dcfa)", + "P->V[24928:24960]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 12900: Hash(0x40290a4241e8433930c4317935b9b75df065b379aad30d00e855a0657413d87)", + "P->V[24960:24992]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13188: Hash(0x3da94e939e693ea55608cf421fd49d9842fb157e69195285ab64cdd9cc64c8)", + "P->V[24992:25024]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 13988: Hash(0x76b578bd4e9bfb75ecd273c4aaf747f4084b08bd94d2184d3938067d46729b)", + "P->V[25024:25056]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 14726: Hash(0x6fe3841b9b6035d9c8d1bf652d7f5a34af58f95a93e4238aef90a460269a1fe)", + "P->V[25056:25088]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 15450: Hash(0x15e8f25e2103baebd37065d31e44e5e7cdc6e160cdaf7d0a159204b84e4e046)", + "P->V[25088:25120]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4752: Hash(0x291d2b3c22ca66fd6e9b890045ab0a14bffe9d58b1be302dff6f9b3df7e1a18)", + "P->V[25120:25152]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4842: Hash(0x1b17985062f3f6e2cb2f5cf57f1ef1856eda268ccfbf6ada8ffbee8d99cf14c)", + "P->V[25152:25184]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4876: Hash(0x6230d33e63b9aa9df5a658cb415078860e0da6d130be7ee9ca1562b42a2f97f)", + "P->V[25184:25216]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 4951: Hash(0x1d7adc23bda5cd23e1669a4c84350ae8884523b07ca9f2a12ee9057a09289bd)", + "P->V[25216:25248]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6359: Hash(0xf2119500e8f9db4bfddd8ca7acde68cb2651a786cfbcd7910e0738c96d30ec)", + "P->V[25248:25280]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6451: Hash(0x3e24e76be945a8cca281a473f3864da5eb018e3852f5d6df659e542b46a02fa)", + "P->V[25280:25312]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6595: Hash(0x7818e6c50676d1268d0f965520dc7274d007784f7c67ccd5b84ed26eb4a4480)", + "P->V[25312:25344]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 6995: Hash(0xd14f6ecb76df27be150521e92b7c9ffe22f82eddbe122cc780b35f17009dd7)", + "P->V[25344:25376]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7362: Hash(0x4e00fa596706db76bfcf3fea3d86dda6ab8ab31d04e3f9997be92602f6ea130)", + "P->V[25376:25408]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 7724: Hash(0x147e68c16a2a914bce1104aed6e19419f8bbf579561d1e81d014f12c6311218)", + "P->V[25408:25440]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2377: Hash(0x45e028cf189be79cb44897c51e04244abe6fe11e5a64092e261ff135575b409)", + "P->V[25440:25472]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2420: Hash(0x63ac600b88e0f4d7aa39ba6614bf944108db207e2918371120c43b92c2b0295)", + "P->V[25472:25504]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2439: Hash(0x6f15a485cb21776fdf2d122d638c40da1d49ba9de34a18d436e6248dbc784d2)", + "P->V[25504:25536]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 2474: Hash(0x569737afbd811c22f64eea119ef9255e44df2a295e8783b90f2372203dd0c03)", + "P->V[25536:25568]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3178: Hash(0x4c66d7c9d91b51a4aab4cb51deaea47dcaf1f70de1cb826fcecf4700c54967c)", + "P->V[25568:25600]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3224: Hash(0x760725a5fcfd28f33c401ed40484e33bddb4ceafb43432e6af092bfea8fe7fd)", + "P->V[25600:25632]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3296: Hash(0x63258a5bb1bdedacf4404ab03eb1a8fc14b912af7eb99a1047b7485171b1a34)", + "P->V[25632:25664]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3496: Hash(0x5f51a7a6b7e9e79be9f2491393d394944172fb8408a060463d7a86568c1e674)", + "P->V[25664:25696]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3680: Hash(0x710ac1d763a445ae26cfe0d3c10e9271fe89a0be28e624c1fbfd87dd82a422b)", + "P->V[25696:25728]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 3863: Hash(0x59af609cd6fe9968236cdb705d95be5193e31a049f4e1e46b33c4b7bb71efd5)", + "P->V[25728:25760]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1189: Hash(0x31940810dd73d760c0aa3ab73b6c5428a1606240ab867eee668f637cf66f68d)", + "P->V[25760:25792]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1211: Hash(0x1c016fab976e9ed6e542b64eab61329f45fc257af690c1b1b023e0ed44c4351)", + "P->V[25792:25824]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1218: Hash(0x361e1faef2447687bc961fc942a0bcd8896339126b712cd7b5c73d876b09719)", + "P->V[25824:25856]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1236: Hash(0x6811f0da0693a0310e26873da936a760a8e3befafaeb6a12519b2bd62f409da)", + "P->V[25856:25888]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1588: Hash(0x13108563ea894bb8e2e9faa4d20ab1f3e64aee9442eb0a47d4e99910c9e24fd)", + "P->V[25888:25920]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1613: Hash(0x124c718148cf7de4ac2b7864c1b7a296ebdbbec1a357e3774b7c24e24cf7d53)", + "P->V[25920:25952]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1649: Hash(0x32696bdc99de6d11400b156a747f8cc98eed1cf3d4a5e47fb9efc9d6c0dcd16)", + "P->V[25952:25984]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1749: Hash(0x7118deb38f2cbd3d42723600482d58e18658efc1d022ab30530f00cc0875a8d)", + "P->V[25984:26016]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1841: Hash(0x4a92ee884714f3a8b4ed4a349fdd365115aa0cc4215f31fe83b25b32c9ba625)", + "P->V[26016:26048]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 1930: Hash(0x2993854d77246f542fe9d2653b24884585d7a32cb7b809499ff0b556b97fcdb)", + "P->V[26048:26080]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 595: Hash(0x26a499bc434572ab872c36f9674f7c209a71e0af77d26bfd0951603ce9ba432)", + "P->V[26080:26112]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 604: Hash(0x7b2eb2261a11e1437a24696e21087172bb23f86e8bfe3e5943f0caa697ad328)", + "P->V[26112:26144]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 608: Hash(0x689c4b3e33d5215dfaad1a6b069eebfa41bff198986e3bf82e10164fba6b385)", + "P->V[26144:26176]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 619: Hash(0x6ee17ede96a5169f01891a19661fd7f541f0db3708682a5b801e3deb1295f51)", + "P->V[26176:26208]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 795: Hash(0x6c791ba18e4e5255b5f0dab686c813a2c7851a5c36d333f2ee1e26ff52a9c60)", + "P->V[26208:26240]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 807: Hash(0x5df117cc4a2c8f91f5421a4255003ded66985f08fff6ea00e6af64119d66dd0)", + "P->V[26240:26272]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 825: Hash(0x35608277423788d833479d85b0cb67dd1afd11a1e12e3ea80b64d500678cc4b)", + "P->V[26272:26304]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 875: Hash(0x1d62bdb86914126f7b215d10a10716a5c6afa6e4be0a1a5fb06192d64252c6)", + "P->V[26304:26336]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 921: Hash(0x6971e9c2b9ca15c01bb54aa1af19398aef09c6f847c68b1fc1654c999c9c1ad)", + "P->V[26336:26368]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 964: Hash(0x3accf3f6b2779e16fac7ed245f31987eb4d09cbbef7d6a47c9edccba4d9f8f9)", + "P->V[26368:26400]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 296: Hash(0x68fec21a120d75af7023db58985ec6da81bc2f023c289d2b9edab4ed47d3b3c)", + "P->V[26400:26432]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 303: Hash(0x66a5f35e47775fc1ae9ac59e26a78196a48fca0cde093b25796786cb2de190b)", + "P->V[26432:26464]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 305: Hash(0x6e243156bb14ee3fb8b7aad933578b8eedb861b30b3f3f5b664432b809b786c)", + "P->V[26464:26496]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 308: Hash(0x20da5895346122f454a9ff301bc9e1c1b013acd086405739c07723dc228be5f)", + "P->V[26496:26528]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 396: Hash(0x5c43208ac8ab6741d090b04473fabbd8ed6885ad1ac792aff8a5a483db39f2)", + "P->V[26528:26560]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 402: Hash(0x6040600dc55d6bd93388ea15d684e653a535e010e96e5531ac8b75314a44813)", + "P->V[26560:26592]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 413: Hash(0x187f01b933d43284e4771f4722757bda83509ff3d2eeaed2a8b8ec5cc84c4ed)", + "P->V[26592:26624]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 436: Hash(0x4202716e2a5e7f30bc62e6092db49356b18ba0627d02fe44ed3437476f6078f)", + "P->V[26624:26656]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 461: Hash(0x57fc5d4b3c65bcf8f589f3875c787ba61b35e8a237c40287bfcdd400f48d968)", + "P->V[26656:26688]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 483: Hash(0x13c2122bbed0da5c132511ae1322cc722f1d09ace07040fdfbba57cac33fb33)", + "P->V[26688:26720]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 149: Hash(0x1fd0412aca2d68be106460f27074c9baf7b0a1c72a3e1f4ffe49002b3e5d34e)", + "P->V[26720:26752]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 150: Hash(0x41167dbfec4a31da9677baf0d0d403eda43d43aa40f048e3c765aa141e5d6e2)", + "P->V[26752:26784]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 153: Hash(0x125381af7925f1f469f1485f272e796c2bd970bcaf9243f172fa748fea9d78b)", + "P->V[26784:26816]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 155: Hash(0x6ad43433a00752e5df87753eb39843005a9cb1424d5387107aa5447bddb3f0e)", + "P->V[26816:26848]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 199: Hash(0x3fddc5f2ff4724bc34ee6d18b5206c389ef093686de944a0154a491321935c2)", + "P->V[26848:26880]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 200: Hash(0x6cde7e2f74e5ee2fae226113a657efd3e184ac5f8cf4417e0e168200a77e92e)", + "P->V[26880:26912]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 207: Hash(0x5c594c2cbdbc2979f857da5c58c3b434dc207acee093f9b3248d65521e3babd)", + "P->V[26912:26944]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 219: Hash(0x672c5afd1219b7a4e925ca52489f09e0faab02881c4840089eb0e53b929efba)", + "P->V[26944:26976]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 231: Hash(0x23c7e007872c299ba31caee377f68e03f276c27d07499dbbd8ef9241f412d94)", + "P->V[26976:27008]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 240: Hash(0x555fc4d9e3a03bfe52dc668919ca1cfa4d149ba604f50c83e8936973b443349)", + "P->V[27008:27040]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 98: Hash(0x638cf54706f7ffcd2283415b897aa770ff108626f994d16d4bb582b4f4b13fa)", + "P->V[27040:27072]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 101: Hash(0x2795377776a2b6e1fd3275d8ede5b58572a4d67a7e7e29cc86df0e2f89d1b79)", + "P->V[27072:27104]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 102: Hash(0x1e0980b397c1624f781bb7fb706a03b1b3ae80a8ff0b0764442bbb9d93ecc1a)", + "P->V[27104:27136]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 108: Hash(0x284f3cf3ed9586b809db68c042ccc2a494ab438238b66d5fc77ab8e3f36ed44)", + "P->V[27136:27168]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 114: Hash(0x624348eccc1ae234bc8b87daaec7079a6946ece4f8aa9179dd7803ae234980c)", + "P->V[27168:27200]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 121: Hash(0x239de1bd10cc2a356b4be482fe8ef2ae60f3e8a72285a7a14f98c3566339022)", + "P->V[27200:27232]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 36: Hash(0x1400c9d4b3274d5dbbfef114cceb12548576c0b0ddf7942dbef5ad82207a40e)", + "P->V[27232:27264]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 39: Hash(0x563293ffc252a0f2ddd9bc8fafee23088686de3bda80f97112b89557ab8a923)", + "P->V[27264:27296]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 48: Hash(0x5bb9e0088c52577f6e378d15ec95633988f8e1dc6fc71c9bc4c78240bd79fb7)", + "P->V[27296:27328]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 55: Hash(0x358489006d0160d5a3aa1ce3c02cac24df437805bb50087daa9435c325cfc49)", + "P->V[27328:27360]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 56: Hash(0x17ea9ce60e2b0cfd0db938f2fd802cbc29ae24bf85c1670d3b0a6273c3c0057)", + "P->V[27360:27392]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 61: Hash(0x2de417c843fa772e98303eb9b1e3b6c581ae423221c71785d2275af18de9999)", + "P->V[27392:27424]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 26: Hash(0x715a2b3d4e58321232218aa7c6810ffeafa7c441cd893057d079b2f0e1d0452)", + "P->V[27424:27456]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 29: Hash(0x9cc4856c58e81726dbfe326f511b16a8842a2cb8c069f42923beaedebb3c7a)", + "P->V[27456:27488]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 31: Hash(0x27bacc1e270a7a7c9c721e83379bb5e85e6d9b14a664a7bc2cd66d245d09c7e)", + "P->V[27488:27520]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 8: Hash(0x4222a4a1d42276570fefd7dde277e64c2c064480d2bca726920fd9dcb27e755)", + "P->V[27520:27552]: /cpu air/STARK/FRI/Decommitment/Layer 0/Virtual Oracle/Trace 2: For node 5: Hash(0x733e829999a4808a1907709ba815bcfd6b41044bb9841e4fd9826309a564a9d)", + "P->V[27552:27584]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10523, Column 0: Field Element(0x54003b1d30cab5aa53128dbb2d0ee21dbf9aae899e393e593d3cfa5b10aed5b)", + "P->V[27584:27616]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10523, Column 1: Field Element(0x1e892406f976f2c68d29d6d231eb25d4b08f82e5664caaf4745604963680b76)", + "P->V[27616:27648]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10523, Column 2: Field Element(0x5f6b60d634ab01fcf9b42b2bfceaf560dbfc5d917412e11d957d0a0809258e8)", + "P->V[27648:27680]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10523, Column 3: Field Element(0x7c7d1eb8c599f62c1f00db95518c15fa9b2388978d26a10725473fda92ed0ce)", + "P->V[27680:27712]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10523, Column 4: Field Element(0x391da88006ccb159494ce90d9596e965b6bc1e398268e16985dc40707bb8653)", + "P->V[27712:27744]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10523, Column 5: Field Element(0x7af10450d20cf0da2eb040821f2823ca792431aaffcebf398bb2a24fae1bd0)", + "P->V[27744:27776]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10523, Column 6: Field Element(0x228ffaafb37d99e13c9b3aad51e89905f456576a36f3db5ed4ab4210f74c125)", + "P->V[27776:27808]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10523, Column 7: Field Element(0x71bbdbdf5b4d9d6eea1a5b2292f5800d3d7b71d8217da1db4be6794a4f0d58f)", + "P->V[27808:27840]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10523, Column 8: Field Element(0x6528f89ddd1141f2c9543489f62c3f4b70a02fd6b7364e158b4a4d0fb218f9f)", + "P->V[27840:27872]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10523, Column 9: Field Element(0x75363d8fecb1028c98e0208a0c07c004c116117f705ca502aef7964c5a71edf)", + "P->V[27872:27904]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10523, Column 10: Field Element(0x1c685b6535553e569a0bd4ab4ed55eb80df5215e5b843516c751b34c1d125ec)", + "P->V[27904:27936]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10523, Column 12: Field Element(0x21bfc4debcf3ca169f29b2443e1e74811fbd25472a2e66bdd52a276791d76e3)", + "P->V[27936:27968]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10523, Column 13: Field Element(0x506e832b41f984a67bd8d29c84ae4ef1eff344d1432aba1ed0105bb42f00c12)", + "P->V[27968:28000]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10523, Column 14: Field Element(0x47c6bd41f46a678422975fc382565276e22cfda79fa73881fa6404395baf025)", + "P->V[28000:28032]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 10523, Column 15: Field Element(0x29a44006df845beba4a9ac18d0516e3f31b288dda95e7366c513ffdbac74fb9)", + "P->V[28032:28064]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11965, Column 0: Field Element(0x4454b5c0fc7bd9088c2ab0333a093fb52cf82b752be4341f1cb70d889dc45b5)", + "P->V[28064:28096]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11965, Column 1: Field Element(0x1955c2845201eefb91f1622d4a2cd64f55d3ad238c36e0d517344d90ac2ce5b)", + "P->V[28096:28128]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11965, Column 2: Field Element(0x613b24e01aa1625c77557996838fb3922bab9b980c8f745bd8ccf5508c42b87)", + "P->V[28128:28160]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11965, Column 3: Field Element(0x4b8470aa31e12e7a75ae1e6e32bb669edd6fde6fe7a99ea0e0c78bdb394fcf4)", + "P->V[28160:28192]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11965, Column 4: Field Element(0x5e08afcd31cd8e17645d340a99935a22ae1b426847a71371d3130907b57b127)", + "P->V[28192:28224]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11965, Column 5: Field Element(0x1af3df3bcfa5aac34a9b145cf34fc4f74817d6202c8df46caae813426a68401)", + "P->V[28224:28256]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11965, Column 7: Field Element(0x66e273af3c4d5fbceeb51220c4535c2f43fcd33ae622c566e0ce04cf24d5af5)", + "P->V[28256:28288]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11965, Column 8: Field Element(0x639caa9ccec51fe8be48508b4cbec0b608edb2bfa0b5f9eb26ffb70a4214244)", + "P->V[28288:28320]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11965, Column 9: Field Element(0x327ba84de49e2e5db62195d1dac60a814ee8d8a8cdb3ca281d2690bd23ca827)", + "P->V[28320:28352]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11965, Column 10: Field Element(0x1f627dc549c3016a149dbc625f25b51734f1eaf46ba17f6825c6897dc3ef36)", + "P->V[28352:28384]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11965, Column 11: Field Element(0x2d46c651f16492c96f18c34c75adf2bfb7953e59e30c7c64271925335ecba5d)", + "P->V[28384:28416]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11965, Column 12: Field Element(0x26fb169928c60fbc04334d377600ac749d25a6727ef69f1bb424d944c2a1449)", + "P->V[28416:28448]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11965, Column 13: Field Element(0x2408f82942b9ef6d2dc44f2728eff6c6c6135ed3dd39e05628cd69598508308)", + "P->V[28448:28480]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11965, Column 14: Field Element(0x2a0fce6900434c258e8745ce6ba984b1e7cb9469e4f59a19de712367e0a7fc7)", + "P->V[28480:28512]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 11965, Column 15: Field Element(0x5c461c964eaf6fcfa58ac0cbcf70f438232e97d29cb5487a9d4a9898a8e3e74)", + "P->V[28512:28544]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 12497, Column 0: Field Element(0x738dc90cedfd60dbb58a08e8f9be09115556c6b628a4568ee93b51ccaefdbdd)", + "P->V[28544:28576]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 12497, Column 1: Field Element(0x343b8d22f686b4f8de3afd8792965289749dff831e9d0aef36cff9c8e2a9879)", + "P->V[28576:28608]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 12497, Column 2: Field Element(0x9470a1fbbe551a0efc02d2ccc4a5c2ea2d122ae6825dba3b3630bf018b9839)", + "P->V[28608:28640]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 12497, Column 3: Field Element(0x4f31bba56e64a5fb25b30a18241f1be9f0e9ce606e639af853425185a91b0b9)", + "P->V[28640:28672]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 12497, Column 4: Field Element(0x6024b458e4257cf5bba59bbf64d7be36b2e31f1adae3f4ac4796ba91d3f571d)", + "P->V[28672:28704]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 12497, Column 5: Field Element(0x3f1135c53d7e69d320eb02b8e56869fdb634b140bb59a7023316592206afdbe)", + "P->V[28704:28736]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 12497, Column 6: Field Element(0x7dbcc5f7b55bc931a930b194e02aba8307d8555e9beb32ffc9a1e111a7c24b7)", + "P->V[28736:28768]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 12497, Column 7: Field Element(0x52a6f4caa22d8e989018079cd16942a39a74ab43e28538f894a4e1cd944fb2e)", + "P->V[28768:28800]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 12497, Column 8: Field Element(0x2b858564f7a11001874ab0babd09579c8e46e45109782fadae097da7b074c04)", + "P->V[28800:28832]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 12497, Column 9: Field Element(0x75edc2555942b46ff9b881ea9427a1930cee9a293f16aa53947c89acf503569)", + "P->V[28832:28864]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 12497, Column 10: Field Element(0x7e963b42689159e64d63db44ec118f9aabba2fd3faa6793367b8224b3e570da)", + "P->V[28864:28896]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 12497, Column 11: Field Element(0x33b73369ed357b3024c399def46de69f43dfc16bb9da0e6846db24bd847ad10)", + "P->V[28896:28928]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 12497, Column 13: Field Element(0x7513af50992963c487541790667f32eeafe8abebed84a83500371a899fa1a7)", + "P->V[28928:28960]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 12497, Column 14: Field Element(0xc02ac5ba04e8d0946fd8f4bb12eb1080b9677aa56afe9a1438af9b71b84fd6)", + "P->V[28960:28992]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 12497, Column 15: Field Element(0x3141ec01e3586cf93ddae96ec63a52a5e848836e5010298a544be47b5f08a4c)", + "P->V[28992:29024]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13677, Column 0: Field Element(0x54f0962eba551df83879081ddb68461bd8d16f64ee7be01fef38a09ac8acf23)", + "P->V[29024:29056]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13677, Column 1: Field Element(0x7974235234f68e70cb680d31fa067ae3471dfdab480677d8439a70ae6cbbf3f)", + "P->V[29056:29088]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13677, Column 3: Field Element(0x5acbacc1228d3b1dde1fe663f89507f927a17aa9bf2cd63728d5cfc41bd2291)", + "P->V[29088:29120]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13677, Column 4: Field Element(0x452f766027a7d04e58c6c8ba1ca9a4589a6716bf30af54603d07f729068a1db)", + "P->V[29120:29152]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13677, Column 5: Field Element(0x6564effd73961e083f62cc13efc27ebba1a944afd50b98f8458815f61701fcc)", + "P->V[29152:29184]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13677, Column 6: Field Element(0x111e4621462c14b75f76a0297dd779764353134f8f0adbb38344dfb179d2d3f)", + "P->V[29184:29216]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13677, Column 7: Field Element(0x226ee43c5d0d2b0f27ed794eb1279874ab3421b3496ed89aff82ee709b835b0)", + "P->V[29216:29248]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13677, Column 8: Field Element(0x21f26f19fc1aa4e3abd87d67a11a9d51f03dfc5c8f86175c79d6653d39c939b)", + "P->V[29248:29280]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13677, Column 9: Field Element(0x58df059a272ab476e8095389d9df1b7d7002673fb24f8ab8f4690d01b7ebae0)", + "P->V[29280:29312]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13677, Column 10: Field Element(0x69ffb73d6739327d6ea9a1a21c61504b893af5bb25c20480033c14f9ea0cd72)", + "P->V[29312:29344]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13677, Column 11: Field Element(0x35f3e33dfeff1250b42cea4fcaec56e03c15e744d9c746aad77370906bb8fe1)", + "P->V[29344:29376]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13677, Column 12: Field Element(0x668f5e19d63045ce4585c0bc253eec36cbb6976a6cac6b994bf855edc9f8d58)", + "P->V[29376:29408]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13677, Column 13: Field Element(0x40101b88f66f934dae23529b3fadb0a8a965a17b98b4e4b80d7934a5dd4e4f9)", + "P->V[29408:29440]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13677, Column 14: Field Element(0x2f05a61ba2fce72fe630078fa124167c5e982d41ce445d07211c969bf29fb11)", + "P->V[29440:29472]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 13677, Column 15: Field Element(0x37b2ba6e6fbd87db430ad7b5d42656c2fbb7d2bb567ed4d58e08a3b6ca4ca28)", + "P->V[29472:29504]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36204, Column 0: Field Element(0x587e9277257398c4371746c995681e53568e61f516d4b2d8b74ea03e6ae4878)", + "P->V[29504:29536]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36204, Column 1: Field Element(0x37e0afe7559ab64d587bfdf93f2aca1c20ef0822b0402f984714d84f25e550c)", + "P->V[29536:29568]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36204, Column 2: Field Element(0x6b84a1f69257797e461768f2ae7b5e74623c37d5181d35e5f35cd452ce3a9d6)", + "P->V[29568:29600]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36204, Column 3: Field Element(0x1791e058bc09d84c43b188d6bc2447181514f0950459556a75c2c46f5328e2e)", + "P->V[29600:29632]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36204, Column 5: Field Element(0x172fb17c4bf16bb79a4c4c749bfecb88eea62ea578f774a83544e86dc6a60d9)", + "P->V[29632:29664]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36204, Column 6: Field Element(0x62ff0713e0beb63b2f41c1f565baa392e8529e552e8aeb24946755757e67b3d)", + "P->V[29664:29696]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36204, Column 7: Field Element(0x65f152f0a9117cd2c221e953b450364c3a87622275d7a34afec9256a51bd43f)", + "P->V[29696:29728]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36204, Column 8: Field Element(0x3227079492c3194a16530bfb8289cede196d3f3e105e583084361ae8012074f)", + "P->V[29728:29760]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36204, Column 9: Field Element(0x6e85dba8d28292a01153699192fb26438cae3db39a141112c122568cd479bd4)", + "P->V[29760:29792]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36204, Column 10: Field Element(0x5049bcaa61a48a0b2274af22f01bbeb939f9bb9cc34c3bbdf8da546d49a9590)", + "P->V[29792:29824]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36204, Column 11: Field Element(0x2540dca9512a5fe4e170df29f93a580b601ac2f831e01f38eeddff76d8df327)", + "P->V[29824:29856]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36204, Column 12: Field Element(0x288d577fa341a3e5726360eb36c436ccbdb9fe725bc4b1751b753d08ea60b18)", + "P->V[29856:29888]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36204, Column 13: Field Element(0x22339fe12dc6e58ba745d5e8907e18128865d8fa5cff0db1195d6be8acc5af8)", + "P->V[29888:29920]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36204, Column 14: Field Element(0x32e861154e431691af56260e7b2e6cf67b5520690a75291d347c1c7c231bd06)", + "P->V[29920:29952]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 36204, Column 15: Field Element(0x6e327ac32147103b8e1024ae20d6720b8e5131ad4a419f6c8ca4dd28aa28208)", + "P->V[29952:29984]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37675, Column 0: Field Element(0x8e0f3d50fde966818a6cee0ff50f4da0c408db609db65e0138da0d0cba708d)", + "P->V[29984:30016]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37675, Column 1: Field Element(0x4e5d4bf7d7488d493a6bb826e8e057f6743cecdb4c37f3178a60482c98bc7a1)", + "P->V[30016:30048]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37675, Column 2: Field Element(0x25d273983bba80f3a6089e7f3952685a2e2155c49aa6bae4bfa59a74f0be88d)", + "P->V[30048:30080]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37675, Column 4: Field Element(0x40a9c2c8891640f93517eb4af07792fea7956c3d7eb15cc30271f8ce163989a)", + "P->V[30080:30112]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37675, Column 5: Field Element(0x5f25fd2ac13d9cb249a64fd6030ab6a5bf7442a9e813d6a40d9c26586ccc01)", + "P->V[30112:30144]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37675, Column 6: Field Element(0x7cb17ad42781d2f6e90dc71adbb9eefcffeb21542f7e1f5aa1573655df4bcec)", + "P->V[30144:30176]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37675, Column 7: Field Element(0x7e0b1d6d3a83427c3083b5a9ca22cb3d8e7b0eceb2c681c96d95c797549f902)", + "P->V[30176:30208]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37675, Column 8: Field Element(0xf7403d493630acee462da1cc0242870845e8460c4bae4a3340ac1ad90a6fdf)", + "P->V[30208:30240]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37675, Column 9: Field Element(0x42382539f213ebf80bda3c01c508b94a5ab63c6c619282ee61db185749a4ce0)", + "P->V[30240:30272]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37675, Column 10: Field Element(0x3fd72fe718a60fae59c204edc04cd5208d2a94e506e42effe7c29f46a9e278c)", + "P->V[30272:30304]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37675, Column 11: Field Element(0x6affea5b758da592130f887ff5948d6329c74f8cdf4235b943c22d3463e7ccf)", + "P->V[30304:30336]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37675, Column 12: Field Element(0x313fa9ce73024db8172b80332c44e77522e5e8e52ef7854ff8cf3f10f12b21e)", + "P->V[30336:30368]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37675, Column 13: Field Element(0x7b4ef227fd6eb7bc81b5f54c031f35fca8cfbcce69dc3e240a3764add8554e9)", + "P->V[30368:30400]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37675, Column 14: Field Element(0x2cda096d82764889b83e7bd5945a67e9306e71088021d643f635bfe478191a9)", + "P->V[30400:30432]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 37675, Column 15: Field Element(0x388e93deaac279c41f4ba21897841dff26ebb7e3adb02614378abf3dba1dd16)", + "P->V[30432:30464]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39981, Column 0: Field Element(0x763b8c265778e706cb8b92c594bad3551897b580bf2eceead71e3a0e44d1a12)", + "P->V[30464:30496]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39981, Column 1: Field Element(0x1d6a0be710b170f3daad10478494829718ea0781f7024423afdaafad03a9b42)", + "P->V[30496:30528]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39981, Column 2: Field Element(0x7810cf03304ed717d55cecde4bd71ea09f441e9ba6d7e69a243ea4d8304ac66)", + "P->V[30528:30560]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39981, Column 3: Field Element(0x57d8e3087ea545af72e78d18dfb235bf88221a9e11b3d514da8a66c80cc1c3a)", + "P->V[30560:30592]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39981, Column 4: Field Element(0xac5a9d23a56e786beb69b9757fe1494d447ffa0c3b75f98d58c63a128b89ee)", + "P->V[30592:30624]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39981, Column 5: Field Element(0x59f574a31dca64a3913d93ffa5777ea83b9b93a38b31a4e4a2c07740fa09a1f)", + "P->V[30624:30656]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39981, Column 6: Field Element(0x6d857ef18521218d9147cf2d0fa31a6fcf07470f15b99e01c04ac0f8f59be66)", + "P->V[30656:30688]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39981, Column 7: Field Element(0x146022cc788b55e47da8dd3198acaed0c25872ee8efeb831f172df7245cf1de)", + "P->V[30688:30720]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39981, Column 8: Field Element(0x6d4a87f6f9b53d38299a084d674409d72d04a0956131697fae84fe46a1a4a2e)", + "P->V[30720:30752]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39981, Column 9: Field Element(0xb53718ea7c62dcf6e24e1a90c2d2ca7ece8a8c9e04a0b3c795d7eef59ec029)", + "P->V[30752:30784]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39981, Column 10: Field Element(0x62d0a364da96cf19a811c2eadf6a92d9753993e677230e6910528dcfaedede3)", + "P->V[30784:30816]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39981, Column 11: Field Element(0x75ac5f265a09930d08c0dafae148bbf7587d6654ed631ceec46a61a19c7f3e6)", + "P->V[30816:30848]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39981, Column 12: Field Element(0x21c5b4c7e113d03ca21db460355429dc399a80c97ff46272a620e286bd28936)", + "P->V[30848:30880]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39981, Column 13: Field Element(0x328a0c468524fd1da7b656497695d08e85a0e670f2f308b4d3c1cf5d677c82b)", + "P->V[30880:30912]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 39981, Column 15: Field Element(0x59c904383c92682472dad141ed6558772b7b460990ca0bb314e8ef6e4fadb31)", + "P->V[30912:30944]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 46377, Column 0: Field Element(0x6b5ca806a99d9288e13a1034d5689db2e0a4807f2fbca041d68f8008fe41d91)", + "P->V[30944:30976]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 46377, Column 1: Field Element(0x4b34e32de24178a342c70a167f10c6ca92a0902c1202d7a88c7298239912d04)", + "P->V[30976:31008]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 46377, Column 2: Field Element(0x4ef8281e20993e32e94ebf2106c32f080b662cf112b7dad3886ecf10d3d8036)", + "P->V[31008:31040]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 46377, Column 3: Field Element(0x77addc78f2a7b103d601862b1b8b11ac7e9bf8b12b85c68477ab2f39c53cd21)", + "P->V[31040:31072]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 46377, Column 4: Field Element(0x3801d71617dc0bab817fb6422d993b4e7689b7e0bd027ad4f931ecc46251973)", + "P->V[31072:31104]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 46377, Column 5: Field Element(0x59d6f4a08fae5f02e274d340571f029c0b362548c25ce08cfec093c8f8005cf)", + "P->V[31104:31136]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 46377, Column 6: Field Element(0x4d23ed976e617178a5b9a5d32201994d74af48bdae48fca5a00d4210c6163bf)", + "P->V[31136:31168]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 46377, Column 8: Field Element(0xf50758d1dcf386ace5090a4d687fc4771c1bcf8b492b2548d90fdb997eec5)", + "P->V[31168:31200]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 46377, Column 9: Field Element(0x3cdcc5a35d61787bd67f59b6c5fe49e9746bc596386fe7c0d10595b59e70420)", + "P->V[31200:31232]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 46377, Column 10: Field Element(0x523ea547602e00ad178faf889b768ffef4e8ae5e758eacf0ffaa71a0cc91723)", + "P->V[31232:31264]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 46377, Column 11: Field Element(0x69d4f369a692891913a1224981c513282681166a8090b72d06f54a4ddfb0555)", + "P->V[31264:31296]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 46377, Column 12: Field Element(0x2e726f41e54d8db778507cda5ec11c1077ed79e69831338f77a37e77f509694)", + "P->V[31296:31328]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 46377, Column 13: Field Element(0x4f2f7ff67b40b466d8fc67b7516e4076f186914f98371586cdc326af51d3ae6)", + "P->V[31328:31360]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 46377, Column 14: Field Element(0x50ec2ac596a65a6e6c69cf13d52542701d939f216a3fc8b5e892222bd68d48f)", + "P->V[31360:31392]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 46377, Column 15: Field Element(0x474b0202603e73928499596c441f30a86d5178d91bd94f1efc964f9a2cbbb07)", + "P->V[31392:31424]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52284, Column 1: Field Element(0x33f3bb10f0f639c5d061d08f069de9c80464c8edda5dd1c6063f3fad20e9eae)", + "P->V[31424:31456]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52284, Column 2: Field Element(0xeafe3be5b582ea8dd55addf8f5eec5df97cf92ef44656a44d6d39a91b9565c)", + "P->V[31456:31488]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52284, Column 3: Field Element(0x71c700193c84a7396526ac71c495d0a77d52a86a82d0b13671722e4c2d2d735)", + "P->V[31488:31520]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52284, Column 4: Field Element(0x3772df7bcf4f5ed058f58c99da11087feab68ddfc4edb47d9e92e7d21024905)", + "P->V[31520:31552]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52284, Column 5: Field Element(0x2f1ecf183d9ae85cb1d1d5183ca86d1985da7483cfac2ed0bf7af76b045a759)", + "P->V[31552:31584]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52284, Column 6: Field Element(0x6c730905cd1bd867580792facbaac0d649deb4240897bfcb00160917a69219d)", + "P->V[31584:31616]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52284, Column 7: Field Element(0x50f464aca82cf256cf7a3df8c9b19ea75026a8700cfadeeb8abf394331c2643)", + "P->V[31616:31648]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52284, Column 8: Field Element(0x2247928c7c2dd8cd43bbb998ab2b7ad348b1b7381ccc85e1c02e947b10e9f9a)", + "P->V[31648:31680]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52284, Column 9: Field Element(0x7bdf0abdcb26e2211c6b61c772148fb6f741ada2833c075c3cf51bf06ba5b2e)", + "P->V[31680:31712]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52284, Column 10: Field Element(0x53e43094c160b1434841e4ee19808a52e33a9e1e4454ac5abbcb23c04f133bd)", + "P->V[31712:31744]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52284, Column 11: Field Element(0x3cc53ad4eb5d8ee371f07a2ce4121ada9c92fb939717f3f2c9bafebb60f6899)", + "P->V[31744:31776]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52284, Column 12: Field Element(0x527ddfba82aeb266daebd5c688590a75baa32c32461cfd79ec4f37f9ac14463)", + "P->V[31776:31808]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52284, Column 13: Field Element(0x5e322fc819c3fb7110d7ffdfc0a44697c434c9b3d787b91a1d139e09cf19a12)", + "P->V[31808:31840]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52284, Column 14: Field Element(0x539a13b83e1f972756a277782ede5355f117178db2c73f1b991d5052de1f37a)", + "P->V[31840:31872]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 52284, Column 15: Field Element(0x350ea0414a138c0bc69a9d9c07da206c30a244e04e91b829429c57ca174d9c7)", + "P->V[31872:31904]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 58078, Column 0: Field Element(0x786aa7e2410d00735a90631ab28a6da85ef938e5a7df2be2687ca8d61a9ca1d)", + "P->V[31904:31936]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 58078, Column 1: Field Element(0x73c72983157f231ce3f7794755cb4978be0ca76ca0886e8ef5c7d7b9f8b8d14)", + "P->V[31936:31968]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 58078, Column 2: Field Element(0x2b4eb70d9bffc7edb5fdb5522252c908b58f8a7747a9aa253a8272c66158fab)", + "P->V[31968:32000]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 58078, Column 3: Field Element(0x51354dd47b398ca73ed2fa3e44bf0abd34c321fb0bfcdd7bd0bac3885567ed7)", + "P->V[32000:32032]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 58078, Column 4: Field Element(0x6ab4659d6b3392f4b08c4c416f617e3e1cb73786964737849b85436541c1e60)", + "P->V[32032:32064]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 58078, Column 5: Field Element(0x6553864a3ce865776b3f261aed7063a8db57d2288f35c4499cb66def6f6283a)", + "P->V[32064:32096]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 58078, Column 7: Field Element(0x3709d646e5eb8ed32586c5454f03e7d37e146c0e1ed8b5b0092c7b695353276)", + "P->V[32096:32128]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 58078, Column 8: Field Element(0x4429e064cea04bc4736e74e92011c919ec0a9b13a9795dcc097cd8a050f14d9)", + "P->V[32128:32160]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 58078, Column 9: Field Element(0x4cd77d922b190e77a6c033116f89d4dbed446cff3a6ee3f76ad1fec99f7a0d8)", + "P->V[32160:32192]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 58078, Column 10: Field Element(0x2cbf67e07b05ffdc59efce2384b1307e588d39cdc7cc4c256363d91b40c8156)", + "P->V[32192:32224]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 58078, Column 11: Field Element(0x410dd552ac830d50babd4fe71c9b187f2f700600a78118544fbea77948a7665)", + "P->V[32224:32256]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 58078, Column 12: Field Element(0x53a1648cd99d9dcdc2704d653dcdca83f051f1d6bc6dfba02da8cc9212383b4)", + "P->V[32256:32288]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 58078, Column 13: Field Element(0x222b7dcbbfde89f9639f9aca020805a604b79e834231ddf4cae4ee0b220af1f)", + "P->V[32288:32320]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 58078, Column 14: Field Element(0x7ac7a05f6be53472391c419bed4bdf3fcbef2d90606905662df9eada4daccbc)", + "P->V[32320:32352]: /cpu air/STARK/FRI/Decommitment/Layer 1: Row 58078, Column 15: Field Element(0x477ba08d3629d11478b253f388e7114fd669b09c37887f717b01d5093e0607)", + "P->V[32352:32384]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 76058: Hash(0x8bd3dcfc4a7fdaeb968083249c5065946ea543a6822e5175404f2092957d56)", + "P->V[32384:32416]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 77500: Hash(0xd5c02e88ad4ad03eded9b565d94c86716351542dd54b57c7ef9ed0036d88c)", + "P->V[32416:32448]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 78032: Hash(0x4d08599e054e85838b68a6937635fce68fb250073b3ec71fe9248d281555164)", + "P->V[32448:32480]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 79212: Hash(0x1b75971b0bc95fe5e49692b4aa2113965e79c9eef3d39688e5862edd5f2b154)", + "P->V[32480:32512]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 101741: Hash(0x5fec39ca903f6a4e0ac4920e4b752953fd9359c084b9b3b0d1b327cccdee339)", + "P->V[32512:32544]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 103210: Hash(0x3550d908ddafb37681f403b25e36af67b3b59fe1964b3b3dc16014b751a915b)", + "P->V[32544:32576]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 105516: Hash(0xef7661e219e4ce5e008b3d410bbe3cfb00f07fd0d8d79e07e9eb5f4d5cb686)", + "P->V[32576:32608]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 111912: Hash(0x64fe941941b09328691d37ddced20175017db5a2ceca63f27b681ff273f53f2)", + "P->V[32608:32640]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 117821: Hash(0x294841b599694e7a950d6328f173281baec586c0c3c9430c0daf6ae5aa10c85)", + "P->V[32640:32672]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 123615: Hash(0x1e4155fb833072ca4301c326af6f14d80a7110914fdb0dd67cb1ab62b8b66a5)", + "P->V[32672:32704]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 38028: Hash(0x3e2efa1f34404b100c05851eafde76b6100ad3818a35b178060a6d2251644e3)", + "P->V[32704:32736]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 38751: Hash(0x1bc19b9fc0475d8599920a4cece227794380101bd334ea3b1b61e221a3ea990)", + "P->V[32736:32768]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 39017: Hash(0x71fb4d232565b0aeeace0204c18dd1168ee37ec76cf6d170b473545dabc82f1)", + "P->V[32768:32800]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 39607: Hash(0x4b1b3e6546027bda7a7d995468b03298e0c938547a0cc372a31bb2007b2195c)", + "P->V[32800:32832]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 50871: Hash(0x7ce19042d31b852439adb773d19c43fe48d302ca0ca833796964c4fa3a0fc74)", + "P->V[32832:32864]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 51604: Hash(0x43b3dcb12748c217fc59eb473e2bcf00802763260dcdf8edeee8d6826aacb29)", + "P->V[32864:32896]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 52759: Hash(0x7f7c0b20020ae0c8aa3b9f84e13f7cc9e72ff2cf0265a7a9f22eaf1cea2b043)", + "P->V[32896:32928]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 55957: Hash(0x6a46516f8ff953da6dfa272e4e0eaa2bef5f893ed738dd66d9637ebf8640210)", + "P->V[32928:32960]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 58911: Hash(0x383526b7b9d4fac17509edc0bbd4dce9c9e7baa1464e958af03e3ad5d66f2da)", + "P->V[32960:32992]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 61806: Hash(0x6200bf4f070faceb2d03e250f56ca380fb5468195f56b778547634d34bf0a52)", + "P->V[32992:33024]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 19015: Hash(0x226c509e5c17cc41921991ac149727444800b4e3bc75ee163a4830d3e684bd4)", + "P->V[33024:33056]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 19374: Hash(0x474a0b5f78240dfe3400d3748821bab94a7149ccd8f891181df93ca2cb43857)", + "P->V[33056:33088]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 19509: Hash(0x7e83540f77970e6ed9193e4491dcae802e971a9ae4d21d11034d3f6344f3ffd)", + "P->V[33088:33120]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 19802: Hash(0x5e447f33d9dce1ac4f83c5a18d605a7984f70d3e717614813a78da3a15be78)", + "P->V[33120:33152]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 25434: Hash(0x419ca7318717d5120b2b66cc106630cfb794e67775399b691b7703e3e06a38a)", + "P->V[33152:33184]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 25803: Hash(0x23f511be59b4df5cbf8b07db2e7f6e3577f53a9bb814f221c854f1ce50086a1)", + "P->V[33184:33216]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 26378: Hash(0x70f434ac918b849ee6225d496d1adebdebfba84371d6ee88efa21b97967e1a1)", + "P->V[33216:33248]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 27979: Hash(0x9c057c56ff8277a0eeea5203191a1c63a2d1226aba836b47e4b67e2436ec53)", + "P->V[33248:33280]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 29454: Hash(0x464860a712236d965002e696636c305bedb5c944815669578d5d80972c4b913)", + "P->V[33280:33312]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 30902: Hash(0x7e71d3b5d2897086c4d66f876640f343877644c64d8202513a52ebe202087c4)", + "P->V[33312:33344]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 9506: Hash(0x40a72e789970ec3a1192603a4e1711fe6b55419b5d25097ab4ef9b5abc4c7f0)", + "P->V[33344:33376]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 9686: Hash(0x259c29fb9038c79edd132049c997100ada945968cc0adc7c9b1daa546f02fcb)", + "P->V[33376:33408]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 9755: Hash(0x623acb2543458b65a5f246e0238d55429374a19d2b6f677eb1113be0ee8e0ff)", + "P->V[33408:33440]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 9900: Hash(0x2484fd5bd14c9caf8e2f0f8b4ee48deecb86688cf12588deaab2169515b71f3)", + "P->V[33440:33472]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12716: Hash(0x6099f6f62350a3c7afcbc9dc292ace1dbd24bfff7dc570b403cea374db6db7)", + "P->V[33472:33504]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 12900: Hash(0x18d922cc21eb4ef25181ac08d0f7af0f2c181db34d9145c823575cd7540d30)", + "P->V[33504:33536]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13188: Hash(0x10a0c7109b16c80125a839be1750625405a57bf1f585bc3684c87e2caea7627)", + "P->V[33536:33568]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 13988: Hash(0x7901606cd2c65274cacca5208ba0b4d2fdc6adb6f640160f9aa13a10e2bbd80)", + "P->V[33568:33600]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 14726: Hash(0x1df8f5fb767452d253b7231bfa003765eb0fc0536dbe4ea3f99580eafe68fc9)", + "P->V[33600:33632]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 15450: Hash(0x6af42b8cfe70c8ef765d548eb56caee3b3d099885b64900e6570590baea8a2f)", + "P->V[33632:33664]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4752: Hash(0x7d1a2a0adace60752cb6ce4927cde327fb9ec779b423c1289a1cf5802004e39)", + "P->V[33664:33696]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4842: Hash(0x62014b53ef0efcc5b8cc354e86e09fefb634319a3ee60e695c0911a177e1647)", + "P->V[33696:33728]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4876: Hash(0x22fb54bc30d4d4cb98828b2a5af0add04d91d3cb8a1ec380ca5aee1c00fc96b)", + "P->V[33728:33760]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 4951: Hash(0x4a4486b87f3fbdcb2447eabe3efd23f071b7ac2f1f50a2ebfaebdf6780632c5)", + "P->V[33760:33792]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6359: Hash(0x280b5cb47ca2a4ce2151b7cf092a039202753ab5345f59b9efbba991bb26550)", + "P->V[33792:33824]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6451: Hash(0x3d7838ddf761f39da1f05ae75df2c9019c2ec451a81a7b80a71de6fb1c25d17)", + "P->V[33824:33856]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6595: Hash(0x146feb34a3e4658c81bda3bd038ecf30b42d290d34b3add88adeca57548aba9)", + "P->V[33856:33888]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 6995: Hash(0x7ddf258fb285870268fe73a7a3eba16fde5a9b33ec1d55bbbbe440dd3ed4f7)", + "P->V[33888:33920]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7362: Hash(0x6296c86822a373d870b32e7c3a507f424e42bc70f138572cb7d898569eb8dc5)", + "P->V[33920:33952]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 7724: Hash(0x5cd2f8a8714d246e5761948ea2711e7a57a814fd0145f10d975aeb77daa347a)", + "P->V[33952:33984]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2377: Hash(0x2a3ccd589b35d9dc8cfe8307500361d7d43fda6d6ac06ff9787a6ee62ecfd63)", + "P->V[33984:34016]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2420: Hash(0x2d0d547b5a2067fffd3cf82f743a81b99e063339902c15d8ca6101f095d4016)", + "P->V[34016:34048]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2439: Hash(0x551e82dbbe1348da0542a23d852fe6e861b95b86884ca1e276ed3a9fdab99ca)", + "P->V[34048:34080]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 2474: Hash(0x73c12a35a91961844d51524d8196aede0a2b528046cb9169607327c539ec3d0)", + "P->V[34080:34112]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3178: Hash(0xd9a81b8c19ef06ebf7695453d1e1d8ff3bf39375252c218c9c4c1cb0e332ea)", + "P->V[34112:34144]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3224: Hash(0x4351b8ccab9832968dbbb2586a7b0920a2fcf9a03349d80ca4ad69227e2a1b1)", + "P->V[34144:34176]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3296: Hash(0xf079b80e83c7d1d997c67e3a27a4ce803c95a838f49fcccf8af62bea7ca344)", + "P->V[34176:34208]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3496: Hash(0x229effdd091435f37090dcdf0faa291dd9423fbd991c197f9207c5cb05b86dd)", + "P->V[34208:34240]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3680: Hash(0x454c416b1750a78355814689e5b6bf093b1f43cbc58ba236fe4169adc2cc27b)", + "P->V[34240:34272]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 3863: Hash(0x6f39f0c639ae95448ecf70e3511283f2dd39bd7cd19f685beffb49f20de4e29)", + "P->V[34272:34304]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1189: Hash(0x446389bbf81fe364e6fe225cbb17d6a35681922fb71a804b66423a72d4a8051)", + "P->V[34304:34336]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1211: Hash(0x31fdc92a720d231c5bce4392d49d6b6dd6b1c95d96f305ee19f6a887be66629)", + "P->V[34336:34368]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1218: Hash(0x2a4ad5fa5e8eedd699f89dbdfa69c12da9336487821c59910c61b341a46efba)", + "P->V[34368:34400]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1236: Hash(0x2e46e861faa62891589d8808ccfb4c391c6f62d07c345742139927dffe576ac)", + "P->V[34400:34432]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1588: Hash(0x1cce1b7c7cc2ec77670190c389d8917f40dbd66764cd8659ebe3b214dc4239d)", + "P->V[34432:34464]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1613: Hash(0x552efb63cde6cfd593b25ed36162e1c765f7450ec36152c786579e97aa84e54)", + "P->V[34464:34496]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1649: Hash(0x6d0804fa35c19f16486ad3b600c13b77546c7ec82a36cda610406a4498795ae)", + "P->V[34496:34528]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1749: Hash(0x2bf3fa6f94b4680bafb1da4a6f3b9187cf1bc46befe93b1efbce032de5b7d78)", + "P->V[34528:34560]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1841: Hash(0x15c778271c991f19e7c220365ee967ea7b8cc229ade91bd05be807ce010f1cc)", + "P->V[34560:34592]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 1930: Hash(0x7f69f8380120c71bdcafd12a4000e340735574fd0b234e383ac4510d521ce5)", + "P->V[34592:34624]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 595: Hash(0x464880bb754aaf4bcd755c6dd85c4eb1d990bc9c7f90e400fe30a0eedede76a)", + "P->V[34624:34656]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 604: Hash(0x206b127f6fdbb01024b8ad3c7f96bb3eead5b8ea4437ec550bfab26369cd137)", + "P->V[34656:34688]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 608: Hash(0x1912ff4368055fa765624d8dd3ce535772c9ca4133d8ad9abeecac281655387)", + "P->V[34688:34720]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 619: Hash(0x5706ac319bbf656764cad358dade3fd75ec0d2cc4a0f3757854264b77819b60)", + "P->V[34720:34752]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 795: Hash(0x58adecfd512bd00908d2d0cdc8e6a28203732c6220c64f052d63945011132ee)", + "P->V[34752:34784]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 807: Hash(0x10a51f801e5653f28a9e1b5d166bad007bb7d4a3eca8f3629edd9875c66cbcd)", + "P->V[34784:34816]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 825: Hash(0x15a29dde866bcbddfee426c5a49fe78d03e1f924be900b433956e185ba967ef)", + "P->V[34816:34848]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 875: Hash(0x121cca4dac639a94293c672c4b6e150d11a25230903c5216e85aac49e87d514)", + "P->V[34848:34880]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 921: Hash(0x78652a5366f6a080c0017046023ab0d5c779743fcc209f0d1793f794fce4180)", + "P->V[34880:34912]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 964: Hash(0x2bbc245875a1d539eeb69031856a7138ac4651a583af2f6658fd09fb5f723d7)", + "P->V[34912:34944]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 296: Hash(0x791d81894bd971ff2c3ebcb51c8bbd1c730a91b01bd2d91158141d260792b5c)", + "P->V[34944:34976]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 303: Hash(0x3abeb89bb811c9cd57eb46e4f31d854ea8330a15770890b613aa82345807daf)", + "P->V[34976:35008]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 305: Hash(0x5cb8ef5d02787b31e3cf9732f662cdfd0192cffb88ae82503341ca4321cb3b0)", + "P->V[35008:35040]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 308: Hash(0x63c9a04eacc37757a88868ae704871ca45798b09aba3acadfab82206682b93a)", + "P->V[35040:35072]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 396: Hash(0x330a5507fc58c20126d1a21f10a5913923b4658a022ee6ce2d2a19d77e94545)", + "P->V[35072:35104]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 402: Hash(0x6f8c47180ed2035937f70a1c5534add3774fbce7cdc29e0169ff4039f1df4a7)", + "P->V[35104:35136]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 413: Hash(0x28e986f318a8df183bdf35a8982266ca1dc710f1b79c49d9d0ae49e11f2430b)", + "P->V[35136:35168]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 436: Hash(0x3e91ea12ac6b9aa36e0b4d9c8c42a56ba51325f324f3a511bb6ac478ca95a6f)", + "P->V[35168:35200]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 461: Hash(0x20a7e01640715b0917e99e850d00d353f64d13f86452d61ae8cf96b920a5e0)", + "P->V[35200:35232]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 483: Hash(0x7b0ad8f71c5dbb9c8b700d936a8e7a1a155bffe53eec39fefd52462dd1296b5)", + "P->V[35232:35264]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 149: Hash(0x70ffe0c691c536ab07b37b55d28edddd5e08272714f08495454970b9e5d5284)", + "P->V[35264:35296]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 150: Hash(0x6df53334c0c4c4d2311df92bc372b58ad63befca26eec9140cc9bd24a5b1452)", + "P->V[35296:35328]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 153: Hash(0x7376efdea4492fb0b6bb9837afd03b0e0ba47b0906a4ee03c8fa87bfb70ace4)", + "P->V[35328:35360]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 155: Hash(0x4c0490890bac2e993936a2235a67dc6d07d1cc591de76ce49e9f256966f3771)", + "P->V[35360:35392]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 199: Hash(0x61e00e7f24649a8b5767ffdb88c34a090184126cb553f9838729a8af6d2e475)", + "P->V[35392:35424]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 200: Hash(0x640403f513eea8e2183232e241db1bec400a5a3ac3970d7021694b290ee8b2d)", + "P->V[35424:35456]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 207: Hash(0x544dfc5a55d4fba801d0bb9b99b05df1512365f7c5b77ee55cd48c37de3f85c)", + "P->V[35456:35488]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 219: Hash(0x2e9c4c3bfb31cbe638a5e91eb189fad28a36814b2336457807fe57521e09437)", + "P->V[35488:35520]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 231: Hash(0x61ae6ce154fa86f5dfc29b328e3e4425941a031cc27fe8c8038d5f3d85dbbed)", + "P->V[35520:35552]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 240: Hash(0x35e6291570bc07a500e02e5bd6c799912bdf1330e138ecf2d81c5e959a93385)", + "P->V[35552:35584]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 98: Hash(0x700276ee44fe9bf6b12fba46221f3b65ba7c82fc3e63a98ecfc2b6932f6ad28)", + "P->V[35584:35616]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 101: Hash(0x68f6a06b773fc9f270fe73531548c1a7ae7c9ba6b3a55150480d33c9bc6eb3d)", + "P->V[35616:35648]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 102: Hash(0x248de3b533bf7191a59e2d42a3ece87f4d740e11e068873d19c0be9b325989d)", + "P->V[35648:35680]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 108: Hash(0x58b7206314cb070f2c5737be5f028b9826fa043d5855f022b2c7c3ce0be25c2)", + "P->V[35680:35712]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 114: Hash(0x3018d143c4402a7bd45c6c6362a8b022b50b57b73d92bd0fee53b90ca320baf)", + "P->V[35712:35744]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 121: Hash(0x75c026e665ebab6f7c4813048795920dcbd3ecd62bf99a0d5ff2153e1c98cca)", + "P->V[35744:35776]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 36: Hash(0x7c833923775e127e8fa30c6811ffd5ddcaf9d45c078b314cf3c4a0001e2d0fa)", + "P->V[35776:35808]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 39: Hash(0x7d6f8c0743da482ecb2b374792de69e4786c93d0b723df1ff22634f41dd9bcd)", + "P->V[35808:35840]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 48: Hash(0xcbd731342fab8975ee8a718b2088e54e878b072b23ff58a940221d1fde9690)", + "P->V[35840:35872]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 55: Hash(0x8f1630dac5bd44efd0046a59fdee0874dbdf158bd4e8f3c063f34ccebf1c1f)", + "P->V[35872:35904]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 56: Hash(0x7250a56ae33c89d7d3d23d21dbda667f9ee7f1098ebfe309cbbc4718a49f053)", + "P->V[35904:35936]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 61: Hash(0x2578ed922e09ae2a05b0a34185242d13f797717369e2e94ee18610a407dc8d7)", + "P->V[35936:35968]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 26: Hash(0x578d765ab754822a0caa0963f328e57a542deced7fb69cf806c331e9e66b2d4)", + "P->V[35968:36000]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 29: Hash(0x7b30f634bbffce2fdaf7417103e9605c1d11805474d6c9841b7416301aa0756)", + "P->V[36000:36032]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 31: Hash(0x7def4f109fb3191a4d8aae7c91256f527738a68fe76ff7f8a09858e7e2d94bb)", + "P->V[36032:36064]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 8: Hash(0x41e4d17be205cc9fa97f4ec99cd141e933c843864691d244662fd676bf463c5)", + "P->V[36064:36096]: /cpu air/STARK/FRI/Decommitment/Layer 1: For node 5: Hash(0x3e9c2be6e78df83f09796f4a0d27b1c2077913c4a2a6da3aa19dd7fe751b5cf)", + "P->V[36096:36128]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 657, Column 0: Field Element(0x41bb922b89287abc8cff413d285e202868d26033dbe336db66b42704af07430)", + "P->V[36128:36160]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 657, Column 1: Field Element(0x29d866d5caa12f3142b2b5a79383449ed1a05a005bb3e9fdab97c4d8454303)", + "P->V[36160:36192]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 657, Column 2: Field Element(0x5b2ad3f68f0b09e9793aae71a4b6c229aada9e8da34e2ec0b5b100cec19c26e)", + "P->V[36192:36224]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 657, Column 3: Field Element(0x21b11818340f152f7ef4950377c7f27b934e49e768dfd8b9c35a534aa01631)", + "P->V[36224:36256]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 657, Column 4: Field Element(0x19f144d0ddfb11a552111b26376a2ef2e04204228c3a62bd17d761e5680ba3b)", + "P->V[36256:36288]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 657, Column 5: Field Element(0x3dde1ae2ca50ac0caeb5b193d31ed533cb32854d1f67360e4cf5ffcc6cb02f9)", + "P->V[36288:36320]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 657, Column 6: Field Element(0x273e5ec4b58d98e8ab207d973b153d07cae62a5f3e8ec7519645da541c3b2e2)", + "P->V[36320:36352]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 657, Column 7: Field Element(0x76f18fca21d00e7890c833033ce6c237c1469397b4e7f35618cf8a2c6549436)", + "P->V[36352:36384]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 657, Column 8: Field Element(0x65bd6534b39c2958ba28621f27846a84f91e7c726f7dbd6ec75cfa99a7e5909)", + "P->V[36384:36416]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 657, Column 9: Field Element(0x3bbf0341a8997e4008889c2e4163382fe30911018779e8c660540c67d60160d)", + "P->V[36416:36448]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 657, Column 10: Field Element(0x670fa610fe28a2dc223f1865752619879f759942897b083570f84dc42665c41)", + "P->V[36448:36480]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 657, Column 12: Field Element(0x76aac7fe681a370724ce1d5e80d5bae20d54ffd5b71a37c0b0ea7b09e96383a)", + "P->V[36480:36512]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 657, Column 13: Field Element(0x652d6143e5a7a870ea2e69eae12c27bd89ed5bef7ff8cdf38657eb49723a3c7)", + "P->V[36512:36544]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 657, Column 14: Field Element(0x243c8810791df62b984817730e0646d789177ec4077f82acc545c4fa8442d4f)", + "P->V[36544:36576]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 657, Column 15: Field Element(0xb21486f551209b5a1319f18a3fc5601c39fdfe24ffa2e3ba395625d36e85ca)", + "P->V[36576:36608]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 747, Column 0: Field Element(0x2d26c6501f3df95c342fc978f03b7cb154217d6666b06469d09afffb9b4b9a0)", + "P->V[36608:36640]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 747, Column 1: Field Element(0x181ec94a2e430c58ee943ecc283e0754640a267fec610fc496eebe8edf8b516)", + "P->V[36640:36672]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 747, Column 2: Field Element(0x42b3558398d5cc4eefb10373ff1038365b517184ecdd42b1273c5d631424e7b)", + "P->V[36672:36704]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 747, Column 3: Field Element(0x73037435c9a2f7c8027de2ffa8495f878d06b96868621fee73ca1f9c576ec4b)", + "P->V[36704:36736]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 747, Column 4: Field Element(0x58d1833e93638349c435b1aae8dc1568179b39e0e29d63dac0cd8053705a667)", + "P->V[36736:36768]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 747, Column 5: Field Element(0x4ff89d352599bcbb23abc92c2f03c473c7c94865e67ec856a87c446cff04fde)", + "P->V[36768:36800]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 747, Column 6: Field Element(0x2435117d4ae55b6640d824dd497de9fe5e695cdd121fee43f6f5aad4070e9a9)", + "P->V[36800:36832]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 747, Column 7: Field Element(0x5720af1a99c64e195ddf420fc7541bf85a8a70a4626156b619cc89b20a52330)", + "P->V[36832:36864]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 747, Column 8: Field Element(0x4aa9bced145425e24b2228b6efe254492c6499531f091ac037f2618675ed6a7)", + "P->V[36864:36896]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 747, Column 9: Field Element(0x5459c729d8edecfdabb507f258dca33e8497f8a5ba74fd79a6c872060c9338b)", + "P->V[36896:36928]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 747, Column 10: Field Element(0x394d637488672cac25c7e63289085d0423d082658db73160fc2315e8206d292)", + "P->V[36928:36960]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 747, Column 11: Field Element(0xcf0eca525a7f5c2fd15b371368cd2099d585ee333fceafaecd459c1b6fbd05)", + "P->V[36960:36992]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 747, Column 12: Field Element(0x43a59b85ab3fbd94dd3d568953839acef09058756f7d96de9408e3da7a3477f)", + "P->V[36992:37024]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 747, Column 14: Field Element(0x788ff93298c11b24a9afce0e398042a09ec69a5640167eeb7aec1e111d45daf)", + "P->V[37024:37056]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 747, Column 15: Field Element(0x407969f566cfdb21e09c7734357dd20f827c999681bac00343e4932e9f49cff)", + "P->V[37056:37088]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 781, Column 0: Field Element(0x73b0b7949072ad8fe3d701b031cf10aae7e330d036ba9087a79133d3f7206ac)", + "P->V[37088:37120]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 781, Column 2: Field Element(0x49a286e2cce66c82edd657cd74fc77c2c887ab956bef1dd61303f567fcea7dc)", + "P->V[37120:37152]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 781, Column 3: Field Element(0x40afbb204e621f0e2c7bfac1b7ff5f3cecf7d8d2d2cb36add2ad607cc77fbb)", + "P->V[37152:37184]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 781, Column 4: Field Element(0x7dc9df0267fdcc1941a55c831bc61dfe03557dec3dcf7783f0b2d62436547ab)", + "P->V[37184:37216]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 781, Column 5: Field Element(0x10f9a9b127fcbf17e0ee471b0f0fbc16500b382337aed379dade777a0634d42)", + "P->V[37216:37248]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 781, Column 6: Field Element(0x1163bf216076efaeb613f62c81dc1d7df479d140b4589d4006d57464abc8f43)", + "P->V[37248:37280]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 781, Column 7: Field Element(0x7257b954a2dee2058ef0b5f7d27794b9414a8e0ef2bfaf202bce2128df522a4)", + "P->V[37280:37312]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 781, Column 8: Field Element(0x5bb7767033875a1009c2ec75890e1eea7c972c65e8af1a9ff2466b19522b519)", + "P->V[37312:37344]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 781, Column 9: Field Element(0x2556560a7f4292b276b884fe50dc9c230d599cc50128977a462d9566bfde978)", + "P->V[37344:37376]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 781, Column 10: Field Element(0x2dfe5619be3b8eb058278b761858bc5ac1b95d5cf245604d13f9ea3ef94bc28)", + "P->V[37376:37408]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 781, Column 11: Field Element(0x33aaa78dcf33b321861cf5b88cc1b8cad790dc77f6b2b7882911b000a17a0c2)", + "P->V[37408:37440]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 781, Column 12: Field Element(0x257eb061f559dd1164fdf1e9b36013284a4c2e5a78cb1d22416a9dec96363b1)", + "P->V[37440:37472]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 781, Column 13: Field Element(0xf2111354870518df186f62aed51dd70e4dd9650a141bef9b8961aec0904238)", + "P->V[37472:37504]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 781, Column 14: Field Element(0x2c428712127b0947a7b04ffd553e918e8be1d217805c9b71222b13a95bc2268)", + "P->V[37504:37536]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 781, Column 15: Field Element(0x663977588e029efa688f2466706ee3b3ad9af739eb46737a0baa951a09f4c3d)", + "P->V[37536:37568]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 854, Column 0: Field Element(0x5d56b5ef409255549b800151dab2147bdf4fca6711d4a38daf4e008bdf4522b)", + "P->V[37568:37600]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 854, Column 1: Field Element(0x1b6e7ef15a08f1e6a70cc632cb5efb33aa78aa71bee2e6d9a243ad9f13ed959)", + "P->V[37600:37632]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 854, Column 2: Field Element(0x7af7fd9d1168c238c769543be7446c0185a604042bf0a77acf9adb8324a2e38)", + "P->V[37632:37664]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 854, Column 3: Field Element(0x36bb94885b65c83c6666fba8e1b9d8137bbc75417bbc8af88650dd1700d6568)", + "P->V[37664:37696]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 854, Column 4: Field Element(0x7f03d353fc27a0be3b338d65554bb210d575e1af59eb478134a1e5067cec1d3)", + "P->V[37696:37728]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 854, Column 5: Field Element(0x4aba00634cd79bfd8ec182e1a349eb34aa2306576376abcd9fce3494c45b623)", + "P->V[37728:37760]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 854, Column 6: Field Element(0x43d01b7f8070b4b6caf860957ced1d6e20ff21b7ee3a24232d21bc32f48c1a6)", + "P->V[37760:37792]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 854, Column 7: Field Element(0x2e84b0c9f7cb187d1ae4914c50cfd3a64d19ac54e4923348bf6f1f04386afd2)", + "P->V[37792:37824]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 854, Column 8: Field Element(0x572c59e7f01296e5d7d92946687b8846dc320b441ebc88d0313e3dd02b4ab39)", + "P->V[37824:37856]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 854, Column 9: Field Element(0x3eb96362116327e0e011ee279917f9c14b77b552aac8badd3994a0194a34c8)", + "P->V[37856:37888]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 854, Column 10: Field Element(0x60320c4836b9a3c706653f3755d2536ceb22c23a6dd2eb9ff3e5b25225aacc6)", + "P->V[37888:37920]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 854, Column 11: Field Element(0x19d7f0aa21ea2bbf79fdf1324a77b10bb667385f2c4ce3dbd17dafa1547d42e)", + "P->V[37920:37952]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 854, Column 12: Field Element(0x209875f1bbef2f7b29afd173ca591cfb8bd7827c757b2b7955dbeecdbfb3b7d)", + "P->V[37952:37984]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 854, Column 14: Field Element(0x61f62e02b62b4c092c6becd3746f588bd3d2b47f5e170ddbca9bbb0985526a8)", + "P->V[37984:38016]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 854, Column 15: Field Element(0x5ed1f80f3223f8e0dcf10cb682857fda18a53ca7279245cc128fb85036e8c02)", + "P->V[38016:38048]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2262, Column 0: Field Element(0x1249226845599ee0b6a82bd3b79e547a028597546089f02a4335bed7eae2283)", + "P->V[38048:38080]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2262, Column 1: Field Element(0x75492e6ad0b5634879de998d325e2a3dd6f0be69f5d61ac060c10c1169ef8a2)", + "P->V[38080:38112]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2262, Column 2: Field Element(0x6e026959dbd432e38bfbd36450da8f4567a46d1e0aa8ea9c93f9d5b2433bf10)", + "P->V[38112:38144]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2262, Column 3: Field Element(0x3ce0353cf9bae3bbf75226a74d63627c577952556d5ccf411261807129b62b7)", + "P->V[38144:38176]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2262, Column 4: Field Element(0x768eb1408106a5e8072fa06bb172048f2bb1d722796ee830410b97617a61ba3)", + "P->V[38176:38208]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2262, Column 5: Field Element(0x31e9dc279a0432f44d7284d23b9e61802ff3aefeb8f959d5b8e90bfc97f05ab)", + "P->V[38208:38240]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2262, Column 6: Field Element(0x33368c853a3a86512162b30dff678fda2446d399e09e83a8086bc398e786415)", + "P->V[38240:38272]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2262, Column 7: Field Element(0x7b5ff7fefa65df7ebe35a3292a268b7ce6c9f38fc6efce8264b8869bc449353)", + "P->V[38272:38304]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2262, Column 8: Field Element(0x7707013849cf25fd0d5b6c3822a9a0bda58c184f44bbfa4eb19f95535edf5fa)", + "P->V[38304:38336]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2262, Column 9: Field Element(0x426612251de95f023cabee998b0c9f58b75407801cf4e9672d215ec0b5fb467)", + "P->V[38336:38368]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2262, Column 10: Field Element(0x2be9501029ab6eaa4d8ed3c4ef20c83c353c0132bf6de7e927be160c02b5b5f)", + "P->V[38368:38400]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2262, Column 11: Field Element(0x521986bc8a4302d8c52caead11645aad10d23fcdeaca054741c506ae164160a)", + "P->V[38400:38432]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2262, Column 13: Field Element(0x6352b80b946d1b4a74f061d7cacc2bb532dccf0954e4b4026b794dbb7fa323c)", + "P->V[38432:38464]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2262, Column 14: Field Element(0x14595850324c55525ec99ab801e222fbc05c2de1b20e803b106bfe7c03385b0)", + "P->V[38464:38496]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2262, Column 15: Field Element(0x7472823fe0f7aed4a16b7d58792f6ca51dbf9512beb2213f551f1213bc7c997)", + "P->V[38496:38528]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2354, Column 0: Field Element(0x6f8cd591a79b3ee8ae7270922fc3c0572106aadcdf8bd637ceb0ef2ab15b2c8)", + "P->V[38528:38560]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2354, Column 1: Field Element(0x5d7180464dff7992cf3ff543b1bb959311c5b6fb4f7b8dfe7dfb544402da6e6)", + "P->V[38560:38592]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2354, Column 2: Field Element(0x291e408af10a84943010df64081d85b6d997d17ca11efa69fb494f5efabb02e)", + "P->V[38592:38624]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2354, Column 3: Field Element(0x3c97372383777902a0a2a89d65528bf610a6fb76b26eafebf835ecb9cd5dc62)", + "P->V[38624:38656]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2354, Column 4: Field Element(0x615a6c801164cfe6826abd4bef5ae536285f94ca6fdf266b32ef5c9ec9bd4f1)", + "P->V[38656:38688]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2354, Column 5: Field Element(0x67ccce00ffce57da68475be7f12da9fd83fcc56f8b93c60ec047e7e0314864b)", + "P->V[38688:38720]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2354, Column 6: Field Element(0xb790501accb3bbf11d0591400cf937e37e784c546a28277e333f8050705a50)", + "P->V[38720:38752]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2354, Column 7: Field Element(0x74d9cff8186e1b49e8cdac4b9d4a09cb267cd9cd12656ea761c7e92ca94319a)", + "P->V[38752:38784]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2354, Column 8: Field Element(0x3da639ba43c22c680fa73ab4477a416983fe77947388b29295f9563a64eb537)", + "P->V[38784:38816]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2354, Column 9: Field Element(0x71a497db4f4c3abc8f6ef75f3bf5684ca5a7960c02820700434daeae83c5a7)", + "P->V[38816:38848]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2354, Column 10: Field Element(0x2b3b03bdfde52fea496493c387cb3bc3a78d03ae750a527dc0f9386688116be)", + "P->V[38848:38880]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2354, Column 12: Field Element(0x2afe97258b92012099346d7840774233301b950a133fc6235a64fad6988e642)", + "P->V[38880:38912]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2354, Column 13: Field Element(0x4142c2db38f0cdd2a66a489f53a410603ba4ac1a53131d5d7b28da2847e14b)", + "P->V[38912:38944]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2354, Column 14: Field Element(0x4b3b1895ad1b08ea218980da249102ddae84db4f6342076a3beca0fbfee6d42)", + "P->V[38944:38976]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2354, Column 15: Field Element(0x5110738e2cd0b09008b1dd69b4c60c50f35530be95e24bab1dc87aa2620aa55)", + "P->V[38976:39008]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2498, Column 0: Field Element(0x26fd699bc78986cb6543a04e35bee00a9cf125e365a8f74fab9de4ac27bc1)", + "P->V[39008:39040]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2498, Column 1: Field Element(0x603247029fd41290cab1f2b4363b00a1d6a0c48de01fa5dffedae7ea9509778)", + "P->V[39040:39072]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2498, Column 2: Field Element(0x77dad33fba636d754814c0626bf484848b09edd8013f42ea8769209651d7725)", + "P->V[39072:39104]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2498, Column 3: Field Element(0x7fd5b6f92fb2e7c3a80a72cb9bb268d3cdda642c09cebb74cf0fa2cbd8899a0)", + "P->V[39104:39136]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2498, Column 4: Field Element(0x52bdba238a7abe88eef6e5e8978557b9ccf022591d9719657cd36e9990ca18e)", + "P->V[39136:39168]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2498, Column 5: Field Element(0x28daaf57fcc735988140c27c516876666a4c6ef2cb047caa9f01e85cc622652)", + "P->V[39168:39200]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2498, Column 6: Field Element(0x3f7d764e17ad1ee90386315e92b6af1263e4057bff05b4284250dc0996e642b)", + "P->V[39200:39232]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2498, Column 7: Field Element(0x2929b2bc830f8719b1f218ce88d8f1dbbde2ebc9c2ff0a901fc8983d9cade43)", + "P->V[39232:39264]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2498, Column 8: Field Element(0x70ed34a693555b8255bdea18f3bb06ba57084dcc5d6ec173e080c1c0a535fd2)", + "P->V[39264:39296]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2498, Column 9: Field Element(0x4e9dd3a233d9e8fa4b554813fd277ac0eb0f3887f4db222d049c55a3dd7267c)", + "P->V[39296:39328]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2498, Column 10: Field Element(0x4bc2b235d8e440e1626e39129c32917d1235b5b2e612dc284ec826ac3270037)", + "P->V[39328:39360]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2498, Column 11: Field Element(0x2b52a73be201723266d91b82f94f6efe59fa820d4ef877141239118fe9a18dd)", + "P->V[39360:39392]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2498, Column 12: Field Element(0x62694162357ca93811be066a97082180eab38df82fd281b3e0da1eac5b5a9c0)", + "P->V[39392:39424]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2498, Column 14: Field Element(0x5087354cb4819c3fea12f36bafd382e4de6f5c0fa255a064a5e88c093140bb2)", + "P->V[39424:39456]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2498, Column 15: Field Element(0x1a61174564bdb8f2d3972becde64a8336f8623f7158f26f1308eba51827ef01)", + "P->V[39456:39488]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2898, Column 0: Field Element(0x12415766929454d41568150af30531f3196276eb851466d473b546326b475f9)", + "P->V[39488:39520]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2898, Column 1: Field Element(0x4bada4325d7a930e15d3f6d0be3387bdedc60aabc6bf691975c03d59ed79c62)", + "P->V[39520:39552]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2898, Column 2: Field Element(0x656ccc3dc2ea3d0c725306b8b83d187dff49aaaf3c7b6abcdbc211f27990fbb)", + "P->V[39552:39584]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2898, Column 3: Field Element(0x7e2a41f8529ddee16986ed1740f54c4893fdb405a7c52c0443eebffdd5cf32f)", + "P->V[39584:39616]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2898, Column 4: Field Element(0x122796a18e421f93ca0e151ca40415ead239fe3a202a419392863e937754dd)", + "P->V[39616:39648]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2898, Column 5: Field Element(0x393b900602a8a928f93747fcae1920983378815b0c1131de44bdf737a162a30)", + "P->V[39648:39680]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2898, Column 6: Field Element(0x6d5b7ec9a207a259a0f0529af1d1ddf53ab1710e3c58e6e4ed0966698ee7df4)", + "P->V[39680:39712]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2898, Column 7: Field Element(0x2bf9527194cd13af540ae9c04640b997de26ddea2557529740a6b764e3d20bb)", + "P->V[39712:39744]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2898, Column 8: Field Element(0x5074ecb084c13bf639ccc3776cb695341ff2913e618b940d9fd4dc9af9eae91)", + "P->V[39744:39776]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2898, Column 10: Field Element(0xd161ec33918ac670dfa5728dce0028d715ef43754175f44aa8d2ef73f16b06)", + "P->V[39776:39808]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2898, Column 11: Field Element(0x4e5e55902de8a5b2eb33860febe4fa03bb94b0f5af2d9e8490e90ffc5241345)", + "P->V[39808:39840]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2898, Column 12: Field Element(0x7ec5d4afe0d20fa2b71eb3016a4255899201da4f875e77d2eae6f13ebc76a6c)", + "P->V[39840:39872]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2898, Column 13: Field Element(0x77b999aaa0d28d8f9d48e4fa5f696f46a844d02ed3339235a098044188aea8b)", + "P->V[39872:39904]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2898, Column 14: Field Element(0xc535893cfac143bb5e7376f98631900e1028f8be6642f282fdc334036b9bf9)", + "P->V[39904:39936]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 2898, Column 15: Field Element(0x55435639b14d579442db2014314e01dbe6cc03140a305958739d25544b5ea82)", + "P->V[39936:39968]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3267, Column 0: Field Element(0x110e1340e0867a3841abf966844429cac2822ed953909fd6b00f9cc0a735a63)", + "P->V[39968:40000]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3267, Column 1: Field Element(0x285b1a25970c7dc67abdfdf9ed2b05fd4810c98fdc0048fc06bb20221b09c59)", + "P->V[40000:40032]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3267, Column 2: Field Element(0x5e7bbefe29b6a7ef972d6c593a1621066ce55e564422d9642a9483546ad84a2)", + "P->V[40032:40064]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3267, Column 3: Field Element(0x17b38c1b192ff954f22dca45765d1b22f36be83855aa43a7949406c379699a)", + "P->V[40064:40096]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3267, Column 4: Field Element(0x65f78adabf1744bbd71111fc0f30666d31aa94a33910f77551cca799495b5fd)", + "P->V[40096:40128]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3267, Column 5: Field Element(0x32714d0c3c2c760a3f32d7f78a4b0c2b811ff6c38c9f74dd5e5a6d00f6387b0)", + "P->V[40128:40160]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3267, Column 6: Field Element(0x6cba0997adee2ac957513938744f357a49875ca9d8b76c90cdd2ba4558565b8)", + "P->V[40160:40192]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3267, Column 7: Field Element(0x62dac278b993007c068ef96e8594591b5b80edd2c49edfde4ec0665f9530d58)", + "P->V[40192:40224]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3267, Column 8: Field Element(0x7f3cadf6836f0ec62d14e6e0a267fa0ed2a26dc467d9264e55cdb941209f47a)", + "P->V[40224:40256]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3267, Column 9: Field Element(0x5d4951ed1779da313689578d59c81f965b0226b7f8e1bbbd3027a00f27bb7b1)", + "P->V[40256:40288]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3267, Column 10: Field Element(0x2f206edb6119b7fea410ad6fc3361a8bddce7d6751fb3c1921f4c6efb6dfd5a)", + "P->V[40288:40320]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3267, Column 11: Field Element(0x3c13b24eaecc0e73e76af4967216b4bbf21d4f8e8d72e8fe6875028fe49e9f0)", + "P->V[40320:40352]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3267, Column 13: Field Element(0x7a955c6f597ee9b46b3f63cd664b5749184299891bc2702b351b957f0ab83c5)", + "P->V[40352:40384]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3267, Column 14: Field Element(0xb3770563d150e9d04fd0375bd08c91116c3eb73fb6807edc368b0a90b2c4cd)", + "P->V[40384:40416]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3267, Column 15: Field Element(0x488e12f6e1d4ea0ca7d2388bc72dd20d6e8e597f181cc0eb7d475138aca6f7c)", + "P->V[40416:40448]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3629, Column 0: Field Element(0x766a5f683556b002559fdec6240361b328effd561e07b5230a165c9857f66f6)", + "P->V[40448:40480]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3629, Column 1: Field Element(0x5fc24b19726b00358bf281d617db972c4733286a8bb5221a43f1df00e893f61)", + "P->V[40480:40512]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3629, Column 2: Field Element(0xd6db34ca5f8122ee15b59e12269f41982768f6cb67f841cdee4d7f3702f219)", + "P->V[40512:40544]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3629, Column 3: Field Element(0x7ead5684b17421620311efb92298695d33993cf8c94f0aff46f36e47220c93d)", + "P->V[40544:40576]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3629, Column 4: Field Element(0x6ac38082f1982dae9dd8cdd0bd98e6e483c843ea10f73ffe42ea0aae74bae6a)", + "P->V[40576:40608]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3629, Column 5: Field Element(0x1a0f4d6a483f2b729b0d49e9c63e7d9c7d5922571c8e687da9decde06935bdc)", + "P->V[40608:40640]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3629, Column 6: Field Element(0x5f8f41449bf6831e53be71a5baa1d098196ca793ba1790f314f1ab5451bcd46)", + "P->V[40640:40672]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3629, Column 7: Field Element(0x227e6ee2b8986213ad09e0084f9b3036f64f3941c4746ad9329fdaf2e7ed44f)", + "P->V[40672:40704]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3629, Column 8: Field Element(0x4f1dba1bda2cf597fc971819b024510f4ed83f7a06075107e643b0470cbfccd)", + "P->V[40704:40736]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3629, Column 9: Field Element(0x2742a55009900017ba41b120f493b3af53963584b9f62779ac57e1b7ab5d25)", + "P->V[40736:40768]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3629, Column 10: Field Element(0x1567f08699d3b8ece07619404e4143ddfef23b77deef09ea8f82d5b06c7ac4e)", + "P->V[40768:40800]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3629, Column 11: Field Element(0xc73a58c1bf6d5f6ddab676d65824977f80a26711a21b4bd7343698cacc037f)", + "P->V[40800:40832]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3629, Column 12: Field Element(0x3fa239ced39f8dc1b012499f8cb30f52bb6291e9a1b005acd75615b6369453e)", + "P->V[40832:40864]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3629, Column 13: Field Element(0x1250c42c6e24eff575bfe8d3360b7d4f1f0eee708afb607c3d13c2f0f7b646e)", + "P->V[40864:40896]: /cpu air/STARK/FRI/Decommitment/Layer 2: Row 3629, Column 15: Field Element(0x781fb836aa88535e4e792c32c4805bf17cb7ab67e2fc9ec98a155e33850576c)", + "P->V[40896:40928]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4752: Hash(0x35daa925791ee9603266e0a617d095a99f9c8c3d3042f0af99a5d450257378f)", + "P->V[40928:40960]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4842: Hash(0x7baf7e77f3b9b9131d06fddd2cf9decee73ad0ba2b275527cd1089c50169f9a)", + "P->V[40960:40992]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4876: Hash(0x33731f5a765b9ed043f0a6f34feb9097db8d67bdcf5f254043cd44aa45732fa)", + "P->V[40992:41024]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 4951: Hash(0x73dfa82d77e38af15b135186a9de921b80dc245476c5a37c9e0d004b727b2cc)", + "P->V[41024:41056]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6359: Hash(0x2cb91e3a60748262f1d04951d771cf29464149a2a9c600c7300c0977492b600)", + "P->V[41056:41088]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6451: Hash(0x179f2ab61ae6a3bfb60cbdc54f47a7fab1225eae1a30b8990e5d58f5c45efa)", + "P->V[41088:41120]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6595: Hash(0x44679c917670dfbbd99b924dbf3dde24875627bb6144837f987bdf4088b8d56)", + "P->V[41120:41152]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 6995: Hash(0x7dda98ab8b60a60693690d79512119fb95b6abd28a218a855c1c5af1ac529dc)", + "P->V[41152:41184]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7362: Hash(0x55225959d4b6da993e234b042da33e9dce2425a0548b1fd6a22ecf6c1667ce5)", + "P->V[41184:41216]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 7724: Hash(0xc00f1e92eac88c946784a601dd8dcc3f71033c8be33b353087f8facf0b70b5)", + "P->V[41216:41248]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2377: Hash(0xd92d4b326a25da3a8843d8d1e2c322c9ff230b4170c31e9986c38dec1cf54)", + "P->V[41248:41280]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2420: Hash(0x3c3f62851c1e50108f5af14bf46ae5c737c0af4aef12b65a61a45fad1562225)", + "P->V[41280:41312]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2439: Hash(0x7808df29320217298eee0b28f77a9c4d2e79f88c2608527440b8371a128ea11)", + "P->V[41312:41344]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 2474: Hash(0x1f59b25f070aa6a0130dafcf22989a5ca603fb8c5e562f6d00a838c2ca5271e)", + "P->V[41344:41376]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3178: Hash(0x90e27e0395d6bc7cb784527a0aed0ed5761451113a8bd6f7d2c1768556e352)", + "P->V[41376:41408]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3224: Hash(0x6c055d768e3a0d1d796800b8a7ab2a8dd44ef24fa308d7c010c897b3aad43b)", + "P->V[41408:41440]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3296: Hash(0x38cca0b02b598f08be07f5b6f7dc6ae5d893b5c769f995ccf0466699a7fb6ca)", + "P->V[41440:41472]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3496: Hash(0xb9847ef1086e4f55de00647af08682d2d535477c879c283f151d1c9dc60)", + "P->V[41472:41504]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3680: Hash(0x66214c61c499c6989800e1d76e3896847f4213d974447fef0e7eb9fe8ed119a)", + "P->V[41504:41536]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 3863: Hash(0x6fa1333ed36a1ce93a818bc67d3d7985f3118fdd6b2dd9e408616f3ef198eb5)", + "P->V[41536:41568]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1189: Hash(0x35cf1cee0ad706be9a6826e988d56b682749852d0befc359d25a9af2abd783a)", + "P->V[41568:41600]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1211: Hash(0x4aed284b18c4b89df011a665dd46e5112dc5ca4c8378bed267ea75044c026f8)", + "P->V[41600:41632]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1218: Hash(0x110cfc033ccc5728ac71fb36b29581efaaf217bf4cf60959f3618a92774ae6f)", + "P->V[41632:41664]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1236: Hash(0x550419ab454d2cd9662791507c6c4d8452e72d1f0ed866a0e4de3c8c95c00ad)", + "P->V[41664:41696]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1588: Hash(0xda382f973539184cd2b746a9a75f13d5079a0f7d85f7265592a8f21550c56)", + "P->V[41696:41728]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1613: Hash(0x4176546617c07ba0d5f96cad4d988548b515f8948b5c7aec5ebfa8aba5d836b)", + "P->V[41728:41760]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1649: Hash(0x6d5d68410e577387fe75a0813d8fbe9326fbe55b9aac719b02ad629b158b21c)", + "P->V[41760:41792]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1749: Hash(0x2a8a17e4622b9a9d0046f2725ab161bcc471cb381a6f616f38a237701c85f28)", + "P->V[41792:41824]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1841: Hash(0x7722939d24856a99d39414d0d893daf31ace40ae22f91e798f372f6f01fce37)", + "P->V[41824:41856]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 1930: Hash(0x599beabbfffcb9b0fd6bbc5fd0a96409b9bacbb758f39e821ddf258995fbc2)", + "P->V[41856:41888]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 595: Hash(0x5844873d77fd9d6fadc6d86c0c5f862e55fd46d554a3ded925216a45c4fdc0f)", + "P->V[41888:41920]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 604: Hash(0x1134f3d9b00b0f4460e36fd8138bf25213f8cb6d81544124b3f005d48a52c4c)", + "P->V[41920:41952]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 608: Hash(0x69b63e6f3130d7e1869b3c841f0ecce0b8072d0af2c528c468cec242bd7b03d)", + "P->V[41952:41984]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 619: Hash(0x3e31d85051949fda049732176cefb137425c6ab5a0212ed85f3a297a9f4821a)", + "P->V[41984:42016]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 795: Hash(0x20276653dc89b7f85a1eb31c6c4eae755008b2e098e8f130b4c105b8aaae256)", + "P->V[42016:42048]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 807: Hash(0x43f7fdacea48095508774ff01730ed72eabe9d3d2f5755f4c83a07ef75cd6e3)", + "P->V[42048:42080]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 825: Hash(0x2ae28e19362eb1184394d1ad4e3902f3b02ef0bb403449827c11f72667df3cd)", + "P->V[42080:42112]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 875: Hash(0x59ec1de23a1f3287c7938296bed117436625ae4d3d618ff65b79a6eac91f71b)", + "P->V[42112:42144]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 921: Hash(0x4166806a1bf26f2ec0a093a57414505457e16a5e02cf94b2f5d8ceaa7ab3d52)", + "P->V[42144:42176]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 964: Hash(0x29d4bde93ee2d10e4a6cd3ea113bc36a8ccafc2cb37fcb4153fea9b6f95a441)", + "P->V[42176:42208]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 296: Hash(0x69ed83489764bb12c0f8219cc4cda2573df5def83b93a680951d5e628f2a107)", + "P->V[42208:42240]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 303: Hash(0x6f395a3d0411168a1ee7993be670def958f2a7591dc19d2dc750e2456f83a48)", + "P->V[42240:42272]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 305: Hash(0x57d3e7bb633eedd3b952a98de982ca512cc0a55bb9cb548c27c8c200e5adae)", + "P->V[42272:42304]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 308: Hash(0x258efc7a00690bac0fad7e64f6541244109aefda46086c161a9d445c68e9e35)", + "P->V[42304:42336]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 396: Hash(0x7e51a6fa53f32d3e743916948ed7ef7bd7d6a79feaf87d29fe7452c81d39f3f)", + "P->V[42336:42368]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 402: Hash(0x164ea4658bdcc8a16b820274da898813578bd82cf35101352ab77a16e438046)", + "P->V[42368:42400]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 413: Hash(0x24ee494d2addce796b6c3e28f8d1a34aeec074d9c4f3dd8e17d622fd50d1f33)", + "P->V[42400:42432]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 436: Hash(0x528bee48002fa5e4c14745318e29edc816306bbeb1afae83cea95ff8df6bb50)", + "P->V[42432:42464]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 461: Hash(0x65cd95a3ddc82813a647be6ac79e3dcc26616f73622e4d3184884359b461e4f)", + "P->V[42464:42496]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 483: Hash(0x10e9ff4d2bea3100fdc6b72736c13b9f5a1dfc62222d3f664b73cb86906d3e3)", + "P->V[42496:42528]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 149: Hash(0x5431df147cf34c5d82b713ef92cdbed174bee871154c87ba79f385777d87f61)", + "P->V[42528:42560]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 150: Hash(0x49f08f8fdc19c4f40a91b44c58ea80f3946530d3eb39b510054233a826e64fc)", + "P->V[42560:42592]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 153: Hash(0x2b70d3754cecd651b6f52fb65da9120bc4a1016ab3c48eee4fc06e64465b760)", + "P->V[42592:42624]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 155: Hash(0x2d04a35ee00abdfdeadc7bb68d0fdb68cf288c04d207e80a57035ddbca1c549)", + "P->V[42624:42656]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 199: Hash(0x2f9fb73fcd338825b234f489b4387bc89b396bfcf606a5e66341f6520a87e8f)", + "P->V[42656:42688]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 200: Hash(0x59ec5945ef517ce69cc0dd8f037426137e4d41a95205d51460461ba73d71439)", + "P->V[42688:42720]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 207: Hash(0x120f24433a8220ed8ccc49afa93eca586a4519e20a7e3a1a3415d3eed50eadc)", + "P->V[42720:42752]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 219: Hash(0xad43d30f17e5e352abebf1565e90ae9a4ff297f5210fd931bbd094edf83540)", + "P->V[42752:42784]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 231: Hash(0x2e19ead93d82995873c1e5006cdc90665d5229c1c9c0aa0a0a49652a3dc7a79)", + "P->V[42784:42816]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 240: Hash(0x9cf1d72070a34e5a3294565676c534cff12a9bd4028871c3058000c0b49941)", + "P->V[42816:42848]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 98: Hash(0x4b8994066a905707459401dbf758fd0fc6e583e408aa2cbabcc0b105c604590)", + "P->V[42848:42880]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 101: Hash(0x25c23aa2319e646ed46acd25121f60b3cb4d1a06aa75f73655608305de2337e)", + "P->V[42880:42912]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 102: Hash(0x56c7e10b4f4876488a15a70b7bce2986898d631e68762f0e16f8ebe638eeda9)", + "P->V[42912:42944]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 108: Hash(0x55b24ba8a0a6692c9e5bce24f6d97f70d7ce6cba51f4179cd5f1150fa05d702)", + "P->V[42944:42976]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 114: Hash(0x722f015b47eae97d1edefec2f934098f3537719a06d2d32d058d24ee73103d5)", + "P->V[42976:43008]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 121: Hash(0x30345ad2d45dae570511e8554566dcad03888bffa820789bd660365ac190c61)", + "P->V[43008:43040]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 36: Hash(0x43e30b255f981c9d0622e9aa641e59eb12df92db1a9d160925ae9b1e48e1372)", + "P->V[43040:43072]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 39: Hash(0x19b413d35eefc1cd9bc49b0e5f173fbdbc5f50cba7c8d0157639c735225bf0f)", + "P->V[43072:43104]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 48: Hash(0x1a1e51af801f1038a059b09133912dad103c7fde1b3f8e7122cafe2d0f395ce)", + "P->V[43104:43136]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 55: Hash(0x6cd41128f871054e7287f1dc108be054471a05f5bf0bb93e12d001de308ddf9)", + "P->V[43136:43168]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 56: Hash(0x2d0e7fc2b36692df012a81c13581efd91609a5e91945a1f73aaa9cb89eec7f7)", + "P->V[43168:43200]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 61: Hash(0xa44d8dec262bdaa8944636f864d41db893974655a798036220c8a0ad1d269d)", + "P->V[43200:43232]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 26: Hash(0x121cf2d28b29c24777a3cc41dfc290a75d1ff3af3f1253b2ccb4926f3f1071b)", + "P->V[43232:43264]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 29: Hash(0x7f6b641c56a61fe80f6348c9062d0b4a13d31fbc2e4766de86acc58ad6d640c)", + "P->V[43264:43296]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 31: Hash(0x27957ecd0bc0ce7d33307e38d21a89bfa8bd1e7d40befd6e31053d870793b3b)", + "P->V[43296:43328]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 8: Hash(0x6dec6a3cf06be7a3ca35cdfe4c7c19780d413ff8be8f822db7ceeb650f0e83d)", + "P->V[43328:43360]: /cpu air/STARK/FRI/Decommitment/Layer 2: For node 5: Hash(0x1ce547c3126f5c0a81ce65a1b19568cb01b02c79410d26162ad5e8bf51c71a2)", + "P->V[43360:43392]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 82, Column 0: Field Element(0x103ef6d2f82c58e22246f3595c68dfd1eaaaf9a8e43b1a167ab032a36088aa3)", + "P->V[43392:43424]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 82, Column 2: Field Element(0x1b886d3bd0b6da2597a36e4d90c6c3a81e086c4a428481273d9ac533fc87717)", + "P->V[43424:43456]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 82, Column 3: Field Element(0x696bd12f210d6a9051bb581dd65cdf3be084918585475ad3b53076f2de5faa6)", + "P->V[43456:43488]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 82, Column 4: Field Element(0x6e52124aad771f17bc4461d9519b9fadbfc971e06f53442969a31fe89b7402e)", + "P->V[43488:43520]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 82, Column 5: Field Element(0x2839cf44dc1d5cb6bd278ab1128b9d87077eb61fdf3f0d5c9108201ea34a704)", + "P->V[43520:43552]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 82, Column 6: Field Element(0x41f6b1df153a6040c9b2d79d3aa757d8036ffe583256d9626bea17cd2bdfe84)", + "P->V[43552:43584]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 82, Column 7: Field Element(0x34718bcd581e7a5cba2a0f3a1f13fabd2628db421ff91eef622b1ecb999d60f)", + "P->V[43584:43616]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 93, Column 0: Field Element(0x13b37bca3dde84c0ded451277558a04a2f886b3c23cd4aa46b3cc77130f7db5)", + "P->V[43616:43648]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 93, Column 1: Field Element(0x23c826780367c3321688beba736b5f61082dde4d80f97da29f33a44ca43ade2)", + "P->V[43648:43680]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 93, Column 2: Field Element(0x3c10cc2504c2737b02538a0668fe75125407568ed3f39b4e1c9ae372cb57480)", + "P->V[43680:43712]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 93, Column 4: Field Element(0x7c70c4f0c253a457b2d539061092364966bf37d55bab2fcdd5f8f18e69bd844)", + "P->V[43712:43744]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 93, Column 5: Field Element(0x236ac1c1e14de50b7e185e210a0ce9cf85f660d3fccdfa9bd8afac058d803b6)", + "P->V[43744:43776]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 93, Column 6: Field Element(0x68944405f1523f660d40c8de2800a201a5508387b3f3ed5dd0fc28143a152d4)", + "P->V[43776:43808]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 93, Column 7: Field Element(0x4bb4ef42b84677da3d7865d9a59b32c2d4f90fc7ec6d42ab1705915c30379bc)", + "P->V[43808:43840]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 97, Column 0: Field Element(0x323afa4f4d49a61f19e082b651bb5ff253789e807c641e0d3f199a571818b63)", + "P->V[43840:43872]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 97, Column 1: Field Element(0x315625a9472c5dfaabe8c9fe46db7e67c48c415bb4423b26c99f4a15672ab9d)", + "P->V[43872:43904]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 97, Column 2: Field Element(0x40ca0ae64e4939e04d79bb8a8c23d395d12c050de6165ebcdb9708a040d147f)", + "P->V[43904:43936]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 97, Column 3: Field Element(0x3ffa87f72ac90ca6cdb53a4951b03ff743d44fe1e10d3d8ab720501a141e7b1)", + "P->V[43936:43968]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 97, Column 4: Field Element(0x43052c2a255d125968e93cb1f3256e068b1dd63ad0493c02ea01a02a8ad32b6)", + "P->V[43968:44000]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 97, Column 6: Field Element(0x170d992f5fa0611d96f64dca1c8f07661bcc5b09c5099b1e4f95415954671e1)", + "P->V[44000:44032]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 97, Column 7: Field Element(0x5d6f3b91253d9dccf8947e272e714d46f299178e17f51636bfffc4afe77f89b)", + "P->V[44032:44064]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 106, Column 0: Field Element(0x3c8e34fa71e4309f4e3c0c60973cc7e7f7c494df6714cf82e7fb57005200bcf)", + "P->V[44064:44096]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 106, Column 1: Field Element(0x6155520d2aeabe570eadee8162427ad174929a777b36cf17bfb40f875f7b4a)", + "P->V[44096:44128]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 106, Column 2: Field Element(0x73d4f07df61997dbc576c9bde6f4cf8ad1a27efe2ed26ae4d7434cad62cc201)", + "P->V[44128:44160]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 106, Column 3: Field Element(0x236dd6229b9b617d98ff4b9e4faa71abc747ea19463a665a2dab21d2e38a30e)", + "P->V[44160:44192]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 106, Column 4: Field Element(0x544fa591c59c800459d97306340f5847e8691670455cbb0ec3270cd3a1459d6)", + "P->V[44192:44224]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 106, Column 5: Field Element(0x892998f3ba3977d88f4f34912a753b795572c7bf9f975cd673a198949e3dff)", + "P->V[44224:44256]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 106, Column 7: Field Element(0x26a5ec2808e8d93253b291d3800e308962b35100fa8ceff87512389a4dfba6d)", + "P->V[44256:44288]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 282, Column 0: Field Element(0x7cbb86bca8b1569c89490519c88f65d23db68de557c5400b216de5c0952f8f5)", + "P->V[44288:44320]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 282, Column 1: Field Element(0x17c26df6484c9d55fa8a118a350b664922bd5463ea23f97f94f253a87b098ef)", + "P->V[44320:44352]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 282, Column 2: Field Element(0x482b9640ea24cb4edf256c65e45a7eb1839334576eff2df72524fd952d73528)", + "P->V[44352:44384]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 282, Column 3: Field Element(0x7f24a6b7217cb480a7cb864d9c066164b1df66eae78b5300db0247ee57950da)", + "P->V[44384:44416]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 282, Column 4: Field Element(0x2011d88f367edc2fe999646ac09da1ecf696a06b6eecdae71b1af8c17939b25)", + "P->V[44416:44448]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 282, Column 5: Field Element(0x2993aae462aeacbf98144cd7e0433ee2df5a0d472403464cf09dddc45ddda70)", + "P->V[44448:44480]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 282, Column 7: Field Element(0x566219980bb2d06fbc739ae56e17076bb0953d9b086d0cd8fc40d4ae8c5f6bd)", + "P->V[44480:44512]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 294, Column 0: Field Element(0x6129c06dbc253020359f9627d86af2bdaf65eada2ed18c2ab1dd374b96ead38)", + "P->V[44512:44544]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 294, Column 1: Field Element(0x630e2e62423e1009c4ad707c518fb5675bc3181270d0034affb9213f32eb0a7)", + "P->V[44544:44576]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 294, Column 3: Field Element(0x2810da38b4ae0e584b67e286a18bc50bee6b14ef8edada6fe1861e91b4d30f3)", + "P->V[44576:44608]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 294, Column 4: Field Element(0x480539414d751143741e519a279f9e4a50398a879a12b63450e6e135bbd8979)", + "P->V[44608:44640]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 294, Column 5: Field Element(0x788ceffcb67da93e4ed39a1ac81a9a8b2e7ce08ab7baef10781633799d225ab)", + "P->V[44640:44672]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 294, Column 6: Field Element(0x8cb654edf7daf1f4ff4e73350ae7c5b3423bfcd9095043b91d1dca2b015b40)", + "P->V[44672:44704]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 294, Column 7: Field Element(0xbdd7eb7ef3ac59de4405247578c70c1c1e81b9186053bdc4de31af9693fa7e)", + "P->V[44704:44736]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 312, Column 0: Field Element(0x79b7c96f8532f7a85aea05c0801f812ba6d239243df1a38f5434eff8cea3070)", + "P->V[44736:44768]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 312, Column 1: Field Element(0x3b4ed3eba23c4cb077e02bf0ad96fbdea33eeeedd0240dad702f33cca700ea)", + "P->V[44768:44800]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 312, Column 3: Field Element(0x44efb7662ce444cc201115cfbd24031ba95487634f673dd1cb5882ed7a15bec)", + "P->V[44800:44832]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 312, Column 4: Field Element(0xeb1fa816b527c24f8a136c41ca4a673b35b301a439465d902eb8c767f5416e)", + "P->V[44832:44864]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 312, Column 5: Field Element(0x41bb7c8c82cdf3f98a74ac3365c32a10d7ae5929baf6cae773aba05d7daf01f)", + "P->V[44864:44896]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 312, Column 6: Field Element(0x5264d786e0ed02378ec70fbf72454ecc79f8fef41ed39e26eb5a0ccb5ce5159)", + "P->V[44896:44928]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 312, Column 7: Field Element(0x4365081ae28bc5d87862b60abbdd17b8663b3efde13b308ecec946704aa9353)", + "P->V[44928:44960]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 362, Column 0: Field Element(0x1d8dad02c27149035315284d563ab773b41f9aaf7a44e6aad5181a28ae62c8e)", + "P->V[44960:44992]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 362, Column 1: Field Element(0x7ef6d5c476bf1b8e0e07d39ed38563172cf272e4d751bfb8e3568ced934a3a0)", + "P->V[44992:45024]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 362, Column 3: Field Element(0x79a9a204cfd6e97952807be6835b025c6d304874e07c1dd4fd005ca34c301fa)", + "P->V[45024:45056]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 362, Column 4: Field Element(0x3f799219aa8b8e7bc04672ea14c3e6eca148c094b67b589b4611a2989ea65b)", + "P->V[45056:45088]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 362, Column 5: Field Element(0x4bea6d9ce3bb68daee436677ba97d3c6a60fa55197abc527862042e85efd890)", + "P->V[45088:45120]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 362, Column 6: Field Element(0x56b296301e3660f60c80eab7439e2f442159ad2de00a780d4fd581e566d8436)", + "P->V[45120:45152]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 362, Column 7: Field Element(0x5b3e837ec351b3db907bcefbd26b7c5e80a31581f02ddb4081d0cb40aeb4d18)", + "P->V[45152:45184]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 408, Column 0: Field Element(0x9f4b9bdcc91eae816f9f80690f78a3b0da0bd56a7a2088501ed6bcf660e8eb)", + "P->V[45184:45216]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 408, Column 1: Field Element(0xfb2374b00002434fc2540209c069e592b22af3717d74a24ebea4cf0e8d49c0)", + "P->V[45216:45248]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 408, Column 2: Field Element(0xea81023a911879f6c977926c96e3237a7b4a37eea220781c3726acae1d689d)", + "P->V[45248:45280]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 408, Column 4: Field Element(0x416c11b245a52b21fa7403b5b5874af40eb17913e03ff76e8dd6bb78b9e526a)", + "P->V[45280:45312]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 408, Column 5: Field Element(0x7062d58080be57f108804c2b7574dae5ac1d2cadf2200cf730dddb451b9bf9e)", + "P->V[45312:45344]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 408, Column 6: Field Element(0x2cf3880cffb1fe892a0b9847eeaf27e26eddae2157bcbec519af088ac772b1a)", + "P->V[45344:45376]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 408, Column 7: Field Element(0x3e7170c7fdf3005bbfc23f358fc7462bedb64adf07de46df12af2812ad0c2ce)", + "P->V[45376:45408]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 453, Column 0: Field Element(0x1a632157bc1d73996432ccc0292612358de7b127dc4bbe62a9e54c6d64578b8)", + "P->V[45408:45440]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 453, Column 1: Field Element(0x2e276a4adb3b05a470dc371f7ac8f32ebc61f121d32a902fd914b6619e75b3)", + "P->V[45440:45472]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 453, Column 2: Field Element(0x7c2abf03889d9bce65c435602c4daa67491db4ced8c70b1689b406c832202c3)", + "P->V[45472:45504]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 453, Column 3: Field Element(0x3e7608ad4bd5899941265629f7f5c6a67fc4265591298bf1ddf1812250c5ce9)", + "P->V[45504:45536]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 453, Column 4: Field Element(0x2be2cd8fd5d6a46697936e01bf2651052ad0f2940e4fccf90f580b15fdda1fe)", + "P->V[45536:45568]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 453, Column 6: Field Element(0x38d0b6ca72f0f904366c7f96f993ac70d8c1f3b7cb2ff67c0993fe680316b74)", + "P->V[45568:45600]: /cpu air/STARK/FRI/Decommitment/Layer 3: Row 453, Column 7: Field Element(0x70c77ce8b4f3f0f41068b4f02653748164610846d3518d444f9be8eec40c84f)", + "P->V[45600:45632]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 595: Hash(0x6cbd53132e77d57eb45a77ea94cf872c1f89908e98d2fce4c0640d670870ed1)", + "P->V[45632:45664]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 604: Hash(0x7dbc7a77a7da394f78f8c7b9d67cb90e805d76917f3ad916abe755bc620009d)", + "P->V[45664:45696]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 608: Hash(0x1db40fcebccc83420d8ff759dbe004a6b65048744e080079a416f9459bb4f7)", + "P->V[45696:45728]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 619: Hash(0x520a551f23428cf81c43290184d6d2c67a1a4ac67fdbddf4af5c4e15343f2d9)", + "P->V[45728:45760]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 795: Hash(0x31a3a16dc9e3b00f9a4a0e5aa945d3972a1fa0277db6a3ba4d9311515c74030)", + "P->V[45760:45792]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 807: Hash(0x796b03942c4564dd60b78610724ea380e04d01fcf54d4bcd7aee7aef0918cb3)", + "P->V[45792:45824]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 825: Hash(0x5e5273f3e21b01d917b0c1aada99dc81f3505c22f14493233c4ca0515cb3531)", + "P->V[45824:45856]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 875: Hash(0x4226508256c83ee2041115904c11c8661144019d17804163eae1f8613ad1cf7)", + "P->V[45856:45888]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 921: Hash(0xc55f4e9cb97b53646c9f54b373be588c981c8cbf4f600ac8dd81ea0db6f6fc)", + "P->V[45888:45920]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 964: Hash(0x24f9072976ac1697a18b1357bd3c890da13ac83d822836b8bd1bcb1a9031969)", + "P->V[45920:45952]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 296: Hash(0x11dc94ad58e6f810052c670c405d50cefeae5a0ecfa965128d43a42b529595a)", + "P->V[45952:45984]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 303: Hash(0x1c2e7623a44ec2454580e43295e86f0ee1880d49df3ac818451c455b32570fe)", + "P->V[45984:46016]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 305: Hash(0x40277c98cec68ca8b92322cf530ef426e5585441e26ad044addfc0fccfa5363)", + "P->V[46016:46048]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 308: Hash(0x72fce0474fa59c55315ce4dbb759a479c8f22c89cf6522b60436638a86d8c3d)", + "P->V[46048:46080]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 396: Hash(0x664349a739df6afc3b4c9180c74b0246e8c3e96a72e4f1727cff8c5b55b14f4)", + "P->V[46080:46112]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 402: Hash(0x7084b7c24a8ff84e3ea69097f4b855f69efe797303ecbf9a2b57bb81f22681f)", + "P->V[46112:46144]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 413: Hash(0x5a123346d578fbb175909814e5718fc479c930047f25fb9a9877b359b6772ba)", + "P->V[46144:46176]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 436: Hash(0x1ec5a3b296c916d6c85d540bed93c560a2075b11ab35dd2dff5d90c85e11625)", + "P->V[46176:46208]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 461: Hash(0x443cb0b50aad98c7086c5c884d4016cf50a2435e37023bc2176310129001755)", + "P->V[46208:46240]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 483: Hash(0x39b4e3e5419057175b19615c6e58a37ca5de4dd10a2c8ac4478ffab811c5dbe)", + "P->V[46240:46272]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 149: Hash(0x66419e50af34781bdaec754f8c760e8e98decc5b4428f0f031c8ed60208ae97)", + "P->V[46272:46304]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 150: Hash(0x3db548cc5b75bce78b73fb62221717f938eca5e1b57c35a9f6ab1d046a62069)", + "P->V[46304:46336]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 153: Hash(0x277d5ccf2611dc5f18ceabac8e74813800b3293ee80ce54fd4c30640bf36664)", + "P->V[46336:46368]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 155: Hash(0x64a9cf3fab2d03c200b8554bcb564370a2e65b57e377e7fe5d92bc3d25fa51e)", + "P->V[46368:46400]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 199: Hash(0x70aa4d869faec033cd93b764b23a75d49530a7da1c7d1622b0c73a356bfcbe0)", + "P->V[46400:46432]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 200: Hash(0x4635400c7be21d11893e5662ae38172f3850812c317638edbf0dbc9d07b4401)", + "P->V[46432:46464]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 207: Hash(0x14ad18f7ca66217073b1a946aee00ec35353ba1752739238457775a5eb25975)", + "P->V[46464:46496]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 219: Hash(0x6440606001319e614f4749239e6f0828dd42220a61a8252eb774529f297c29e)", + "P->V[46496:46528]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 231: Hash(0x1f95f013fd2537326af70be685f54be2a5a5cbd94ccc369d7a97c9584a94d64)", + "P->V[46528:46560]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 240: Hash(0x2cf321ff2cb4cde67b055b5fc1e2cd80662434e45c5d064a09bd2a9a1fe20ee)", + "P->V[46560:46592]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 98: Hash(0x6c2b346c257224f700b16d7c34df2edb68c92bd8997647ef3b499a1a994dc92)", + "P->V[46592:46624]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 101: Hash(0x2970888559a35b239eace99a9a10771d00fe1fdd79fd83fd9b54564ad5ee8b1)", + "P->V[46624:46656]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 102: Hash(0x37575c22ad03e59a3178ecf410ce4965770f56109111799475e18c380d9d210)", + "P->V[46656:46688]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 108: Hash(0x6e080ca169d85691fbb2c1e139f6f6911d3e4f2d386928cc44cbbd9ab365b66)", + "P->V[46688:46720]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 114: Hash(0x6c92870992a59264100244dbbe1db13faf4c1bf772b195086c1f99e67019332)", + "P->V[46720:46752]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 121: Hash(0x4e1c93216a2cd0d293699fede97d36780079617588f80fcd26f8f91cbab29b0)", + "P->V[46752:46784]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 36: Hash(0x53dfb1cc5372937f05382e3f0a2274773771c8e6b1b10072f2f8826fb8365af)", + "P->V[46784:46816]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 39: Hash(0x5fc6777cd8a2cd2dac1bfc4f9b75a7466037cc5dc0bac4fb0675f358fc5382)", + "P->V[46816:46848]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 48: Hash(0x2d6c9d5660ec86d5cffe3bda4ae43fd6f906d7b4d293e4b5d71e9634a11631c)", + "P->V[46848:46880]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 55: Hash(0x2d37bb9c2b1b0a5c3cb92cebd598d5bd0f2dd93dbf6bcf16294e526f27dc64b)", + "P->V[46880:46912]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 56: Hash(0x1787bd812bafbd5861d26582f5063e9bb50413b814642a9089f7cf4519d1dae)", + "P->V[46912:46944]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 61: Hash(0x1d5ac943315a308118b888f72880e5a3f60154cd79d187cbbd955b1944b857e)", + "P->V[46944:46976]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 26: Hash(0x8bbb4631c47e0c214a9a721a63929acb7f1d4a437fd433a3612f389790ab6f)", + "P->V[46976:47008]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 29: Hash(0x6b3525aad8e5abf9d6989451f9e5ac94dc5e5e50ce9bb9389a96c87c74e2940)", + "P->V[47008:47040]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 31: Hash(0x5e2109ce139921cfc24f481defcdfeb8e25549afebff4a732afdb440d5497d4)", + "P->V[47040:47072]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 8: Hash(0x7be3e65b8c144dd1ce915f03054ff6c9be8291495a014f413415e3d8f89b098)", + "P->V[47072:47104]: /cpu air/STARK/FRI/Decommitment/Layer 3: For node 5: Hash(0x36afdaf75e20460d7d79d31ddff36001bff084f593e0994ffadfdd93cc4d524)", "", "Proof Statistics:", "", - "Byte count: 30824", - "Hash count: 455", + "Byte count: 47104", + "Hash count: 718", "Commitment count: 6", - "Field element count: 508", + "Field element count: 753", "Data count: 1" ], - "private_input" : - { - "bitwise" : [], - "memory_path" : "/home/bartosz/workshop/herodotusdev/stone-prover-cairo0-verifier/stone-prover/e2e_test/fibonacci_memory.json", - "pedersen" : [], - "range_check" : [], - "trace_path" : "/home/bartosz/workshop/herodotusdev/stone-prover-cairo0-verifier/stone-prover/e2e_test/fibonacci_trace.json" + "private_input": { + "bitwise": [], + "memory_path": "/home/bartosz/workshop/herodotusdev/cairo-verifier/examples/prover/fibonacci_memory.bin", + "pedersen": [], + "range_check": [], + "trace_path": "/home/bartosz/workshop/herodotusdev/cairo-verifier/examples/prover/fibonacci_trace.bin" }, - "proof_hex" : "0x061cb9987d55c793fdb238238311dcea46c75cd8698e52f1d01cf74cd25dc79700d83002f626f359bc4b5a913cd29e7aa05f7ca8dee061330b61c8677f5830b30671e750eb2c87f39263a909ab58b1ae4175bdff34dde999c02ca360490bb1e806ace3207732bc6d8be045dc4a13ef9889054f83fbf1e2b443f71f6472f62b120784ea861d5e0f110d54ad7da4d9fbf12644ffcf9a31665808e67674176a40a9026ecf32d67a69ec066a2066509f48f04c0e88fe988d61629d1091b8089cfefb0752f8d070fe2b2dcb2dc56dc90c74a993a23655552090cc1517d9f4614ce51600faa528ab89170807840a80c9ca2f017132dca044f4ab0c2c032ebc729d5118024ef691a53e1421a03906d9aeefa6071a29820bbe018d4ab87884d66f67a201069f8278bea392afa66085b95cf22c09630dd6f3f4fba4e7557f4e87ea032f0b062aaee3de765c9369034a09e4604774390e39a838028806d02cbfa2e905e48807dc7c1cb8b22aa6a11b5b52d12fbdc5d42bcaad358b7cb93f2efafaf83e111000eb5dc1a8a84d63b4ca2799d60cc1d19332f8554e9495fd1b8bde896b71f11a0641969471c30b44b35433713d959fa9d91949141af025073f474160795b1711017745edebdda5f5b54800b6995118e5f87282f66e983cdd3c14be573e7eea5c000ba1d3caab634539e32a3b57e272828486bd0451da017cb2db93fde116f01c0109657c0c3516ae1d8afe668059ee099e3339cc6b13adb1923fcb3ca1f9c8ad04dde76c884b2b2f3a5a2bcb07023b4b1d2413cfd4b5fe1d0df8f85babbed7b601bca9edbe88a07c4b9f4b93fee18b377bb921c59cd19ed90ed5ed8e9a64877c030c49e1cb9b7c64c3dabfef7e8198377012562057a2e49eae63bdfc95688bc105c93ba89967932141bc988e1f761b560ca93f4b342019a66674c70cd7698b97078bb074e149b39f8a64f3caa08654673ba6b01e8fe7eda1e92bfbd77250554e000bf675aaa9039ac41e69c87c6e76568e65310cb980a35985862de300d89d7d044aa23cd8f2377b1a885da6045ebe7b980adfdc0b00d2392012dfdbcace3ec502db28b3be80898d3d553bd9499f02b7894320decee641b78407084659cd8989007e6f7ed64f63f77527281557ec249f39c6cb71a79ea7739df3d9c772ce7e6804dee20112ca6b61e9886037d7eef62852b3d6dbc8ebb610e392672e7c8cfe9c02edbe035e07945090a0ee0dfd6a78ad33a153bce85aba1643d36b9bb95808e0012cec2052841a6631f3ccc6eb6a85ad1c044b279119496cdca70b2646faf1f704c92d56264d2cf435e82131dce803a8f64d5dfe859c236f7b1b20cf0c59913d079376c2a05441e58e0238781d06f28a834c5af2960f8c4d169354c812175c3106ce282683c3adfacbbd4e6f2daa0557d8002f099200bbbd54c2b77c7e26d2ed0604679c9c77ee6cda90fed4709bed71f471c4783724f06e5f4f3764fe95bde501f8c0724401c8f533c13e175754c42ebfc73012215ae68c4f3d666b752600ef055f3df71b9a731353d271f52ca5617584eee5729eb59b97604781b3309c554f00db2ec760c667fc31c53992bef514c6a4e16c1303e099b3137f1216ec4028560798e15ca9222da3e5c06e33e844d2af62c707dc757bd18ce393cb0357e0893401142cd0f506fc2138316373a0a43e6e18a18d4c58408e06d2c7c9749cd4597700b59a8b255698dc14cb6c1327eef750f6c80a3f2936bfb76c24467b1a67ba1501b610596a262ba91f027b70f55a9c209000c3e576c98f6b7162b2556957607e05fa671108a094aecb533d5d4e947426ac625701641cc684d812eecc7dfc8c3407d1aa57b45a5e7f3c0817d283ae78cf16f3ee5d890fd0b6abe1f14376d4e4d7073631380f8233ac2d32081ccae75fbd126d65106fc10f8283eb3cd7d58e0a770420e3459e5e4aa2ebc91032d781d80a07cbf45c1146c54ba95d69e62df5994d02e3fdac0253072fe541b8aa93405a4a6bc375f2df14a4d049791b45044090f3055c27d4aeb222ab3bb1833da9dca61f6d2da9a09e603e4e233590db7ad1897e061c0fb787826e3ab8b87ceacd21036776a0bed77313a3db1f4399de9b188c33069498e31b6048f4acad27f8b0635823b57c05b9e2f96085a39b03084e35b46403966357baf4e0679396ef894c81359d4ff739e27df6cbb685ee37510a87801006536b3060e66bb145ad6fe7fbae1c984fed3426f9449677ec1f3eba1daa9af60363e395a812f019af9bb3787b912cfbceb55b0234bc0430eefd1e68d246d80301ddef99b7fea9fd272dda37b31f6e0687a93d665201c05195e8955418b2848200d2f2c1a69dfc89ca3ca5bd05181f1cb714e1e35f058d344660b2a0f76ed763030839af126c10634f393cd0bbf04f6461ffeb467dd8bef7fc5f4ee0c073bf24031e4e83205c7b949996f18d75749c5b7acf159c7b3416a3bdf6dee30a646820057f729e3e7c44bc77584c6f40a11ca52854094ba8f9011c636a215af1211d4304ea2ba4fb74fa55072a66463e627da2ec99bdbafc64c853398331feb7411afd011d8ad92eb75973e3b98e4284cc2213e05f398a44d9a36a3a5a10b549a6b5940312d06cff2cbb06b530feab076a3d374f4fac1d64a4f753ffead6f9f38a3222038c3e38519b9d51e7821668b3506d1b8beaf2fdcd6f48ca62f07b85cf54906e052e7875cc099986ab3da892a9c416e5a5f048d7051e0c58a0184a2c28ebc60d0482a6d23db0dcc3585648f456e6345ce6c36dd75121d385d62e41cad07c29700550e3c75b1d48804d1492ea0a8db1ef1d654f68564ddcf0f64d39c192bacf2e03875c32e786d5635ef031ce2b830cf519316594ac37eb1549e70948c13c3ebb05798490f044253b7588f1ff26822fe5c0b79459d51dfffd3b770169147dc421033eec81ef466186f43a7fccc587110298692871296e996da07e8d1884593b2c07b63c50604800d1200c1f2c30325c20bfc38cdabcf9e792f6b6c5a36c1883ce073c38a1a5967a49cb9af3944437022350072a0a811773a3ae81be3c0dec94f504fee21bcdc7d66b78cdefec68b7ce925404ffe160f3fc69fb7d94ef7751b74e03f258ff8cd789f1b2eea93f74e6cce99c1ab205c58504b03744ef1fe48fad78065679b40ecf3f12e8fcb909d576a0ba88b1ad1b1efa49417a77496f42d5368b02d2060c04d9dc48992786f3dc4dc7ec2c7662b08275a8d5a3afb5905e72ce0a00c92908f02a60656ffe8b5199b0f64c115bbc77cab260fac0079e5b26eace4405a9cdf5297f42c50d4f60d2d5400511b3e3c275d503543539d12f3184bdf78b074643e138600478262c48f7af656474cb041966a8f309d60c4f314b7c07e844000ff008811b52fcfc65695bb401753b4f9d44e98c88f90f52da5eb9f1bfdd630396c94d8d8acc46259e494fcd0232c781f371ca32797245d6a198ea000dd0c2013e6dd38de3a6cf73e204be4daca104d816850cd29f1197df9bbf9a063f237501c291fcd3a47251f077f678a7c0c087167e439ed7595eafd060d46d65aba3e702d84c25cff60a0667e167f724b14c535013ef1d09f63a8344931bd3ce601cf00291d6100d4587cef1df9f73665664a0a993f62332cdf20667936e7adce9bec504749cb15b7085f55899cdbcf11b27376a55e4b80d582519145d601a4a3464b20725194793054663cfa48f0fa72c6db45a7d143ba8cd9ce8dfda6b04b011d3b30350a630a68b27c7f3ce7460b37fe346ae058cbaa24c6b95201d097b41b96e8404c0e62b00ea495d969a9fa9dd1432846c1163617b19b92639474ba2237f4d3d061fb2892e87c521f2e46038805c202ed2c83983a640157dcd8aabebe8c4ab0901e935affc7d6cf583800f162c020b36b5669b566f49e7b73c3799ee0a3c7d310602f331e6f690fd25fed444a8f6189c750b4cf9a63ec5b56831904fbb747af00639ba049ba3942e76d1ae6ec10786df77751ae57327bc7fa9a076dc441ba3750685120215cde7492bbe91994b1b68022a812003cc441db4dbbaa010ae61f8bf019fcbc2d199d8bd50be7f15a1448c5b474d5bb16eea0d2a365836d495cf58f302e4f6a4ffba18734a48213b1a41754310c5ce8cf872dc20799e7ff242b59db207e167fbbcac53dbc08b7284c2db91317ae6d14f085728238f10a3419a8bd14005c6af9fde7c14cf1859843bb73d5bae5b52436fb0ebfaa0dd2dac00391f316905c980c1271f93a1806377757f78aa431b0748e72968eeb9edda94011117babb046109d014f8400910d94171c0a7e04506bf27ba477221d7130abb725f73a18000aed81307e9f2ccd33896dade4068eba27134a4c5e8b9c543c8f059ba4cbae204ba31dd1b8eda16e1fccb3efe7fc2699ce203f6c9c1440b9645b0960ed54ce9063adf80467feab6b889a88193ad8a26d46fcf938c464711e1a739b4a17392ee04d7518f7c5ee6a14104ac923056b360fccb89fbb8fd96eb337a282563401dbb04d20cf7414d0b75e95da8cedee23a4aedfc73abc6319efa13903a7743b842c300d41cf180259972cc4e6bf902c2d85e428c846de6fc4b376e3abe7b427c2cb5002d20d3fdba41916f3149fe6c86808bf479879763c03ce5a4941d2db33c6f3b02ca95e2176b28bd3239b0c2ec503bcf14bedec5bd70d74dee94d24c3da184d40108861ecaa4b77e01c3ad6a5262517553b9ff2794cf0cd98215505dbc41809701e1ba1a36418fea39486d31f2885a8e654d2f4b6d721a6a7d7a6d2a96d323ca075ff551d99314d30459e736ab203538e2c8caff567054d76788fbb7add0c0cb06c0f996b37abaf49c121dbf8d01c035acafa275b17bcdae3ead0fe578148d2e0172f8e5b3fb28c795bd5f0f565fb948deee1ddf3ae07aab5e9d97b5574c604c034bd5d860198d4d72b15c25ff990b1cb136c264e1e8792c75f659483a99ea4e07832afaf703e5b6c62d33c4e417a98b14bc68d5b1059883d73890410105e792062b43ecaca9f141992c18197fcf0f72a1298443f11cf5384e81477b475580400044ba610892ed3a47d2966b46a82cf72567fdd03a45068cce8c20f920183316006adfd2440af3983c6fa7055706f1ce040ca9d9d86162b2f9b6e49659c1884f028918f3845268a6a578098e052d594bf0708891108708c454a0f2b4fd61a877030b06f5c503dd74a833ea6176b659321951cc4aab98e5798bfe62d8bc2eff05036ac7416041a677657bd828ca1e7d55fd491257ce1c0e0638169fae3e84e42d06219619f5114d9291d22f6d20a744a4d26a849db530cc3416cb392d3d230aaa0000e355134df70a020e838e22fa7eebb40b612dbcc9c8da42b3d70d5fbab92905c7d43fe2d152aff0f0200c5762406a0bcd13742e90282ac813698c73d290a0021b45a757f58aba0fbd6bde071431950422fb8abdf933eb79eca275c2f0135000ea6485d88c63823b791c6efe9fc343a70a92cd3fbc053a792f601057a0773304a6fcd811af65c69363b74de63603dee8f7addfecbdc888cbb9e0bb489f94430636e26718cfcf43d78aefc9bfe6c4ce137ed4296680e75078634e5e07dc1bd5038429cf1383bcaead2e79611abba971ae3722420fbe68108ec472df59ea1a6d025bac7264013fcba9342786f2aa5949f58edc4841eaf63146a9e93c5fa9153e04ebf2196b7df4a517e721474f4384cb7b1e0118ae15237d4e39eabe9494af93020b4b5e45ea92214179ff518f11a5bf2e6e5df4788a8a1480b3848810c29db4049c6e86b2c4c2a3a9fd6466985b64ad379b8e3c796f6eb22597f7c1467910da05489b5d731cde96bc897242bde5e651583074ea12d75b95fce1e8c4f4226dd007d1e631b246ac581d444ca6ccbee412c1dda91364872146b09ba6ed77447b9e06c69bd21aa1f5ac32bc2e210a2684706c12dd63072e7404e958c8ab085c5eab05a5c10925b3ac30e9a7a29626735ee09398df65def25b212498abfa0d67c204049937e91ba3067aaea5b0e33c2385313600c2aba6f66f65e661ae4367f4144b06954b091285b742b937936cae7d7d078175cfdf18c80b40b741d90e34faabbc06fa097dcd42a0ef54ce88d7f8a02c62de2f5678cd59b1fd2fa4f1da9466838e02eb60283571d57a9f73137d6ae9a12cc924194632585bf8efbcb8fab39a1890024c3d096ac86a6107fb4412db9923c3cafcf608456df39cd9ffbd3c8994bc910279143db565360bb784ae426d9c99b535716a7faa9fb12b6fb041135129a1c60419a7a9f53c0590ce26732c34661027bf6cc38649b73edd9dca46259239955c00ed511ff0988c4683f82e319c5eff6881fd0b624fa4dd453cc93b5d34dbeb700518eee029d059f8014de0920137bbc92312bcc284c4b9244c2bf17498ac1e940725eb4abcec14aeb3492301cd8e97af3860baca4e3f7d3e60ddfdfe89162942057ab1d396719be0c38f1d9780546740a891316dd160f71ea6fa29251802dddc074089fe0cdb59f6683b74a73a9828712df0f71a76d8b3a704af4a5b0f9ef9ed049044009fe4f08c75334567af3d74a8408502bd99625151e547be77d64a2d880406853723370420e869e277e0336e0639837f1867c899b8da6ce7fdb2d50b1404f2a585024fdce1a7352d4b69aa4a72ab8e07866cfa7002463413efc98ec37d0650a524bcb0c3bbca0f7a4095f35978cb26fc26f24a9447e99c0bb3b48c47d1041f78efebbbfe09924d4b9499c9e64f6a7f1c587cf4636a0ac086730ae0c56204f10b4cfc169ada2f7dfd0ce41bf954f431b4e5453097ec9ff3ae8257c96de605696e1e5c79a14e9e35e699ccb7cbefe41dd528862d8fb3a47fd448927e9f1e05d8b4d877639f25f8b3c3bf2737ee3f00a268863c2a22e7feb8e98e8f58d81f0219c9fa623c5c423d9ce2bbd7f0b3eebf7ba37b21b07990c74e202b79a6836502334cbf9277a0b3ced5e62e48a12906c87ddd29c8c18797adeac7838b2a5e5807b60ba4fa262e5742543f27e36f4f252fb6d9683e69f4c56c45120294e0314902eb8810f43746f834c51fff6982fda05a7c58ad5b63dfc3e78303b2bbc8a2d507000af6e87d35915fe3472ba5e22f9521a16d80cb6da3a874ee9505d649d09b01c9fa43b389c8d32bc207bb3cb64eeeb87317eab7bbc320587fa2df782801e30702bc28d3e0de08bb59b8edf47a646e852a56180adde0bc146b13c04b2097c20378887c42657d5abe5a77fc00fa86fb1f554e4ab369e3ea0fe2b338069ec0f400796a0ad69a4827b46336a16ace1ced44346a997eae25f65262344fe5996d670565835b4ad198ead1acb6ecc105516f6a21680ca835b3a827ab0d1d51969f2f045b9a065860cc863bea264ebd82f868e036e078af8d36ab755b53b51830a1140487694f1103790bee7356d1d658206d3102d22424e5ed61b633669bef706bab04da7cccafbbdee503a3fb191e5cc4f03c849909f6afff611b0b9983bcbd7a060384d6dfc2ba2962a0533cbd34127c0a567fa0a0a170b87e8cd9f3ad1993f19c06cacba769d08baf76263e72e6b62570effbbef13fab219238a55dcb7913154e03f425d20ab596c81925c13c77f8d8738830e147a02bfe020672902152b72ca803d08ea62fd41008b6d6b2bbaeb6ce82734f78817891a283b173f9dbc6cbdf2706e835e531269934f81956206b014d18ba4bce32e483b4ab4f2596674fac1c370761514ba9941a62128a91b9c82fa8563326cc33d8e1bf865b1262b8648e514b05b6c903ed842ff089ee68eaab35924d409b640c57d4a5d4c4dbda867b308e8102da24d374504700581faf03e3859e827e9604b4c5a87f64b21624ff686f6ffd0013eeb22dbce8a7b62db97f1739be83df68f6ef2a3b72efb4f78d38c20ee909012036b112b1145a7c321659192e2ff61dcad4617635e1912b6f5bf878c6c34d030cc1aea7c6b02a8ecc18a4cff1353e613c262da34cb51334d562c7d333000a000b8ae8189d7f6ec20dc0bcb3bd72945e12538aa755a71356b7a10c8b4912c606222baa46164f02721965f7f72a93ee4be1a51f3f046e7b75021f8aaf3ca4a5037dcb393271d09b8debe25440b71e654545142d6f34414757011e61f39016ab011ae1fb69e21c24d15c821b0795ff957da0825dec88c92e628b23404750a16704c7aed3a722f2cd1bb23401c50c76e8ad70710db0893a870cdd7452e905e03905716044c92c0e5db732976888b6eab3105709ac7282df31ab2fcc1e199a50b50616f6bd39c87b6ae217f1192ffaf482434bf42a5a51f18bc6acfd5fd23e848f06814bc9d8f2348e0fe5a03d5702530ca56a86a74f284fbd9043b5f16acf5d1d0644649e6202219b9ad9c85cb05e2fbee5666b0af670945fe453b0605ce96bf801923722b4ac1485d58d328c09e18b3cbad0b6714f21ee8f1cdf4118a8e849c3062ef4ffd465929b69d9865bca71ac6e3cddd837f287d53c5edb18daa661f9ab015107738cbb9af18977d4263b1e091b236d6729712b0f32e1fc9b5cd2a5f23304f74e4d93894e899844fbaedddb4276bb474c10f9800de7c752e2fcf7c91f83022c29bbf3a4973a2a484e13a1ff69a7f2d9ae3338c39bd77424b93be0b025df0154a12fbd7f4316b920f618f3d7de66910c95b61d9a8e9983095b6535829f18066d33dba127295b62a85e5a254235481f4c5a52001b68678994dc5c2bfa80b803c9550ed70f7ca14d1671a50bacbada5e1349c70010d6ebf17abbbdaa32769904b16656561ecdaaf0ae7f60911a7bdabda861593a9f0b75849c51a98680a2d70791f84c06e16eafb17ce6a3775eb9db898bc866b0aab147b313fd4c87f0733104e40aed95d1547576033bd91e09deef3ff91c56a86f2c31cd4b8bdd5ad33303064ff07ba76ffae7a2588931fe8f6a611f57cbb47083a3cc0474c35b88a3bf950351ace2e0a5cbac15cdf1ac45b4b084a67cef5064be3edada35146cab73090f05179de04e9e831195d918f6f88fda6d40b4101ea4ed09f15b8685d282f7210e0157e6144678c47f4a84a98807b9a0ce48b5eef0d85d554ee67426ff2ba355e103fc056e94674035bbd13e7acb0dd7c5ccf0b428c0e27a3588ba2e902135da3503e5a2d93f37776a1ef9ea0166fdd5290ecc74a55f994d0569be2e74034adc7a01918e16882576bd8ad33c4f70ebddaec6d35314f2eb53d8d0cc39de9934121603840d67605eaace11c13b0222816c35d5feaf44ae2d4ad3fb394be222cb8f21052056a96f63994c29e9fcc6ba291ae703aba8e7b9d2d9a54f1dc9b8c6a3f718057f30e3cfdaefea0c1cacb82d56b982d3dbbc72cfb2357da93460973bc63c8c0727003f31a15fdd38369667f56ca8be9bee1a9961fd70ba59a509aafed8a23a073b0fb80152dccc30c241521fd167a1fe18b1c2012212111c8580ab80f019d20162c8acc19e7df42a17fa3be2f9abd3d29736067c3e2486148d19e52e08ab20006961d485ca1b22e16956ef4880ea5091f8ea47ba98e9af8e8bed7a7c30ae9a0512bcaf3f8e99ec1034e84b3fd8008149ed769c8cbdc1d1cf494f4b3b36097c06a89cdfdb28b4e63beff76e1605516e8e24a6322de5985eb271fe80b501b96703b9c09dc33efae8c2bd87974e8617f6791a5e35468dd92b57de6432053f260a01624536abd7eebfc51bdbc8b0505484c3d2e69711c4598fb82676e80105b9da009d7eaa5975291bb6bdc34e3a92993b0b17803e1dd768c9e8bfc9eafe19245503d8e9627696b12a5381a841c717159da2a48ed3b84c38a73756135ccf16c14401fa89a36048a1f341d526e2c5fc26363da03dc0d617625ecb6ca1091c97aa0907ee48cd2836597fdddf4dcc351cd60df137f99ef21f08065de5446c3314dd4303e279c319f6721108af31eb64624f78511fa6f7efc7132691aa6afd89fcbcbb07c52d7ce1bb5d1b0e61a4eb00c3dc0bf41bf3142bc2155d45ce0f09d0a87a62077db9ef2692ddcab2b649d8930f425b660d91441e2302489ba102f165e4f30301b7d452f38561ca69ef573d4fb2ab236549c55cdc8b615ebc785de654dea167036816ea7d00998175c27ddad4f612a6c4a076eb79460120d92912a6e896487d05d22b43c31164f349b1ccf4911022ee559b6bdbe556c80e2825eb834635d2000408b00618e0e7d6abb981d5e29da865eb37f59eac33fe021f42d18552ce140b0544b053a0bec427885fd020e653c7e6e6fd4a0d6356d881480df6cca3bd8b4702f623dd0ed2cab2479c0e4c1a2e97f164922e87e5b912d3036df25c12b9fdd7045e9bce27ed2e86e11c783a47bd12a71a70d40c6d32a6a9080f401d64e10f1a038f4a8bd7b92a2d71c84475184a1131439560270421221406a0128cb378d2d107fd7b0aad1709e963ed8916453d432d44d628f9eb698a52646965e7daeacdfa0120cc6b9a2918f246fa9ff0a891e7f1861d7d699228a82f43764170198ea817057d59d8e0e5673783b8d5cbde23f7c230248594b4bf2ace431f6893d313097c05e12015ca38cc72bda74b03b4b04415658e241b9102228e00a45a584e3cc6da032ca25b60d83b032a56b8fa28b13c92479b04e48c967f4403471e7a4faa8aa5038a575c50c437871820e33a666fac894e80b5630ec4fc4eb6cede82434e724107a69d851f808f0f7896ea8dd4d0f0710f93ec9c17e13e07feb0c5a4e65770d2012d7aab1072491661245552f8aeef36a30dcb0ab667922790af0c90cb66cb150683b51f7b121f7935e241ad0872e351464511d978e33fbeccbd50533140987f01cb6eacc0d4b653eda8b3bc50dbe9ce083936a95d13d21b815a7257621241be0057ef7bd493aea670a38034ed9849ee33900bbfbc1ad3e36531a85df1859a62032c1b23b27394d6941d5b22982201031aba715a31e0f9728f680de827dd5de9066746da67b75139a191bc9898e1b4441aacdd01afad445c8284e6792754573f008f5d605ff2d44c0194931214f9a000ed90d48d5068c04d0941ad3a9533cfc9031cb8176ae15da4393fd8e2cc0d598ca174f99c03ea82107fe27cb7e4b03ffd07d40f4b4e0e419be597348153bace61028583dbacd45626b2966e918d96fd0c0777d30252e6b1d9ae5fbd16475a46d67c594c11eb31da01521db03d982de2e401f86e73be38fb15d6ffcf9ec29301b9c8ab4ee18b46bc0b445e0e06939f30ab05a5104ba18d13d5d41f43450e3639aa789cb5b489f9a82d42d56f5580e58ff401134a8b828e816201c255fc68ca301a02661eb52bcd741e77322d62e1d4d725020a0a442851d3721ddfb01635ad33f960c9032f4a93f1eb46ae1f33256a101707666f03d2cfa3b4ef89c4cc50197e878283f8349ced68259dfb48da9a6e4abb00ab110bc8a664eb3d20ac23fc27f1ea4df1a8ee13e5367fbe0ec63d17e0404c0751708b1856d052c86674fc2001b6d72fa3141ebac056a71933d9428baa312007465de3088a2a237d15562db8eaeb1b38075ab9ea7b23411fef6705bbe5a4c003a04d673356316e9c44adf39e3f22176c80b9975a55c84bd0708b0bf3ae0ff400247d753c349da492df477fb8a9730e875af258a248e50f84378d3930a828c70799b4edf854d7163311ce36e3d4410d6f6dfff3fb65a2bd5d1f9eccaef739db0073a93e140608e3bc9328daa4eb64c35a20e6f55fc095b67e83a39eff346a7302d545bffdc7bcdccadb2e4d0ac410519c6417d5849792ed0093ab51b12ea81306ca74449c07dd2314eb05da35e7ca95780d326d0207a586b604dad23ba768dc057fd31980d05ac86dba5185345f84a0320f53770f44c99546e364877fe66d9b02a624a91bc65bc3c51452c35033f5f84b6110717976da4dcda8f3a8e0cf3261042856474b2cc689ece7df920d908b73a37902a35293a9a74b1984f4b7114c050368df98d34d98d48e2bf24834e0d13137df678d521fe2d4fe995d289ab89114028cc2d873fdd8684da31dc6a644083f46d735d7a9057d01c76e77a8a67ffc0e051fb29b8d520cb67130e105cf3a09f53f33218f9a2f85e6badbf9e73e576bb5021c296fe276aac0ad539e8cac344c7f360e4a3ef025330f7bc73dc69895bdb7031c2ccfec03673df6fefb0a85b05dcf5742da79677a1f0ca41df4bc1c582a57000000001242fe5e0417d5552d337a3fbf925f411c26f001ce568fdfd113e6d391c617a274ba6aec05b17bbbb1c90a02c8eb7c8a26807dc1ad5c6daf0a4d5edaeeb3f5830cf1d75b00f4fb036a8690532133d8053839a8e86020d562a4b6fd51fdb78e567880705f05ad3760eebc1179b3203711d268b4bc0ec056a55788d8c080457501922b233e05c3a1cbf2eabb5c606bcf07b001453833133454fdb86d2cdf79fc84f06e888a01122897dade88a0130bb7b0e5b3d2f851431885099f14019a127d73b31cb055062cd85e583ed74d884490cb585bbb284d775225c1738cf058aaa59bdbc8ee8b06672ab0a73c572d0ee54c40cf6ddc40ff50f805f46382eff1603d98cae2a4db0546f10e0019f1aaf178af57501a19c83fba9e66e2d812cd9e4a61abd514b4fc00c9cfb0db00ca781f9aedf15d6a099200cc057895be64feb72cd15943f8a54a040b093ca1b84e5fadfde07b2774badadd26a7c48290635aefba3d5b22aa339307cbc547a034ca8ba29182ae4c93dbcf56217973ec909ac89ade3193a11ca52106380ecf1b1c710fe5ee330f52c7a235c5f00dd840b6d9d23a42613d8035bb01031ca494e2eab895117447ce4f3c3dbdd64dd2ad22ba2c09efe3af5c1352749203dee4aa6c9cf946b71c7480aefa361bddbc802120f5f226488e625c2dbf722306aafa36a3696dcd77170f56fc0f3537a94230297222c3261124da22867f292905c74a632d1c4394bec2f2332aec87baa23a03962027a45b9fd5e3ee47e6852f01c11146789b80cae513051963d745474e789324dd2fe59f1006ec07765177b0007c5cb7e969c14741c171edeef9ae1bf42bc794e4f8aafcaaea5024f4c2c3aa03474f19f88e8ba3ccbce4a2bd95ae871fa90433ee13df8418122896091d2c2d0342a53f25d99b71f495aa052643c32f21f040a227960c712ab586b681124adc02de2cb2ab492e2332ff563d532d685b8aad85568667391cfd94c2e73cbbda7302bd54e9cc7816a855f63d060c1d46aedbebcdfec9e74b05581b07d1042d0c6a00bb71aa2e516fa82c8a763aa2fd8721ca56b3a66b89c798749fcd120904fb6304edf295475f60350be19d0a3201355d093f6a306e18c9094ccc23b96d2ba7a104c21dbc82997ac1f229ecd4cdceeb79a5d09c7b904e29d6cb6480eb2be759b4022a40ab31170ed381a1caa2a81641259d69fc88611474d2b1fb87389332c7fa02a6065d896caf84b109bee3ac29f9a3f6b84df1dc54c98db5a3a48bc9b04609039c073ea4ebf111720b55e17a131bb930323c73b0b5a7abb9313dc598096cd107672fae1f191cd6c1bf6c532e69c1cfdfda7ca00f79f0ce38ab9e8d150ad80d01c944a4798f94655b7dc4f8748c1165ec4a9ac1f8a850900ae45826d1e8289601527821ff33c0f2b3dcc19380e0d9c38b11c5a8ab283f4c74a4ca31dc6cef9d012cd7e3ab86638212606a4cbb196d072ed4a6774931a9d88f0d9302ae5ddd16023d1e8322e14329add1957e51f3c9631d2869e0c974161a5674d0ee0b358df3040bb0e250940bd61fce2273874e793f66eb69d580d558caf6995ea93839fe52000000000000000000000000617d3c54819e301c3adc81ebf7b9575fbbe79e4800000000000000000000000077f2ec41a3c228a650358bf7108c6a62af091275000000000000000000000000fec978b900ece93a9dd3be8ac02574141beffd130000000000000000000000004f2fadb875a5da250e4e0cee7c89485947f73fa20000000000000000000000002c9046ca27c1c80942df4297d0ad218037f677f301e0a45b9cfdf6eb3785cbb81c28524023c30714ed6ea737fff3b9bbe11f7683050c543d64a34400eab0c06472bf3eb5583f96da25a30979ec8d524acaac01e90143a301c125d50240c8685cb19ca89cbc961ed55ce8147557f17fa5cf4767ad059ef30dfef66c40a0ef87207ce9899ae3d4b0cead47b7e5d9e69c0c583171ac00f3352c2d90759760ca87560a70b1c893846924765a4fab4adb55888abaeee00477061f361fb7ab455be1ff2bd1d475d9d0a3c39e10712c57f8300262eb16750486512419b335de4aa6818a3c0890ae30e06b49f2c4107ab5a2d96e98c49c1406157467a57f2ec563e70c396c952579f9d9b890df09015574ceb784bf431a3200bd7f83b2f69088ae5818324255abf3930e905e34ee0aa7c8b660aa020b60f004235b74e34b63284aec6081a6c9c4ce5f4979cb056c98e1291eb56056c4d659054ac842492e389b088e4692f8486d3327565f862d4fdbd218d151005b3a565b0520ff882d18f9216220f0e403d9b550cfaf672c2e5e9f731f2a854a20a0d5e4071106f718687e1539bb82d9bf31c86e43b742d26901724d0a0b940bbb4a595903e73b8db6db4c669714677679052422f9c54d8615b85cfaa8d791201b69059a0374c00e6cef9642ceb96916dd81cb7a09b2dbfa7bf9cb94faeebd4eef68bf1e00baa4e7fbac65fec3b1e64772e6a946b86b49e43b983840773cfb5d67b2b1fc0087d22a432b8d589f89dddccdc25a157e19b4a9fef08d0c5cd9efedcf77a34607d4e705edd890d396def26d8cd0f2f2061f8c51c7b97287db9f9164f0ceef22035abcb99ca21d5b56c1bcbb9d0e453d11831c9159c89006a133af59c163122d0116dfcac054dde9c30ff97accceb33996a88aa5166ffdbf3dab6f984e85574c05513679e89d890336fdecac9dd3cccaed70e14477ed3af7cde160e684ad4230047adbe47975a23074cff7b1fd7846b17296b004e6b3c3dd8d3a0dedeb412e8d0431897026aa8ccb1fe8d8026fa21abefca0ce947872d7652e510dd913b378f30369087fb09dbfdbc677022afbbbd57837b89fabcb93db845fe85af73f984e1907f737c07af675bf6f4de545826f8c3c515afbd52e58d50033f5a2d0824ec1b2075750b06978e9257f2dc5b4cb96be8a4156c11bd349f36f1850822cf729b619031ab7a5c09b6801458c1bac554089748336e4e8a7ff1688cb1436812f256bcf06c219fc6359bfd2f94e67e9f5dc232bad51620dfa15c5fb8051463f3a2f941805cb051a1219299ebd3d6fbef63938a3b9907f8b1ddedfb7680d8d1a825910a000dad1b1a009b13aed04f118f0d047267df05ed5b5c7ffacda0efa50a2f6e66d02509cf61b9ebf68d08c252b4602242ed4704813c3485da6ff8d588b2cc138d502e582cb1dcf3773d6a29446f4d49e5771ba583ec6eb95b62474f49f9bd24ebd05fcd8ceedcedf3d9db0dad7d041aaae5a578057bc63ad1d6f09c705b6914fe2057719ca9a14495accd553df500878da912eafb82a57d6acbe75f493663fc0ce0093cb7dd66fa82cf3dea6adbd393f991733bcfc7306498396ccbaa18ec733bb01b373b7de41add8d1a45908541d2f5da550495fbddbcbb61980a2628c3103c403b5e379e408ff62cb0de8e63740ae418c9ae4983f5830dc2a6a1ad4cb2c2eef07b0a62230dd737bb644599743d60eb8bbdc8675beb278da2bf696b6e49f23e700ff6ca8de937875e141412ae8216bfaf0339e131d0e46454f5a25179725cc940309c18ba0871b5a12e28f5721f180f547c12e7332850418576e7abefc573cc702552dd779be5f24f86ba34c72030e9c86b29c777aa290dd7e824dc3ddd5042705bc947ce37974730110b99e6fd8ce76ca8501cea5ef83b928b6c2619daa26de06d8bf1653a3e3e4bf47698e61343f6ede75bde701ddb4cea784d5b166b2e04c002f02a8d6b800b73eaad9ef3756a34de57628d58ed504e6f08fa88cf0e4556000b26550fd7d6bd576e928457c190d7156d0457d159dcd95e28bfe3608ed0c6302b97ab69acd80547fb69720c3d844891ccba1a64452bfb351bf8b5e28f4116c01d5a339c14e5e4c420060f75c903e54d89edaddcc5a1388b9f62d2a5ad75e7001a0a7cb13dd6e848b29d1b8e3afe72bba2178031e92495d80dd67866c3eda3201f9a02a3fc7d9125ed32c37a03e3b774c21202f4fb96f4a195ed2096e13b81a0258171f2250181c31ccff74810ff1f5fd7cbc130eb950ea1f05473bd86a97b70599951536268e94d6da4c7b9e64730326555a7ba9955eb7dc53aea40ff80e8e03feeeb4c8e559b2a7b13792f0d16bbb5302ddb13f89e27548578cf2244fd62e0206f7c9568aaa93917c79e71aa92b69aec73615d6644cc745a934f644e01e5e03ee45acb1eaf38593d9df0760b93bc10a0b59b67f0f1775ec4d973c837bdb67013e6e3664cdf82e350eab7a8ba4bb186c8969d7eb0d174fe12fa1c006ce2b3c022ca26e997f5669274eebdc53707d3fd5e503951d4bbb9cba06354618ecafad044fcd0302dad40583377296a9aa65423abf504c7da45a022221751ee37a8e6f06529cc9f520fe9d66695f402e52cd2e84312e9e0ac1abc15dc7524c6fe6eb63047a95d00d14ae0e1296c115c45deee8c5a032121cffd1f81a888108e3c71c1f06257950962cf927ba26bbad4f69a28e51a6ae8d0fd58bcc9848cbeba77d5e1e061029c0019bd3bf0eb2dfdee3aabbfe3072e2308770db2e5216fcd7072d298107ee07aa6751c6c83d66a6e3b5c7d163fdf64f6cd7549d65672ce427d4964c9000d07b89e36863415f60614152279ab8d744c206d74feea36b6a2504ef295bff005b08a7cf8c4b56b94ec686dfc6ea76ee7c4ccd2efe65d88bb708ec12739e4503139a7e7088cd183763c58b445eab15e86f64d6feb89660ef6e210732c2908f04c8d3ab52006c2d132732e9870e302c0f205e4255e1419a0c9d4a22761ab94204706e789c6a3b6ad4d9d423a2f54d13f38635d847fc57a76023053a2bb5fa5607c38803caa50af38b5b89a5d03efe2b10e219bcc04c5d8385ad70e54e46b61b03094a8968b1cd2bf501f6032123e47a09d8903f41f869a66659552a3507f1e802f172c3261614c2e285557ba43f117b770c4ffffe1b480424511c2c1706015a025b6a6d5571ae5131f1417c2c4ac480e0fafb28e1c85ab9e9f992c3ab962f0f016dcbe422af3fe80a9925cae7f3717eb1bea9200385a6b1a2b980fd917c1f9e05deab3c783d6acb1e87903e1b9a1ab4807603decc6be430026c7021bed75924069d73dc8e0f890aafda4fbb2a318ecf398d330c25e70e8a3b9d20705a17933700aea42eae442425a851ca813f4f070556dca9ba699e4e8c9bd78b60a599345805e68e615fc9464b21f26c23742918655195f2779a5531f58210d7842fbef3bc05276c360e53419336156e73290d75ce63ae47dd17ff96b4ec2cb9e5459c8a9401d5e60edba87fc068ee49e52b1fac86b3fbf0b704a12be4d8d6ba633ee84fa401754febcba9ddaa378141f5ce27ad9059c9f16ef7f383ddf92e7bae1ec2b2cc037be862fec5d1f9482fb444d00205f10aae538a50e1adc2096df15d759ccae2056d6a99e3e3e8e9fa08341e1bbf9e1b017e18b9bfcd1f1c53cb6f42a728786805f15992d5c86bc4ca61ca2fae5469ec8bcb0b3d4d321011bf5ed9d8f3fc14120613682bb86990a30dd1a05d1a90e171c5cce2960946600145293c62b9c4f085067957088c2fb79efb844595fc858f19bd92d8063a80f19acec700923f849ac70082a89ab627d4aa190c1acc70d11453d744fdb0bd96d427f7cbce497edcea7805a8a7f5642624e508aff8e887324309dfc52e5753adc2684ded55d71eb77f2b042418888bb625617e10c2e4a3aedcebf56823fe7cbc2beec049356eca4389c8053dd3972a05fb01eb6d500a029f062e762f25599fef0e40578608d2d3695fba06de43659a2f0534d5da93e977b99df1b06a7a4a66a6989660e1b39dc9170f900228e5e44f448f2da7b3fe20e8df1a2a55f693e877616c0726d91c3220a96375067f412bceb76c3721aebbbd8ce2ff2be6e240efea92d57b04a41f200b990d6b008d379c842840cbdf3174214e071bed4e6fbeba9bb2f5c491edeea63cb68cde061347591f4af02f7cf397372baffe2075c338b0c669ab3ef3d301fcce628ef000fa57cc0478704943d240da98a0cb711024b31ab30e0d5b08584156f6d6bacc07e8783e26100ca37d82d36747d54f9c2e36654efeb5be4bb831a6865392be54063903c0eba82842cd36ea37367d1e3cbd8ca4fe2d3f65bf3c90d3f7c503fdd601336f785f2e9c3923cd3dd23e79d0db2b21b2813bad33b1e40ade19af00bcd2003363faa05016a3cf3f639a7b6598ba913a636bec598e6ffee7cc11190ee2880596e2d886353b0abdfa40a90a31f60154df132fa1af9e873aa38305c85b6691055a4b41af568a0b26770e41246f21096b5a36ce41dac54d2be35e24b042b5a40078a572d691ca6f49ca8068922bec4c1c1221a088f64791eb4358a376d55a3900f412e0c924207327e9f9d7b44fda1964ab4b3f147f69594261c18dc12976e300f248a4ac4a19f926cd75a4c062bd1b50497c37cb0964ed84a855714b3d55f502f7d60fcf6068bdce913ae8f3d71fdbf9fc00a94b9e26173c77eb1e779ff83b00000000000000000000000071e66dde56eb9240f358100fb0826eefc9e362ec00000000000000000000000090b19a08c1329ca73a7b6bf560eba00a32b969e30000000000000000000000005ac7e3c864a73bd61183d5b4effd37acaa28427800000000000000000000000034ca0e7fe3d217de5ad826d8d315177a037f16e80000000000000000000000008f98bbfacf6812ac76d8c58f68646aadea56b00e01c3fb3db47bcbb4779526e9ebb27a2dd7ebefa6e55360641b0477ff34e88de904bd2a18e9966d0e04f606f546bcfb2305f798150449a1c6f71b32de8059494203a8a9c03f6bef556c62d2757fda206af77953a500b3d43fa95f7a7a65b3eb3504751a6977dfbfae3807aac717e91e220bf2492095e64fd79fb09dba3cb11eb102aba0e6660a09b6b2ab6e30b6552d4cb811af0766f9638da934720ed5280dd8068e76ba7325f1e42f5f745f9097457647dc5d48a4368941bedc46bbe544e5cf07a3c2198cb18d623a1df787930d87e2d96991ac921c0ceb04ab2e40adff879b016ab00015405fb67842c206e54402b922dddb5eb8d73401242d6385d7d13cd4008b05fe0a148b58296add984384d9f2e3659a419a1616ca7d486a61c308a27600ad9aa47c652153e88aeca0fcb66e9f20dc7f40c5d649ed4ca0ad66b8d1d8ef075a4f7b059e9877f166be46fa7df4527eeecdcb9412b9661666dc4bbe5b45650728b0d43938e38ded6f32fa8025085090115ec569087aacf5ff78cd2b668b3007fdd394847b64623b7c9d1e9607e995aabc73779159deaf532872ecfb189eda076b91046bd9a4d99532ebccdbe572984be14047040b1a07b46bfb4a05fc1edb06913ec42b65f136131ea5352a6960828c67f302676f6dd99c8da2db36f80a44039179e609206659e3611cf11015c1a7f38f349204a471db4734ed124ccf921305de8724c9711c947ee440165ea8ee0af4c42c32d2d839bdafa79d23c554822e07792b391d4267683d11ce71274d05689ea19c1e4ca062c330aca55193531ee407cf246bffd4c395412c6e011ba4f6b59a674fde412f7360f9f56fb33943ebd904ae340752f4073cc9b816096863d4466be989aacaada5a5ddffb1b227030fbd05de06c02e409cf19f92e2511eef10b38f6312b09d0fcd58ac8c67a1cd69d8cd02cc9a0fba409287a386d7b4ba225dd6756648b4b1aeaf251bedb443df9beac60176dc828824e99164b91fcb49e029c88b03b74c0567027d34dd02b02a755c1d06c675efd3990a2253536cd5c5bc7386d04bd81e7acd894d6278ff083a015f220346f43801d4e4a39370f5977a91d50a513e46c577661680c910a14dff9aba7203b8ada6451d81daf3b38a71b6e16c3eb829fa7ee4180aa609a76709adf88b680748df75c43c5a351c3f2d0e790ed531ca3ac888a83be710c0a083f5436294b100ae0f7a1c9b654b2ea2b83b16963a6fd99997a5b2b00d13ec68a344c823c562050cfbb19dc4c9d14fa11d78556ae9ce10124cd9f6db40a26cb4272ee3a2492e02701dabd2536cb9dfeae642cc02c106a9591c7816d2e3ac505322165691223502df0365664d90d447e365c6058d9af1f4a25f4c6d79cb1c3bab7859efd3d8f906a056fff547fa328ca8c90064812c4e5811b8d7e5e31472c4ab2311bded7a4f0749e5c49889ba6cba974906375982dc89967e34cb35fa5fcd2783add5ff0290059f5147951621588570c954599354bcf01a04bbca043b90192236ca04f339720638c2ead702bd2f96ad74ff9a6cac55d0c414de5beee219d39d64843319727001f93f411c403af73ccc7378427816d659f48c2dffd1d9527b9bc68f64b8b6ed0382e41c8f5eb6596cc3e33a665c8f0ca36101b27094aaf1f211f8c13151ae7603cced5ac4441f26cf671f1ff598dbfe25c1a39d242395b2c72c4be44c222cf902b6e723024e9fd2dd0e532021c0c3566c035a1b33190d00533573221a143cdf01f743e534b758b9de1a166b86ce4b9b96e52852cc572eb712cba277179746f800f95bc70f4dbb62fbeffc4a49df83fd81e1cb1cec2dcb88fe024786bd19488102eb3b1ff060c42be492adb4efdf7cbbea7a717468409a0e2e3b45c38fd10dff064a8db2470c418842093d39a0e5bafa474246bad80b8b74bdcd7aee16894ccf03e60c0b1d6ad253e7a24bafca6c3126b711b42b48298817254359ff0b67107c077e6e7bee8d75ee21da3e41d37228dee4d8a8f2a9e4c02e1908d48f475b0a01019b0d8ddff8b55962f38363d40933622f09db734650ceb93969a3d076409c790078f45fc90cb7d9e20833b581ba8aff86079aaa664d74c47dcddcf4eec69cd904c095548d5c0c4963ecdda13d07de1e2bec169e2b395fdfa2c9c09e0c61238605ef75286f9ecab7390d73b68c4c145d2e3acb9dc932974385553239247551c1020bd679e0cd883bf476c5d8eab081265216c322a30bb88f498be83af013209102c43c10b6e10466779c59e035f011ab9263e481a4b3ce40901e53d016a50649055cd007a8ee8577fb13164c46ea5ff9861981171689cb24e97e56336e8a4d5301e271abcd30d514732f21eff855e1511767ebc0e65de54c2521236383d9ab0c077c0d52345724f59b7b0cdbfcd71e756d8a1d2cf07ae81c3c20c88f69f57bfb04307f15af656e0929eaebddadef7a7ad348c24a27139f7c8252c4c008be9cca040ede757e0a0bda1114dab69175a59ff2342dda1e3749e70ed6c710f8b1b6a404eae2caba1bd9c266449482f2f3ca8e88a78bfc7fd8f19f90b4582e0e1d128f06a93bb915de15721bc379df662d29508648aa7fce6489f444cb05f9794fda5e05acf234d96f68a9b7cf07bf51ceb48f92a1f614fa8b8a27e6a5a31ce7119d50071b2bfe54ed132aee354be696c622e31f537cb03ab70dc1b697528758e5e54b01d125d094adddbcd9581b753d13964487edf8bdff98abe3b83287b8fc8b4155000d395fc06cee97a85e7ba0c26524ebdcab2f7596d89a5fdb0cd0b41d2ce8f40779163d7804481e40b87b939cb0c2e0a291bbb574ccb18bd89ab388399bea900097e3cb0c709059956db57e2d26730533f6cfac08b401b1eac61d9b3965303107a118a374156d1c0a709121d957a555e7f734a854f1c6904e61b72b65e3c324070e57b5ef5a2919229ae0bd7315fe006649fec23e5f0dbd34bd6469ee906947049a7d4414e4fd21538d8466c7a508a3e3dfb5d72b68b412e45dbd704c5cea1701eb38823a9ccd2b36c0babfd6b03ce4a6f644bd138f3f5b7a628e39ba48e04f02849ea50decb8576372712467557d97194075ce6a7992b801d509edc0922748008d7049b9b6e01e6634e20edc92502bf38a6feccd67316ddb388d6503054c2205e7bce3c36a90288322394d094a0baf5733b1eb0c7240e7770779c1e2d4daf804287e1df31fcf90a0621543277fe5f7486f5f19f522ff60ba571ba513c17fff07030301ead3755739cc7ab796de7314b17f8ec4e11de91f76f04241b7e26a74020d3b336c9cfad30d3c7ad163744218b687cb83b7732ec49769fb3732bc65d002ae79e89736f5eee0581ffb685b1ecf1b8b1424c74e8f1ceb1a4a138b4fe7d30156341dccd7af9e523b1ffd080d50f1869a0a45b718fb6614bb9076b8e6ad1505d338eb4c2e7d6158fd63ec22030d07576acb938e5b7722f12fda26e012c6310694e8b422c474e6a95a808f7f0024695f05e9baed751959aa6c349cfa314b0d0742d52caf846702acd8671c95fee5a676f6fe39e2a5ace3ac7b7b853928617201139b721fbb254b903abe5935d8a398ec402716c29a87128a5d257e7df52c7301e8fb543dd4d32e7a8ce3a3d32577e024ec2a585dead4050ce7ee95f7a319d8073ecbfc2722527ee4a90a84da751ab4cfd5cce2bd73fb5ada0e7396c2d1f2da05bce75afb35d006dd18d7b79c70c49e25c70cf6d211fa52491bc658edd2e1a001f41d30fc55f163e159f08cfe500978f1d0583358b7ffa5ba24c70eeab32e6305a404fc11bff02133e80088bfe37df66d979d65848d561c1dc94e4b53841a3f01b1d8e2d00dcb5699663c11c31718e40dc96b9ea451c0aa8cd250c4ce2964f30752836f09795e7edb045f7d5f3817dc98d89ce02882adccaf8cb8441a501f44074d2bd560e81f8d51d30133f22591a6ea7dde5abe455121a99fb1aa5ba87aa302a9f83cea3ffcc43fe5496d0c9b0914ad92743a9609264964417a4fab59697f021bb0e595852ad876d76e45baacbfd43d696954bb47cfb86dbb66aa3ea6de390320edf9f0d6a5e8a9a54dd2baa854cc3c98316201701e0827607092d11dadd2026419640db1f99673747a245fa2a163693fab7e5332f51c86c28a34d532453603d50a22ffd65340b4e56342c9869e8819791e6dd0105381f5add4812501890d018e8ee609ae8e2260fd4bc0cc08646c8f0fd7ed8f82f6e1e53df6ec6009d725073e22c4ed487e7dae295abca0396da36015ccc111044e2d8f13dbe97473794d010cf114836e798910c7170a2b72d0a4be6dd8a1e35c7ce78099d2ce46b95f7b0291f4e6ab5a398958eb1ae33186dba888cf1aeb1ed5ddb6ad90d8dfe9a344b5068a36267e130494d1364c42176dc83758a7738c3db55a5c3fe4a8f7f218ff0c0266364d2aac02b9e51094662fdfdc03409e8374acf77d9890c8e7d356fc42a20000000000000000000000001df53e9a833bf573bda84af8ca6fd076bb9bd742000000000000000000000000da270759313670d5d9edaa19c52910567ad0dfc800000000000000000000000040eec1384bb1e94a196c9846e65dc254231e0d8b00000000000000000000000040f907ac9199c6845af3a34596ec3163978a374d00000000000000000000000077e3b4c36c66d2e911444a7a9cd95ee92e60e07004ec2f6b734a0038a0594eca7626c296869677157da7400a2c222e9cd8849a60058d987224a3fb79235eacba6dcaec125d9735a8ec81ec8672255135ff45ac660782a736295933d1c8226d7ad332f2ccc2b2e6162f12112678d99332198bcab201c80df0da833056d6058de0438a671935f13187e773aff645125d2c04f38fbc068f368b70d81e1cba1bd5b5d252fb70e8671b3fe756d5f4c34b41bc8a92224002636eaf2c3861063b23d0ce4f68f48c74fa3da92f53b2371b94703df66e00ad01631a511ab40f86b7f60d798ff6cd4f21f072d199e66218376e832a5cb7edbb03286e9d840ed73f510a54687ad4cd9ab56c7743ad1e8827dc5e14304948e5cb078d5ef50efec9e21bb6520ff0a518221f1351e6d23d56eb22980a717b36910404b27c633675cb54ee78a3ac48c2ae295a6b603b4eccd5f25f2ad13f71f75b4a01f1ce344b2839b1e8aeafd9a4b7763a6994a0eeb8b322814f17cd3d697c0fb70212b4dee55fb7dd73d5fe40b6f6a7787ce9659181acb6fa42583c2dd2ad9bf8017bbb92cfa0ff6bd072c2ea127fd3d3153953223fc259d78048794b1f0d4e55006f2f7340b0b095343f825dc476289447adf3b0e7cfd3e59e1239ac19ba96aa07d9cded7aca0646efb7fea2e542bf8698c5d4bd79d4ed0f1f8994c174ce9e61068b9d16f1f26a2f107ee7c2f852ae66d0fd0ad4dc682a375d0f877424bff53501d00dfcfc9c2c1cbc7519e6aab1de7644e8f40f070e56f1b0e0c9203f71597c01ca38b98f7b3624db23bad45e654a236879a5d92e4a8dd3a39d4cb94647093f07742fb70decdc7c01bf58d26ac75c50cccc092e9e40ce8bafbca7e1268d61510792d2d43462b356cdcd7ac7714ce4f6a344c099152a717e5b7e4bd74fdb0f0302dcad56c7cd74373c65a7b115a7a7eb560875dcf237515a224cb899308fd6240499f806f5347b25fa533059c2f78ac646d665f3c70a59e69b17f005893c35a4026565697c619c88a4e23f2766325b29be776c53eb8e7d3c1f0cbc156df93240059df9f2e4ec8bbd62f7c698bf9ace889f3edd4191fa1323684e819c170e5ed30494940eaf55b50838ac32fda72b9e8fbe7f41012d673e4f8e43da5d3954f24102782576857095095b0274c4c48694bd9878568a90ebcba0c1bb0e31db4e7c53021b316c601dcb9b4e5cb997723cb9caa0984de26b36dca1d8c95626352a894e048a02f6dd1ace60009b908791b2b7eb8df418776ad9fe2e3b8f970dfedf359201828424351055c5a574ee5c79f142758bff6cbf508eb681c88c780e3a22999c0574085163a097edd4141d5aa1d6ef5fb6a38bff8dcbaf5edf2e980f5010a0ed0477945ff175b8062930ca62f4ccbbdff4b41ef4cf14505a6efe438522bf263405f2018135d70e7c5618158a97037a0270cb22a04b39c86f966bbf602652b09604fa702599ef36e8df614527068492dc47a93edd16109fec3c81a9ff7acef1a602bbf27f87078dc2de56f9fb86398ae45d39960e2279dac1bb577c39a1cf1104055dc096d74dea81dfb91daf3c01f19a66585c07399a77b31339b835b0046d65068c8e3435d88186cc64391215d68305bd79fd711295e167c5ab5bc3d4fbffb60171776d040dc34518a401a26eb3707642102d0f28808a65e58a2be45a75658a022337b6dcbedb627b99f8378c2341974e26bd475981b30112d199c07dd4df29071604662ce25fa202c00cd2132f5f7a6d6f82ef4cf8206ae5829690fc86e98c03ded8792e446cd7f581880b8f285156a0d19c214040e244ec72c3da056de0eb0096c3b8eb6ea4318f39cb089e7bdb0b6ec7531f9fa94627a4bb1867d9529a640085955df13b8bcece49f0926e453656ea6926e67b2393296efd7e344f1299c204a670beaa45ae0b97ce5f91774e2beb2b0d965bb824b25cfb53c2128fcf6f0e054ce0f1c18d2ea8fd36f2f6a6d01e4f0f40bbe6f70af2a01210d9dc274f90e606f087b4a1987550a250ea5054bb3721143f0fa174cbaab618c8b23e215894b0020a4b033757caa52a13873c80877315ecdb705968b60184c8af5c8ad9c3706a0144c5d25ccd55052d51ace9f17f075f44f7ffc06ddf610095ea9e87f30c2a830373e79a56daf5b404cf24dddb9b259c07c712194c3b271d3cf522b9f7b004510117b691fe7c42f21a9bd2528b0bb76e902ba00a0d45a0c68e88cb15036ef2100411bc597362f0e2cb427f9e9f7a685f74adba6b9f72cddbe35d057dab00d04e04ca97e162b805988eeab9b6cfeadb108f9ed6ce63a0cee6a0ae149b95bc218500ab40796ecad35c76afab67df505a28e80c85a851e12eb263f18194c9fd1a3400d5a24d27037db986649284d33ed85987505738349798c9b0089d52c364c8ac0622dfe1fe5a7e54cbdfab61e06aea9d71849c71af61fcce41f15a407ed6c7a506a0d8a2c805a034e716eb3847036e4218edac60524167f0b5939deb74b88168001c88e87953d2a1154080dc269c87b57e07f82f8333cd300847014a31051602078b8f3c58978c7d7a7c970d6baeb0486d485b315d3b812dbb8f7ac854219e5e072f2d20e81f6d1b17f28be14794a90edb7f1ad0854fce96a404f5762e2c5c5802a40baf9aacae4c75282693f86fe8f358331ef7b22dd3519f9c06e424d85f4d04e81449dbc171f40d46f9ba7da230d4965d4a5008000ddb6b92db53b4a7fd2000935309b6f61e96996d3c838992a1f452c9fb4873b43931cbb954cd57324b7b0467d6372e9184b639b68ce101f0552df1651e04f4714357153d4365c9833cf4074ecd49d2f63c874013b4d3b601933f926bfdeec0d54cc79597395d0e39f5d902f24487bfc47cbf018277ac09f5e63251e514d1484709ff116f4c3a3fbe878907b610c5ddc0e38725bf4a0e81ee9beafe1bf8323756476a15bceef229a24f5705ccfd53ae4cc8df64ae6a6e5f0f6ded0290b37775380eecafc2069eebe7eb1407f83e157db25dabc9fd9b94d939e208c2c5c451fd3ef288f4d51a40bb7f97180143442abc5b18314ada86fef97462cd6c9a4dd1fd0a7c51113ee461b623c23d019866d70b750890a149ceeaa6fffa466a0a66d3044b9c0d86d5cc49f90b7e8107e8492da6053988a194bd59fb20576a09cfa455889a61114f6ba190b33f58bb06e81cf35fe2159f4edfcaafeeebfd5a5722c6e5c3a88180b1ded538d4fc916606ca07a032205b6b401e7190590f9d92f0b5b07d31b6a5eb01ad2dd73e28b98204b02d54b5aa3dc8910d74cc48ff3be7e03ee85bd903f59674ada1ef0a84c98f0625ffc1ac4ce20bdf32ffccb749fcbf0ca25d191a0acf62b03f80164c11ab6601641f8430c9d0298f10678731f79ecaf7a36c7efcc2080d18cf086a08e2e5320291bd959fcbb1726db87b70b1a398953eb556863cd8774f0785610872409f75030dd75e74ff098e6b2d1829cb293563273054926d7dcea1cedaff44c073fe6901638c9dc58f6dbd28d2858045cbd53357c280487c179deda43f7bf95375e1a4045cd574956fca36342fdf5d31008f25f9c2fd6b7ff1c8b0dca56c4195ed2d1e0022701e2a42fadf8348dc9a0eaae1d0682634687c7007c274604a593d58a40d01a0aa22254b39a68bcc8680344f82f05be97691ec74910930b5a4bcc919fcf8000bf6db4f611c671cf8e1b25b5b20d1e897e17bcf61e4b95d4efe67239a38b704aa13022859371ce1631cfba2e07d1ca6b5c5185ee58148e60d54b88834612901516c53cf224b2c205120583fa72a3e1d05bf6e97dafa7f12ac858ae2793ef003d2e9d3b5b0aa350a202d53659f2297e41beccf935ea4404ad9ae7497ed2989024204d87f901b0805a940fb81f88aab6a2635cb12f7f4694a8db2acf8881dcf05773b866ff734a79a759c2ebdbb5039620325aa2347483a92742a11469a354d025c981d8b766b9393f01318019314840f3473bc2747250d3eed9ac43428e1950270dd705c5cc57afbe031d346a50958e5e0351a305af3c7bd1162aeb8ce379105a91817239314be14895a9e14bb1ad6462afd2b9c4a6421f20f874bac7d2a71011a9fc1d73196aa5348eebf2d42d80a62128e90ae22b97cc9dc857d3a4257b801b379e0006b872c4d1c468aa9b5595a4c5884e7198f3b006c9803689c6a21e002de57cf522980ea4075422a483096e5b28557c8fc0916a50c9be5d348530c4603b2cb6cd170b63240124630799c4e2309314908d1754696b16b033b0a1238eb04a42f8d3f4c021c46c7947d7eeb28360cd48468c2a72ce504b2c37e2553c915026a3701a695e2730b4bd19948a85ec94f862bb89fc5eae4e86a68150973a0f907fc1be8acb354c82d5c8e104536e4e407ded2de9e564d4a485e46cd03a1073b03116dedbf82c66dec3687509117229d2f1d1d1dd19f9d2f291617e258ac6c6f0156f5a8e3807115897bdfa3be9ab86ec7e1172305da2ac8322c4fbbcb0b2106051c52d0fccb1f22fe6c0a0925ecb5940e28f2261c3e605ce2f38eef0b740984037a186ec95ae0189639be302e7bb2f2630ba2c9ee70cfc1c8dcdc7322a944dc03aab8f2ea39996931a08d42e45e487b1981594ecc65807155e5c6322252a8c200717d07069b3b1903239c859ae406c962e12376a0ac85825029a720e6ee332200e7f1883330c66b1ee94224039849545c6139d1c7b788ca60856ad16862016307d96361df3f988f871b302870d1b16c31ad48ef2a2cb874929bda7f3cce198f03d5649fc1103255de1307df5bbea5c5efd378a1ee3aa1ffe7f2476d6752993007697cb957bed0abe9c8f6e6ebe5cd05551e3a8002d0dc1fd61fd850b02493c702e1a442c5b74e670c3904a356bad6218c31c06b744bb10f6d1fa8292ed3ac8c06156e4d932d627c4a886f990833380f67c53d0b712916a56492db4626acafe005bb57916441149aec430c382dfc327f6017f69e0221da13d2365a0d0c82997d03fde2a8e9c2cb2f75c2c5b0f51847e0953f8423d3b3aa4edd0e32c66f5547c6051b4b32a08c86a7a8d96432e43e5d1c8aef17b0582eed4a40364a2f557ffe97031f0dbd9aae4fef8a5a49ff058b04ab8ae362013d549ad035e95d9920b99566062b4c17f430929549012d39e7b1838cfb72ed2e81b77e29c14e296c98bd2d0a002e3fd5b2c93010dceb90b7fe7b9c21e822462ce367794768eeaafa88ac4be802ac65de0c57ade33ec61e21ddcdd230f470aaab4a8e44e876db6adaec679a7f06e57ee63ac2ac89ce6bf77734df083f802014159436bf7f6b9ae2f8886f2eab02a6ab16758c61f3fe0657218bbe502e8182065d2b141bd782a307198b67664a0347fc292e2c42022dc165642bc3aaa31ee72efab95cd67688838939d619d08506dfda9fef65aa81088d1dddcb631dae201c221140423c511fa1d321c919c30b039eaa12a9579cec5698088121e022674b00b8547a40f0e06d728fa2357765210126c1919dacf6a4c274b602018a70174d46db44440a1990e27cdf4d75dfeee5059ae567680adc47f3969be0732a6943d19ed868cba30f3f7a58393cb79b335b02db225bb8c5f548aa7ab1967776c1c87f89a1ed375e45f69888f89df891f9c205694a99dea799c93a26bef7ff01a8ff8d292472b67ad0b33420c31cc1a875e6067322661f5cab7c5d65d27702516328434fd1adfcfc70ec9cdb2d7241e1cb7d06e0b9a188d870c4c5d50a5d4ac7397fa92fea98a8c2fee230b3eabe6ad84804056c1cf0af3165c80dd71139268c21d4664e6846ce51f1c24d88c4527b94db1505d2f961a29ac3454f777f8e48fd0deaac501135e058a7158f5b8eea48a72d8c0533396c13f72f0aebcab3cb050741e7706a23b5d8f540ff66de8772af9dce4a02993c409ce83033a0d00e9cdf1d07404c8687dfe3cf647fe1d03356893a695607181507f9de9f6e0605e24e0d55855309494f5a91b736c6185d531af6079926056251efd8df156fcfbd5dd47cc93fced4268efda5457684fe9b8f411e36dd3d05dfd04b24fbe7a99a6dcdd39d232eec94a943e53976670dca317e0b40a5af0906f5ce7719f3919863b13f7878bc24a6876df87fb9cfd2fab341b285c3b0b3950688db002d5e58b3250af6b8de3476a4a49091269be5be7817cff4ce55288542049731b2d749202b3c056c16e799812a30752b763735a9f2d3ed9d86d15ece3704fe324d46b8b2314e07c98463bea49bb7d92f5a1966adce5f6581668b3bd89303d5ccde7a5c599433ceda4cef1a697330d51adb19d8cfeab4d296065171a2e8058b46deb731db5d051b100c0a5e223f3fc0c81cfb4786a436e24bc2bf7c9126009daa8c83310422b14ec1c645818b0922239cf0a982c77252d38b6444081b35019ad336032509785da1788d7fb43929be6feb989f8b3483decf3deb97a5968507369fc8436b3babe50988577f83303464d7d2c084aae54b1bc3caad96037cbe01fb05952164ac0f007238c3b92a7829afd2a77c27419cb9e5b105e2d92c3a0f024317a76f560cbd6dcf605ddcb716823ce73cd456a9955c6a826770d73a53ae02e9aadebb68bb4e37b65b8f713e6933356f7040898de66bf28fe84f335bfbe104877ea1762139455c80aeef6ff5fe08802561295b917de45329617c4089ac2f008656793397da96e0c4f8d259f0653f909ddc4055c73dbc386f5935d51cc88a0407ad96a5e88982dc9881c1c6802152175f17263bab1ef9f326a151251886a804a0681d1473868353e653140fe5d80040b2e560b677dd121a161a857fb71b900609bd1abca86c80a18160362f5c3956c2632a480959547f0b6101a3e1df4dad069d0eea40f59d447c16954f5153b4002a090d768b27ab57f1226926ee4648bc04d79df8201ce55f4b8772060441b9b0e950e819ad9745406ba54062d614368f0073b155326651bee64c88a1f22b52b3d24a1fdaf60627587a24ad82ea611c4a06bad42108dda15293256ab0b88d4dd4c9486d6d140981485aee5065d9411a3d035cd56f13703ed9c2dc7fabeb8f9e132e0fb20f124fef26d732ca3a256b551007d771f4a6b233cb3429d030f554b1e249bb725e96bd2d9b92adcf320467e8eb04afab1de80450823445047cf9410443a60cbae2001445a70be2e48596c45aef008ba05cba4282d440625406baaba6bdbb129358ccb1a190b757ea947f23ae9a01b10cca580a77cfd0e7be90f4e382c08c7753856678130ba134e15f54aac5ee074f5912114cfc9287d55c86c5591c802a305a1b9e21bb377dd735d412e1fb060141cd52548c7dc323eacf3d18ac2f31f008e5e641ba057ce7362040ad7ec88f059a9f58f7c763a308f1222159a6899a7868dd363f3856ef0de2f878e7e0622f022844179d7ab8d06535f46f6c97fafe5bde1f1bf87a40f693f4f9e60e97be6c0000000000000000000000005ea79cb54f842a9bb94d123556cdf9854b51c715000000000000000000000000d69be1f5966b34fb4d97b1dabef7dd3884b118bc000000000000000000000000cbef1d2b78922b7cf233f8b3b9f734d5b2befcb7000000000000000000000000e245bfe2545152669f812df1490d7fcfbe0c10680000000000000000000000004e854b6614523554aedbe3b462d14bf1bcf8a269079f00b570d5dd6662f4acd682d296bac13e311cdf9f63e98f9258b914a655a205cc44c27aa845b88a5732758b2a585eee57bdb9b99d1ab6cf0920e846cd51d704a11828a56fbabeabdda82619eab7a254b24c626e8cf9dd2b4d0000f8046345005dc856b7f126d744acce2c726b2052f06b4b8d7b37720b6bfbf3795703ba0504336aa370a9b7d1c7343cf14c5f81061bb15963a22647ce319b0ad8b6e08b3903a78ed38de865aaba02f654c715f19e46f1a4773ba198a20fccea8d6076c28405506d7123fc95eec72cacf5564bd21fbb5d4ddc2515ce5ff4816aba77258a7c00b3f5aef4a0f1a3dd8fdeb091f726fcae0955aba009a13cf255c4d13560f14401372711c03c97d9cde691f4a90792e5d43d1b8dc5911bc0a45b825e72a922020675ef506220bd9fa52a3e915c0d5f592cc32de6756c5e3a801f80206d6d673601cda6c885d4a47abea99fa955d7068853214a2e874c8a8a45aee86783375772048e1405ae24f29c4c206e60006756696151b00bd2b40d3ea9dee37f92040a5403e668c2d22442f850840afe9c68439e383a09ef3a53aed71672d0cdbd5df0260269e03e12fc55203182c460fc0158613681289ad22c3949c5fa7a9c7a99255002bd3a0ad9f077bb153e76ec650e2948d49a8265e5e0c802df8ed40f90deef9c06fd633263ed4539a0942a14f09340b6640adbc5faa72f590a6ff8a98a72f0510737db705cc5bf8820bb735ba58e3a86836646c60886a769dd7258c822d271f4013d1ad6e6dcc7d57e47d298582b487eeec72c2bde2f0049669dc9c3c30b24b90484426cc3d254fb964650aa5a0bdc1a64035b792e275a46ada09f55f83b8a9c0486f204f9e2883395c96d71c5d49cce4073492b18733d02321a550d4d146c16077ff370662544573274ce0dadc4a5bb3b80b90d14c1be1cd1e3bbb54ddb999303dddb18d371fe9e2ce01bcfcf53e8fb3b2ec8dc134b25eb4a5c9e0b056990600125bde41b724588bf0a687c8370f77e412926e2706432544299ef8f1feb2a17023fbf20a43f2dc5270f0fd345dbf80a17442d8d18eeeafcf5b3d77bcae76232034bb0602df96ad2975695df6a24e27ed7985272c4e35228fdbf00a466970faf0488219e6f03f0c9940108c68053336704bf0d6c011ed36e0b70f45c8c65442a0392feed58a20e1f3ba81917c08168dc186d6504d4f229f81771f26e3a41af7907c5101f7fc2f173be2ea6484f5fd2b00c4d401b5b5006e6294bda453bb2271703f7de43a503f61c12ff2e0f3b318bcad3c5adfc1156d393e16b019686c699f006a0acd6dbb9c523ea214660dc7455298b98a86e360f802fc2a8ad24d93f47da077c8090dd81add6f6dbe977d4408d407ec98b8bf70eb007d708aeace4679944020977d2a632a3e156c22fc6b27098f1af92e0f61e409a6aca0fd911d0da44c00056b5e802d2864c29c8c3fe8286a2516acee8bdb184a2497be9203dc3e902d7060d94be761c9ec7ea54d992743686de0c3426d2a6050f10a704a4da3cec9c13021449c83b8fa10139e145df96a7aaceeb362b62976e8c707d96f5d8ccbb225d021b1e427ca35be4fd9c9df5b708472ba593d79ed4b19f6fc36fc4bbf690454e068291c7c051de8a4e6077c6ffd45f57197f1568797fc2c1820fdac16cdcc29707f2af07f3d0b87809c82a2d11cb06c2d1cedbc7ce45cce7617435e1e029fd7e035f32839fd20fb395e4a45e947818b4b97c164a2989a177f93bcc239d8059ed006c466e0838651ce8e1c0933924e54868bf519847265483347d809783d0b90206681c75571071b8e041c5408904b06b124a7cada7f6ef5124426c13c5a8a67e041ef7e35c9acf9d49f7f7d64326c6391c1081f1b3920949fdcb4487cca0cb1c07aff074b977d0464637526d6cc45b7ef9699fc2b8ba9da873839e353987db8902c63719816645c3b13ba72d79d541889f21ab44ef47671586613f91b8869251044ba6e206506635bb5b7628a62648d66aedbe203af463e6b1ebdbf7ed80ef3406ccbc2c7b4c3702596cb2b823aab53b63fef4609d19af1ce7bc8f04a657930d07e8b0445aad153ed5919ce01ba506e5331de81d66175f2c14da57c94ab6c5fb04647d87338741fc780db919bf8cd5681440fbc785ce08388b2ed3fed68f22870729d590f26ae9e327acc2fcf3c568769c5d4f6a9ec71080043500046cb2289005f237638a2ff2d69a18255bc01c1458b70d63ba93c1115aa49a1c18b61692ac01b785cd709172a5acc5f56b2e69148f0c5e785bf41af56fd68f16d5506b383800ab69d9363f03cfef2b729b28a7b6750fae450dff72019adbdba7ae7b2b58ef032f8bad37422d88afbada944a9de3131ab6cd1bd63a7d37e86c0c142f7052360091d398c4aeb41c5c59a4b92c3b56676c1b9fcdcf7ddd9ebab7a65e641572a501a673d6b7878613612a925ba5a7a7a395c177a69aeb53014f28367ac51b213806a8ca630484069b4d0f1db6e39cf16fa874c7a9304651aadb490f0dd5a0dfb104940b25d794845e4592051af248f9f09cc52f1811e61e93171754d623527a47064eddb13bd80790739b8418aebf738918abfd281b63cc6395576c9705e80a6004a0b85e32ee218926411e9bb8e9ad6e92dbeada6f42712218515c0a332cc84607713110c438d1b3214be2fa3c864cb24ff3ed32ce529d59f0c7513fa5511f9402ba9869257f0334dbd1d6e3d1465537a782b8e494ffea4c78af74e93845f1850182853a51e69a572170aa88bd72371d691f5d84a671b64e874f19bedecccf7b00fcb40b2e614de2c2fcb8c8e43935fab729d3282e57dd025c68216b77f3cdab04a018f2656f40cbdc615f438d13a1cfbe2ece97219652250663bed3a8f6945d01692e8a41cc7940b8037362adc213a93947546adafe989f631988d95e804d9e0265b2f9f141bf93aa581264b7f746a1c4d2cb1608db7555e08ec779e02bf8fc01a6aaf6b29ce43f2d88efd656c4e3dc9ca536db58d4116666765c2ef6549051064dbe654d2a8707c39cf63a83b197123fd3988b9e85b0a576b944fd5899d6ad079f0165c3b163edc0fa22f996d15b3293bdb65a08ca43d288b684feaefd840f006103ee4f98eca91c08aa295af25e2c73687943bf8101bdbadc916697a655d4010a934de119b2b08ff4d13a2ac41590f174c8b55bd2583433a957561f3e001d00d89b8a5c4d6ae5d8f3ff2b39387dd77794dfd2c51ba6b76428fc011c83dbab04f9d4328af4175314b4d3794f0b9d3347baf493e5d8e7ba45e9cc857f221ab1019850646bbcffb5744f5d96716dd67f92e18163b1d6778cbfda91f7e3ff4da807341e4c0cddbb8c15b7dacd76628f69ea0ec5f354dff958b2492ea43c2a8e20021d7d68a1a20ae9b9d6c3ff97771f199f78c223db5efeb9c394c60dd9babd7e02019072f667893bc8be00e606814cd2a6eff3f170e41b27872a6940ddf6a0dd016bb5cc71c9e9db0fe24729af5dfb68138730bbffddcdfa5c7b366c4cdf5afc0132e88ed6e0c18f0ca158cb18b182f631cfa4482494c4d6c0faa4a31c144b2b031b22b03f71a3de081b14db86b1531ddd1c06898791f3021a9b3892288b102807f8d5ca83f55d63a729810719f323e33283dffccc54c6d01229b4f6349ad02c0799e83c540e7a2657c585fe2411a1916505dda1caaead7712e6018a2bf8d95b01569e9b03d0eaecd88e944092209b6c1eb918e88fb999fefb97f1fe739019e300f87978ea0fa21eb02bbf113465ab3dc7c60d72ebf097700a70eec8279fce8a05e65d4dac55edef605fe9bb39ef3e7e1d78c4917f632ba3e8d35910b77abe4e019579f59aa2a86351203a896ebdccf9a8b83cf281bb8564265479ab6727e1d2027b140ad72affea8db9161f6a00afabab17eaccdd4dd3dd6da301b858c7faac03a1c913dfa102be4bd8806244e08ccff6b316e55b569595839aae635d9ccaa20154d7e4aa3e061ea0cba3b84ff4d90990bd1e1cb5560d6c1fc19bd131851f3e034384294152e06ab63effcfad808b792a2be489f355b215d74bfde354dd1434062db686a35b5e7b7fd2d13b0deb0393cccdb59ace19b966828d3ced678de5150527cea6d2290e5f6e63b858b6fbe028d231aaad6ff32616efa3b0f3a2bada3500e9c1d78c1dc8acc8dbfb96b760232dfe5b0a9c9d6693654a78474bb1b71f430560e6b91966fb48f838bd01c4270372027c0417e8b975db30c31ece07b66e8a036fb66181ad26708a57e9e67ad522826a21f307d245002c2e72fe746de5a82904bff2ef3ccc7ac80bf0bac116d57ae8ecf2ec325c5e1fecc7f57d3f36a30be202c935a961586b04bf633332f532d02a25487c81116fe42e9c2843fdcbb3bb91038ebc3001230be5a2e9ac04ba431932412f6dfe105c925de7524d76ea7b100a027c6c7034eed9ebf45922dd6954687377448862bb5d9f12924d4cfa204dd2390630c717fcaa9ae261550902f6a2e63f20c50d78510f5b1bd7ce8b753e3a0cb10320bd533e625af9e8a2a5723ca8dae62a068bfeaee0418e3a4671ff31512ed307830f4f0987db465b3ceb253cb5d093a97758d00894980a98192ac25b0aca5003594d544d4ebc8280a9220191837b83ff0e056d5ffd8e28555e07375f76bd89038df18d84691c67c2de8288ac17e6521c031faa7ebb788fc558c02074ef2e2d0399eec6ae46a464643c4c5b83ff39206044f07c98fa2acdbbcc42d21945e54005bcdeef8a88c33e396fcc832d2e2461c086dead0f4797ec209e3c598efcc2530574e39415f66994730cb2bf15fb3c4a193cc961bbb8ee20cb1b63c16da5a49905d7399401297d367ddb654df93166664e388fe3279dad457902c5f8e1c0b06e02d61012fd67b15ac259a8c3e31d7b38c0f529affe08806b861b85b05a7708ef02788dc665f742b54ecbd5a872ee7c08cf40055bd43fa6971dd3668e7a4667bf031299f59e15d91819e30c2296a450540438a08e5775dd22da634be1eb95340203a92911a25b5e7b26f69a829ba55e652c02c1a77e93334831341d218bb0b724053923f330a4723306d0953b4b44943f192580bb348988d3e75dee11a44bc84901f64cabd95feedc70408c14d6810ceb7a8d3fbe0f1408e655d7313e6d29a7250148e359d718d09080282264dbc5bfdbe1e11425c5d1b2b4ca165dfa68ab8b870583cb9ff33df0553346b7bafeff63776f9fdfb124eccabec5ffb0ad02fa948402ec98d444fd7b9fa5446dddb410e6f13f25316aa982a9484379ec32aa5d06f4072616e9f02fbdd81561a452bae79ca9b6bf81ddb5c8debe636b4522bbba2ae802fc091d370ce36cb6100365f3d2a18ecccece4c96032ebdccb7795080eb058000f7ff2ead61c15986745cf2f3dd2905213659e1e32ca8022a7cb24a1d8f127601afdcf2b5773fbd895fc508ce4f63250ff1e84e016105f3537d3141659decee0181b112890024a7a6b3d4dfe0c9529d11824d5187dc7a1fa669fec0d92d718c02874b2d06b2f4ab4244b6cb55eaa18b48b2f858db481a3021a7ed99476148ce03430929c2185fe620eef69a3cd02caa69e43cb618f778282c712dda77b03b7d00c57453733a55b062643edc14860bf8121628e2f94ab98558769e4caa599ea3069b435b9ff68eaff3430246288101b8b3a005f39d0e4907906b09825d6632850717c1fc41ef797ed0245474b117c54aa9c46f5728bad9b4e1b321f1421be72c03c0d7ea3cdf6800e45716dd59828da84755af5aabf79895ab20ad17b324e189042e66d270a2dd4e080addc3957116c7ebd0dd031ebc8f2e794e29811845b81107bd2a4d4dbf8d2727540c64f9f3124990901ba85135d630a9c748d0505b4622039107408d66355a9c81fa82716268a4f19146e5348f16bb4b42359ae2310fda04610e8c76731d0c7588ef9c31a277c1abb571c4c0802eebeb038e8973d1c8ed069d343660f6def69800b06837f5a7a1e3275978c816a57866a9889cb438afbe043fa280c715ad8972927d1ad329059d2ca72460ea429812f938dac4611ba9ac016e3667e7358f91ae2386c943e2a19d6e05789937019a0dfb0e4d178c441668045b19c76259d190affb644713af90d9364aec37c934c65500dd7d36987aab3804e9aeb78f3ab247d761b4c58b807e781704097c1ad3eb5dd54b1d7e3a6e9a5a0118db2507872962e0def5c7a25b31fa8c7885e0756c5ce10e7fb1733915dd3b05df8f1bf46a159c1a5e02eafa2e92ed2314e020cc01db03e716b46387d90773024da99126d484fc9b9951d68f39213b4446230d3cf6d03ec1b88d43f81a9bb405d57c0caa9c0ceed8a14b6f990667b89cd4bacb590c93c8bf0a1bc79514664e06a98cb62d7cfbb1ff0c92d62b8985bc9fb26bd0a83781c883bc1eee4eaefb12053f5af20e16bef9790341afba542a66dba828c2a2cd68981eb223166d95f22401ebde7f83204123435ab7f3b1b33e4a1ec323d9293920408e2537d9ffab2e94000000000000000000000000ff974e3bd3877ca5789d67afce75b3d77ed574280000000000000000000000003c392416223257f12e22a786c0837b62b12b06a00000000000000000000000008562b955b9f8133254af172d4d57e2d44f45573a0000000000000000000000003f23df24ce42634cd37bced8059eca902aafd9dd000000000000000000000000534f666c10211a2c48ad78d9011c252543a46eb400f858a7e78acfc65ce9a960db2ce6b81f3e591f49117fef4454ed2c6f96615002f0bfa5f86f5e0d35ca0b9dd7cfa9f09f521e7b6e78c324c0ae14da883029d803d64780551446add60eb567e5719897eb808ac40f2e8ddbbea23558d97b500b0739d756ac9b4eade2f7dc738f4472bbe8bb5975271742f82155425c77f3b2c7063479d927a6a1d2bc66825579a245e83ceaabbedcd10a5f6c8801e3807ce2b00485a6f2b98f0a1d71bfe19271aeb349baeb067f72d4d87abff829021f61965b0076db0f40815c6afd78df3e4242750b289a816fc81528eb265d26267efa270c06acbac48ecb77b7d4ff4f4adb688a0dfb85bab4ba9053c6de87287a7ad2125402a638fcfa3c7f81ef0b1061ca91d93d52fd5bd8106d115d58d62ec0545da3b704b7d0b29225fab3a44003425d6e985e6a67343f8f40c6c3474093be933034e106f7c4df26e0be77036106bb40d3f94b455bc15975b472760d617bde4ddb034d01d5470e94b328ae66084c11fdafcaa122a11f4b0190635cbf9e8653884d55060439fa955964817226e9d184bf7ee6f75c25a8e12df381a220032139469bc3bc078f25cf6020879eb6e7c1c935917eb99640eb9c9b44d120065121fb140ca5c3010c9be82cd265fa2684bc74959f7a454e19dd233cde0d57e040204c18cb6303032d2a882d3735196fb08165abdca4c03bc259d4e9121b4b812ad6792d73b25c0530629f6bd22f79203295245cc028cc3940b1a9ba4714057f21b8faaff7e05101dd01a675f3b24d435f6dc6ebdc599e039005f511546ea56e0747c5fac6bc98033a532305ece144cc449de1b7d4ddf6432b709de23d09845776505c351745a201088eb1035e5b5bbae657b334a71545647aee544d948f144cc638fcd73567eb0028c76835ff5a66d241332008a89236289b28ffff606acd6d371248b79932b000584f65b740dbf51dfa5a0c69be72343ddb92cbc97ad075bc08f52403d821c1046263590fe0df54007fac833c6f6f72edf17b4900b64e5bdd021e8108c71c1f0398004384349284a2fb3103c3a3d48cc5e2433d850883e78a3b1f1946bdf037008bfacd8ba9154f2ead6a109f103d1d5c65262136b8e0f5b6f6580b4027b8be079fd272ae6e8643d11c5c3b4f5b01bba90c5fddeecf1e4f274a69d4b70887ee04244ff293f1b5e4a4a84bd0ff37b053a0bb20ff52f5a63c29ee04366e5bcba50636447207ec6d26dd460d18c76cd7994b17da290264288e22b475207aad6645036f9622fbf305babe65daf49c40bfac6bb668239266727bfcf15cb714cf0d4904bda0e7dc67d73db9b1116fd65a986335619710c18c9d0a2020179aa96b6f4206bad3e0dbae129ef7aaa09900860866895df5632bfbaa684596afc56396724d01208c59e94408dfc4fa23bbebcd6d530491ad0b566b757b912fbecfba766ed606d8d7711b0fa2b02e76128248ac1572589e69fb429e5650cc63bdfdad27304a06eec8c3b2afba7f445c30eef04ea69276993be9dcf89d151b061bb4deb4343106197f4010b1275a6566ce58d34d4d1957946c67ae2f16b2180b41f5aaf1bbac06575e17d0d7a34ec1a91c4a559502e4a0fe59eda3c8f5125f6eb4432ad3d245006bba8c7a1dfadae8350299115817bc59c2c417f9909242c97df1c46b27c6b504671fd3b64bf9bf7fdd4fb8b8b18970ee75261b23f8c878a05029aa1b5ef4db00e7d83aa7e1b6d3f754cc95dbcabc594a8b54aea48fdd47552381d821024d35038736ea811babb678f0a360b7c321c9a7a83d7f9bab444727e882a557af7bb704831160ef8ebc3e23e4b458c411a48862b3cd19bc1cef7e7c27743ed7b350ac0180bbd411c4fc54d9fe8115189edd51fd59524d57ef6aeff2610194654e2766034221830a120d612b853d559c76188420a8b7b3fd5aabd094c48fcb1a7922df05fa3ddff9fd4b4347442816a9559333a13adc820878d797d9a227cbb27528aa06f4bc25bdec8005c059aef6640f18ce6619e337cb0e2151119c3d1c5e9a0a7c02dc43526225c1355af87727469a927706b5dd227f6f74ad4282012bcf3d3c3a044b7386e790fdfd9b834d5b088e8fd24fc6f53957f2ebd091be9dd40ddbe616071c6abae5215d5e87faa441c6d72c48289efea9996c4700b531d73cc430fb930092ef6f56623a7164c2eea483d6194dc75277839e27648189ec4f6fb782a55d06fee89be03c00b48d599808053daa3f91d52a4726d393cf97a62a7076a589fe052bb2ad09ae01b3e28bc170540b7c847475a08699b0280b7c420ffae06db677015013b0f752bc1430009c4323daf726e61c6fd10dde781f043450f8bd31772b07095a61c6f83a30cd51d592b52a55b42ea1162788b67e3c4ecd8c276c418ebe070d6e94c88601880ae7be932b9a0aa9cd3b24beb267d9668bb0807a58aadb3902fc76e4d08f87c400eaa5f1837d8fb94cc298fbaa0e579a1b994dec6f4019e90680278ca0874ca51491bef49936a3e9da14a8ba75303eb431e2657c7f1876d603ed9c5181ea1195fc9a62271b8fea78a0e6e100d3cf05134786270e6dc66fce02ac31492256927fb5196255bee6742fda8dfa4d8a085dbae66189c231f470f50063bd54dddd7951bfbd2361e19c2cb76d681eeb25f19a5f8d7da3ff1ed2ef900324047b8b6fcbd098eaf07a251809951e8f932febe0a4376ade3e28e7f4651002c58f016e257408b11785e7299fabeb65f3ca9a56223dec74c42ae6ce95e996051bd275c7eb93e4203bf11ab9e4f677c0edc8b4e56dbbc3c0fe8c237d04da5106f93df74ffe92a326de174d6b27790af2df8d8e449b7d230e5391ea6120e64301c3cd724391a8edc8f403da52abf3250963f17cc9641a96e804157756b90efc053282adf2592279618ad8dd20f81bb5ff2608bb20b915c2e8a7a173555f82af079c4cf428d180c116be626ccd2dbed697cc25f17cbfdf115c3778959f4556c2027838eb6e5473ab9867ef17be291688132e4124015fd8aca842651d35382cbf026cba21011634c3cdbd725f7850d8f4f9f9f45a4d83622a36abfb0f6b7581d90587dfd7501fd8e30cd78116ec6af372786d429e6f9743e0194f7bff4a57aa9705f12d25ef737f89c13804027cce82888f8df98246e2c19f9def01c2385ef81b0683965f37dc4ecc3eb749904427a698754bf6553ebaa18f99c4ce04e61db7fa0782168d8247474cd715eacfa6f5dabeb86777382373d8cbe5ac06ac64465e4c04c85ea36784cea62e6a8be56da0ac2de8bae8521712287590c8e0de2eefb34804ef163b5e0eacfaf600909bce1776a473d66e6345ca152f19e62b0b40f7574a065306318e47e661fe00db6b634615bde4589cd328b3e6d9cf0f140c89096dc0021db4ae3a7f922b3fdfc170f9f6bba68af03caea4ce8486b33e7fe59edb73c207bbde22b168e92d85102af4bce0926a7bf3299cfad2e4bc831beee3f84ef642028bab312ecee0b9d8c9e9263462c339ec4937bfe549695ce7d6c5dc61937a4b0208d5b6d2006374d5073f5bb2eaa47fc93d43572838108582fefe9145318215011e6d49bc02c2c91c1ae6fed82c23c86a613655fb85938642ef6b6ec4e0a799021993424c8d0ca32ebbfe9dec22288b90b78560d93a6c89e1d4d5425603580f032f632f0b95a3013cb7fc6779ebbe1057e0497a68e390a2e16e0e311c4ea4ed01446bc364b3d7eea38639bd4eba5792030da188c8531d431ea95af5710b211b074bf78b7c311f685b9f58d20bca6db5bb25fbfd9c273745e755c6759463bdfd000000000000000000000000dd718b49994b2f75bf848e3da7021da90f76053c000000000000000000000000bb02dba8a4c341556a3d4906ac078534ce98e0a800000000000000000000000086087d630015859cf7d4c64599ddfb439c246c9a000000000000000000000000db2961bc3fca7a3deb972691e55ca23a43e296080000000000000000000000004ac5bf18a9aa3115030ee435094432dbc20d381805d48af1da701dabc4d1cf8ab35a05acfe4f6c1a6800b7bc6a3e01832b5e852f05355468053394ee27c1141bfd1f8e5b9f13a38dc61297c681575236fb5732e9075cd23263552a691f88c387124a8a20a64ad913c8da163426e29f230ce2308d030ec07cdb0b9c3465472478861fef7627bdd6dd91427382d79d9f337dedf0ba03e2df159f35c0dda9a815ea033b71bc5827d500517afd094385c3ffee9e768004623c55734b88d009ecab7330ee43466168041e453f599efdb85d7ce015bdae0713bc0c9425404e85b96e66a6cda7d35e15ddb818769595e27b2adbc5f6bdb807a0a893c0be495e62d234455c5ba0ee4761a7a84478eac2bf4c4a657302e14402ef7e0842c9bc0aadb94dd8ed8759b9b5ad4fe1241a6e072d3275f67cf759d903ac3071a12761a1b66ee8cee69890d80c025737b06f85b078073727f469ab8801a3e2efa01feed930cc9d7452847960fa16c6561a5fa066aa47cafaad3619f60517412121c0b89cfb21031f53cfbfcd43b96c520f4e0bb39db98228e9e4103c0595cd63d4da07cf4e0f777e134ed623e9b09212cbe7aa13cef184a3afab76a700fe709a488de74ab9b7ad481eefd4b05940e48786841c1f7ced7b1823acf16600f6d4b6ed92afe75352ffd198f8598d07f52074ba8ea2d0581f6b728b0aada807dc5e1454cbaea36511783d144f846f8aa9bd8661819acc5401e2b3a2b662d2034c1d3ffbb14188180685d8fcc38c6b8f6bc94d8694cf3c4def4b400f86fdee068dd5b210027ef5cc04f375db5b6fa8d651ba5ed9f946420d88b303e8f718ed004567b12d4c602c8a5e16d214df62a8847b55cde4f0301a69cdb349db264413017bbb79639cb1fc375bac5fd10532248d34eeb063ecf8d2746993e74b6e96af01870f437d7ca41517d45becc0712dbbab45f593f4110ede80fda7851e4cbbea0255290bbd3617db6fe68d6cb36c59c45b6d030b887fca2aacb6716946cef2930508b121d4866cb6c5e7ef18ad8dba121fa046f60016b1b485a983688ed2b92f03cd4facab38638df3d77865616b07703ba1594b2305cbf80b854f7baa3496ba02f559750bbc584f562d26bcefd4ed64d5c5d51acb009dce4a6d6db8bf9bd98100b860644d4829b7e0dfefeafbee8d3b856e68fffd496714d5ec0818167a030600e5e971c9f241aa5a64395c102f2b0535e3864adf6bc8f4825d96dd86f22f94043c4c8dbec144d77a9f24b91b669a5c4c104b689a9f5379f52f550cb64e3a4c04bf11e807e5503af08a553ce1f94a2931b52536171a688958d0d85ac2f7d27f04b72af0ffba224f7eb85b9ff76681045dc2531d4fa0b631ce1eb6cff587a8ac06c62420219df25ee0ad53656c3f84e6b73d30117df840cb2bae5e21a8c3762d06526aa44597e03eb7a20d9629693ba382d0bde24703b5e081dea6c1739dc79601c8a2fd1b6acdc5727bec6d4060a4a2b8f0c4e7e2f7eb2d5bc2628aaaafdef207b4efa4b33800515c66f211ccbf8cb52db62258f7dae4e5a4f61f7307715d16", - "proof_parameters" : - { - "channel_hash" : "keccak256", - "commitment_hash" : "keccak256_masked160_lsb", - "field" : "PrimeField0", - "n_verifier_friendly_commitment_layers" : 100, - "stark" : - { - "fri" : - { - "fri_step_list" : - [ + "proof_hex": "0x02a588e8517b956684162e05e373dc6891146c1853c82d3984fbc707ae93797207171ffc67e24fcbb2a7d1acd6244fa91c54dff15c96ca26d193907b716ce2c5030b93bbd6b193eb57d9f818202b899b7e8e09b0c7d183537fe85f4e6b6f437302f04daf73cc0e87db6f06e64808049ec8b1d87cb9f8306bd5474912b74e59d403f468746ab0fb702742047b0b166f4f7188db1f92f54258f9e74974c6df7abe045f3fcdeca621009bf38cf64bdb62cfe99e2c1b15d6d9dc09b30fd1879a32e507d6125af100d52e3c3ba2d19711afa9026a5b19230c5e80bee939c6865006d802a21f97feebb60b3e0a44ece7dce776dec26eb165add1aec206443cf2d3d6d7011c766b423fa1c9ccc3efb9167f4039b406dc8d9da4bdced22f8b050588e10f07ceed1e3a8d4a03830952e622dc81ceee160d1f42ab2658f1e2aedccc4df9f005d483b26d7401065fd6ad30c8bc96b9b1952adabf9bfe8be41d06ee3d64f79402a8e3798e7dd94964897d476a6e3d82274a283210df80797c8b7ce4cf0e1da401909b72a75e3cc9207c4d699413361bfeb57c07ccd4fc14121e16975a745d3e045f180401da4a55f5a6c86531835b88298c222b93105365cf397f0d40cb175b03d520b40268da3f156f634dcdce1aa4dd2166ad8b474a01160434a80ffdf53407b4ec746a79813ae2c6ee0e24bfbbdfb60a45215e773be3da497023df0912a905617bd8ae2f3b8390408ecd8d677056db94abaf8474784f31a2f0e37a5152ea029c8c76933bd09f7ebaa2f77fa85dc8aefa26a9ab95604b2f8fd0db9662ed3201baa8286d23c3dc7b7d9427c12af81716628e975a9c8da6d07ac9897fbbc8d204a0160390c873c3a03d647f3af6b4a4f92abaf03a2d8d20fdc4320299bf084e064725534c5bdcdd3344e66da959639575f742171a2665c81024182ead0641bd01a75e0f30fdfc2bd6198672862ca7ce3c083336ab8e35e082df0af4b27c83e300d7d46553024fdd8e494e2f39a7e0e9152b256df1285f9ef2e61c33b8c8f7760370fe78859b47e624f36abce7fefb0e288d34a502a6b9d3b5db2142d3b1410905db111a438fe1cb285f733d975fb57059527c13903a066930ee7942d57dbbaa00d6e192a7ce724cc2b7e80cadc4a1f8053a58fdcd369b832695de91e7bf674403755b20f3db35bb39813761bd2a00ec703c39331deb0e5ed1336c0c5594259506ded5aea248ca30f456be1cccb071c5885c18b2163c9a6fc01e0d378ac72df304b6fea1b2302aac24787fab0dc8f5a49812b04eaa1d6a2a53a5e88e731978300155ad36cda56d25cc7669787318ffd446053cdd04afc2345efc3fb703f2406b0514767ecef3e00d3f33b7ab50b5b9878f725c6dea9db5db07570f3b60613a990119104fab3d6b214d91fd5ff12aaada04d29ddc17e9b42e1b91e367f8b1d8bb01cf1120b5c9764e4b0e9b4229fe078222b96b12b3023cb44ad6e869ecc93ded0344beb2f3fc53ffb987a3d28883e17c1a5cdbfb4303bdf63cf0f099ea5b470402a18fb99b7490327e783f8d67a6c9a365eb5fb55272cdfea7fb370a2c578bbf039b849dc0aca02f3da9e3bd2ae6a5fc7ed88690e3e720b2dc96b99f3260431001ca123e5c4a2830d2564ae668599a643ec9ca036167ec5da6d3795d897ebeaa0157042df629ed9991e578856c9ffdb80ab318a45e087c10db33222dfc785fad0375691a678e619a2c01c20baf1af5a675a290887afd30d4989b6f16e04b377004986cecd86d54e0216d4f4769851121fc937f5bb066d08d992dd534d6e7a39f0481db912401b6d62103bd7fdd87c0903df6fbbfeac2e8f26f2499a92216f62e07c2211cddc2ea4c5a3e5010c448fc587181214b34702ace45103774d86011710317d431a9aacf9643f2a5d680a52baf9fa8acea83e0dda0aa6e007e835c370303d93a07ab9a947700b2e578245f7d3d9b619d038601afbd437aea2e17c0e1af03410eaef7d00e980a2a8ab34a3402be23cf4ae5521a9e64d0b580150428361d0766cf630d81274bb7f16cc6dcc2d26abc8e2b619f6451fdc0e01aa9489b8849017b9c166a7591d8363b53b38e8999e20624a230ab90d93bc78fa43c92d1bdaa0335b3a7b8c72dd794e8f260ffe9849e252e0b1f49f625c1f972d11e268440b903f88479d652c2a04eda7698dbc4944d33f1631b82922bdb2a82654c7734a81701d7777a13a1ff702dd78a0d322345eac519d6e82ef610899a8e35ebaac96352030098d1d8913f73bd9e44059d3f9c49f24e144d94d93dc1c549df5e12690451065525a3c22e53ba60840ac5538baeb8a3ff2301503e7daefd3fd8f22a4c2b4602a4d4cd42703b4dcc61b5d3dd89d57b4be7188a93ca1c36fd2e68054009deae00c91a6c3f782e0c153f4a7b34811a51fac9e83c8b75cf9dea428c358786238e0613512d9591df92fdce6147baa1ecbd04d10478bc1d09fde5d95ea938acfc5b0496666fe2ffbc99267b841a25b1df3719b94a86cbac35e3a9a43a2626ce0be607a23471e57d5f162c5e67d5b67190f44125a98c3bf8ea6257bb0f998615031e040fac2e713cd44fc1b7cc9b0791c0526b502e4fbb3db4324fb2ea2eae8fe693011fd7de31411f5bbb0081163de79549e4f0db77fea54032e0b5c491f1d062aa07ca613cd6e79c6e483d15c6fdd4c460b81525bb2d9c0af58944b0a50a5dc49e0083dc0280cd76da69ecb727d9dfe94695df35bdf1f0061d132ab0bf8e84a98e0779e088f88c26d813382c3749c3a21717b140d6cdad4143f989423b12ee442001a0b5d54fc7b6d99ede539de893265acc7b37641ca1c8f2812b93dfb6ff579403827fd3047928293d3a3a4b6d0698d3d14f5ebce6e4baa23152d44e45c01913030ba2f7678e81f781b0fbe9386a207bb588ef03656df3c32878e14052a412ff01a0fa03007fd511e32e158c1c041f73489976564f7a3c81b676b28774d9c36002313ded7c4c9bd126abbe21a97f63246960411f0d27f317d313b166601b5631052c588d44bd05998bd38186399dccd6851ee5385f92f730a5f61ea7c89f150a04f487c3ee9f1301fc4985103e2580ce629d6d01dce8d91bebcb47fa9bcac51d0400a1dfa12751894496f575d29e397040c4a94754e59273e261b8559a004ce007d34c4bd87ebaa609154ae5a1bc1854ce74138019323daee60a8e674f1d749c04b459e97368a0f741b208b87eca80d01d7e79d9e0572abf1ca78d9a3dfffc1e032768823e415b9d6f6a6ef685b15cde865e388ef6644f56ce0b5f18ede14e3f01acbd9578bf17a015adee0ad144bca314410f58bf7d20b7cc037aa3795390ee03d68a2f7a781dba2620d98fc64bab9063bf84865ecba83d0402c9644cdee7ab01aa2d28f54fb96102cf465907b595744ee1853208d5d3b00968175ab95762d300d955c826facabd68c6b77ab917660b0124e3321774c09cd950868270ab2d4a006cb5bf3e857a94b9f5b2c770ac31cafc396d524537fab2f75f71c383cf19f5075a1995d99f7f2aeb56b2ab32811baebedac8c3154f303764cc09c8331a3ef706448e006dfe91ee22c51929695122a2588fd26e201fcdbca53f3197acdb900900ef9eafec849de7d0f3c075814a8d9e52f88b47e612fed005d5f31a70cb836904dd3612326d5fa9cc3d588763a812d2e2bc1252f786e9f38e20d7f29c2284f501605441626ca0b5f5501f74612d8f28b09b05ee82fd654d84a92eea73ed222b01c9091ac7b7ce85df6a9715b5bb0bb08a461996d7ecd5cd59bad1fc6e92e5650065f6e1ab7a0eeacf204db1f4e6987d26724595657b8e181a930af30184a3f0029571fcb79c65b4dd361ad0568730197d6a55dcf187c7adb21b88eb651d6484017c3ed575ec4eaa5e1e9c91f8b508f0fb607545729e57bec37b3da1d2263c6205460c4e492b0f50de1d47286b870cb6361b200b4476536db47549fa4cea9fc506831eaf9764b69dcf1b6473afa5d403e7265dfcf3a96ac6161d2ed3b079acad030f5d8ff6c87f48ee78180b703a678987b2fdbd52f50d0d52d22c83bbe8eb4006e7ea10610b40a659f139eb8067b7f21943c3504a700290fbb63bbb19083ebb05a0d1188995cb8ceb184ee18fe419f6c7f45a46e1a27844209e551645ba8b940742c7d5f5e909bab5c242ab486334e869ed109ae161f29eb50596187582a56b07554fed1336b9b5f43d560f5fef898e9d358246b98fa5465261aee6798b11ff045488780cd91f04ca45ccdf17fbbd1394a59f4c14f0dbeb1453c9ee70d89a21028e91210e3b30625ba4e900e646037cbf9aa3418e0461d5fc08dfd08ab2b2f907cb02cc44722ff10eee2f5bd9bfc43db89558dec397cec44286ad0448fd756207f79ca06d2effc42d39d4982592e5529b3e9fabae43ea85fa29a0cf66177cdc0108fb2d2dfd3fcfcf136cd511613c0e7485dbdc2763c4a2b8fcb6de24dbb4610730db5de252adb58e57e9fb09e39a352b054327aefe709182858325f96f689001bdd917c0170e168c4e1fa25e5f128673379c75c28477d901ef546afb47f080033a8610f41dd8b72666441537b12709bfdc7b79f914c52bc63e5817f17f53dc0707de6b2c3c50a6fe8074c077f03c17a1933eeda96ad27659c2fff5170381c003d58779d4774beda085070e12fbd2da8aed4e1caa177ada5f09e3d143dcf8d50545699a39acd250f145c9e7da8843332ca430126c718f5bee839a0b17f5b6c104007a172acb5a304b6493c4d99a6856fbdec6626bc702a5a76425a7340ead68011f1d4bda02e6fd140221a4fc2443306e54161151660cad45fd47958e85a4d8002cfac026405cadeecfbe87cce56a25d8db45b72af8c51c65e0698da6ee1bdb00ae7e92da3ad4503d6a5598e94b4bd52e4eb495029a99c996cae456bb4d3d7805013f248ee45aa3b1b9c28508d89eb8175ea5405fa5ac20f4789c92e677e62307d1e8b63f411418c996705c33c35b21064a6ce2ad29dafd662289cc161d3f8e01dab056484f908d4027bdccfa3f3be5cfb5433d8a00a11a98ef8c8c2da99e2506dcee1ea3845c7dad1548469ff91f4260ae1b8a70d44afc9455a2d728994a3107db4d07fd3c506b23c838e4d94430748ca77c7daa19c1fce75e9d6a035082e400fb82a9853f54dd4047ceef4ca6e8272e563e5abb4535e89e7eb0d40dc05fc600369fcc0bc846413ea742f2361462d247604fc661f1b4dd7fdf4c1aa9f53b64059f72e6e8683095c89f19d565f2aa02e46dd9e9cfdef8a0ce972b748efbfb4a048eced14940489592f60ba239ac36ece65185e94da279da84b6fb78192cb883054d29271c9eab593619f212177af86e64ca6f6ccc2dbb81448578a2de08a19c02326f7c8158f55ea9c52da6f313a34f2a30795c32b526edfb561f41c94f4c5501c6d9fea074cf3ca13df5202e4314d07ccd77720fcb74e40da151679e0b4ebe030256b73ebcf45779d805a8a9d7e16489725816b9beaa07716627cade32743501b32e4a93b9cde356ecb4ebde82385580eb7cbcfa0dc7ee444ebc2baf2eb5a401ea460f34a5e6ea7b4ca65ff51d41c87900b40cbe19ed88a3ee73e0550494670756cf1b3db222fdbb876f8357b849b29c80fea111452c317f06dfbf29d57142049dbb1d0d9f5f8e90b341ae11cddccace9fde415fb8e8fc1d5d73dc1dcf1ff90448dc4492edc2aa7cdd0d516cdcf24ea368ab3943b053ec4f84542b9345346c02e7861497216dc76bed7b09dabfe23feb7cacc4f255348d0a6a03052bab686f07db683698e8a474c56d767f859dac4acc7388ed3dce6a171fced0052429cffe04f25685a20ad2dfb4e4ad162a05ecbc1b00bd410062fc8cb05dd49bae2042b205066a4c57a24c57ce2b50e3e87e65c0c89bb5425030bb552af9347637b4a46105e50d16c0701ba8772594db85da348154d645476c4f730af943a9e1808905480440c047f3cb8fbfd549e2924aed54b965f33e50e366f325d367ef34e69587d207ad65e72982b2f4306c1379b9b7c00b09edf21a26636dfdb953db0f9aedb44102406a0449b1ed4abd8fc034739bf3582737cecfbe1cd4119cdc6230b9c918ea06d0fb89bc233eff8962afa8611aa1647da0f6e67f24f149bf0bc56bedcb475302507a4b7c3596291efa9b8915f34c0e2de6e54590ffb2f0f77f1926cdea736902c2632e56846c7c02c15a87bf902d779f55677a5ac3c67d749d2a6131f86ec4031b917291bbb3d38f7bc196dee1f3638ca197512162a4bdeb1ce814619c162506624e597bb2bb22da8bf9c67d496f0617bf5d94bb5e93c913d944d719648db703da9b8b9c1459d47bcb1718147764e93b3efa7bda2577b62bf61326d7f29fca07f2cb36ed5d087845544edd13816da97719906ba0fc977a0719b84bacc19946019a3507c1b76f4cc4114fe42ecc35bbb99661c6474e586f534c4a367037d15300fc8e8e6b1b5b27227b7e7f731e198fc781b1f6fae29ea3fb18b4f555fb0052013ceb909afa012ec5999d44b1f500f94b23ae4f8e12d601a3e5491eabde66f1047e06a3505238058a7936c4dd822f55fa68261a31077b21de75298787e988ab072f31b483e3c14a4e31423817d548a2f5f4bfb35d820cd69f8debea6e4dd85200661235f6caba193782a133eb7abab055bd65e56e8a0c2b808f7e3b53fc393b07f5605218124dceeec53138d5282f0975220946d648742c6261206d7b781fc10694d91e595410104c43ed2de3cfda68884cc9422d0aab1ee3faa7f647e25eb40024b881d9cec68b9936a551a3dd97531b39294377bb8c9c2584f31f549680b506a46bacb1b35a72738a2bff02449d0df9fb8bc8cfac1f86c3df0d5768c1b77705961e29259b09cce96e6f2fc487c20742dc137df73a12c91d9853182b2e435504bb611b0f87bbe3eff611188fa0e415457e76c5b44b4f05549fd3ee8a1d663e0077761451d3e9fba31c9c4d04ac42cbe6c6fd62d313369beaf4e21928c6e61a01d2ff12403d815c256eb21b745f643a44b9a2bc0e99341620abf6a7332bd535035d1005b7df9e3fa61edf065c05c821171b23c62041259766841bfc0daa4b1b00a8881a865fc6747492e6d46d0b7499ab28cba25d8357515eed4cf9b135638f04f4d99f2cd415e479ad999d1e32ef1f28e857a18eb658aeffaad0956d20226405509062c57aa36225e15d32f4a4913ffabe6e81d364ca116fb82b74c592f49307adcfc21d03c0e4b5300881888e94b12017ec7444e34d9c9abd8f55e297778804a7c190dd79ed2af284ce2be6642917873cfad98ce57e0a03152133cf269cf6021ef8bde3feca2999419b2f52ad3daa9765f525aeea951e693ea0a9da131d320708d8d2ace62ba5f361f8742ea123a08c93d72d2da60a54edad702c6f1cfd2705ac07d6aea5acb8b769fba484adddc629b82b8ac110f0acc7eb8566e12900490166a5fa814cce4915c990993e5c19028a7e86158c397ec44be40230a8459d6c0104c83b109143f3e451530d1290f397383550dd6ceafa8656326bf1f38d900c02fbbaaf57e6ac4246b6bfe4b59db293e55bb0210868ee381b8bc8f094a7887c05a5b2e222763c3ac8042888435c9bda404ae81d222283665f7afe4e19471867054841ed3be1336f4a1a724f4b5591894f3e13f38a0f12f385c88a39e025f4e4003e5640fa70b54f37f47063c56ebce8881d0413c4dc2a9f236319896ff7d5b2073f92f0620b5b13047bf85f4ea39b4e5d2bbafb4da603f21a5f1dccc9b971bf03da632d13f659c4df470e31bbe8aabf8f6357ffb1e4d9adf24f7229502028c201104b2b9bab021249491a306f066c9ef7f9ee6fd3961cf93c1b6c699f1cbd5e06274cff482293af399566e3b95af0491b01b062a92cd6570a640092fe92886e02caeb4c2b13a096489f12a5c68f1738dbfcbbb58e53c26d6fbe717ae773894305ad599f6fa9989946f79598371f9177eefce567b685f5a81d33cd0ccea6f29b0784f5da19701bafee6bec4df6cf8e370b0f7f83506f8963fc4ab045bbcddc8f07fd786b67ce3faf4f6cea9f39efa07cfb0fb9adb6f5060b07970436dafcb03302c272174488d48246151a2bac4de621ca0a323fa41925aaa344d8e71a517ae4010576642c416323574ca8e3b1c774631c0ccc4aedb3e0e3590e4aaaa32110b2013aa5ddd21db7af1339aa527339d45858ccc209da04bdbe57716f69b51334a7029180367524801e76cb46f6ae6fa4b48f2d91afd4e31b5713605aa3576fe15d029800b3fa06b25bf0a2ee00226e799cd91473e2b9b841226ed68573671319ce05edcd3553e0d12fbcbf3d611b004501a53fa86b930ec7378c3944ea191cd46702c9b5bfe19ece4728e34e70bc230ef962097131892ab2af12cce0c13846ee73058ed02cc7165fb3cc474e33f78637a4ae27729b503cd29ae9817015f4244b0200b575cd1df3bde009c99ef1242f6787388dfad46292c0d2d2fb15e45b57ef370547b28124982a3eba28d662b5224e14fbd98507e1027fd8dc6f4a5807b8deca03c1ddef02bdd204e6ca94848776bd7975bb8e274c8f8dec5820979af58e9bd1041e91d1fe208e8dd3ea05c8de59c9b96a3feba642cb668ac9011f07c4b92760021002764ffb70f698f17a3ac070889d2f3a106ed321d305ac45970c4ed84a75074bfa6ddb2a715a54180f2e4a023910f0cf1a9605c88be9c5c0fb194aec3ba501a940f91c864fba573b40fbb7ad4187d824c535845512a123b35e0cdcbbb11f04374687ec61169136b66bc5188f432f17174a80ea58f3b3035c2a2f21413c98048ed79f07e66d73896c2736ed52b188630bed24173e687a15ce3df885fb3452041bf6ead7fb289fa428a5a3cc7be81bfea80dcdfbb6c57bcb3f59714a26ba9306b6112b123d30503563d4d0a95a4035a4e03f93375214c185ebee417c59466c04a7465bf04785ae79116ffbfd2686943f61ee7cd7f0cb5561189a5e85ebb99f03eb7c4ea3b5892ed2aa66e2be12110d1e3eb473a981543bb44c2b6c812c7ec8053bf298202a8301a22f17ca6e1367bf274532267ef9fef794abe5ca5254a15f02a66517d4f30571f08b443d0214c7187ff046f2bdc2ee354420cd1277ca327f03e51fa90460aa80121af135e1c5e86979f7eb363edf93e1d2d7b2155c5af79c037de47aafc37ee144648ee16d6a2ce8a039a87ddd8398e3ae4978e6753e32200658a70ad85e725eb693f96d552ee92c6d16d42ced534b76ef6f5c3b407e061402487b526526609296431ff6c25efa3fe288d704270f3208badbf32a85f1993704c69432ea5f8c7b1dd94bf4380e8a9c62a331c807982354b1f9a23988f84dcc0618825a756fb6d6538493293666e4345cbd8f1ac793dc9185b69d1d3e6d702f046b0ee36fdca33e4548d2ff0e585d51857ed5140fd3fe497d4fa28292ed8b7807702d60d33d99f26428b4cbb75d5ac9e7aa735491a7994a698ed33bf6f7684603554dedaa59b4560b04f9ad359a9a34eb9fe8172126ac85c9fdb81c51bbab9c03f47df27ab0782e9e8cfc78dfad923c97ddf2b8f495a8537d40719f2d4f7a8603a59d6505791af04721051c6247dc456a5bf0f716eb2ddd0fde59f80a8213f807d1cb76501b3009d1cde2bd090023abf44ec36ac9ce06d35b7eead1332476d0017b0c51c92413ccdb76932954972a76d3b1bc06f0232b2bd046c8bef2f3e946055cd66a7d50bba89c9c28a3cc870044e7172c2536e0846cdea497492fd0c052021e5154928899f66f5f3451e985dab628f28b972447cb9f3649fd33ddc5aba4070436c4bf36a28f07cffa09b376a5721dc19e0f0dca1de0fbe543d517807ac907d7dfa3b517d80d99afc2b8914100e12af76958984503a32410ab37005381d70616d82b9b773887bb8d0273b30aec9e7843e8fea19e49f0623e686d66293c430527921dc4861667c9260ba1c1696a1cdbfe2a21d04409acd5252e917c272ac4059146facc3d6634502b52c0ee41eea88441518e2c63654a49bb96376af5119f02eac2feac0ff17cc62140baa04f69f64c49c80fd52fec78e49a6225ed09d27e00f9ae2d346ba7a072bde519c6069b3691ccb2403e9edb0eb4ce7d10f91cd5eb078ec572837c09dc0393774f222c69621baa23a18abde58802b2983705982bf706c4ef4211758abfee7fed075457c17871b27edb5b00406ff07c152a9683cd0301d38804d9d302140ab6fc456e70b470176581de7523351c584016ed0ea8212003ef7ecb2ca75090a6f7f348a913971267971d4e0b1270efc009ba535949cb53002ca4c58c05c08df6bc2ee2376221627e016f4de7402bce73efd747b74429770283de1a5963e6fa07e5eb4f1fe8bba38895abbeba740e4a8f514e583349622002f7b2faf956a3db6fd6f6c08f41ce577061e2ddea48d817dfa7264d9ef51452063b993c55d5213c029f056a4d19cc457c15b8b1f60833e4bc8b2ae7080b1ecc0715aeec9bdb3ddacca0fc4d4ced7761997183c8a7a57727fc37fe3ce2a13ff907f272d7f95a7e4c867fb21e89f536a1fc830a9056c04cedf8033fd9c923a4740343180838c6cf786c7c4b0f499025dbcd778b6b3bd582fca72872a7fd086915052fd5eb8431549e85840d21df778120ad196acc0ccaf6525d0108e95883122305cc83b332324b86ee46eb5e289a417df8661735d625b931b03b2e6e0727619801d1e0b6b9be23d0efe503f4d8acc8f25a1da014650f5a7314afdf18ef944bf10752362b54e606dd6c1106839103649c4ca4920753acc1c27439c0abfc84fea0056890fdcaebad05fcd892f8faff7b8907813b8058c656121ae5aa8c925d80e90223231c98797cb5ebb677a781ee8d55b97908105251bc3942a11377dce30349045e85d09b8da2de21df7c1acddb935cd20a4fe3945ceb1128afbc3cbb1b0182069012c6cdf5275d5a42530d58417af32b9f386bb6a3261705ed92f11fb8f43b02bb128bc1917739839d7cb56ccbd9b173ef39c0ba4ff2f9e91017f6b629e49506d9c2d7ad1f039c564f798b99d39c9b9245b83ac6af3260bc159f3c75bf9e190499107a7cfbef2b503c00f7080ac19fe43efe10f964b6c3b38bf697f69e85b5074e2863ba7723220689990bf36bdd8b25700f4ebec73d5548f864bfb6c16cbb05ba34fd3eb325fa4117885347340733b12c6a96e5f88f8d5ac0ee1b9bdea7d002543ca99bd9a072da373ae8d23053af8c3f75bc7a957704c7742f514f2544c303602e0a4b427f31b301d3dc302093dd65dc4ad2613a6c0cd86703a35b4cd0bb02cdc04a9c9190594933ec69676caf1afcd5d445a9222ad295324cfb1ddefd4101fa01e613703e00c5dd8010bd82464ad807a096c71d795045aff9f9155d5625002f0d948433213ec4041640645ef717f50f54f26bef0bef8af7bdba2167522306f42832b64502c5e4f8e12eef8d821a2de91638500db6e25915fd7501c7c913024e3ab9a9edc1355fd36c7bf0476ed68b47c3f407b726daf40011a7ff735faa072a5175a3c107912637985ee16f55c83ebe152b2935d58841284ec251b1840800605bc4c479030b5e54e56fc154177dcc85a137e76414f43179ecd3b31ae154065af291756d54eb3eeec64c609e7e948b98e931d4aea4955972f1a0de5ece4e0044e65a75c100f61a1aad4e49520ce6b48c8ff8f95ff5f6d10dd557965c1f2006f8d04819ad2b736c8df44094de0ca718a3a5bec686feb70c597a324af7f9a40664b2dd41fc3997e454000ed58b0be338c5d60e948a864ecfe286d294bb670a04b2fa087466842b492f2444609dd6464b9fa5ade0f019339bf3ec3f46ac3d4c02e8aa2bf25545ca53c60d2a36283f37416f2c33af12472baa97418984cb724906dba6ed5798cafd7df56130f3a2794387bff406f1fe6cc6185854c743b7dff902bc84a8110c218070fc3f6cb5577eda95e38a19929fc047e70d1090f119d8f501620e3f21ec8ee17629fe92a40c756995a4a3c90c48e0e8a4d5a7cb43434aa5071326f4cfac567eae3f732bc9b4cb889a9ae2d351bb29a6764ef50794c3cd1f07574cc22683360543d3ab75fe84c3b4119322bc89753a1af68895042ebbb74202663a6e01cab9ee33702b4744ab710ba10a0aeef098d3126f19bc7477e4411b0000000000000000000000000000000000000000000000000000000016ef3c760713e7268a708e5731dda7ce7b67c458ff8a1a7e20fc544a9b11c99a66658f2903fb21f5864864d45135b175e7c5a786569dc2feccf2040940004c38406276f10118277f3bb688de75c98d1f8d02bfc80ac9eff9216a3af044dac29d2cb7c34a0392de7074e5dac720c3f59d4fbb02bc54fa29c487fe189e414fdd9b9ef5536904f6bf87992cfceb5c0c90547f024bcafe6fb3b3234ba9141cbd0ce2cdd535a2046564d82fec9482da979cf57a1732af4cb2a7f408a5ca59d9845471e11a2f8a062b2bfe4c9ab4940d6dec85820d09dfc6a8a201ed3a1da7da296a33d76696f003ca62dba4265a843b91ace6627a9b031f50291c3d0158adee91a8dd8f5954e207af05fd25ceef708a2faae06667edd72eae030bc4fe37bd12a590142ea982f700f9060610cd4104e8b80b4ee56d0ab882b4dc827ea8eb80f2cd517786f5ffae02ab3ce08b8718abd441cd0f94513ed6e0fa2bfbd6f04d2737fdfcf0137ce06e03c63232b7fea91751bee1db28438d38f5d57ed9c40c7b1caa81c87ac2e7653904533137082c7b103dd07003218190995c5c602d498666aa4f81b00a2418b38d0600750cd23a4fd19528c6869abfb0209c1400d3d8036c3a7fd2791fcc06d7ef0327db33c06f8affc9035ef594e0a12589172881a961c7bcd66c6fae54cae62006cf53ac3fd31ccc385134945a7e4193feb6207627861e767cd8a063510582bf0400811f27955f97e1d8a92d743dfde011267526590135cf4b837ef30e6e492c00f281940f4cde3243a77a80cf944966b09180640a93b1309973bb43aa809d3c05ecff8e8f9a774d32d008195c3fc5e87b2e8ea8dc68223f9bed361f555625a500adb50bb10e729e117911d50881da6fa71c3ec16c74fba65281c54f214c20b7061ea3f5a3f172f8dc9ac0b211436885ab00bd2242c4ba4cac34a5b86b4d0e6305bd82143203c4316e33846e4d20a741c0f2d3b1d96f619ef2babe18b9bb4431060924b3e17e3683bb7bb1e6db9e062e3197209f46b71c1ff66aa19db412e2a6077fa375a84de69b03bce5f414f230e3cbdafeb2201b19d49c79e5dea88cc3be00bea2d9ff5116a54e2ea66c8c2febaa20a260a94afcab7d43b48264fada36c30143c51e7877f98f006818fe70567f4c090fae27cc9fae496a98a5adfc481e81079e9a48af293c68b423a4638c87b2183108b90e488f4295008399af06df309602adfe5a828128594039db644e6fa9cba5927c3cc63ee9bf00a102765c6ab97200a3e8fbe1f85db0883eaacf3fc17edc76ae3d1da5043cd5f62c388e4a71cba9015cc97094febfb0341bc0d30037fd64d1b062efd929a911d2290c14f2a51d56059b2860e965ddb40af8de9fcbb71a60900cdbb6ad29c8d1d74b6a1f258dd05804ffac6eb86f9a8241d212b15b148572735b5f1a1e56bb196cb3377796298c090227d1bdc0772925df0621c91e7b173b997f8238a1ad4c943bcf73b781d0701402ad9a76ab39693c49b7b7913a87dd940b273579f3825820571d7a15708222350765567b6d299ed8743d534c335b3750d6e270229e9e27344128ee8e3991255a0766b4ce344094275f199c34fd327579e533abc4582e94744acc8208428b84e805aea9f648287e80b05fb006ac8ad069b1db4d6d7089aa7cdfe4968d703121300241c6eb6319c29284ecd7c1acba3d13e1aced72a6d459126bcb52e45fe19dcf02aa63394689f9a23070a2a4c78c8dabd36b34e9811cc404e6fbb3f48b521887071b86abf274c6834ca702e6cdddf243073b68a6c1523b9239ac7a448bbca53b00daa486c32434439a9fa1080a75d71f10dc0801267c8cfade47ea53e3b28bc400dc4b879765c650eeac5c953ba9b89572c051dd0b7a65547b96a07a4378897e070d8754b1188b87f791df584c5078fd5a11d2da8865dcd46db7926b9ae516110014cff28bd939b1e38cca4508cc451a0d4d1ae02419db9db382dc09542121cf05c988ed6d49eb322c932b780a408a2cc54bf2b20c2519edd49752da8ecdd2af04049924d4b41d177a400ca4e81a57f03809ca2e2b535893eaf685f2624b9ba807bbc1e20ee19804bd61f267d29a17cd875c8732eb2093fa079a61c7a53116a600b726c325b7b09c9cf3a810cce1e16e61ba3d183cbaeffe186b7af9b06edfac063604ad4359a8255e5fa765476cfc2ebf5818222bfc49c7fb2c865f0073b8a106c69356d1f6900abc8f7a7a150f31bbed2350f90f5b145158284354375df8cd00432a3329d4bd928f18d78a1f0816f46b22bf1d116684770e577eabe600d7cb06ac449f2bb935a1c5333f1841153bf185656b50d3026eca9841c6381272aa4604b6d1255d421cc95d0129125a4daa93d6b7231f376e2a5cc23806e2b30aa13d0001f105c0660fb27c3cabe0d1b7123a6202b0ce057717c7fbd6a0731efd8d0004cf277a126d5510b7baa349fc92927389bf8a7356358739b201f060e4a7762c01b7bfa0710976bddfb226680dd00fd341b4699bc465631eb61460129db4eb7804bf4c0caf9bdb7486b47a0a433703af30ea2c2c05e05568d8d44a7574fba28005a43c5a7f381c57d9a9948afc4ef6971acff7b3de9aacf2ea468833d62359da01a0d12541e8918088cbdf2c5ed18fdd30e5980a8c3f5cf998182e4aac747be2016d09f98a7e222f011fafd71a3d8c4419ad0f26153a056cde9ee7e70b285ac204c184ccbb5f39a67ce0c331bfe915311db499f9233dd317dc617a3a851cba1a0567d2406e97f1148472c5d46efb855ae75f211e58956a1e9036cbd8e5e13050063f16298ce55d1a92d49dd4d6273c1ff79ac9de5fd167cb15d22b1d2f9283bd003083401df07641d71c87aa6778e93e94a4de870522861cc6db6b2acdcfec9b02fb9cdb2a4598a1379e7420037289fb22983eefcca9ca84b16f8ebacf512aa2078a6d259d1306087c749b246245a6ecf78ba972104b65ddcbe50fad852053390611bbf52dd6de6d5c700e7414889a8c73466673ebf169b3db02ea57e1cbcb3a02a73c8024e4518a98f9302f1602680c98a232c2bfa0f97ca420078effb4976105ee71b4f00ff6436ee9aacf606813d88eafac87a12f955bc427f8ae46b3e5b7011de52f6f6dfb9babb30045df09606bfe9d4807c1135442b315f0e1fb394e490151ee36fe0f33258657b56ea49dfe57eb151785f17fe110db6db8833437823f006d79e6d50a4392485f43a8002b542f2ab6b418ca4621476ea5464da0aeb4260713aab828b00fa1784cba89a7fc45b8468dad77564640d2ed64b257d011361b0057b5b597dc6d7f2b1da1d9f17e6968baa8f53b8825529bc2a40af71b1fe35504b80fd33434941b8db087a7a407be066a4a763127a1f0904ba62fd19bc09e1d05333a692aa52dfda869dd8fe79413c64bda6551dbbeab2336fd79e4809e518403ef2b563125cf4039ae36a61c30ce3c7e1c308343d355c311b08d9890805ced046da627397054b3a8bf6a567a86a7eb23d4c159a3a22064d62be459476fad0105779b49d157fedc1d8036a3e47eec0f54b47f67575ee5e1f3b431578fa8f659078d44b9d58d8333ade3bdd71a6dff028c7c2203d0008d36faadfcf2d21b7f9305a116177265cd2bf33ff1fb7bfa9d24ced07cbfbe8607714cbe68bbacd40b3403ed49591edf9a1b1e7483f6105389574250fbf48e302947622b7afc0d80b05407d5f7cd2d623d0ef1acc6480a869cc2f268751be70135f79625277b27f9463b0068854456c718a2a1f90b9779f22e0d5a9e8c8556b71761b7a4b4b42d2a89b405bb178fdeac6238d416b76baace95eee18e3728200af4eeea1f9d2c324e4c3f07cc995209306d32426e01eb18d046eaa3d248ed5140a921199b0b0989ebfbea0189ff12da11c42565bf9f7cab212ef8b86bb30c31755cc9a69c8def63db766007135fb19cd9d19dca6fdbb469f7efbb5897a30f4302632ae9749f65b81887a402a5b44cff2afbc49c60e42d7465cef3b1beae4f33b77f3779ec9b0c67de19b20201bd4bfb6090f68ecb4a53757ae1788a9d9a297973a23a1e6e36eb49e367dd0108f6bf389bf87bbcfba9854f7644985d59a504e326e067197e057b3afafd9b023775b697f660437a7f3f76b659dea4f3282a88b0801b2c2f7d88f7732e16e101554e5f1dfc75380f0c792ed9af9cfee8e052402930dde02f78aaaa395a9dbd07e0540e8614d4befb2935a8869f3a80f608deefb0630f14d5f4af2279c0bf820579607a5ecaad13beb65e4e54ba25c78c1ee7b6c15de597ace89eed51e447cc07a8c369e562445fbde37b71afeac636169f8b192b12dc207e25428f8e3bdcb60404936b705238ca11a268e6dabfdf573d8b49de39244db3eb429d71309f14130575cec4c3c8e0d5d5faf293bba934e2bf629092b6d2d55b12291c325cc42c1c01e9c6000c76c4ce4dbb3f9a5559c5b735de76fdf19372001b00f08cad000ae5065e0c8db747f85fe30b031678c5f09ed72b1667501691fe5814c8874195f8b50435ee23ebbac0c9354723f783429d9ba5a82822809d3f11e839ddceb35b7f3004a53a39ef2234b4fafd9d9c3b60ab699c58abf61aefbce3cef748276e241f64019a71881419a8c18c7b444a6f0142a7e5f8858a75972d4c515f518e3c2dd38804d7fd19d77f905e567492233a06cd72690807be9ee85cd34a0e7bf29e8456ec06896223e523926e0239209df2806a27e4a6d3bb3f1e2368b132df0870a9ea3a07c47bc3b548166da2d1f97e235529ac01145853e6008d2648816ab6b5c22b940474e3120fddd2970864acd05da3515033f08e790285e134027a27f4154e964403f7dceaa8abb4d1ca41bea7c4cbf9c36852cb1157ff2b8b6223a6b7d0de838504793d872ee64a1a1bbefb0610d1530edd32374818237e8eeda8747acbbe1d67071ea4ce20139453f4e5c57135079194c6724256ff2e88ae2d79109ec83e4406069f25cbebef12554c6eb491d4e90de1453ec704d4ff3881f2d2a11cb16275be01c9527cba042059c56f1dbc983a5700971c2362263c05239efe3bc45cf02fd5066e65f946a728e9d2f572d0904e379cf612df91be4ef2e7345ccdece12fa87f060ae6f9fac613a3bef7291b5aba978fac9f25c9a0991533884e61cd8ffa7ce703192abfee9d1e593a38032fa26745201b6a9f6e4dc0f72666880a9cf229cc1607c1ae8ea149c83445b4c3b3a3c61d0b55db9de384dd00cfcbb96590e99f9aad012bd176b5d64ace6bda763cf0c642be6fe378f06c350012b0f236c86ad1d169056947c5be779dd055eadc1052f1e25a7e201eea7e720c857b8d20c19e6c44df06b2ea36454cce740abcabd5c661115a37333a370d94042f061b98329d295c6c07a3c5a1034b68cab095bff82c4c95044f4bf4f509c269d3cabd8d3c4def177a060cb866ead24040f97d7486b54c887e86fe3561def5e4be65b1f24ca868d66f0725260522d7518a71aefed69a36f0135edd9a467ef4d578dce3321c6b356a64043c82654daf28f833b83dd094378bba741744b301093f81603fa04263bd5fc006794c3a67c8deac1033f0c97f493dffef222f2d249a571a4374fc30b631e8f0034bd4b6fb87c34e8b4f6dc8ab54abf0e9e30c95c70dba15af7435c1bb9637ca06b8f219632df8b30fa34ffc2a24554ad75d593b81f26d566a8dbca5e3d7c6e90773acb2923d8681397f8779192895d0b3d80311db5574378b9f4283355e7ac101fc8c1c8188d4a9745b204317b5dabdac40d18655db2f62cbae104e6d26b79a03dae38906aff8574cbd163a593af33c6cdef919cc64564c23ade108a5dbe6ec0766990ada5f5a679adfe5ccb524fd83ec64b332c7dc11c570fe6d2f71366eef0375d333d1f6f62e9482978590b8a7eda88c9f0d3baeb8c3db5ea4433562608304aa37582952a72b64d98f2f5ed34361f24261d66c67fbf46d4eb5aff79da169060480f72a9bea415defef35c252297675a70c3351242ef22ed918defe59a1c704aa487f4c82669f5c2abb9b0e004d570ed9af13452b4a486a235bf963586ddd0358c4ad2cfa8c38cf04bca86cc13a837fa78e18f669d2d42a24b47390188b6c0648a39579a8ebcdea40ed5a508aa551afb710d0c92ca6206594e4bd07008890073316ca340118c53b4e92e4612151a3d497f3082d49219ef66aedf46f56c739036232ab30d08906d34301671bf3eaf8a136920a281bbb119b53f2c70143fb6800aa4ef6e79299af7fc0b56d02fd426906113d8c52f267903c93c166bbd0fa8a0005ade63ec86a8bacc4c39abfa7ca6d8227d226c4daa2f1ab00da7820c67e2e07ac869898b65ca8be5a55b9e4e826915897ff62d833e38984bc1e7d9153888b07e3438b4100669895c6ce0603282b318c894b264cecfead4eb6c47e498a17cc03c04dec646c3d0634a8208411c3256e92cbe1868a993c410a5ff9ffda3e9a1d06799983c14ef5a55182e5d6a2dbf6e195a242ff67cd2bb2cb8410ceb92542db033a2ae0679a25bdf950a31d162fd3d2d1221cdf418500190eb00678a3940b65014121db15994d01eaa8b8e08e612f9cb05f64c1ebe261a32a46c74ba6bb93c50319935fcb6a02fe195371211579c042b657b81328baed64ffb030bdd9152ade00f88fa9ff792370e8059a32aac49ec94c3b0206b29da550e7e6cbb51545a1fc01324b1ba88c96a348671fc012e9ffbf94dc588d41afead539812a2883441adf054abb5248911315caeba88e369eef2b2af466cc7b988c510837bef1bb353bd7076bf26f7dbedd04e99e7c0c90ef052f4c26f841be301bf9af2fe28aa170989f022f6a8a98b41801207c3d1c1b5b244ff22ada504ad3d74054d2ec7f1d2edea90752fa9bc57b0a9aa7095655911203db7e606519e2019646a7c9e1b8c7fd58ae030e19732f24f49f9268b0b0af9411cf427692784c91f4cb05c0596938709ca10744cfc449f59a15ed931c12f39e321d3d4396abe0f3ba299e3aa0ff06b97b4b0203b940fd472dbe97ded9c99510ad124e5baf86a6cec60ffbbe65e9e1cf721005b34eb2cb7abd6a2a4b85ec28fa63309cf65926970dae821a8d12396b44fbd3007ac4f3fcd15320dad70d451086a9438fb3ade6a8c63f56f5af3505c21c263c03862e7b6f621da0237496ea5a818972a70c179d50c8ce85a81c40c6cb56f82b05c44d6364d99f595f374d3ff8e5fada002f5568f3855188a25cc6155ca37a3105664e3367bace04d2905d7a7c56dca2a503243d9e210ea133276656da9465770512394543be2ec7ba74c2088d4ad225c9129a38ab766dc957ccd9da618fd8ee0360dfb0babec218dd4d228b1e4d5fd7acf480c8340f142a459c1b378f77f17501536c3d23f8ac9a91f1c7f1123b7fa8e7773b05737062c72c39985d2efbb16b027be0703d345b8ad1f1824e5ac1e0cae66c2c4ff4dc5dd21b67abd38297570f07b86ce3d1f3b62e9ccc00009986703857a52144278cef3ffe972cf00a62eb7707c68bbcc65562d1e4533c06dc1cbc7a0b085d86e4dd63496222cabca699ff8500fbaa05891b094cfebe547751395499a312fc4c929b53bf273327406260576e04cdb5c39ffc35afd15314cfd363cc938e16242715818af4ab85f76a2dc2a065069332525150fdb878baeaba7bf0e5a614e807587b2e24a9abf03e8846d3baef070dad1d772f93961b9f0007cbd5465f75193692768c9ebce80e42f88067b002024a50e26503d6029f5d10b00a91f39d6a326eb0231266a8e35778af84704f2107e39ffb9620e08a52334b4690db4fb054eb12cef815da381a8206a1f2f1087c02f0eddc7661e605de7b870ce3dc097eb741dd4107786c0d6fd75d3a48b9b1c2008fa6ab43f5961a0300c8ba91dadbbc5b6bf066ed5e40a67ea2d8641941f189024df8f6570842897121c912d7cf39beabfa97291fd95f9de9d76aaa2df0041907a90e1a10ae95804208231135cfd7ff6f40c8d4319398a9153d9bc55242f03e05b7c315c89e2b6dce515accf51ea241783a532e7bac7d38917299bfa22185c906d70174772abcd21087e7bf962b54ab47b10b338ff0ebd49625566e2c8d644c0081c89ea7f3547f255b9ab1f52b2f1103c3963e085a863e6bda0bb73c997f40036dbdc4ab1845e21ff56e85c78b7e644fce55f399a220657cf41f29968ca065045ba653fff9ee56fa2410a8106008683c2de2363796563242e8ec9590f5726a01915a574407b58072e7380234bf51969073f451b4867c08846430e2e7f675c1032ca52cba8f63ae2282b5739f7c29acb2fab1c7a5becc7af15305dabea55acc059d0fb4e18f47a50d7d6c2ac75eb3f44cfc5765be57218aac81f2d1834aaa9b07c81b4eecc616444a42dd6949cfe704dc85212f45fe70fa5ff8a993e6c67ce1016c075b923a0661214783ec52dba7f8dea9972c91996b6fd78f0f9ebe91254a020fd5fc2a8a7f1d13c0879190369c7517ffaca21b81c592a79d5cc698a54c4d021861eab8bc851010edfcaf8f26344105500532ef3c33ea4444f528f4cb533e059e8a9b413b104715b936e03b45e5aea018d29f44a0ec1bf14a76bbb8cce49003b71fabc9f27646f534ea7fd8e8e2ff2e8ec884b923ab993ae9d7862f3c26640073034563b8b11c2a76eb85257f2cfc734a2c9ff8cfaf3612ea19145c853384072c41b548d91b013cb3654c0ce04e3f5afb841f610cd4ccf364567219676537053a046f4c572710d89152d68f48f7a7ff885a30cb73b5ef84766d4d96054c7301203b22e76300361a482fa158bf904211b704e3ae67f80626aa44fc1587245e02b0cad709cf270a1c790fc31c6c84111672ddc236e36cbc20335d61de1ac52f03e276b69aa6def3b0ea05250ce24c8f3d897c25c69c420ee335bc15b5ce366d02b2c02e9eb5ec31b47e831e10bbc085017186fd58ffcc76843086a2eecb28a10329bfbf477742188a725304a28930d12c0211cd46de26bfe3841bfb27164e4b04d3b20f85b5e404edd635046d5019ec4464d3c4c61caf93a7fb6f119f8ec32603cf247dfc5b6d95ed5334fc01c78ac07a238a0c5f947e753061a1cb922233300645bc57dc70cb81567b14a095193db75bb394080274869e9d96a74b811cd8d405f9397da9f8d355a0ee93d5688eac04bf66f74e440344fb9297bef319747587017b5a4afe6931fc347e8d230771fca5a407ad4762d7766c385ed30bf9e79f1200a394f5a6c8cf6ac1be6d5b2daeefc4ab553d15ed3c69ff518083f77e5442e105fb051fb94b32d9f2ad077abe2f458a9e14badddbd90d1e4b7edc9b6e9bc19a0114f87e522e9cd9d3b08a29cac0f4f840f5c011b1af16824ddfe825966899fc057112811c0766e20238fea76c384fe8d9b8bfb6786c56cb63bf63e369e276ea071b2144027fa80d3d58ea0d76052ed172a270a268b1f9a4bbc209cb7dd032000384049ec3c5133d43e8e1cdcba948e8a5e53efbd4632ef349f3f5e25f4bbf300299286f734eb72f2d8bf7ef94e8e7a9dc7074e81d321d74a60be1b77542a82606d1cf2c365bb54bfe7b8c20cd3192a7e7313718c666d0aa7def10089e924f700603e4f88c5f30e2b23ad85c51f26e0f6cd06f7713c3dd0594859e68e47874d1064350dfd1acd7c7247d685416b269c95c582ba40fb283ebbfb9d0b0280f9c7001abd4a7d50205077f9867ca76b3d99ba844f1ac1bfda39bf626f2b1f111b0c8036a5b2f00e99ad444b79f72bd67f959900698389fe5b17cf7df8fa438f817090087bede151dfd773f6b569d7e305bab91b63c106343f27d43a42202fc28d7550634478290cbd6d249d4e49b39d4701e70cfbc637de4d9bf088c9293be92db5101757afef11afbaee9a4d8f4d340a300b8f547823f9d07789321ff14ed3aa4f203795d603decc8d9190086a00e00782f71909db6dd906e84f7ee52b6c51a136f073ba050f3e699fc905064a89269f748b095def21b7d5846b7f1c023ec37f9d3077836115b151ac32a092121f1b9c3ca83b21d1a4aed2eb1f285c7a45ec9f9b401620172164cd6b5de66ac99874fa37124ad8fa28443cb202c471c74997e3d9c006dc6f05adc9ad17f899e487d6ed54fc101750046a4d0cf58ab493ddfb1f338043c2a5e632773c0657a48fb1909dd0dfd0f00de63148635b8b48a5587575fea02a1f13ceea256bb43e72aff3f9cfcf945e1b7d8fd787e49162e944470d8180400b262c53f05e1253b54df42748a6d0e203fc900d0c35d621c70b05991986d4f044a5e166d65e3dae7269382dc081ff1a0036a3f7c6e0ae5c7e90773675c888506099bdcb8538545e2fbcf93807cdd6cfabb2ac8958219e102f71d293890e93603778c5758a800f9b13c8e636a6cc282a9e0d88d529c07b047dc35ec39cee7e306144e56d3904032ff53970fe7718015ea80f3bbb12d7659f0a315915578289801961e2f983d243e8589131be4bff9e9cdf1155a9305ab97a34053c303319eb1051fb23195487966df607ed09d6d87e4f02fb3655d77189a977ae51ea635c4c801958f9fd312c27596293ca724766503748b14f817f6a272b78f6ab5e582440f03cb1dea9a860aff4023f58aa16aadae1ec4c5fecb375c6cdfa88b30a6b1dce6057b0dfb904f08393f1d557bd108e3d50a9b7c3ba743c546e7941772e462b42000ab2d2e12478e5626ec2b788e4f9fef25f64915854e5599a08b31b3f54eece00708fa46210bfbd49bb2e9ce718ee3fb0bc14f741eb4f2d03e75daebb7e70b2006a9f614dc724c5eebad2e41aa79904585d4493eeb08e3c9e548e4cf5891d15a02cb63545f465171957f3bdf6258701728b5b8a25790385b3acca746e78ea499025eaf7467cae1eb82b51f1aea3d83fcceeff50d73b8e2d44b2147332f9f5e4206c45caff218f1e65c06f3253f412f024035b9f7a7a2b49df600fa09814f7c750211f32112c45d65a915ca0848eff2079aabab4beb69e36c54a4e95976e43e1c01f0366c6e3ef649df1c0d8a233ca0604c38e23b9e39e0c00c84c91d57b6b7c00001494b0b177f587ba82a07c5bd93fa6a29404ce66cdddeb3890263c200f4630588e38988b9d6b12b7ed49ec6059aa913f6e8abf76aa89341dd7a33c8094f3a05e1acb9779291739ed91e3fac443bd7644e3f6c2e9943377ffecf8e01ddac8001d46d2948959bb20bf1e7fd946544e61076dd8dec34aab3b68096d39d59d79201f2545e82f08f0b402822cc820038eca4bc655c3f70ccf73fd801abc34d2c36018e5aad4528b5825ca79dc4de06c7d4d49cec9877f075b09537c1589cbdbd3d0363963dfcb52a465e275eb30e7331a3ac101895de332d9bb54ac20bed4096060686dfe4358243515e706d17c5853abbc7e323c30be4fd2484ce3652dc327d69063627418c54e4ef08b9788403443525bdbeae2503af80fc47b31c48807fc77305f3025b5c94fa5ca435ae08e3ad3f32e7b64bdb42da2728e5d0dc267a2f824900bbb14609916bdaf3174fb80d53019182de05e8b466b1e658fe6607ecadcfad0350f88ab3f20e452957514aa72141f77bfc8b6c88678fd86c0b4837f57f2ff4071c5b4fade869d6f1e659041e6eeecb31f270bca5e8f2e62d5740b4521b575c061be8e4f35523fd8401dc34ebe9673927d5acf02719e8037012517dff1a55df0439fa0546c4144dcaaaff57085f7f6cff85a33129109bfab939cfdbbff30f9d06c2bb537abfe44910bbbb0aef8196b9bca9b4ed45f5cafb24d45f084f76194f00423a2d05b465d5303b1d107a0bbfb0c6b299abaff7f28c4cc24e29e4745c7407ac7ec4c1588ea353f2481e72a5dfc9ea0c3e7f6121e2f6b88a17eb30e3036e029153c31a3add018fd63264c167b6a7f1a112818bb64890eb1c10a7ab71fccc02b455e91eef45b3a877cf908b1915effdf74db24bbb7f8ce81a4e1949d2d7a907f5203ef6365f3767987992e85f4e8741b934359f196d320d6f54fb77b77187020aa54fec58c96e5f51f272567589b1c7ac91a307b97ae2013dcfef3b15b87b003e0b094123e4c7e577a1c08c80893ba985bbc67491647f3c43f2db81f7ad4003bbec9cd90eb255ec9351385be4836b6469af79871cf8223a783bf683cd893e0052090fa85574d3047dddec89417e3493602064da6b1a2ab3ad4d54caad9ec3008957571fa43c7abd3d0c9d67fc47e1680249f6e30778cc1e107793a927095806d4f207cb8e1ddd1bd98a0a12df88a8790a2ca05e10ae2eab6335bf38526dd80153bf7815a3883c3a6536f95bb8f4acc6c086943419726c5ead3ed0066540c10799deced3e6f30b0e4c4ad1a385b95d7004657ab2cd9ed6116e779742d62168051c2910d2e4cadf7b981d2a5b837860781d03fcad3f9b2e04a4a16c34c1e7da03d027b3c9d0dd3ee80a18cb23031102baac891572e079b4bdf6d867e27c8965017915a442342bd46df84ec3c3c1c71a6d4d087e5aeb00d9d495aead7197a5c60785b74e4910f63cd29761bf71c27899e7a027207c5f2ca7f59f4c97ac6ac864015a58167ab3ba62b85dfed4a9ac540b5d4d10a87f8606711d4ff9db908cee4d0108e1c036889af3f3a2064ee7fc2b2704bc78eb39913f7fcd529e4695a21fec0622ead7cb15669b9c6a5c0b2a4577ef54e3f78599b545bfc5c6cdd05cf26c51027ea53c8d74e4ee022dacc0f6be66959e779da5e1560f18ec677bd42c5d1c01030fd983d803e7eab1b018ce5de8d6622da4efeb80c2d30becd38dfe303ebe310373a2d781f35f67c2bff537c0c25ab8c401612c937f3925e3306a3d1608f3510558af24e44f01f5e298c2d3f529586e10698cfb3a832862c4f583b867c1c9c3051ace0fea4c71c31e157a4ac1bc9192066994efe4a7e5a314255ac037956f0805a03a923fc3fc72f3b35a6228bb1ddd7366bf4659148084f68caa4ee38bbb1a024e9774f4de52eac72ea2b1a87ae77028922aaca686b51e98a09681556003cb06fe04ca8d8c49af64f14c6e78e4ef12e1565f41d54404d351d0d573688d2f2a06c262352f6d747b9eb714d57e31fd3a6001101576abf9845affba2d467858dd0475def7dfda991135fd8724735dc4542c6f1b27a8d6095534db6291c2fb5ab704c70e8306e8c74162856f0211c86b081e6b340e3b569c708c2ebab541ce345407edb743afec447cadcfbed452d2964b195a8c2cbf55cc52c67e415374778af8054cc5b1c2c3ab5d6135e02d13733373ce36436e667a4795cb7714370ea40c3b0564d6430285927e522df74776eec2a173cbe651401f23d0e82cf92833bb5a400631f9b3b84eff66bb81a0d80422e56621b1795642fc016984659e34990b19fc05a4126b8270f90eb28d91da7465e45af029d4a3b16dc88d2b58dbece3e2fa1905b3ba77045ba6d8ee56c127a9c7b6b34d2f73ce407fadcea9b1121a54319b2306de3f1c0ca74eec137cb2cf0f7199a113ee4542ecc21b3dde92931dcf8e645b00555493a93d2edbdd2ba942eaff1ea7690000f516c5959ca47f0cf4b6ba94ae03dba9a541be0d43eda29a619dfcb4f34f8971c4220f44c3c8fa999beebcba9e032eef5d132bda02e7c39421340f13a1ce9fcc0916b43c621a645b11a6b52c2c0788840ecff9319f7faf6d6e0c9359ab3169073a884659c35bf6b8fec2c6273b05d0d95eebbfc98c174eb7a396ad89d046a65f2b0447bab1b3ab6ce2519771de00592261c46615deb1176eee40f6100eb6032f4330f32d0818ecc4c83026452e024adb4f30813382ded290e68427cc6cc5240ed3a27b907d86d7c356d4d58eee02a16f33fdbdf9479a0a1aa7ec35c5c2749c6ed7915399f0440f164c84b38075024de8d056bbd51e5cc2d5f77b7bc77d3d2faf8668e34e20267a364957d4399f07a6a7c353accf898511ca35e271b40242e1093bda675fcac5e4daa5ff2ce839061236ef8b092045c0e4e352959e2701276891c2aac99fdcad96724c502fb520073dc73b0665ffd2d621e78296bbeb6d8628485e4dc780431b4ac2684f3b183d07f5bf216ca68180a251707624f9881a567f9bdc91db992b6aeeddb369e95e4d004dc076af0411523826e555b1dfd0364b4ea1796b74c58c9fcf3dc2ead8cd60004e467ede319967c033d2ebce029d1bc9d7004b6ba59db7faf9dc84ee32cc76030648298838ac8fa32efd1bd0704019413d085ab9372677a3a2576a17c328ae0308d5042c1a3a951b5db9eee6f7f39b1e8c95955b58e9d54775ebd1bbee698d01d8b249e82fd839d52e6bfe0c22b377f4b08a5a675c9241301afce861909c6a042acc5867c69315ae4be884035e47b9dbd4cfd15c96d19a6be463bfcd94381f03619214a5c4b58079fe0733d2725eaedd852c55f116ac55f5d786a2b3753af2058b476d71d7331ade417c1666bae8280f0b2ea6276b9b0f7ab4fc33fe95f2ef0788ab6f745bcdd712e7d61187684e3cee007898734cc64ddabedf3ad4032417046ee1a1638290850abb19c7a741fd30ef0c4ca33054ffa76a1801b1e846f66900b8321b9c03fd517811053e4a20965856b02664ec6a315a8ea6ba1814b811b002cbdc475babcf49f61dc0cac3c7993eff7f14c5ee6a079abd63e3aa0d1d82be03d32a218f233487a87a8e9626d419391c7a581caf1d3dcb4915bfb06f0ff3ca06dba66e41cfdb1e45d3e6bb7d80ea60e8d421081ca1555a52274bd0adfeddbe00f4a6a8b0ce729bd6cf3b454d65dc7edce5122b94e9f8dd235588f454e1306c05a88d5a7e1e84c3df235e46044804aad2b9b9ac404d7de2bfc260571075b298051a2e842e8614964c2b48c927813041e92c5d2307d9bcfd6cc558bd5a5559aa0237fa212b9a666745e768e8cb9fdeef87b69e54fadd711b4ab136c84957a75101b88cc6ab79502f2558c903af6290d44696b59a801a64971da425602277fdca05492a86dd2011f9bbd410953a91108327693934946dc52ae7431fda29f5d5dd067f678add054b029c0ae6d952eda1d8cff474ad501d67b43144280ef57b81b104522632a9779713799975aa1dd8bc328fda4e492f2d2e0ad2e5ef8f6a30320e03505e182e30ea35befe398a29aad30850ac2755ab81928ef37e519fb932c31c04f954e6d54ce7ebf147bb252b406af552dbab6fa26ed497c4e2b089034c58860023d42f1bdc6236240a8d41dc2c9773ba0093a30a77d6cacd6adb9c1f1d9f7605d247c4502a6b73118d82a993921535495a4aa2ed6cd3fe292c5c93d7ea21c105551d5ed592be7de9e0235166373c111bf65e335f18b9d66f5ffe93403399bd04016b7cb90cad6b9dcc13c405b97a159f18d094333ae9326f239d1eb592775c02ce2aa13d35292bec71b5b875018a357b7ed6b43e5d9aaf55aa2844ba218b8502aa79eafb9b5a1f64245c33f1705141fd280ca03cdb1c0bcd2584d3bf1ad8e2059e9cd90395cc8d9f1ffa9e97be3933cfc8ff37c9cdc8c9823f785ed2fbb8ce04ae41c52f19033d71517265305e648c55631df70c86443389ff9c2c42b1c2d903e6dbc69efae9468bab0858652f64f20690f92571f55d1a1bd30442bf2cd1ff05818caff89980d0d1e7cabb16d84b21c9f663ee7caf3493418b4e97950d6e65070d069ecb3e810fbc8f72da01798db126b0c358b52ef5bf2ec417ab3b67a8f803d76cbf2892fc662a7dc4b4fadcd4624189a9998ce6848c6cf526d0c550be81034f5dd78de21329eaf88de8e377ff3b1bc1ffde2c7754538e96b609c66f2c9b02adf22aca5975bd89d5c598db74d9fe0fa50475ad4c0c113bf2a5705e789f0a0007fd4187f78cdb2cf54f2eed199e5dbda17cc584095d3ec1045224ee74af700018fbaeef5502b01cd7f56e67765d8f7436ca16a6a0bf372e744ad147e5704c06333618256f216e950ba9fb96972abd825e32a0d538d418859f960841b761e6011500462e736e2f5604951d74569cd18d501275e0e1ee8e3514dcf1abdcf9e90706ed21d6017097088babc96bf27bffe461b66154b5cfa0a5db1566641f9a92021124d94144530ecad56afc973c31e13f2a6b391e97a96470daa1e7257f6cc50544d0615e5156f57bf44e02856f9e87a0b555ad9b33e4105b5dc03671869d0b0003a32159add90afe378935f44f56818b504e028204db57d171bbb169eaf34d024af89013fd957acd1d7e3b3f8af448589ecdf824b164f9be349c47d218d10507c18672678d47ad2a5204bca599362a0b4509f3c215daa3fdf75942be8acf69072001e949a6e91c1183a0afaaac611f68bd4e68814703eb8a05853269b4e3a9004c8509594c0a2f7808a2189a12aa39bf11115c94b0bb0a3f4a40ea0d6867aa0693139cd52894b989ff8bae066d9b5f341637986914a560e57cf46b2df555ad0623b1e33c2d268afc7bc4ace01253910f705869ad7fb99e06f915848c8e96dc037646836a8c07f52262c3bbfe3cac1397fe5e27786f15d1c0e787dad6779158070119675da19e1b0a1a3616c2aac981d88b95c29902786d8aae5df6948bd23507bf09293bf6c4230677f91550348d44e69ce953c623e2c70c9d1cb4abeed3bb01ca08cdb62caf65dc48cfdf01e93c986eccc6a9363953c3813c178f6ab9b59305a4ae182ed4643ba90f268acee92fde0959a5263a9263c3f2b2180188d67b7405a5a0e3afa5c169b8a70d0ebd72b121ae2cc923991ac19225a73490e2fff469038a53a407fbec6a59810a4dd171be2d732e58493962ee7af562140ac629dcf1065342721c9b1f7e1e2dfb525ee6a6f751c7a32255a3b53083cb2aeaf46090070004fef7128897a1aa96532a19c8a2cf7378840b875f6ae1e4474b931b211d450162869c2ba6b5bd75fe27793a459efa2f449e8ee968393158c911e8e8481507018efdc4489ec8f0d763fc62fbdb09fb62cc3d73d4572e6771b92bce410928c5020cd7911e9f332c7475757a7f7a1141e8c81f13dbdf1ce41a823524ede39521010f717e958242bd9fd704c48ca0b6203a9603d8bf392dc81b633d0f8ea842f702557b2a0c6933ff2fb244b86885c5e24a954025bbc5bfbc22fd78fcd9d2ad1d03a094339272dec8fc3ed1905d7c284e7d0c4295de4c0f818d7c3a2aa1cb8df600f4dead436beccdd5f526d104edf9f8156ce22f50ae23915f511895fb2f21a30512b2b1fb65a9ed52cd8ab6604d17b1d1652e8b7f2dc3ede0643bff4aa298ac05bdf520e7ef302fea0ddcbe1bc85651ed11587655270617f1bf66b21b18202105fcf9cc1fc103fb018a164cbae9a3ee16e701d31d1b499c6a5500ce0b53e13e028edff0f939e06ee63caf3ae5d3a0e7a32ed4a044cbcadd61e72ebe616fe8aa067ed45bba3b45f4536a3c15126a6647ccdbfd9742e6a8fe6a597c27f6ef4d7707c8577bf56c7460e0ff439fa1337d017d7b87ecb56822f3a4d573e1da4c75ff028b0a107533059b649511ec48385d71f1e0e34154185154acfd4a0a0ac14a14028a24556e2127788db8f381d9a394ecde2bf4b568ec3720ff403213244226d203c129fa649ecee8a315969de5c92a17f37b55ba3237330fe686c3f8f5188de3045cc531688ca3cad4c034e7e37dbbf05076773824e71fd13908a03807ab907506dd0d82d3764dd13234df16e53c55a8d8b2e74196eef8ca85026e567875bd6f06f4c98b1d73831d9e8a29e905204123785d40dd3756c117231337a814486ae6014ac0c4e163aa19e91215c0fc771cc2a31e6dc3f9aa44d4a1f35fbfcb695810038ec27ddbf87fe51863df65884c6cb5abc3e2c45ae1ad38cbae4d22556d520701d8b62b2ff8eb9095ffa8b4ede72e63ca9f2773177a86b2a2669d9676fe563d01649ce811f39918f83e40788fbe93af982427916e44b77ed3f6ad32268347a304f4dbebf7195dbddde6d1b4b8df43d2711515daa136d26efe71befcbfd4bfec04d3421ef840ec19fee05fce87c22dc957f285431c991f901e1ae8a86e38c3e2021f9633154a9fed3b033a9a0987786efae576bd46543968d923887027dcb712006e694ee8ce8c689ff2b5158cca8440324be3ecccabad911a352ff5fc77cbe901b3f2bd4523c83536ca69293a9d412acc3ab3b1e3ca90c0c1a7fa52799583ec005d4fe1885f4afe4366fa43adcadc0a0576e1e77e2cf4360a0f33aff2a4fcc600a4fb27d88e65587e3d46344abd46dd5670fb6a7018b0c1e67d0e38b9c6204905b9f64ff7cddc297ca60a8573736f3b03a967b509e0a0da991266a28065679906453a334a2a396be21e16ef5a54225b08d8a7ee84f97d76b2786be9989c3eb40352ae73180d6b02ac4ffc2dcf4eecb6485ec257dddceed08ce1eac21de374e701a84ce8e1e09ff9a37ce8827f7a9eda4680343c23adbb13e669eb8874b7455802fa5e7bc329c918206b89379ba1909bb7666ac575cddf06bf78055f031f63800769e5e86ffad2abb6668191864fb23e8217aebba9204442ec86396829c3855805359ebe709c404c5d22136da1f4a53b28a036baf8dd7d6b2d3de82a44b9f5050570cc39fefcb889e24e6ab77366b6376bb4d219d30c5015f3954f146f828eff02ee4ad685a3135b90e992daaa8e2f21e5a7bdd15d64da0e84f6c65d1b0687a60500ab86ee487ee0d78ea223b3448398dba24cc236d1416dc2b0cb2dfda7ac280724a99ba8eeb2811abed127c86b74ed92e051812cd58e4ea4a15f709d29b850073c1f7e6d777d2183df7c8d1738e80f4a0dbaef8e7dcfe04e3f3eadf3913c92039b92388acb93e0934c7b2e404a66a05d9f92dee8d3813a394c68e71c6c0ac105de5b17220e45e99f6cfc637a2ec35a948785167f77669fb28b79c60e372e4803587ed62eb09e33e0f5d2e6b5a848552f73a384c2cb6bdf353ef6aef355b384025e2cc73c9f6ea3c0838213719cbca611f313cf84cb9d995484f42e20e71b5001eb1411bb15aadd29030bb250045c7a4f87ea6f2f8e365f471d0f6d1f6f67310392588b5b5e7c3c23df30db134bc537bceee3d7f90829961879cceb2798dcc90143d359ac2f54e5dd358ebb3303dacf7e75cbae19490c3fa64dba931ca2acd005065075e89a5912c8cc9592e5d5ac49cda8d39343b67eccc819d9a1f8879ad20001e294f507e821dcb58a314f42c459aefffd908b3f48ba3c5fb61c3b09d31604cf23166ffa6d2a2e54745f51718e6c103ca87afe333c6727e9ccab823166fc04ef25c5fc01d2a49af31355d93dcbaa815e24c05b8e9d204d85172430accbfe06b51e31809452c286beb1626bcb63e6ed4542852d98a76e3095fa496ac81c5b075e962e2ea89c6cdd717b377284cf2d37a3ac10c726ca0ccb665f58aefdf46806e180a2ea8809ae55ead63f3e9dfc6f9393847eeba501c5635017aac1ea789d0381942a2b726b9d109099a7808ce4bc37404ecd80a8a7771dbc9a758d1ed74202b7b93ccf58d11022ef4292cb9aad03684ebb40cb42eafbf894192192742ee0028a430638bc75961f675d466243861e698b918e043241f6de12b220f8c950fc028ea08afe4ae2ff23b1f5015cadbeab7c14aa7d2c22a6dff20e1a39f064ec160663bb394ea02f6119456684507c69c4a2ef0697e399abd415ff98d6a1c5eb0f03aef2504bd3c0639f93cff92011401871f31d21150ece5795a7d3927c2ec1f5035e1da466f8e1c6d8240631162e47eabff6935117089714168c208bb246af5904ce08408701edbc2a9de98033fa53e09c5e93ef91a86285b3c2812f59d141e806b96009f963685ec8e43926d847821eb2d46c706e7354a292261fec7e21ca670057b56a4b995446eafaf59127ff0590f40f88b192f58893a73240f133b0f87c065cd106a6a640ab69d09738a78baa971fa0e734556637f71b51a14d88e8f94d02cbaad54c3c17a24425bae609682931df5f6ced72509b86241d6e9959d68d4a045304647b1b7d0f3e96ebe341860f2ad3e91f02661ac908f28b965aacf2dbd3043644c69a17989c09e18297c37a7a55cc668c726ba1e00d576197ca0ff8aafe05fc6750c4e12146f98ddecb899e81d27b22ec470224df875972c4e78b120af105d12f1cdc9dd8748345c3732732854992fcab5ce0258defd10d61d823c104bc05bc37c86362c74f80a4a33c2bf627c0f8faab72e1f467b8b966d2a7e31d77f901699b3a249a85f7304e65ef2635910525e0127ec98d103c2de31a887ba881b301f874b6fbe1f4dc4d87b3c0e8d34f71bbfc80ccfd01b0b96d7cbe5dc517bc19009c97744928a758f595986342a2223f69143a05774acab52a4f5a994102fc54027378e593b224ca19cb35ffdcddb3b592887826cd7e79422463e9bc3dc47a2e0117f6e7e3eb7f079f24ab107cffd7797a27be1d9c45a56b5c43f51a09dcbf50029c19ae8dd412c00ca7052ce31f54c44e485a1b1b72eead3bb0852d50c71f14041f64a087f78a5ec7e7b2766246ba304a867ca8d90f251a4d4bceecb017e09305645e7314712ac1de995d4b27918638915750f518d32022d585146f3c2e49570037929c89532be68c70dbdba5a0fe43d8b82d3c4af514f4de8095d911986e9802e93cce47c9159b393ebfa5dbcbdceeeb64d4a8b0f9faf5b828d1d5d8d268e703c9d8160e37d18e65383d8c43df4196540d0830dca0aa99ea5ad8d8fdbaa69705b27a4afb0ff4c11c598a95cdb33963b3b021399d8c16ad826cda137e84952f032f2361c3529f1fdb3f99578ec15102ef3eb69284c808a5f4be5a9be8d191aa0018b59db15462d66dad7ca108f09269f551522e4c8f60e79d5ba375c070ecbf03bde806f6eb90c8fa4a459e8475554914280292349b874403f4afe299db2864025984dff874ad14168d08e53522e070b2096eacf51d0da3a375dd205883bea1042b4f5cf1d03db0cb5532a5818dace1d66672c06f12309f12a7c9d626ebbc9e07be3e11f1683530373ab3996b106515bde8650f21947134ad1d22e3492e475b0516d418cd627ec1461e305d91fa9e49ed1c6d43ca4f846bb5b9524a11c350fd0722737f33cc71eed14400e7068b5bbba25e80cb7bfcccf3da0d364bab9cccf3030c45944cf7a83d63442223ec8f580948f5712a9986f070e909df34e751a5cb0059b78ac17d0bf1693d727b91c730fcbd6a2e5f33743c0835cd79d44b9cef4404c139bebcda48ac9d2500494809486eda554452507a019a1e51435c5130a68c02fa05f0f823f188b203ad8cf140f6c697c81167cfb2028db3d0c6d8feacd69c0452ab89b0ef75c0637ef347a74b5f671a528a66156ec09d36e79736cf3c596f016280b3ea7a5fefe9dd10cf6d913ef69fbbc15ba5a7fb753779aafcfc01b8a2058afbaf8a9924a5b2bae6cd26559f0f886ff8159d853d40d09a8fd1cd3ad03906325f7bc0b9c4bdf19a960e818b63d4c08bf690881630a253908c96770413b60237b6b4d90f5ead9a6a87d795cfd241b7c4f60c159d9c4cb334c576a7d05859047858b2144901b625c907554a43f583efd63f5fb157366b4ae83a73acd341f400fe58065e55873e051d76c0bccf5c4c7b455951d12ae741f30b56e34549aadb028cd9c0b5d61b8ccef39bb440a2f9bd89dbb7f56d92695e54640f78d71d27db033b5605f780acd610d8796ef3f4dc2b5105037409a49065f26a6782e91c9b2705cf71af1e46f8dc542d48cb14ab46e6a65deafb70d4843b653de870fe06ce1004f45876e7c225e17fc6f220397b1daed53dd673c6b7497f00828392069de9e807fdd28a68e6303715a172eaaa3be06cec2a81f9acd725e1b3d60ee1e6586b91051595a5009bb9f61e08079b6dd94f331c5959046fb9eabdd8ec0f2be35ccbe001cf0218f8a44f49edee333f5bf82368563d81e29c127c17102d9ff5fdd746360085d367529850027d3e342d7b01ede262e7f975d8943a483571981f87a7d2cf06689305d22d70ca7da7237084b2d041cb7ad9aaae85e6fa7e9945908720bd2d049dc3bce084d7b41eda8f844335692719471dcd8b940d458553f8ab5843aca5035e734c420fc75c9983b4a3f0196fe004a203f675894884538bca9c62b584cb016f6d21b449cf8e88cedc6b4ffa420369bd6b908b06d2df9d2b727bda0c0fd3051e07d10da35fd48d47a9cd403fb3d9f64ab215cafbee684ac006c8c4902d740147e241b1cca6c12691a0579331392129390edeaf3f06a62dcd32fecb7e938104bfd00ec7cdad11a2aabae58d11d7bfa7e885ab437e269147b9ae57b9cbbc2b0477b56edf0ca7445df234d3d42bd399a2f908ed0ba601f2e2330e315bc96488003684ed008ee9c1e4bb9b2b10c0cb6f85f409703d712ccae3d29eefff7c8a4302af2ea7c527f8cd778f79fc6e2199b863f81e34fb17fb563d54ebc3c429410f032eacf6fad596caa142c8b112637896074447fa834c7033e7481aaad10a2cb1033c1602e74686fc379ed7dbfbf86cca9bedfea64516c705e5cb5ba23abf1b95067a93879a10651138dba3178cf4832655154120096295269c4baf108638d1540419aa41f867f0bf8edc67365ebff08caf7deaf99adef958734eac01a4100d9d01aa4e6673d976087444b0ac119c8cd03a3468445fdce9716097ab35d6f78d660260c1ca03e74cc3c12a4c70461ce208dff878e79d2ebd0b2eecd423876e3719039263224a34415ff11fba0d4bcc37809b2d498bb96049298b0c634208fe7a010487a9f87e8c78c826fe3eea3273a3cb672d68c88165acc51eeec2f7c4a064fa054e1b24b4a0fea831ed1966a2a2b174ef10ecad7bd988aa31b7bfa2b7908b77073b43bbcfdb1333b8834e707bc0168ea472ab30bf52677cb30f2d6a8539e055002b6512aca577321544c1ded557b0bbea87ed788dfc611ef0f32fdfe11acd50047036a5dc0078c46986ab6636ee69a8bb04c48cb2039ca9846c60bf11dba9d5067b48c49e5fcde328d1ce7003d99c0dbc8f80e6ecfa6a01516c379f70090d57003d83f529ff96c14096ddd1836d94151bfac8b1c315442bb2c825d347c0edd4061877322fd363ae304b5da4e8b252ad4fd1a764db3f1baecf4c89b57da9dcfa040290a4241e8433930c4317935b9b75df065b379aad30d00e855a0657413d87003da94e939e693ea55608cf421fd49d9842fb157e69195285ab64cdd9cc64c80076b578bd4e9bfb75ecd273c4aaf747f4084b08bd94d2184d3938067d46729b06fe3841b9b6035d9c8d1bf652d7f5a34af58f95a93e4238aef90a460269a1fe015e8f25e2103baebd37065d31e44e5e7cdc6e160cdaf7d0a159204b84e4e0460291d2b3c22ca66fd6e9b890045ab0a14bffe9d58b1be302dff6f9b3df7e1a1801b17985062f3f6e2cb2f5cf57f1ef1856eda268ccfbf6ada8ffbee8d99cf14c06230d33e63b9aa9df5a658cb415078860e0da6d130be7ee9ca1562b42a2f97f01d7adc23bda5cd23e1669a4c84350ae8884523b07ca9f2a12ee9057a09289bd00f2119500e8f9db4bfddd8ca7acde68cb2651a786cfbcd7910e0738c96d30ec03e24e76be945a8cca281a473f3864da5eb018e3852f5d6df659e542b46a02fa07818e6c50676d1268d0f965520dc7274d007784f7c67ccd5b84ed26eb4a448000d14f6ecb76df27be150521e92b7c9ffe22f82eddbe122cc780b35f17009dd704e00fa596706db76bfcf3fea3d86dda6ab8ab31d04e3f9997be92602f6ea1300147e68c16a2a914bce1104aed6e19419f8bbf579561d1e81d014f12c6311218045e028cf189be79cb44897c51e04244abe6fe11e5a64092e261ff135575b409063ac600b88e0f4d7aa39ba6614bf944108db207e2918371120c43b92c2b029506f15a485cb21776fdf2d122d638c40da1d49ba9de34a18d436e6248dbc784d20569737afbd811c22f64eea119ef9255e44df2a295e8783b90f2372203dd0c0304c66d7c9d91b51a4aab4cb51deaea47dcaf1f70de1cb826fcecf4700c54967c0760725a5fcfd28f33c401ed40484e33bddb4ceafb43432e6af092bfea8fe7fd063258a5bb1bdedacf4404ab03eb1a8fc14b912af7eb99a1047b7485171b1a3405f51a7a6b7e9e79be9f2491393d394944172fb8408a060463d7a86568c1e6740710ac1d763a445ae26cfe0d3c10e9271fe89a0be28e624c1fbfd87dd82a422b059af609cd6fe9968236cdb705d95be5193e31a049f4e1e46b33c4b7bb71efd5031940810dd73d760c0aa3ab73b6c5428a1606240ab867eee668f637cf66f68d01c016fab976e9ed6e542b64eab61329f45fc257af690c1b1b023e0ed44c43510361e1faef2447687bc961fc942a0bcd8896339126b712cd7b5c73d876b0971906811f0da0693a0310e26873da936a760a8e3befafaeb6a12519b2bd62f409da013108563ea894bb8e2e9faa4d20ab1f3e64aee9442eb0a47d4e99910c9e24fd0124c718148cf7de4ac2b7864c1b7a296ebdbbec1a357e3774b7c24e24cf7d53032696bdc99de6d11400b156a747f8cc98eed1cf3d4a5e47fb9efc9d6c0dcd1607118deb38f2cbd3d42723600482d58e18658efc1d022ab30530f00cc0875a8d04a92ee884714f3a8b4ed4a349fdd365115aa0cc4215f31fe83b25b32c9ba62502993854d77246f542fe9d2653b24884585d7a32cb7b809499ff0b556b97fcdb026a499bc434572ab872c36f9674f7c209a71e0af77d26bfd0951603ce9ba43207b2eb2261a11e1437a24696e21087172bb23f86e8bfe3e5943f0caa697ad3280689c4b3e33d5215dfaad1a6b069eebfa41bff198986e3bf82e10164fba6b38506ee17ede96a5169f01891a19661fd7f541f0db3708682a5b801e3deb1295f5106c791ba18e4e5255b5f0dab686c813a2c7851a5c36d333f2ee1e26ff52a9c6005df117cc4a2c8f91f5421a4255003ded66985f08fff6ea00e6af64119d66dd0035608277423788d833479d85b0cb67dd1afd11a1e12e3ea80b64d500678cc4b001d62bdb86914126f7b215d10a10716a5c6afa6e4be0a1a5fb06192d64252c606971e9c2b9ca15c01bb54aa1af19398aef09c6f847c68b1fc1654c999c9c1ad03accf3f6b2779e16fac7ed245f31987eb4d09cbbef7d6a47c9edccba4d9f8f9068fec21a120d75af7023db58985ec6da81bc2f023c289d2b9edab4ed47d3b3c066a5f35e47775fc1ae9ac59e26a78196a48fca0cde093b25796786cb2de190b06e243156bb14ee3fb8b7aad933578b8eedb861b30b3f3f5b664432b809b786c020da5895346122f454a9ff301bc9e1c1b013acd086405739c07723dc228be5f005c43208ac8ab6741d090b04473fabbd8ed6885ad1ac792aff8a5a483db39f206040600dc55d6bd93388ea15d684e653a535e010e96e5531ac8b75314a448130187f01b933d43284e4771f4722757bda83509ff3d2eeaed2a8b8ec5cc84c4ed04202716e2a5e7f30bc62e6092db49356b18ba0627d02fe44ed3437476f6078f057fc5d4b3c65bcf8f589f3875c787ba61b35e8a237c40287bfcdd400f48d968013c2122bbed0da5c132511ae1322cc722f1d09ace07040fdfbba57cac33fb3301fd0412aca2d68be106460f27074c9baf7b0a1c72a3e1f4ffe49002b3e5d34e041167dbfec4a31da9677baf0d0d403eda43d43aa40f048e3c765aa141e5d6e20125381af7925f1f469f1485f272e796c2bd970bcaf9243f172fa748fea9d78b06ad43433a00752e5df87753eb39843005a9cb1424d5387107aa5447bddb3f0e03fddc5f2ff4724bc34ee6d18b5206c389ef093686de944a0154a491321935c206cde7e2f74e5ee2fae226113a657efd3e184ac5f8cf4417e0e168200a77e92e05c594c2cbdbc2979f857da5c58c3b434dc207acee093f9b3248d65521e3babd0672c5afd1219b7a4e925ca52489f09e0faab02881c4840089eb0e53b929efba023c7e007872c299ba31caee377f68e03f276c27d07499dbbd8ef9241f412d940555fc4d9e3a03bfe52dc668919ca1cfa4d149ba604f50c83e8936973b4433490638cf54706f7ffcd2283415b897aa770ff108626f994d16d4bb582b4f4b13fa02795377776a2b6e1fd3275d8ede5b58572a4d67a7e7e29cc86df0e2f89d1b7901e0980b397c1624f781bb7fb706a03b1b3ae80a8ff0b0764442bbb9d93ecc1a0284f3cf3ed9586b809db68c042ccc2a494ab438238b66d5fc77ab8e3f36ed440624348eccc1ae234bc8b87daaec7079a6946ece4f8aa9179dd7803ae234980c0239de1bd10cc2a356b4be482fe8ef2ae60f3e8a72285a7a14f98c356633902201400c9d4b3274d5dbbfef114cceb12548576c0b0ddf7942dbef5ad82207a40e0563293ffc252a0f2ddd9bc8fafee23088686de3bda80f97112b89557ab8a92305bb9e0088c52577f6e378d15ec95633988f8e1dc6fc71c9bc4c78240bd79fb70358489006d0160d5a3aa1ce3c02cac24df437805bb50087daa9435c325cfc49017ea9ce60e2b0cfd0db938f2fd802cbc29ae24bf85c1670d3b0a6273c3c005702de417c843fa772e98303eb9b1e3b6c581ae423221c71785d2275af18de99990715a2b3d4e58321232218aa7c6810ffeafa7c441cd893057d079b2f0e1d0452009cc4856c58e81726dbfe326f511b16a8842a2cb8c069f42923beaedebb3c7a027bacc1e270a7a7c9c721e83379bb5e85e6d9b14a664a7bc2cd66d245d09c7e04222a4a1d42276570fefd7dde277e64c2c064480d2bca726920fd9dcb27e7550733e829999a4808a1907709ba815bcfd6b41044bb9841e4fd9826309a564a9d040ac8ab8c39b5795ad620990363590379c55dc590705beac21ec776efdf01d901e5aa193519ddbdac856fffd5b06c680352fa8f1c804d1006ff86b7025acf390131d26c785f776494f33807dcef2aa1c33034279b9fa6060e9717c53a7416390283375417bdddd0d5c0da1d2b39ab448fe970d50b26cc3fe561bb9327b3de9802489faa00efabaf2b724e01bac1e4d83fa1ffe01f27f1a5bc07c2dcd3adb57f04760faa2ab771e6622f1d67878ab0160cbcfdca994ff93dbcee5d30404ae2d106b97b56595432fa6ab2f56031fb93115b09e4c15b7fc460e1a360fba1e68d8a00b43d06bf6a9dd88a31befee3ee141fdb533eab6319f897574de138cab50ca3008bdaf55232578a5b7835d79cfc37a6bf4d3624f99d217e6558574e2de6dfa2004bc01faacfb931f4c56299d83732ee5a625615a9fa7b7a9119e55e16d5bfc9004052c0fffd8afd876cc4cc0c9d32101cf38ba87aed3394ebd3d3628dcda612065b9bd8a97239e330b14e1a8fdcc65647bfbcfff67dbb2bde3a11451123667101b3e6b321fa0fe9ddfbd29f5b144f4468f9e3bbee821a634cdb593ccd866ad106064febe1960bf0c77598c7bf88c46a61c15c39be102cec5053fcd966428548074fb1b4bffe3a15b0bcc50451e254ea0b784516ac4ea7da1645301a7ff1597c049784ba2e1abfee4faf13ca9a457bcc52059a8dd49085937aa9778b115b700d00cd5a6c80f1405e8897ee01f3dd1bbf117ee192b1b74850a3f80d25022c894a043e798664e4fdab4cb1c54426bf33b8aee597fd90932ed4a6831a8baeb70b5707b22e4bf6c32f2c07829677978c11324fa084fe270837d509564c369be9bce0076f581577addab9dc30bffe7671dde6bc317e73beba4ecc70ad37fb492268c903b22b964548a358f73e9578997540a40ad2b3798dbaba8faa72772dfe630e9d008dececd8273bfd6501847ec02c896ad4cccc31d516722e0b320c7ce6a1ffa2039797602cdc5583dd4479582c46981dbca2bf22a890ccf8d82a6845482426ce05f4586a5b2ca39c21481f67eab73156a8eb91db9f4f9388d11cebd32f51787104b932b07eb523d01395b0db4be797d37b49f0a026692eacfe27da7ea7fee9a506b5ca5e79a74ca98e9955a9001259b18aff7c2c12e86df052e5d7f1147f15bc05035cd35d393e2da2b9707e5dc0261cfba5a693c9c1c431d7b45369befc8d000127cf88a969c2a7ca96110d44585d03f4f5062709c696eb25b81a582feeeb590707545a5d2780dca61eb2a446af1a5b2f2d3a1601fcca0803024a6c0582b6250406d48512cab828dee3fd36cab608b61528bbec03c2ec1dcedb7946b002724007f887e35842dd3daf826521815b8008603b8b60cc474115af012eb48a9a366a065ffad4049f9f8040a1d9889752a4e3bed5beb83327862c0c2ac50186afd35403e2e4dce12441758e6aac84f605dfd417af20186338a6064515b44cf62c2b900117346992add35b47f76ae4e380685330693cdbb25b194879da0a19ac342ef10431db54e352462524b3424ad5a033a49d4ce2c455ca58d92d70a9a60a184ef8015c84baccc6e1d7c74e80d38e6eb3bd0cc4dbefde0ec040777ff0041347bf5207a55fc811dd984c0fe7f99905bd2e78235cf0169626dab5473e0ddd9deaa8090356baea098d01a125604df79ec898a95e70fb46d0b1262626a045e95eef8943021deeab9f353ccfe8e18ba6f26fce380429749abf79699bcbd53bd9bd16147a07bbc67d538d2d843f08e6e6332b6fb3f3382280c5854cf3ffbd9b025ab5cc7f04b67f1e83f89a9c63b423b291967c56c9bfc4e2aaead52c790d59be504ce65f07c62c92a844dcb781134e723a6dec4f2f39ca6c62b5baeb177b903334dd2a7c05dbc0fb8d0039ef88500e76a22e57c07fe42e69dfd4f1e99b167bb32789bab907d5f050ba98e0897d6166d1eb7998e579d89296f03b451a8cb28bd34b032cd90745b33b7328fc12dc753528ab58c11fb65e02b743454987cfa2719a4eb275f401477061ba8d00838d8c365c32ebd39b84699d49ede69546c12081b0e4a8e55b06dcc946f86cd3aa96c602fd23cc20b90cfdaabd5e2d8713ddc04c3b05c90e0803c667b3a81942ab255e680ae70dfafe481ff38183f0f7386a6eed3f684e561501c978d141131d8d582987344fdf937372f28357e38801eb4298f6ea71e7b0c402fc74e3083b60476e365d035e7711de8927cf7798e2d52c0056f5eeeff7091900bda50c702b9b9801bccd173fa87dcfc82607f99bdeef0fa8a54e31d29e56de039a1c14fbe65f17076f0dee15a69886dd9a22ab6b1e3033197076db28d2dd73032f690fa526089ceea733a02f065a60fc3652e2f373c32f18e31340366ec8940631d544d2e8a910e3c52812c1bd9fc11d0609a4e86d70306a59678ea79a3d350228cf31eaa9f0d3a17781b27a503731cf967945ca06ad26d9c621beddb65f4c0494594306105a27e42bf2dc263341faaa701da51f853e0022da1ffc2d6a43a4009c470f35d03f7956446c5602a735fb172c9a658354733c29473c6d5899754201870b58b5f362e7e82e60e0dad466414aa6df37cb3cebd14273402463ee444304a5597b0a2dc7480ba1e655708cb5ee8ac62fed3874ab0ad8a0fab022d526e006bf81f1346123333182a5ef3d32bf50d2efbe27472bca94a67aa51b2e583f2d039351d39a04f973abbfeccc0075e60c5b0c0a94d7cdc00d17cc433894fed544056245a2587d363dc9f39b39532f3bda987815e9db20704b72a7be700f46be3b028fc47e316729536781860896c9d0bb484abe1562ea063a7a7269e8323d891702d7f90f2489ec85a4966771b18de112163a4d3ca9cf0ebbd896563881aeeb1a04197ae9390da72b5619b7598a0b63d72c0e046fb5dced71f7acc1c1fd3b52b80702e378ca135f4c5d5a90905f0db653cee7908ba5c6b79f2b1e2c54bcea663e02449157df18e867bd5cac2721ae7a7526036893818c80793b2f7bb811f4769c018ab5a56dfb22d1f93a1f78b816183231a2a0fcb04fe4f57dfdb13953f88c81032844bac246cc75963eba5b84f4f599a157821e434df763a3c6d297515ed1e0044e8fd9c9e8b0b6f47875d91b105cc60c121b6cf6a263aa67d10f99539983f8073e362d6018209a90c8114501a18c3596a5c76c24f5cfae01fc3b43c3e8496600a055cdd8d119c773ed1c9f696eb3502caf305b3d3992b6d4cec40c10e6d88602831369cdc22d0a0cdbd1316c522c7f9c17c505176355721ac27d5cf35f0e90054c1798e3e8e00ffcf04e6fa6c145798aaf11eb90620b7ee301b274e96ff1ab0058a2389b56b38c3a6973f12c5435ccc3473c27388a6e07ef5672568585ee3f065bb8d25b7b77c58abeabc1735d00851251e97ec6a81978ead490f8437bcd700152e91df87948e097ab6d0522950390cb3e7b5feae88621067943d3a06a05c6004b23638dcc0f97725a09ff65fde538a46815be0f2b71d923869735e23100fe0609678fe2f1516e674bfdb0bda2b5272f5a0ff208dc53355bba2c10ff5c1b6e02b6563d4ef5442ffce2756093fc12d1e6d80a704b558720f3364c94dca759dd068997c81205355d202e7772304855419d6beab1074e95dc37fedb24ba69eea90736177b8ee103294e35a4e5199086feb10b7b8c47541f34ec6de6b9c3fe8f6a0221fedf5d2e6675e44a9338e4a512d9d8ca1e5897c227ccea6a0062621d70b2041032740172817e56e9be414a97159299df3c68bbcd229c41e970c258ccd8050358996210c6ea359f078c4d4126ba2cf5a0b20b7fec02763b006902d6b5d353065724c41d003f199984f3b3aed2cbb371eb8312c18ab73b64051dbbf16b0807062477fa474eaeea203aad02713ec2b13d848904fcb33cbd54be574520c8a9f9033414729d4997050c193f5d104a1b8cf8b9e0a08eccf8276093e174dbc60f520310b60cc743f5f32e2b19bf4dfde46b838c67694436ef008938c0861b11e9c80748d7384c2655111f5d2e248b7b46bf0c2682903ea95dddbf150eff63dce619059017bcb37ab8bde5fc7d68985c0a6d164616babe0c3a5afcd33f0f9c60bc850047f89161ec77934d587577e8f5fd8d7232522d0740ab25f55c00f68f40e71e01d227e5dc81ba219cb5f3d0b75fabb1bed1a7430703591639ff47e0b84d2423018b6549bc274a0573f5c9e87f00a4ca856ebcb5fb3a277abf9a2fba0ae893ff04440d608f85ceaa4aa48649415b7237b9d2a513963e8a6375486f1e69a8aeea01e0bf675d139a4730b48d3f51398d68091cb22c4f5039235d8473558173511003b2171fb8df6edf54cbe41bad8487ac30acb7111aec7615106579b4de4d469903b3534f8e24cf6c9d422a9d1ed2f5704eb48c4161b900f4dd70362bcb3fbbef0319aeaad5bf6b48298dc90a73b83ff958ab889f56153b243673b0dbcf990d6805861cb7107550524658daf6f1e7f1faa95d61aa3289b4df26d57875e787a0b10470ec57fa32c54fa692e6cb42178aeb1d6268469fb2af8f6e3d4e4d468d32ef05c6e287030662090b12ad08e61b58b9c755806d2b1d3b5ae17a54c128e3623f00fbc41fbc3f7a8a4404e8bc298b7cf7025c6e94b7adae35af533eec349ca73407edbf423c2c74387b477f22f006547cfcd008e00ca664fd1e69852a4f7060cd07da472df5ba78f7b09c4c7d936cbf1a5ce6e9139755d0946b7ed781ca495e9304fbaf8dd33967c08755fbe732d9c0baa7ffb3b591cd32d753831e182f70446a030661eb58393a6c1b376ed4981c811104f35be49f680c8461f789e610bfc643066a0e18f63980dfcc0d01c87dbf311e4d8fdc12a447e9f41d6eba413f7ed2960184cbe5b09a8c7ef6e5f5b11195f41a5a1df6584a4dbaf790fe25ee90590dea061de96c8b77a68e04d2b1610bfd2878d333a2050c0509953fe3dbbdb0a8748700d286681d85cf200ca603e1f6d29bad08cb7541fbbb6f335225ac3721b2f92802f8866dfeef50a58d3e77eeda1c5578f1e292f5273865b2be6d32eb1bfb6c5f04f213d43d56269ab79527675039f430f4d40cd66e46c1ad2bb2989e76a69764078b9e6703071077fd4942df524154d2db7a5a44c44bf06bf9f50273a1c0969d07ca49fc6950313e5b1f10478c92d8e0742c0b385cd5c927231344f92091a88b06221290d23731f2a1c83c70eb38c877e97d6337263492d5c7a2963310e74f3305f100ec05c3b81d75b7de59cc167024e96c8d611fef4a710a0c94ac396efd57031935aaf1caaff0d7e7081d301f690752019f5a8cd2a564210712361cb92e8e058e78e8c161d1bf12e2299898b2f597a4405d78af368c5726151b33fefb350403c26b0f970545d1f595d740812a498546f3a53b4e71268b411442c4f616b74803470165fd7bbe2c2b1766e20937dff4657bcdd0b488751c4c6c25261c334e2b041e193fe407145fb0dc8d451807f04c3859dacf0694b0bfa63494bfccdd9d43052e448f0dbb0c7bc373125daa970f11b0d3a820795e97fb5b565e65bca2235b04eb83bd6be97c1cf64ab4fd5d2eefb4cbd249da726736d3a3fd4028c4625db201b97fce08b56267df4c7cd55909063271c1d19b2d7a772cc52ca769530dd5c90635777cfd46b60d38d732b21efe621aa2f6dd36124007cfb33ddae9eacb331f051e743e8a320dd16fb761d92b9fd883fa02c1a3325e29b5a4a612ae946295b7022d3a209a85ff5d28b761de6c813d22e8ec98e933c50a0d88dde77bdb76b00607b446c11c0439c83b16e31081138e9480da21a8aff8f5b5b68e41a937aa783c0277691b6c66c069f94aae59a7ed53a87ad8453e9f04e1457cd6936d777ad4cc052cdaee778b792b6259148e8578ec19c98e59fd30da614e1e0ac8816e0426f00144b0b020d46fa7e11f2d1e55c137362879c7253930b1f6249a60f3205d48a702e2c0269ce016dc339b12adffa0c0a2ce0ebad91b5733d5e68bb692487e974e01e50f1be58bc0fea18ee017a882cd7cce359e9e847cd8929bd44e80ba75594a07fc82078fd2e229f0f3da42c35d1207988ba8603d163f89520183ea021dc360049942718460799f1028bb5f1228cf6ceb7f642e1988e0c6c051cc5d87e9162601bf9d478e71ad0146817a8cb0ba9238b0c2462f32786a6a779b2c40ceac3b5f0795abe48bef9c83a28e8f32ba6a991525f09f454e275ec4eba8a72d29a4a83702d4ed88aa20e46da4e4d28f2b14d3e7303a4bce5bc3f9c1e2a9626c54bd6933002d8ce6b8ca43701d974484bc69cfc4e51ff6e272980e8fe508d801f95d425406417cdfd0560708cc7c6f4d00cae11bc0e3d80d32761c72e2680815e63e84b90714387543ab423a9ec122c68b1540a7a96d41fc35253057e57ad13c6a52f68706a4594c4edf0289cb1cc29be91c091c8acd3e895179e7c0f8e16af23b10eae102a222a9c80c5082465547144b671cd2b0401ae15004f85aa222e3a2b67c247b02ba61bf1cf9c4a77999ddc3d01b7360e7ee4c4a361239c85ed6301697b50b82025d962c28d914e7054fff8ef3c01a965720e438b8c54fde3a9db884cb677b340315247129dd397be90abbd262402228e88cfd41bedb71d179143b26493dac7405d88554fe0947a871976c5b6db9240294ca80b0522fbe9a3be4ad3b1675146a027029bf031627ff5e311252b382d2183fdab521c92f81abf34b427fdfb2db3a01c9057a014771c66dc05b03f1fe7eeccc71618a3c4138df5fb07f9ecda66476008bd3dcfc4a7fdaeb968083249c5065946ea543a6822e5175404f2092957d56000d5c02e88ad4ad03eded9b565d94c86716351542dd54b57c7ef9ed0036d88c04d08599e054e85838b68a6937635fce68fb250073b3ec71fe9248d28155516401b75971b0bc95fe5e49692b4aa2113965e79c9eef3d39688e5862edd5f2b15405fec39ca903f6a4e0ac4920e4b752953fd9359c084b9b3b0d1b327cccdee33903550d908ddafb37681f403b25e36af67b3b59fe1964b3b3dc16014b751a915b00ef7661e219e4ce5e008b3d410bbe3cfb00f07fd0d8d79e07e9eb5f4d5cb686064fe941941b09328691d37ddced20175017db5a2ceca63f27b681ff273f53f20294841b599694e7a950d6328f173281baec586c0c3c9430c0daf6ae5aa10c8501e4155fb833072ca4301c326af6f14d80a7110914fdb0dd67cb1ab62b8b66a503e2efa1f34404b100c05851eafde76b6100ad3818a35b178060a6d2251644e301bc19b9fc0475d8599920a4cece227794380101bd334ea3b1b61e221a3ea990071fb4d232565b0aeeace0204c18dd1168ee37ec76cf6d170b473545dabc82f104b1b3e6546027bda7a7d995468b03298e0c938547a0cc372a31bb2007b2195c07ce19042d31b852439adb773d19c43fe48d302ca0ca833796964c4fa3a0fc74043b3dcb12748c217fc59eb473e2bcf00802763260dcdf8edeee8d6826aacb2907f7c0b20020ae0c8aa3b9f84e13f7cc9e72ff2cf0265a7a9f22eaf1cea2b04306a46516f8ff953da6dfa272e4e0eaa2bef5f893ed738dd66d9637ebf86402100383526b7b9d4fac17509edc0bbd4dce9c9e7baa1464e958af03e3ad5d66f2da06200bf4f070faceb2d03e250f56ca380fb5468195f56b778547634d34bf0a520226c509e5c17cc41921991ac149727444800b4e3bc75ee163a4830d3e684bd40474a0b5f78240dfe3400d3748821bab94a7149ccd8f891181df93ca2cb4385707e83540f77970e6ed9193e4491dcae802e971a9ae4d21d11034d3f6344f3ffd005e447f33d9dce1ac4f83c5a18d605a7984f70d3e717614813a78da3a15be780419ca7318717d5120b2b66cc106630cfb794e67775399b691b7703e3e06a38a023f511be59b4df5cbf8b07db2e7f6e3577f53a9bb814f221c854f1ce50086a1070f434ac918b849ee6225d496d1adebdebfba84371d6ee88efa21b97967e1a1009c057c56ff8277a0eeea5203191a1c63a2d1226aba836b47e4b67e2436ec530464860a712236d965002e696636c305bedb5c944815669578d5d80972c4b91307e71d3b5d2897086c4d66f876640f343877644c64d8202513a52ebe202087c4040a72e789970ec3a1192603a4e1711fe6b55419b5d25097ab4ef9b5abc4c7f00259c29fb9038c79edd132049c997100ada945968cc0adc7c9b1daa546f02fcb0623acb2543458b65a5f246e0238d55429374a19d2b6f677eb1113be0ee8e0ff02484fd5bd14c9caf8e2f0f8b4ee48deecb86688cf12588deaab2169515b71f3006099f6f62350a3c7afcbc9dc292ace1dbd24bfff7dc570b403cea374db6db70018d922cc21eb4ef25181ac08d0f7af0f2c181db34d9145c823575cd7540d30010a0c7109b16c80125a839be1750625405a57bf1f585bc3684c87e2caea762707901606cd2c65274cacca5208ba0b4d2fdc6adb6f640160f9aa13a10e2bbd8001df8f5fb767452d253b7231bfa003765eb0fc0536dbe4ea3f99580eafe68fc906af42b8cfe70c8ef765d548eb56caee3b3d099885b64900e6570590baea8a2f07d1a2a0adace60752cb6ce4927cde327fb9ec779b423c1289a1cf5802004e39062014b53ef0efcc5b8cc354e86e09fefb634319a3ee60e695c0911a177e1647022fb54bc30d4d4cb98828b2a5af0add04d91d3cb8a1ec380ca5aee1c00fc96b04a4486b87f3fbdcb2447eabe3efd23f071b7ac2f1f50a2ebfaebdf6780632c50280b5cb47ca2a4ce2151b7cf092a039202753ab5345f59b9efbba991bb2655003d7838ddf761f39da1f05ae75df2c9019c2ec451a81a7b80a71de6fb1c25d170146feb34a3e4658c81bda3bd038ecf30b42d290d34b3add88adeca57548aba9007ddf258fb285870268fe73a7a3eba16fde5a9b33ec1d55bbbbe440dd3ed4f706296c86822a373d870b32e7c3a507f424e42bc70f138572cb7d898569eb8dc505cd2f8a8714d246e5761948ea2711e7a57a814fd0145f10d975aeb77daa347a02a3ccd589b35d9dc8cfe8307500361d7d43fda6d6ac06ff9787a6ee62ecfd6302d0d547b5a2067fffd3cf82f743a81b99e063339902c15d8ca6101f095d40160551e82dbbe1348da0542a23d852fe6e861b95b86884ca1e276ed3a9fdab99ca073c12a35a91961844d51524d8196aede0a2b528046cb9169607327c539ec3d000d9a81b8c19ef06ebf7695453d1e1d8ff3bf39375252c218c9c4c1cb0e332ea04351b8ccab9832968dbbb2586a7b0920a2fcf9a03349d80ca4ad69227e2a1b100f079b80e83c7d1d997c67e3a27a4ce803c95a838f49fcccf8af62bea7ca3440229effdd091435f37090dcdf0faa291dd9423fbd991c197f9207c5cb05b86dd0454c416b1750a78355814689e5b6bf093b1f43cbc58ba236fe4169adc2cc27b06f39f0c639ae95448ecf70e3511283f2dd39bd7cd19f685beffb49f20de4e290446389bbf81fe364e6fe225cbb17d6a35681922fb71a804b66423a72d4a8051031fdc92a720d231c5bce4392d49d6b6dd6b1c95d96f305ee19f6a887be6662902a4ad5fa5e8eedd699f89dbdfa69c12da9336487821c59910c61b341a46efba02e46e861faa62891589d8808ccfb4c391c6f62d07c345742139927dffe576ac01cce1b7c7cc2ec77670190c389d8917f40dbd66764cd8659ebe3b214dc4239d0552efb63cde6cfd593b25ed36162e1c765f7450ec36152c786579e97aa84e5406d0804fa35c19f16486ad3b600c13b77546c7ec82a36cda610406a4498795ae02bf3fa6f94b4680bafb1da4a6f3b9187cf1bc46befe93b1efbce032de5b7d78015c778271c991f19e7c220365ee967ea7b8cc229ade91bd05be807ce010f1cc007f69f8380120c71bdcafd12a4000e340735574fd0b234e383ac4510d521ce50464880bb754aaf4bcd755c6dd85c4eb1d990bc9c7f90e400fe30a0eedede76a0206b127f6fdbb01024b8ad3c7f96bb3eead5b8ea4437ec550bfab26369cd13701912ff4368055fa765624d8dd3ce535772c9ca4133d8ad9abeecac28165538705706ac319bbf656764cad358dade3fd75ec0d2cc4a0f3757854264b77819b60058adecfd512bd00908d2d0cdc8e6a28203732c6220c64f052d63945011132ee010a51f801e5653f28a9e1b5d166bad007bb7d4a3eca8f3629edd9875c66cbcd015a29dde866bcbddfee426c5a49fe78d03e1f924be900b433956e185ba967ef0121cca4dac639a94293c672c4b6e150d11a25230903c5216e85aac49e87d514078652a5366f6a080c0017046023ab0d5c779743fcc209f0d1793f794fce418002bbc245875a1d539eeb69031856a7138ac4651a583af2f6658fd09fb5f723d70791d81894bd971ff2c3ebcb51c8bbd1c730a91b01bd2d91158141d260792b5c03abeb89bb811c9cd57eb46e4f31d854ea8330a15770890b613aa82345807daf05cb8ef5d02787b31e3cf9732f662cdfd0192cffb88ae82503341ca4321cb3b0063c9a04eacc37757a88868ae704871ca45798b09aba3acadfab82206682b93a0330a5507fc58c20126d1a21f10a5913923b4658a022ee6ce2d2a19d77e9454506f8c47180ed2035937f70a1c5534add3774fbce7cdc29e0169ff4039f1df4a7028e986f318a8df183bdf35a8982266ca1dc710f1b79c49d9d0ae49e11f2430b03e91ea12ac6b9aa36e0b4d9c8c42a56ba51325f324f3a511bb6ac478ca95a6f0020a7e01640715b0917e99e850d00d353f64d13f86452d61ae8cf96b920a5e007b0ad8f71c5dbb9c8b700d936a8e7a1a155bffe53eec39fefd52462dd1296b5070ffe0c691c536ab07b37b55d28edddd5e08272714f08495454970b9e5d528406df53334c0c4c4d2311df92bc372b58ad63befca26eec9140cc9bd24a5b145207376efdea4492fb0b6bb9837afd03b0e0ba47b0906a4ee03c8fa87bfb70ace404c0490890bac2e993936a2235a67dc6d07d1cc591de76ce49e9f256966f3771061e00e7f24649a8b5767ffdb88c34a090184126cb553f9838729a8af6d2e4750640403f513eea8e2183232e241db1bec400a5a3ac3970d7021694b290ee8b2d0544dfc5a55d4fba801d0bb9b99b05df1512365f7c5b77ee55cd48c37de3f85c02e9c4c3bfb31cbe638a5e91eb189fad28a36814b2336457807fe57521e09437061ae6ce154fa86f5dfc29b328e3e4425941a031cc27fe8c8038d5f3d85dbbed035e6291570bc07a500e02e5bd6c799912bdf1330e138ecf2d81c5e959a933850700276ee44fe9bf6b12fba46221f3b65ba7c82fc3e63a98ecfc2b6932f6ad28068f6a06b773fc9f270fe73531548c1a7ae7c9ba6b3a55150480d33c9bc6eb3d0248de3b533bf7191a59e2d42a3ece87f4d740e11e068873d19c0be9b325989d058b7206314cb070f2c5737be5f028b9826fa043d5855f022b2c7c3ce0be25c203018d143c4402a7bd45c6c6362a8b022b50b57b73d92bd0fee53b90ca320baf075c026e665ebab6f7c4813048795920dcbd3ecd62bf99a0d5ff2153e1c98cca07c833923775e127e8fa30c6811ffd5ddcaf9d45c078b314cf3c4a0001e2d0fa07d6f8c0743da482ecb2b374792de69e4786c93d0b723df1ff22634f41dd9bcd00cbd731342fab8975ee8a718b2088e54e878b072b23ff58a940221d1fde9690008f1630dac5bd44efd0046a59fdee0874dbdf158bd4e8f3c063f34ccebf1c1f07250a56ae33c89d7d3d23d21dbda667f9ee7f1098ebfe309cbbc4718a49f05302578ed922e09ae2a05b0a34185242d13f797717369e2e94ee18610a407dc8d70578d765ab754822a0caa0963f328e57a542deced7fb69cf806c331e9e66b2d407b30f634bbffce2fdaf7417103e9605c1d11805474d6c9841b7416301aa075607def4f109fb3191a4d8aae7c91256f527738a68fe76ff7f8a09858e7e2d94bb041e4d17be205cc9fa97f4ec99cd141e933c843864691d244662fd676bf463c503e9c2be6e78df83f09796f4a0d27b1c2077913c4a2a6da3aa19dd7fe751b5cf05c4110697592f69432eb68c9b4b0f606b1754ce48b8e565a1037b9c190a021b03e372c3f62c6c62f524fa14e06008e33738886328769feaf26b34aefb43cc5e009244aec9245a49838f7afca579649519656a05176de5a89d1cb390b33fac090152e4d90fbc0238032bd3cd65088f49d074224c60b3880dd0cbd3492e7c1c85069fdf05349c49179d424162fc35b66c12b10562f56794de1825c9ebb3cc60b4073f3887594cf1c59286e0b4309b5cc10afd767e770c79ac0b7833aa2c1d135806bb66dfb480681872d1c8d5239e005c6c68e655d321acf6748ad4f71ffa1813030c800f2b32a2c86112b5093a6bc9c235b2253471235ca1b3d1dc36ca48a1c00326843d7c5fbc65f09d5bbd08a34d36bf601568c60070cbc5188c27ef452df70226a041ebd7a78bdabc9eb00990042f691ca7e89f0349b3e27318de6d00a02e05c6c3baf5ea85e3be03976d426451bcf973054dd7dc3e0309a41f0cff30b18603cec4eacd71689a0c35be7d6dba38e1f32135cb6612b059f798b9b3458239b00635c991596f06432c808cba462ffea65afa3c4bda1142979f90083db6de050703fc00386fb4bc7fd0b2171ca3486455735fe59cf72bc51149ac887dba77916d073076b88fde1fec0b109af844b03364f576f0a9699e6cff1c15d3452187a8a80291a110bd6b64d87c6b4192e6eb36b4f3d1ad087ecaf6a6413a4dfb5a1caac102c956f3126a4187a5aefdac4c7791772410a4dda928c34a2ec42bdaca4a5fa301bfb1381fa64b579ac968618e8184aa5d5f4da7530b9097470241a95f22ef3a03feefb79211b08ec9b21e99a40644444b7186b2a1eaaf02c72d852f3e6e90d60733d3a8dec7b584f202669c9532ac8d8baf7f812f168b81a9760cd50f62bfaf005530b55c64c07899448f876f57c032bebc6f67988a037d5e9abb01dcae99eb01c42c2c9d5362945fda0ac3bbc7579793d66656d426015dea7b31d5211fe35705ebcba22d3e42c98f29acedfc20a0ff125ba4ff75e7348cc9a84dc1600beeea05e00ae97a21abe0bb1e9e2885d9b6e00626b73d53492e727dd5daa218a277e8046946fb25a63f8b262461f54172f5d1e97fe58976cba6fc82a757d77616b6200154bf2fec3a9ada3d56e2dea46b1c155fbce21780f5efd29659623db4880e4f00968dbbda179da905c256fd9cba63c08856674c8bf230e86ebbc9d32f60717803757285b21528b7c55a4b0527dc201ebeffe4206d4090ecf8297362e26318a200f9ab0962e3264910837aecc1ae95bbab0d9437ecd4d35d8d4ccd068133237207be7088c8b0aa9942c9648c886565930f1122312512a77973ce3133f9c87e1b0753c7d53be387c3e75e340583bf6d5e880b12a79bc2760f9955f42d148449780074a9003604d1261710944be951a3e96bb587855aa5744ef83819cf6693dcc3062923191e9403bd691e353c9b102f59022fe41c2341fc059fe598257ad87cae01fe1578eda5a70516a91133bf12bf53d21076317c8a7ed9bb9f2a8eed097c11010d60cf23acad266334a2b3d40c1400900fd196f6f7d7da28a5b03f24eba82e031d40f61ffd3d987bc46180f5c1ce7d15bd2b745b77fbb1c058bff449773dec00a499d90fa68191d6f23bc48e4d6584baabe233b608e7b2fb230fcb6e6f4f4701bcb3840831ac1ab83183efed1f4a039d99495c4c24831135b745ab8e12d86501d7bd5c1bbdf9a5c17ca2a03934ecfebc7331fc6d3733bafeda9cca6af4e3ac06898d2f01d136a8c89ed67c4c6b55602b057d23b75fd30a6c623f9c61c804e601917351c4a72653890e2f3f82340a4712b9e01b6404b9e7e2e065ca3300db0b070e0da0b506c98b9071bc7f572a10fc79b714b1d505ad38d81eca422783711f05d253f4b253072b697b361e02b657be1071d398fa020e299cf22514a999a09707864e40506dddefcb5d6cd3e068bdb2c1b5199420b3ad421ad37de7caab869300ef22879bc71e10a31cef8eaa42459e074d02625c9f293c6505c4c719ded8230530a48de3aa75997985362eb88333a6064d47e9c588f8173d2b2e247e6689560089455472ee84234781f5590f452620b6e54ddc0f492cc8143331215ca5abbc06a0d1a15df52d140f2333122eac42bcc9e771547a10dfdd54f9757652de82cb01456650cca14a02d0694c32ad1d623e28c529cd2a1625f8506571d88f42a363002957788a2934d759db0a24fdcf493f639eae05f3adca49e58a694d34d9e8b80261c9f5d8c262cf78fea0434dc07c558ea5644c000a7295a0ee75566115bdbd0771012ae1a68d8e9e841cb6e5236992e544b7e9384b5f9273b5b80276bcb41c061f297d7bb133bb7e2637c47d86c847549625cb787201dac21171979ce614f005aad6d5efb9bf55cccbc72f7e072cff1694a48bf347504fa1a5dafab1dfefbf02797b035c72b8af8d3c2847ab33751bb6bb7109dd4e0dc00a7d370690dc2eeb04c9d06744cae7bdc7e9b479e950023d591af87b5a556662bee4953bbf30d58306793e4bc4b68c75e1c2f0ab8e49a248d4f222b34aed5d83da7ae3be1e9ec2170466d8090ac00ec13495a07723d66b192a5bfddaed66139350ccb12c07aef75d055035667ee26e44fd6bb1df4f21012dd3809c791daf62e6f97c088de0a9004703845414c456cfde427c272813d3639e86e251878fa7c38939f34f4e4daefc3d0638777691e1fdf94981e37f4da5ecefc6f162d23e54a224b8a2838bb663219d05774cb193f351b3834812dc9e257c4d58f66e5c04aba62232d364533f5fe3320317f1128da813767248171da41f4702578606c7283745ccdb3ded660413caca06c266e99e501ccbca3df5d6bf7ef4198d62f2fe377fab3168f8a2e7bd47e0310068f29d8479044cd012114cf958e24782378e29304157aac7dab9b6806240d5075635f1726010e687029eaa1a9a0880ba87788a06bb3ac82e4dc2b88242614b03f8551444317d3c650fd01b79e9ea94f5d81e692db07c2583e7d94d19ebadb5000ec0f456a652d4db72b555dca46973deaac26b94c04cc20bb1ce2c5eca796602da848e3d34a51fc30e56c96b09ff06366f635e014a1e2ef00dad9684c11d2002e14869ee4c0239b875408c09b83326982ec76b1ea97b2e42557edd6be3b0e4003c5e2a0b93a37504769d273a5336be197a0a3e904fdc378d2e0ef550e09e1f01d90679666f1bc7622343f17a007e75536b1f40e95f3c2038d388b3e91d7a5c00ad66dc9be855cf35ad6d873a18240389bda291e2ea10767613ee86cf56bcde07278e122d6e929dbe241f65c0a5a0547284ec033bee4c1684b27c289f2d9a2c010937c4a8d984d5a3d294cb2a4412b9a504a620b1f3f302abe0d65e60a26790015e71439651123ab9a6c9e3f43fecc73b85a5df39112c31e69da75158cbbd12000c2dc358590fa383e140441a4a38e19dcc015183500493b2868a40f041697c07aafae239f8e68f60708fb85c76f7055d9ef54240f51fc517a4347801a6777901e9b988eaaecbf5416505b3f11b1008e805eab241a08d3b03016bc0f018566906f761d13329c2b9bb77a5b20dba5a055100bc0df44267dd7891a91b5f68ab590321ad1c6260914555dccc6f4a9662ce82d408a269467d0c7cddd71fe7a57c310690439412775cf99eb494f65e1e5d7250746aed723468254234d763429766d70698c53bdddbb012cc1885d0995bc737fee9f11ff82dcbb38b4fc9b74c28ef56007bb88e30576982e326e2376a460aaa45625b154417f107630bc65a8349297d042d3473ea37a57b9dca775528c0ace71d0d7847e64054023af6b160e6d4c66502edc093dcab563c2806bfeffe73a5c3a28e1aa6602b1b4b1014eda6944328c902a78caad698c4ba879984a0ab94c1d9798f007f3d648596fb54fbf0594756f5021fe67f2facdf7100ee792735820511fdc9f72b0152d619036da95826fce17a049f37741b1c021478157a6b69c135e5755225207ee969923997d8fa52320119069e87b1e2864ac07487616b0d5f6f6679a69b06696eaee742659d1b30b70a08036abd5ae371b1790eea7995739cfdc03883c01e8b99759948b0834e0196a22606902cb9bf8480064049e5bed8d58153b5b641577a0de25ddeff5647786c099f03365cc43c20cab5d1d84e134ea3eef8fe463b48e125a90e9befc3f4ec49dc73025d169dd693d1f7fc34bd7380efab607438a235ef165c1f698807cc3f6909600759d9a9fdfcefcec8694b3b5a9c2b42865fdd2d38f5dfd77aa322b3d3f0247107f7f481a473ad1b9ee7b0f9abd16a617f0f0f8d4cf4f77cc1fb2302eb2d4caf050ea35d15cd1ffcce2a69277a53c2c51e1881240ff6b4cf874bdb4ae5f341b100399dd1650707238d536f8ff04ad5bc32ed168ddafbbaf3889ee2136fb6f22805a3f63b6bc707f944a3efc0434ae0997591ebd8460536fe68e950e9ea7f293e01af14ebac7706328818e13463cc6c3cf502ff9c03e3ba1d50682930012fb24901dab4b6ed8547673698f2b491abeeb1d690d4e4a67f0dc76eab4cc5cd22b1680118425e25a35d6f5194877a9384f0f5f06b176be78f0738f7fc17941ccd8b5c03f624d81ea7ff951bd9d48e23bb7282fbb53603b207a6415d38faccf9097d330573fbf5198ff2e96a7c9f27c72e3293fa4f1359792944c2cc25c9cc25cc6be302f0fb9346f0240575748f126987c95f8943b0f19455c719ef0a8a01c4bb08cb007503182d8000466ae349d9105d7c96aa3e24e62f2e722d54870a76e6bea0910792cd4013104da27651e86bcc8740e8b6660595d3173f497bb3a6eb93a5f7ad01b881e2be55241829bdf90af305afeb4dbb735d1af356811a26b641c7c63662006c6a6869b5c117608a85309d043201b1a990a7078b645defcf1d144c2c52a2024b47ff6bfa3ac259424046350fd644f8f02b07fa53653c8f53c7399fde43b0037726d8b394d3814ab58991f09aa810d74aa72a9f387879f7e0d6fe653ab6e0013cb190e630696882fa33babcca655f36ef31125936c7e169a4ec2f4dc7829b0446216b591587793b888f37db10a8d1c181ed7a31ea9d164a99ed8c25ce194d01f710c321b77f157d5467455bced56d6cbf6a2025634f5da994c27a992186ec000d5691ced67f75820e0f60ef1c3ab0bf6169953bd489dffbe544f25e2da34c00960521f4583bf13a8498a344f3809c2f1243221c337712d75f378b6e208f6a03a7900f1e857c055a8a8578a8394f8c75a0aafb777a05e034c6c724a3c6363001f45ed4f87e34219a3b4b36c0028a8af1768b4a54327453a2e7f98a036b7d0405f53c3c1719c274f66a05536a8f5c729caf8fa5c2932e22ab36594219ca773805cb15ad546fee87d87835092615305c32f74666fe988962cb501a7a651ebde6002a9c56e66cb41df879e0ed32fe817a77fdaa40fc0b9c13a4d6fc6718e909e607ec1e38450b3c458db323ce1abf1318533256e771f6da57279113e99d5c7bb703f2fbaeb15280ef5f90df7ed41a22e8125a55d0c0302010aae09dbec40b486d02735bfea97f4443ad6b7dea01f289cb1d26f1b4d1e5e7ed1aabdee98845f4e80304e22662c91452adebfdb4047fb894072fb82ffe75d68616ff4ad0b2e16389078e58f71a2f1b35e321c410a85dcba655ff6f131f7054ce847f1d5b44dad334025310b271c9c10b680652324b9396ce5f829bcbb4f0b0536ecf7a94cfdc97d00543619fdb639ffd149c8e37a595e01d7c4fee1a9846019b38a53abd40daeb4103bd1bfa86f5ee5267b989ed532a5905f0760c26765086c4598abbc253a30fa202b1e6a17d31f3850a898089124bc77ce5ca8f492d349f1d51404461a0b6ebab058c7ba1dc39f51701b5c97d26e01b84a216db3ebfcf0df54b848cc8fa42ab8c06ba5f1870aa1a9b84dfe539ff0de48dbffe45a4e79480cb32c1fc741b311244027672816d344679244a11a18ec63d20b215559e63393a2f2872e46f10f3e3490556f0bd9a0eca92a1a367981f6c23e6573c05d54363a6ab19a2397eb5e53acd02dd5b3d974e5df50c2c28283a84826b450df78576315a3647c361f37dd25d3a020fa7ab5cdfd8e898d5bd5668611914e7edadb5f59b494d12c2242566175d9605c02d1dfdbd16fde1da287a170654678203abb9fb225fd7304f56c885cc6ab2033d38f810f1d1574f8351ff1978e5c40404a3107218b73db85bcd26ab1c59bc0270cc84ef7bca8f5a8bd47fe85895c52fa9f640b123a6fc28edd9f9502400a9065d4eabfec3ccc1833090e14b8c9420313b996b5356bb9adb85e691fe3b89c9003c3f99c8adec4c8aee6fdf7ffac07fcaa00061d20a1f7618419460d811a99303af1b3a90d022027958804b626640adf11610a772876c7987394583fcbfd5190057cad7e517f4a83f43837fe8693baba3ea1dae97785d9149413718505ea16d01710c9812735f944528c62bdec8594e6baa63d28a33974b6964800c38dee6340151d8f85f255597766bb31e6bad79ae70b098aa981ea86153309945c96e8c9000500fa0c0461b2838d2098d274ea5ab43c73d1cbb01e03ad9987791c30df9370259c110b35ed2363028c49c0e0855c9b949e77ffa0649db5c6d3cf359229dff0083e9a90de381b111511bc44cb219d5bcdfdb09c2290e74f5a25fd6fb989fc60729560d97f4c7f3ebc1eb2db0e4332cc5ce6207051c7fe32f482b333403af8100429af19a1484cce9dc8fef3a5d5c0c11deccd433a328c6f26200ab3b3e6bdb035daa925791ee9603266e0a617d095a99f9c8c3d3042f0af99a5d450257378f07baf7e77f3b9b9131d06fddd2cf9decee73ad0ba2b275527cd1089c50169f9a033731f5a765b9ed043f0a6f34feb9097db8d67bdcf5f254043cd44aa45732fa073dfa82d77e38af15b135186a9de921b80dc245476c5a37c9e0d004b727b2cc02cb91e3a60748262f1d04951d771cf29464149a2a9c600c7300c0977492b60000179f2ab61ae6a3bfb60cbdc54f47a7fab1225eae1a30b8990e5d58f5c45efa044679c917670dfbbd99b924dbf3dde24875627bb6144837f987bdf4088b8d5607dda98ab8b60a60693690d79512119fb95b6abd28a218a855c1c5af1ac529dc055225959d4b6da993e234b042da33e9dce2425a0548b1fd6a22ecf6c1667ce500c00f1e92eac88c946784a601dd8dcc3f71033c8be33b353087f8facf0b70b5000d92d4b326a25da3a8843d8d1e2c322c9ff230b4170c31e9986c38dec1cf5403c3f62851c1e50108f5af14bf46ae5c737c0af4aef12b65a61a45fad156222507808df29320217298eee0b28f77a9c4d2e79f88c2608527440b8371a128ea1101f59b25f070aa6a0130dafcf22989a5ca603fb8c5e562f6d00a838c2ca5271e0090e27e0395d6bc7cb784527a0aed0ed5761451113a8bd6f7d2c1768556e352006c055d768e3a0d1d796800b8a7ab2a8dd44ef24fa308d7c010c897b3aad43b038cca0b02b598f08be07f5b6f7dc6ae5d893b5c769f995ccf0466699a7fb6ca00000b9847ef1086e4f55de00647af08682d2d535477c879c283f151d1c9dc60066214c61c499c6989800e1d76e3896847f4213d974447fef0e7eb9fe8ed119a06fa1333ed36a1ce93a818bc67d3d7985f3118fdd6b2dd9e408616f3ef198eb5035cf1cee0ad706be9a6826e988d56b682749852d0befc359d25a9af2abd783a04aed284b18c4b89df011a665dd46e5112dc5ca4c8378bed267ea75044c026f80110cfc033ccc5728ac71fb36b29581efaaf217bf4cf60959f3618a92774ae6f0550419ab454d2cd9662791507c6c4d8452e72d1f0ed866a0e4de3c8c95c00ad000da382f973539184cd2b746a9a75f13d5079a0f7d85f7265592a8f21550c5604176546617c07ba0d5f96cad4d988548b515f8948b5c7aec5ebfa8aba5d836b06d5d68410e577387fe75a0813d8fbe9326fbe55b9aac719b02ad629b158b21c02a8a17e4622b9a9d0046f2725ab161bcc471cb381a6f616f38a237701c85f2807722939d24856a99d39414d0d893daf31ace40ae22f91e798f372f6f01fce3700599beabbfffcb9b0fd6bbc5fd0a96409b9bacbb758f39e821ddf258995fbc205844873d77fd9d6fadc6d86c0c5f862e55fd46d554a3ded925216a45c4fdc0f01134f3d9b00b0f4460e36fd8138bf25213f8cb6d81544124b3f005d48a52c4c069b63e6f3130d7e1869b3c841f0ecce0b8072d0af2c528c468cec242bd7b03d03e31d85051949fda049732176cefb137425c6ab5a0212ed85f3a297a9f4821a020276653dc89b7f85a1eb31c6c4eae755008b2e098e8f130b4c105b8aaae256043f7fdacea48095508774ff01730ed72eabe9d3d2f5755f4c83a07ef75cd6e302ae28e19362eb1184394d1ad4e3902f3b02ef0bb403449827c11f72667df3cd059ec1de23a1f3287c7938296bed117436625ae4d3d618ff65b79a6eac91f71b04166806a1bf26f2ec0a093a57414505457e16a5e02cf94b2f5d8ceaa7ab3d52029d4bde93ee2d10e4a6cd3ea113bc36a8ccafc2cb37fcb4153fea9b6f95a441069ed83489764bb12c0f8219cc4cda2573df5def83b93a680951d5e628f2a10706f395a3d0411168a1ee7993be670def958f2a7591dc19d2dc750e2456f83a480057d3e7bb633eedd3b952a98de982ca512cc0a55bb9cb548c27c8c200e5adae0258efc7a00690bac0fad7e64f6541244109aefda46086c161a9d445c68e9e3507e51a6fa53f32d3e743916948ed7ef7bd7d6a79feaf87d29fe7452c81d39f3f0164ea4658bdcc8a16b820274da898813578bd82cf35101352ab77a16e438046024ee494d2addce796b6c3e28f8d1a34aeec074d9c4f3dd8e17d622fd50d1f330528bee48002fa5e4c14745318e29edc816306bbeb1afae83cea95ff8df6bb50065cd95a3ddc82813a647be6ac79e3dcc26616f73622e4d3184884359b461e4f010e9ff4d2bea3100fdc6b72736c13b9f5a1dfc62222d3f664b73cb86906d3e305431df147cf34c5d82b713ef92cdbed174bee871154c87ba79f385777d87f61049f08f8fdc19c4f40a91b44c58ea80f3946530d3eb39b510054233a826e64fc02b70d3754cecd651b6f52fb65da9120bc4a1016ab3c48eee4fc06e64465b76002d04a35ee00abdfdeadc7bb68d0fdb68cf288c04d207e80a57035ddbca1c54902f9fb73fcd338825b234f489b4387bc89b396bfcf606a5e66341f6520a87e8f059ec5945ef517ce69cc0dd8f037426137e4d41a95205d51460461ba73d714390120f24433a8220ed8ccc49afa93eca586a4519e20a7e3a1a3415d3eed50eadc00ad43d30f17e5e352abebf1565e90ae9a4ff297f5210fd931bbd094edf8354002e19ead93d82995873c1e5006cdc90665d5229c1c9c0aa0a0a49652a3dc7a79009cf1d72070a34e5a3294565676c534cff12a9bd4028871c3058000c0b4994104b8994066a905707459401dbf758fd0fc6e583e408aa2cbabcc0b105c604590025c23aa2319e646ed46acd25121f60b3cb4d1a06aa75f73655608305de2337e056c7e10b4f4876488a15a70b7bce2986898d631e68762f0e16f8ebe638eeda9055b24ba8a0a6692c9e5bce24f6d97f70d7ce6cba51f4179cd5f1150fa05d7020722f015b47eae97d1edefec2f934098f3537719a06d2d32d058d24ee73103d5030345ad2d45dae570511e8554566dcad03888bffa820789bd660365ac190c61043e30b255f981c9d0622e9aa641e59eb12df92db1a9d160925ae9b1e48e1372019b413d35eefc1cd9bc49b0e5f173fbdbc5f50cba7c8d0157639c735225bf0f01a1e51af801f1038a059b09133912dad103c7fde1b3f8e7122cafe2d0f395ce06cd41128f871054e7287f1dc108be054471a05f5bf0bb93e12d001de308ddf902d0e7fc2b36692df012a81c13581efd91609a5e91945a1f73aaa9cb89eec7f700a44d8dec262bdaa8944636f864d41db893974655a798036220c8a0ad1d269d0121cf2d28b29c24777a3cc41dfc290a75d1ff3af3f1253b2ccb4926f3f1071b07f6b641c56a61fe80f6348c9062d0b4a13d31fbc2e4766de86acc58ad6d640c027957ecd0bc0ce7d33307e38d21a89bfa8bd1e7d40befd6e31053d870793b3b06dec6a3cf06be7a3ca35cdfe4c7c19780d413ff8be8f822db7ceeb650f0e83d01ce547c3126f5c0a81ce65a1b19568cb01b02c79410d26162ad5e8bf51c71a206fb0b91fa2b7150c70b19ec03a76eb53312f72673be8ac6825269034a07c5d003f50620e4fa5755d489619be7909fcc1fffbc1f67a36bed855ab2dbcbabc46c073401d92e87855166c25810cc476ecde1fbb942dda5d4d85eb5640342dc5f920513b8407ea300d16444f9ae9709012f6dda893e2e36f2e3bc561c0c9453d66c02a5bbf3212717c27b61cf4557b1624bc12a2065e891044c646ae7348541fd3501acfbbceb47863ac50e44dfc2c80fed3acda7d1b230751e332732cb01474f6400caf66e9fa4f2816e3e0a42435e3afb6fd87cac97d06bd38fa0d3a631e01c9c003b3e86c8536c90fd25793807024131b14d9278d39ae11e64af305bf4f1e8cf039e3794f8a814d4e5920099922592f61962fd0e6e34b9c4cf3ef8bc877f819107c7adb89ba75d4d42bc8947686bc22d874d9b24731c28a441e08ba5cd7b1304013d1156c86843b7799a8d2dc251a44aca158f185b2c8176e63e09216df1daf6060c4edddb57c1bc8986bbbb76f25d5cb5c44ffb435da5c60d76b205bdff446d05ce45afab625a785b9f87854d887d3a025efdabd60e09ff542ca2b0ae00670805f7ebb186b1dc7d46080fdbe0444e4584ec2d3395ff26ef5c14cfa8e15e0bf00306033a5179acc246e6cb9bd5897ea4ae9e17d9430aa5f271da1da3592df07b07f4220dbf13c4b8564e7b71eed6aef910212b2d0f47b8702645ac14b9429e1c0385b4d9f9d7e1f9bfbadbb79eec08fcf0950fb27e4029070c1093733606413702c0e91e7ad399824d5765e33313032d1e9edd6fb57ec5098028d26a2a6055c00523a20d4ff187a2042939bae540c2aa1229a66335cfde93937b2cd890a0afb80672b41e816430e5cbde6dc2307ddec28fbe0d456a736c51ecf949cb21eb95cf06e69bfb8e12e4cf27942c8fe8f8c0bdffef1f14bf7c3fd2a3de6a8948f94d1c06d7e1634b6e28c2bfe90fa2db52f25841359c2f2193656f9e1d6dd802c6f90004f79e17813f57b5f8d40daf3a1208d50ed09855aa46615d8cc5c8053e81aff7077154597a6bf948be1083da1ed7b0d679a2d28218036273d77a1232333689d4036320d3cee671d160cf7bd8b508327ab888ff4cc21fee83818b393db510c6d6049e3e5e42f3e19e9eccc57b70fe687ebc0a2ccf58a87c92e412adbc576c0d3106d6e5648eb513fc5d22ba2b51f4e0aaeb860af9e3afa930b4b479e996f0b8a306880cb1df9a9f6a99c6867edd7d57c674bb9067608b9a570748b31e3b60b97b011680b8c9b12e8a0a6a9799608ce7256210be48250a5079598fdb301fb5dfa1060c0618a6eb0614053f339edb850a429437a5a5b1023f85dfdb5896e525e5ab026f84d678057a16faf3bb1753a88607b2ec05bf5be4d3b58029ce325ed77962059dc33cebcbfa000c2d7db319ede3bcbb961593176568efab0d97919956e79503aa24f85f864fc878a597d219eb6625b2f020b20ded3a158b84941f75712da005f0509da051a645836db0f3a5d63902f833dfb150c04d16b088ebababa0e1d4025a8d6da5482eeda8059066dbc4bfe39302aa36ed0e22b5a1d4a1eb2937667e05b1d7a05650b6768632a60fed3335e775934873958a5bd0c34b9bcb0c273d7a04177c17eaf36cce72ea40a0e4a1401d16b079f547b7bb99c98a944933bb446d00644bf4652af229b0cfabf2a0a4035069dc728b85c3403f48805a6057715b300060941610bd2c332df6b254e24797a9b351f68ff3b84afa50064baea0af7d080600f82c8fea56a1b954bdd205d5d2ffcef2e09e2a29c2474bb648f32cfe733e008dfc836da1f545c084c0cf34cafcf07d9ec814af7c787deaf31ac5b7548c6f00e29b843d40968aa4d9e92a0aae925e2d204f8640fe80277f90ccc310b05c5407fde9b3aa68ecb297440e7518593de741bcd4e3c6792d75a651bc08a139581e02b4973db904cb86b1f4451902515dea04854cfd5913ed00b6b67f2920c8413d00f2a2a80d2038e8baa9469f4fd9eebc05a0deafb21634d07375c4ca9ca4479c04e0c914bc4ed8748326387fe545cb81e81190044486c040d4d6de0162ff488004741c15529bfa1d47e7fcc51fc43ec583aa2ac9090d06794f0dd411c8f43a690118efa3641ff2110f05ddbd0abbe6671f96d060f30f288f08d11864c5ffa50201334379045657747c9d062d5a4c47e665dc61a45b70d549ee1df5dd1ae8589700c7355c2b0d64c6f3f4fb1fb4ffd4522f2b27406bd304061a1c62c982d1e150014169dc4d7f7c7d7cfcdbbb0525dae80cc82ccb60eb53730ff3b5f6e55a379e0060e50cd24ab9b96bef9ca64aa5f421c8728db79e60fc8c12922088d9871737027ce7c1fb0447d2644200740a79382d5f95f15727993481789cf278c69ba1810522e2686e70f7cac7cb0dd8674b4d4a2463498150a43823a0c34763e50da25e03d7ea89ee4241575dfc7711dfdca83004cf9fa88b05a9db2721b60dc64687a3000cfe3ef204902fa8b73cc67662345c7958af408ef504fd1fea004ed9ebc333040090e870ed98e7222176984a36ec015da281b4fc066c0f02d187c9a63d42bd03ed4107979611e8bd207e7ec88c16bbc4add427a6a11cb436c891dc17f9c9100271847cfe9d93867115a540f7a37cc062978ef3f052d82af70b640b8c4791170670cf7d3240105616632e3c92e66ba84fdacd2015db4b79335ea4e01a35514400c2174ae0d6fd6a930ac9cc3e08139c30d8d4a04a963a29d18074d7498c737f02446ed934ce2235b6eb06aed719e1366ed670343987eeca44f37ff0303f2ef9020ec7f188c63f0fe29ad38c2930c5a69b91e06a689f703744a4cdbc531930de03baad80b27f93675ce81b5f2ade392f76f673752f2efe5de0800e20f374618a0545475a6c163772b45cb4fe4c54473ae3732579928350d6b02dc6dc7525816b0511cd397a73369bea236444453676ffe28f854f3ab50a117b9caa12db0a429902891e784e08a4a1f358342e5b9b09ede508d0d23437ce9591613f0c67dd651b0157a9ef65392a4154c2c74951ec85a18c769f09ccc46ec3653df500e2e061140082158b314a770e0a2fdd3a8cf8f7e8a8c5fc24d89144a1482034e3c520bad500302cf4e783e2202f017320c01529b9542949da2c643ba4890b3e8422e8389906cbd53132e77d57eb45a77ea94cf872c1f89908e98d2fce4c0640d670870ed107dbc7a77a7da394f78f8c7b9d67cb90e805d76917f3ad916abe755bc620009d001db40fcebccc83420d8ff759dbe004a6b65048744e080079a416f9459bb4f70520a551f23428cf81c43290184d6d2c67a1a4ac67fdbddf4af5c4e15343f2d9031a3a16dc9e3b00f9a4a0e5aa945d3972a1fa0277db6a3ba4d9311515c740300796b03942c4564dd60b78610724ea380e04d01fcf54d4bcd7aee7aef0918cb305e5273f3e21b01d917b0c1aada99dc81f3505c22f14493233c4ca0515cb353104226508256c83ee2041115904c11c8661144019d17804163eae1f8613ad1cf700c55f4e9cb97b53646c9f54b373be588c981c8cbf4f600ac8dd81ea0db6f6fc024f9072976ac1697a18b1357bd3c890da13ac83d822836b8bd1bcb1a9031969011dc94ad58e6f810052c670c405d50cefeae5a0ecfa965128d43a42b529595a01c2e7623a44ec2454580e43295e86f0ee1880d49df3ac818451c455b32570fe040277c98cec68ca8b92322cf530ef426e5585441e26ad044addfc0fccfa5363072fce0474fa59c55315ce4dbb759a479c8f22c89cf6522b60436638a86d8c3d0664349a739df6afc3b4c9180c74b0246e8c3e96a72e4f1727cff8c5b55b14f407084b7c24a8ff84e3ea69097f4b855f69efe797303ecbf9a2b57bb81f22681f05a123346d578fbb175909814e5718fc479c930047f25fb9a9877b359b6772ba01ec5a3b296c916d6c85d540bed93c560a2075b11ab35dd2dff5d90c85e116250443cb0b50aad98c7086c5c884d4016cf50a2435e37023bc2176310129001755039b4e3e5419057175b19615c6e58a37ca5de4dd10a2c8ac4478ffab811c5dbe066419e50af34781bdaec754f8c760e8e98decc5b4428f0f031c8ed60208ae9703db548cc5b75bce78b73fb62221717f938eca5e1b57c35a9f6ab1d046a620690277d5ccf2611dc5f18ceabac8e74813800b3293ee80ce54fd4c30640bf36664064a9cf3fab2d03c200b8554bcb564370a2e65b57e377e7fe5d92bc3d25fa51e070aa4d869faec033cd93b764b23a75d49530a7da1c7d1622b0c73a356bfcbe004635400c7be21d11893e5662ae38172f3850812c317638edbf0dbc9d07b4401014ad18f7ca66217073b1a946aee00ec35353ba1752739238457775a5eb2597506440606001319e614f4749239e6f0828dd42220a61a8252eb774529f297c29e01f95f013fd2537326af70be685f54be2a5a5cbd94ccc369d7a97c9584a94d6402cf321ff2cb4cde67b055b5fc1e2cd80662434e45c5d064a09bd2a9a1fe20ee06c2b346c257224f700b16d7c34df2edb68c92bd8997647ef3b499a1a994dc9202970888559a35b239eace99a9a10771d00fe1fdd79fd83fd9b54564ad5ee8b1037575c22ad03e59a3178ecf410ce4965770f56109111799475e18c380d9d21006e080ca169d85691fbb2c1e139f6f6911d3e4f2d386928cc44cbbd9ab365b6606c92870992a59264100244dbbe1db13faf4c1bf772b195086c1f99e6701933204e1c93216a2cd0d293699fede97d36780079617588f80fcd26f8f91cbab29b0053dfb1cc5372937f05382e3f0a2274773771c8e6b1b10072f2f8826fb8365af005fc6777cd8a2cd2dac1bfc4f9b75a7466037cc5dc0bac4fb0675f358fc538202d6c9d5660ec86d5cffe3bda4ae43fd6f906d7b4d293e4b5d71e9634a11631c02d37bb9c2b1b0a5c3cb92cebd598d5bd0f2dd93dbf6bcf16294e526f27dc64b01787bd812bafbd5861d26582f5063e9bb50413b814642a9089f7cf4519d1dae01d5ac943315a308118b888f72880e5a3f60154cd79d187cbbd955b1944b857e008bbb4631c47e0c214a9a721a63929acb7f1d4a437fd433a3612f389790ab6f06b3525aad8e5abf9d6989451f9e5ac94dc5e5e50ce9bb9389a96c87c74e294005e2109ce139921cfc24f481defcdfeb8e25549afebff4a732afdb440d5497d407be3e65b8c144dd1ce915f03054ff6c9be8291495a014f413415e3d8f89b098036afdaf75e20460d7d79d31ddff36001bff084f593e0994ffadfdd93cc4d524", + "proof_parameters": { + "channel_hash": "poseidon3", + "commitment_hash": "keccak256_masked160_lsb", + "field": "PrimeField0", + "n_verifier_friendly_commitment_layers": 9999, + "pow_hash": "keccak256", + "stark": { + "fri": { + "fri_step_list": [ 0, 4, 4, 3 ], - "last_layer_degree_bound" : 128, - "n_queries" : 5, - "proof_of_work_bits" : 30 + "last_layer_degree_bound": 128, + "n_queries": 10, + "proof_of_work_bits": 30 }, - "log_n_cosets" : 4 + "log_n_cosets": 2 }, - "statement" : - { - "page_hash" : "pedersen" + "statement": { + "page_hash": "pedersen" }, - "use_extension_field" : false, - "verifier_friendly_commitment_hash" : "pedersen" + "use_extension_field": false, + "verifier_friendly_channel_updates": true, + "verifier_friendly_commitment_hash": "poseidon3" }, - "prover_config" : - { - "cached_lde_config" : - { - "store_full_lde" : false, - "use_fft_for_eval" : false + "prover_config": { + "cached_lde_config": { + "store_full_lde": false, + "use_fft_for_eval": false }, - "constraint_polynomial_task_size" : 256, - "n_out_of_memory_merkle_layers" : 1, - "table_prover_n_tasks_per_segment" : 32 + "constraint_polynomial_task_size": 256, + "n_out_of_memory_merkle_layers": 0, + "table_prover_n_tasks_per_segment": 32 }, - "public_input" : - { - "dynamic_params" : null, - "layout" : "recursive", - "memory_segments" : - { - "bitwise" : - { - "begin_addr" : 2538, - "stop_ptr" : 2538 + "public_input": { + "dynamic_params": null, + "layout": "recursive", + "memory_segments": { + "bitwise": { + "begin_addr": 2538, + "stop_ptr": 2538 }, - "execution" : - { - "begin_addr" : 37, - "stop_ptr" : 104 + "execution": { + "begin_addr": 37, + "stop_ptr": 104 }, - "output" : - { - "begin_addr" : 104, - "stop_ptr" : 106 + "output": { + "begin_addr": 104, + "stop_ptr": 106 }, - "pedersen" : - { - "begin_addr" : 106, - "stop_ptr" : 106 + "pedersen": { + "begin_addr": 106, + "stop_ptr": 106 }, - "program" : - { - "begin_addr" : 1, - "stop_ptr" : 5 + "program": { + "begin_addr": 1, + "stop_ptr": 5 }, - "range_check" : - { - "begin_addr" : 490, - "stop_ptr" : 490 + "range_check": { + "begin_addr": 490, + "stop_ptr": 490 } }, - "n_steps" : 16384, - "public_memory" : - [ + "n_steps": 16384, + "public_memory": [ { - "address" : 1, - "page" : 0, - "value" : "0x40780017fff7fff" + "address": 1, + "page": 0, + "value": "0x40780017fff7fff" }, { - "address" : 2, - "page" : 0, - "value" : "0x4" + "address": 2, + "page": 0, + "value": "0x4" }, { - "address" : 3, - "page" : 0, - "value" : "0x1104800180018000" + "address": 3, + "page": 0, + "value": "0x1104800180018000" }, { - "address" : 4, - "page" : 0, - "value" : "0x4" + "address": 4, + "page": 0, + "value": "0x4" }, { - "address" : 5, - "page" : 0, - "value" : "0x10780017fff7fff" + "address": 5, + "page": 0, + "value": "0x10780017fff7fff" }, { - "address" : 6, - "page" : 0, - "value" : "0x0" + "address": 6, + "page": 0, + "value": "0x0" }, { - "address" : 7, - "page" : 0, - "value" : "0x40780017fff7fff" + "address": 7, + "page": 0, + "value": "0x40780017fff7fff" }, { - "address" : 8, - "page" : 0, - "value" : "0x1" + "address": 8, + "page": 0, + "value": "0x1" }, { - "address" : 9, - "page" : 0, - "value" : "0x400380007ffa8000" + "address": 9, + "page": 0, + "value": "0x400380007ffa8000" }, { - "address" : 10, - "page" : 0, - "value" : "0x480680017fff8000" + "address": 10, + "page": 0, + "value": "0x480680017fff8000" }, { - "address" : 11, - "page" : 0, - "value" : "0x1" + "address": 11, + "page": 0, + "value": "0x1" }, { - "address" : 12, - "page" : 0, - "value" : "0x480680017fff8000" + "address": 12, + "page": 0, + "value": "0x480680017fff8000" }, { - "address" : 13, - "page" : 0, - "value" : "0x1" + "address": 13, + "page": 0, + "value": "0x1" }, { - "address" : 14, - "page" : 0, - "value" : "0x480a80007fff8000" + "address": 14, + "page": 0, + "value": "0x480a80007fff8000" }, { - "address" : 15, - "page" : 0, - "value" : "0x1104800180018000" + "address": 15, + "page": 0, + "value": "0x1104800180018000" }, { - "address" : 16, - "page" : 0, - "value" : "0x9" + "address": 16, + "page": 0, + "value": "0x9" }, { - "address" : 17, - "page" : 0, - "value" : "0x400280017ffa7fff" + "address": 17, + "page": 0, + "value": "0x400280017ffa7fff" }, { - "address" : 18, - "page" : 0, - "value" : "0x482680017ffa8000" + "address": 18, + "page": 0, + "value": "0x482680017ffa8000" }, { - "address" : 19, - "page" : 0, - "value" : "0x2" + "address": 19, + "page": 0, + "value": "0x2" }, { - "address" : 20, - "page" : 0, - "value" : "0x480a7ffb7fff8000" + "address": 20, + "page": 0, + "value": "0x480a7ffb7fff8000" }, { - "address" : 21, - "page" : 0, - "value" : "0x480a7ffc7fff8000" + "address": 21, + "page": 0, + "value": "0x480a7ffc7fff8000" }, { - "address" : 22, - "page" : 0, - "value" : "0x480a7ffd7fff8000" + "address": 22, + "page": 0, + "value": "0x480a7ffd7fff8000" }, { - "address" : 23, - "page" : 0, - "value" : "0x208b7fff7fff7ffe" + "address": 23, + "page": 0, + "value": "0x208b7fff7fff7ffe" }, { - "address" : 24, - "page" : 0, - "value" : "0x20780017fff7ffd" + "address": 24, + "page": 0, + "value": "0x20780017fff7ffd" }, { - "address" : 25, - "page" : 0, - "value" : "0x4" + "address": 25, + "page": 0, + "value": "0x4" }, { - "address" : 26, - "page" : 0, - "value" : "0x480a7ffc7fff8000" + "address": 26, + "page": 0, + "value": "0x480a7ffc7fff8000" }, { - "address" : 27, - "page" : 0, - "value" : "0x208b7fff7fff7ffe" + "address": 27, + "page": 0, + "value": "0x208b7fff7fff7ffe" }, { - "address" : 28, - "page" : 0, - "value" : "0x480a7ffc7fff8000" + "address": 28, + "page": 0, + "value": "0x480a7ffc7fff8000" }, { - "address" : 29, - "page" : 0, - "value" : "0x482a7ffc7ffb8000" + "address": 29, + "page": 0, + "value": "0x482a7ffc7ffb8000" }, { - "address" : 30, - "page" : 0, - "value" : "0x482680017ffd8000" + "address": 30, + "page": 0, + "value": "0x482680017ffd8000" }, { - "address" : 31, - "page" : 0, - "value" : "0x800000000000011000000000000000000000000000000000000000000000000" + "address": 31, + "page": 0, + "value": "0x800000000000011000000000000000000000000000000000000000000000000" }, { - "address" : 32, - "page" : 0, - "value" : "0x1104800180018000" + "address": 32, + "page": 0, + "value": "0x1104800180018000" }, { - "address" : 33, - "page" : 0, - "value" : "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff9" + "address": 33, + "page": 0, + "value": "0x800000000000010fffffffffffffffffffffffffffffffffffffffffffffff9" }, { - "address" : 34, - "page" : 0, - "value" : "0x208b7fff7fff7ffe" + "address": 34, + "page": 0, + "value": "0x208b7fff7fff7ffe" }, { - "address" : 35, - "page" : 0, - "value" : "0x25" + "address": 35, + "page": 0, + "value": "0x25" }, { - "address" : 36, - "page" : 0, - "value" : "0x0" + "address": 36, + "page": 0, + "value": "0x0" }, { - "address" : 37, - "page" : 0, - "value" : "0x68" + "address": 37, + "page": 0, + "value": "0x68" }, { - "address" : 38, - "page" : 0, - "value" : "0x6a" + "address": 38, + "page": 0, + "value": "0x6a" }, { - "address" : 39, - "page" : 0, - "value" : "0x1ea" + "address": 39, + "page": 0, + "value": "0x1ea" }, { - "address" : 40, - "page" : 0, - "value" : "0x9ea" + "address": 40, + "page": 0, + "value": "0x9ea" }, { - "address" : 100, - "page" : 0, - "value" : "0x6a" + "address": 100, + "page": 0, + "value": "0x6a" }, { - "address" : 101, - "page" : 0, - "value" : "0x6a" + "address": 101, + "page": 0, + "value": "0x6a" }, { - "address" : 102, - "page" : 0, - "value" : "0x1ea" + "address": 102, + "page": 0, + "value": "0x1ea" }, { - "address" : 103, - "page" : 0, - "value" : "0x9ea" + "address": 103, + "page": 0, + "value": "0x9ea" }, { - "address" : 104, - "page" : 0, - "value" : "0xa" + "address": 104, + "page": 0, + "value": "0xa" }, { - "address" : 105, - "page" : 0, - "value" : "0x90" + "address": 105, + "page": 0, + "value": "0x90" } ], - "rc_max" : 32769, - "rc_min" : 32762 + "rc_max": 32769, + "rc_min": 32762 }, - "version" : - { - "commit_hash" : "INVALID_COMMIT", - "proof_hash" : "INVALID_PROOF_HASH", - "statement_name" : "INVALID_NAME" + "version": { + "commit_hash": "INVALID_COMMIT", + "proof_hash": "INVALID_PROOF_HASH", + "statement_name": "INVALID_NAME" } } \ No newline at end of file diff --git a/examples/prover/.gitignore b/examples/prover/.gitignore index 7d55b763d..b61f75b9a 100644 --- a/examples/prover/.gitignore +++ b/examples/prover/.gitignore @@ -1,5 +1,8 @@ -*.bin +*trace.bin +*memory.bin *proof.json *compiled.json *input.json -!fibonacci_input.json \ No newline at end of file +!fibonacci_input.json +cpu_air_prover +cpu_air_verifier \ No newline at end of file diff --git a/examples/prover/cpu_air_params.json b/examples/prover/cpu_air_params.json index fb3d6aa72..415ed7693 100644 --- a/examples/prover/cpu_air_params.json +++ b/examples/prover/cpu_air_params.json @@ -1,9 +1,9 @@ { "field": "PrimeField0", - "channel_hash": "keccak256", + "channel_hash": "poseidon3", "commitment_hash": "keccak256_masked160_lsb", - "verifier_friendly_commitment_hash": "pedersen", - "n_verifier_friendly_commitment_layers": 100, + "n_verifier_friendly_commitment_layers": 9999, + "pow_hash": "keccak256", "statement": { "page_hash": "pedersen" }, @@ -16,11 +16,13 @@ 3 ], "last_layer_degree_bound": 128, - "n_queries": 5, + "n_queries": 10, "proof_of_work_bits": 30 }, "log_n_cosets": 2 }, - "use_extension_field": false + "use_extension_field": false, + "verifier_friendly_channel_updates": true, + "verifier_friendly_commitment_hash": "poseidon3" } \ No newline at end of file diff --git a/examples/prover/cpu_air_prover_config.json b/examples/prover/cpu_air_prover_config.json index 423f1ed82..d7465eaf6 100644 --- a/examples/prover/cpu_air_prover_config.json +++ b/examples/prover/cpu_air_prover_config.json @@ -4,6 +4,6 @@ "use_fft_for_eval": false }, "constraint_polynomial_task_size": 256, - "n_out_of_memory_merkle_layers": 1, + "n_out_of_memory_merkle_layers": 0, "table_prover_n_tasks_per_segment": 32 } diff --git a/src/lib.cairo b/src/lib.cairo index 3b691780f..009a11d24 100644 --- a/src/lib.cairo +++ b/src/lib.cairo @@ -20,7 +20,7 @@ use cairo_verifier::{ air::public_input::PublicInputTrait }; -const SECURITY_BITS: felt252 = 96; +const SECURITY_BITS: felt252 = 50; fn main(serialized_proof: Array) -> (felt252, felt252) { let mut serialized_proof_span = serialized_proof.span();