longfellow 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CODE_OF_CONDUCT.md +10 -0
- data/LICENSE.txt +21 -0
- data/README.md +152 -0
- data/ext/longfellow/CMakeLists.txt +76 -0
- data/ext/longfellow/extconf.rb +77 -0
- data/lib/longfellow/attribute.rb +65 -0
- data/lib/longfellow/c.rb +105 -0
- data/lib/longfellow/errors.rb +78 -0
- data/lib/longfellow/version.rb +5 -0
- data/lib/longfellow/zk_spec.rb +40 -0
- data/lib/longfellow.rb +162 -0
- data/sig/longfellow.rbs +74 -0
- data/vendor/longfellow-zk/LICENSE +203 -0
- data/vendor/longfellow-zk/lib/algebra/blas.h +121 -0
- data/vendor/longfellow-zk/lib/algebra/bogorng.h +68 -0
- data/vendor/longfellow-zk/lib/algebra/compare.h +40 -0
- data/vendor/longfellow-zk/lib/algebra/convolution.h +219 -0
- data/vendor/longfellow-zk/lib/algebra/crt.cc +42 -0
- data/vendor/longfellow-zk/lib/algebra/crt.h +299 -0
- data/vendor/longfellow-zk/lib/algebra/crt_convolution.h +114 -0
- data/vendor/longfellow-zk/lib/algebra/crt_test.cc +371 -0
- data/vendor/longfellow-zk/lib/algebra/fft.h +104 -0
- data/vendor/longfellow-zk/lib/algebra/fft_interpolation.h +304 -0
- data/vendor/longfellow-zk/lib/algebra/fft_interpolation_test.cc +168 -0
- data/vendor/longfellow-zk/lib/algebra/fft_test.cc +257 -0
- data/vendor/longfellow-zk/lib/algebra/fp.h +59 -0
- data/vendor/longfellow-zk/lib/algebra/fp2.h +240 -0
- data/vendor/longfellow-zk/lib/algebra/fp24.h +342 -0
- data/vendor/longfellow-zk/lib/algebra/fp24_6.h +305 -0
- data/vendor/longfellow-zk/lib/algebra/fp24_6_test.cc +197 -0
- data/vendor/longfellow-zk/lib/algebra/fp2_test.cc +280 -0
- data/vendor/longfellow-zk/lib/algebra/fp_generic.h +533 -0
- data/vendor/longfellow-zk/lib/algebra/fp_p128.h +91 -0
- data/vendor/longfellow-zk/lib/algebra/fp_p256.h +68 -0
- data/vendor/longfellow-zk/lib/algebra/fp_p256k1.h +123 -0
- data/vendor/longfellow-zk/lib/algebra/fp_p384.h +65 -0
- data/vendor/longfellow-zk/lib/algebra/fp_p521.h +62 -0
- data/vendor/longfellow-zk/lib/algebra/fp_test.cc +522 -0
- data/vendor/longfellow-zk/lib/algebra/hash.h +39 -0
- data/vendor/longfellow-zk/lib/algebra/interpolation.h +117 -0
- data/vendor/longfellow-zk/lib/algebra/interpolation_test.cc +74 -0
- data/vendor/longfellow-zk/lib/algebra/limb.h +153 -0
- data/vendor/longfellow-zk/lib/algebra/limb_test.cc +75 -0
- data/vendor/longfellow-zk/lib/algebra/nat.cc +32 -0
- data/vendor/longfellow-zk/lib/algebra/nat.h +212 -0
- data/vendor/longfellow-zk/lib/algebra/nat_test.cc +183 -0
- data/vendor/longfellow-zk/lib/algebra/nussbaumer.h +400 -0
- data/vendor/longfellow-zk/lib/algebra/nussbaumer_test.cc +138 -0
- data/vendor/longfellow-zk/lib/algebra/nussbaumerfp2_test.cc +139 -0
- data/vendor/longfellow-zk/lib/algebra/permutations.h +79 -0
- data/vendor/longfellow-zk/lib/algebra/poly.h +240 -0
- data/vendor/longfellow-zk/lib/algebra/poly_test.cc +123 -0
- data/vendor/longfellow-zk/lib/algebra/reed_solomon.h +150 -0
- data/vendor/longfellow-zk/lib/algebra/reed_solomon_extension.h +108 -0
- data/vendor/longfellow-zk/lib/algebra/reed_solomon_extension_test.cc +76 -0
- data/vendor/longfellow-zk/lib/algebra/reed_solomon_test.cc +473 -0
- data/vendor/longfellow-zk/lib/algebra/rfft.h +400 -0
- data/vendor/longfellow-zk/lib/algebra/rfft_test.cc +102 -0
- data/vendor/longfellow-zk/lib/algebra/static_string.h +29 -0
- data/vendor/longfellow-zk/lib/algebra/sysdep.h +495 -0
- data/vendor/longfellow-zk/lib/algebra/sysdep_test.cc +41 -0
- data/vendor/longfellow-zk/lib/algebra/twiddle.h +59 -0
- data/vendor/longfellow-zk/lib/algebra/utility.h +86 -0
- data/vendor/longfellow-zk/lib/algebra/utility_test.cc +86 -0
- data/vendor/longfellow-zk/lib/arrays/affine.h +56 -0
- data/vendor/longfellow-zk/lib/arrays/affine_test.cc +220 -0
- data/vendor/longfellow-zk/lib/arrays/dense.h +210 -0
- data/vendor/longfellow-zk/lib/arrays/eq.h +75 -0
- data/vendor/longfellow-zk/lib/arrays/eqs.h +137 -0
- data/vendor/longfellow-zk/lib/arrays/eqs_test.cc +151 -0
- data/vendor/longfellow-zk/lib/arrays/sparse.h +192 -0
- data/vendor/longfellow-zk/lib/cbor/host_decoder.h +323 -0
- data/vendor/longfellow-zk/lib/cbor/host_decoder_test.cc +541 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor.h +594 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_byte_decoder.h +150 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_byte_decoder_test.cc +147 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_constants.h +27 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_pluck.h +110 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_pluck_test.cc +55 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_test.cc +174 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_testing.h +98 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser/cbor_witness.h +312 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser/mso2_test.cc +662 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser/mso_test.cc +485 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser/scan.h +104 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser/scan_test.cc +137 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/cbor.h +640 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/cbor_byte_decoder.h +150 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/cbor_byte_decoder_test.cc +147 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/cbor_constants.h +27 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/cbor_testing.h +99 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/cbor_witness.h +319 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/lexer_test.cc +120 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/mdoc_examples_test.cc +89 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/parser_circuit_test.cc +506 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/parser_size_test.cc +79 -0
- data/vendor/longfellow-zk/lib/circuits/cbor_parser_v2/parser_test.cc +473 -0
- data/vendor/longfellow-zk/lib/circuits/compiler/canonicalization_test.cc +185 -0
- data/vendor/longfellow-zk/lib/circuits/compiler/circuit_dump.h +65 -0
- data/vendor/longfellow-zk/lib/circuits/compiler/compiler.h +471 -0
- data/vendor/longfellow-zk/lib/circuits/compiler/compiler_test.cc +110 -0
- data/vendor/longfellow-zk/lib/circuits/compiler/node.h +176 -0
- data/vendor/longfellow-zk/lib/circuits/compiler/pdqhash.h +127 -0
- data/vendor/longfellow-zk/lib/circuits/compiler/schedule.h +435 -0
- data/vendor/longfellow-zk/lib/circuits/ecdsa/verify_circuit.h +371 -0
- data/vendor/longfellow-zk/lib/circuits/ecdsa/verify_external_test.cc +246 -0
- data/vendor/longfellow-zk/lib/circuits/ecdsa/verify_test.cc +587 -0
- data/vendor/longfellow-zk/lib/circuits/ecdsa/verify_witness.h +201 -0
- data/vendor/longfellow-zk/lib/circuits/logic/bit_adder.h +140 -0
- data/vendor/longfellow-zk/lib/circuits/logic/bit_adder_test.cc +64 -0
- data/vendor/longfellow-zk/lib/circuits/logic/bit_plucker.h +247 -0
- data/vendor/longfellow-zk/lib/circuits/logic/bit_plucker_constants.h +35 -0
- data/vendor/longfellow-zk/lib/circuits/logic/bit_plucker_encoder.h +72 -0
- data/vendor/longfellow-zk/lib/circuits/logic/bit_plucker_test.cc +183 -0
- data/vendor/longfellow-zk/lib/circuits/logic/compiler_backend.h +62 -0
- data/vendor/longfellow-zk/lib/circuits/logic/counter.h +171 -0
- data/vendor/longfellow-zk/lib/circuits/logic/counter_test.cc +102 -0
- data/vendor/longfellow-zk/lib/circuits/logic/evaluation_backend.h +94 -0
- data/vendor/longfellow-zk/lib/circuits/logic/logic.h +1232 -0
- data/vendor/longfellow-zk/lib/circuits/logic/logic_circuit_test.cc +310 -0
- data/vendor/longfellow-zk/lib/circuits/logic/logic_test.cc +521 -0
- data/vendor/longfellow-zk/lib/circuits/logic/memcmp.h +68 -0
- data/vendor/longfellow-zk/lib/circuits/logic/memcmp_test.cc +148 -0
- data/vendor/longfellow-zk/lib/circuits/logic/polynomial.h +94 -0
- data/vendor/longfellow-zk/lib/circuits/logic/polynomial_test.cc +62 -0
- data/vendor/longfellow-zk/lib/circuits/logic/routing.h +445 -0
- data/vendor/longfellow-zk/lib/circuits/logic/routing_test.cc +241 -0
- data/vendor/longfellow-zk/lib/circuits/logic/unary.h +55 -0
- data/vendor/longfellow-zk/lib/circuits/logic/unary_plucker.h +77 -0
- data/vendor/longfellow-zk/lib/circuits/logic/unary_plucker_constants.h +37 -0
- data/vendor/longfellow-zk/lib/circuits/logic/unary_plucker_test.cc +53 -0
- data/vendor/longfellow-zk/lib/circuits/logic/unary_size_test.cc +69 -0
- data/vendor/longfellow-zk/lib/circuits/logic/unary_test.cc +62 -0
- data/vendor/longfellow-zk/lib/circuits/mac/mac_circuit.h +193 -0
- data/vendor/longfellow-zk/lib/circuits/mac/mac_circuit_test.cc +223 -0
- data/vendor/longfellow-zk/lib/circuits/mac/mac_reference.h +72 -0
- data/vendor/longfellow-zk/lib/circuits/mac/mac_witness.h +94 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/circuit_maker.cc +242 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_attribute_ids.h +311 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_attribute_test.cc +64 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_circuit_id.cc +85 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_constants.h +85 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_decompress.cc +41 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_decompress.h +27 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_examples.h +5232 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_generate_circuit.cc +199 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_hash.h +554 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_signature.h +143 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_signature_test.cc +444 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_test_attributes.h +157 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_witness.h +863 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_zk.cc +693 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_zk.h +216 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/mdoc_zk_test.cc +724 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/zk_spec.cc +100 -0
- data/vendor/longfellow-zk/lib/circuits/mdoc/zk_spec_test.cc +155 -0
- data/vendor/longfellow-zk/lib/circuits/sha/flatsha256_circuit.h +330 -0
- data/vendor/longfellow-zk/lib/circuits/sha/flatsha256_circuit_test.cc +607 -0
- data/vendor/longfellow-zk/lib/circuits/sha/flatsha256_io.h +26 -0
- data/vendor/longfellow-zk/lib/circuits/sha/flatsha256_witness.cc +163 -0
- data/vendor/longfellow-zk/lib/circuits/sha/flatsha256_witness.h +47 -0
- data/vendor/longfellow-zk/lib/circuits/sha/sha256_constants.cc +34 -0
- data/vendor/longfellow-zk/lib/circuits/sha/sha256_constants.h +27 -0
- data/vendor/longfellow-zk/lib/circuits/sha/sha256_test_values.h +389 -0
- data/vendor/longfellow-zk/lib/circuits/tests/anoncred/ptrcred.h +171 -0
- data/vendor/longfellow-zk/lib/circuits/tests/anoncred/small.h +218 -0
- data/vendor/longfellow-zk/lib/circuits/tests/anoncred/small_examples.h +118 -0
- data/vendor/longfellow-zk/lib/circuits/tests/anoncred/small_io.h +25 -0
- data/vendor/longfellow-zk/lib/circuits/tests/anoncred/small_test.cc +208 -0
- data/vendor/longfellow-zk/lib/circuits/tests/anoncred/small_witness.h +130 -0
- data/vendor/longfellow-zk/lib/circuits/tests/base64/decode.h +508 -0
- data/vendor/longfellow-zk/lib/circuits/tests/base64/decode_circuit_test.cc +95 -0
- data/vendor/longfellow-zk/lib/circuits/tests/base64/decode_test.cc +119 -0
- data/vendor/longfellow-zk/lib/circuits/tests/base64/decode_util.cc +47 -0
- data/vendor/longfellow-zk/lib/circuits/tests/base64/decode_util.h +29 -0
- data/vendor/longfellow-zk/lib/circuits/tests/ec/pk_circuit.h +231 -0
- data/vendor/longfellow-zk/lib/circuits/tests/ec/pk_circuit_test.cc +428 -0
- data/vendor/longfellow-zk/lib/circuits/tests/ec/pk_witness.h +102 -0
- data/vendor/longfellow-zk/lib/circuits/tests/jwt/jwt.h +190 -0
- data/vendor/longfellow-zk/lib/circuits/tests/jwt/jwt_constants.h +26 -0
- data/vendor/longfellow-zk/lib/circuits/tests/jwt/jwt_test.cc +559 -0
- data/vendor/longfellow-zk/lib/circuits/tests/jwt/jwt_witness.h +315 -0
- data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_1f.h +411 -0
- data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_1f_io.h +32 -0
- data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_1f_test.cc +364 -0
- data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_1f_witness.h +278 -0
- data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_revocation.h +146 -0
- data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_revocation_constants.h +25 -0
- data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_revocation_test.cc +315 -0
- data/vendor/longfellow-zk/lib/circuits/tests/mdoc/mdoc_revocation_witness.h +136 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/bitaddr/bitaddr.h +250 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/bitaddr/bitaddr_test.cc +333 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/bitaddr/bitaddr_witness.h +152 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44.h +903 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_circuit_test.cc +274 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_eval_test.cc +440 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_examples.cc +8851 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_examples.h +93 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_types.cc +24 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_types.h +118 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_witness.h +453 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_44_witness_test.cc +49 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_ref.cc +458 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_ref.h +150 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_ref_test.cc +398 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_ref_test_vectors.inc +3618 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_ref_test_vectors_pkdecode.inc +689 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/ml_dsa_ref_test_vectors_sigdecode.inc +1501 -0
- data/vendor/longfellow-zk/lib/circuits/tests/pq/ml_dsa/sigdecode_test_vectors.inc +540 -0
- data/vendor/longfellow-zk/lib/circuits/tests/ripemd/ripemd_circuit.h +394 -0
- data/vendor/longfellow-zk/lib/circuits/tests/ripemd/ripemd_circuit_test.cc +577 -0
- data/vendor/longfellow-zk/lib/circuits/tests/ripemd/ripemd_constants.h +90 -0
- data/vendor/longfellow-zk/lib/circuits/tests/ripemd/ripemd_witness.cc +174 -0
- data/vendor/longfellow-zk/lib/circuits/tests/ripemd/ripemd_witness.h +140 -0
- data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_circuit.h +351 -0
- data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_circuit_test.cc +466 -0
- data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_reference.cc +207 -0
- data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_reference.h +59 -0
- data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_reference_test.cc +153 -0
- data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_round_constants.cc +39 -0
- data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_round_constants.h +29 -0
- data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_slicing.h +31 -0
- data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_witness.cc +83 -0
- data/vendor/longfellow-zk/lib/circuits/tests/sha3/sha3_witness.h +72 -0
- data/vendor/longfellow-zk/lib/circuits/tests/sha3/shake_test_vectors.h +477 -0
- data/vendor/longfellow-zk/lib/ec/elliptic_curve.h +596 -0
- data/vendor/longfellow-zk/lib/ec/elliptic_curve_test.cc +548 -0
- data/vendor/longfellow-zk/lib/ec/p256.cc +36 -0
- data/vendor/longfellow-zk/lib/ec/p256.h +60 -0
- data/vendor/longfellow-zk/lib/ec/p256k1.cc +34 -0
- data/vendor/longfellow-zk/lib/ec/p256k1.h +60 -0
- data/vendor/longfellow-zk/lib/gf2k/gf2_128.h +503 -0
- data/vendor/longfellow-zk/lib/gf2k/gf2_128_bench.cc +48 -0
- data/vendor/longfellow-zk/lib/gf2k/gf2_128_test.cc +416 -0
- data/vendor/longfellow-zk/lib/gf2k/gf2poly.h +74 -0
- data/vendor/longfellow-zk/lib/gf2k/lch14.h +242 -0
- data/vendor/longfellow-zk/lib/gf2k/lch14_bench.cc +75 -0
- data/vendor/longfellow-zk/lib/gf2k/lch14_reed_solomon.h +127 -0
- data/vendor/longfellow-zk/lib/gf2k/lch14_reed_solomon_test.cc +110 -0
- data/vendor/longfellow-zk/lib/gf2k/lch14_test.cc +246 -0
- data/vendor/longfellow-zk/lib/gf2k/sysdep.h +329 -0
- data/vendor/longfellow-zk/lib/ligero/ligero_param.h +449 -0
- data/vendor/longfellow-zk/lib/ligero/ligero_prover.h +354 -0
- data/vendor/longfellow-zk/lib/ligero/ligero_test.cc +136 -0
- data/vendor/longfellow-zk/lib/ligero/ligero_transcript.h +67 -0
- data/vendor/longfellow-zk/lib/ligero/ligero_verifier.h +272 -0
- data/vendor/longfellow-zk/lib/merkle/merkle_commitment.h +104 -0
- data/vendor/longfellow-zk/lib/merkle/merkle_tree.h +216 -0
- data/vendor/longfellow-zk/lib/merkle/merkle_tree_test.cc +240 -0
- data/vendor/longfellow-zk/lib/proto/circuit.h +354 -0
- data/vendor/longfellow-zk/lib/proto/circuit_test.cc +202 -0
- data/vendor/longfellow-zk/lib/random/random.h +119 -0
- data/vendor/longfellow-zk/lib/random/random_test.cc +189 -0
- data/vendor/longfellow-zk/lib/random/secure_random_engine.h +37 -0
- data/vendor/longfellow-zk/lib/random/transcript.h +193 -0
- data/vendor/longfellow-zk/lib/random/transcript_test.cc +344 -0
- data/vendor/longfellow-zk/lib/sumcheck/circuit.h +148 -0
- data/vendor/longfellow-zk/lib/sumcheck/circuit_id.h +71 -0
- data/vendor/longfellow-zk/lib/sumcheck/equad.h +126 -0
- data/vendor/longfellow-zk/lib/sumcheck/hquad.h +115 -0
- data/vendor/longfellow-zk/lib/sumcheck/prover.h +59 -0
- data/vendor/longfellow-zk/lib/sumcheck/prover_layers.h +362 -0
- data/vendor/longfellow-zk/lib/sumcheck/quad.h +227 -0
- data/vendor/longfellow-zk/lib/sumcheck/quad_builder.h +211 -0
- data/vendor/longfellow-zk/lib/sumcheck/quad_test.cc +169 -0
- data/vendor/longfellow-zk/lib/sumcheck/sumcheck_test.cc +324 -0
- data/vendor/longfellow-zk/lib/sumcheck/testing.h +69 -0
- data/vendor/longfellow-zk/lib/sumcheck/transcript_sumcheck.h +85 -0
- data/vendor/longfellow-zk/lib/sumcheck/verifier.h +84 -0
- data/vendor/longfellow-zk/lib/sumcheck/verifier_layers.h +221 -0
- data/vendor/longfellow-zk/lib/testing/test_main.cc +50 -0
- data/vendor/longfellow-zk/lib/util/ceildiv.h +164 -0
- data/vendor/longfellow-zk/lib/util/ceildiv_test.cc +152 -0
- data/vendor/longfellow-zk/lib/util/crc64.h +45 -0
- data/vendor/longfellow-zk/lib/util/crypto.cc +39 -0
- data/vendor/longfellow-zk/lib/util/crypto.h +108 -0
- data/vendor/longfellow-zk/lib/util/log.cc +110 -0
- data/vendor/longfellow-zk/lib/util/log.h +33 -0
- data/vendor/longfellow-zk/lib/util/panic.h +40 -0
- data/vendor/longfellow-zk/lib/util/readbuffer.h +67 -0
- data/vendor/longfellow-zk/lib/util/serialization.h +54 -0
- data/vendor/longfellow-zk/lib/zk/zk_common.h +455 -0
- data/vendor/longfellow-zk/lib/zk/zk_proof.h +378 -0
- data/vendor/longfellow-zk/lib/zk/zk_prover.h +202 -0
- data/vendor/longfellow-zk/lib/zk/zk_test.cc +340 -0
- data/vendor/longfellow-zk/lib/zk/zk_testing.h +154 -0
- data/vendor/longfellow-zk/lib/zk/zk_verifier.h +109 -0
- metadata +347 -0
|
@@ -0,0 +1,540 @@
|
|
|
1
|
+
// Generated by gen_sigdecode_test_vectors.py
|
|
2
|
+
const size_t kNumSigDecodeTests = 3;
|
|
3
|
+
const size_t kSignatureSize = 2420;
|
|
4
|
+
const uint8_t kSigDecodeSignatures[3][2420] = {
|
|
5
|
+
{
|
|
6
|
+
97, 76, 101, 140, 98, 83, 8, 58, 220, 126, 26, 74, 37, 153,
|
|
7
|
+
150, 193, 41, 0, 142, 63, 78, 71, 231, 146, 77, 210, 191, 136,
|
|
8
|
+
32, 58, 216, 65, 163, 94, 155, 241, 110, 133, 158, 32, 116, 125,
|
|
9
|
+
162, 136, 158, 251, 150, 165, 227, 127, 17, 235, 245, 153, 204, 237,
|
|
10
|
+
115, 74, 167, 163, 93, 97, 208, 170, 18, 149, 229, 241, 246, 120,
|
|
11
|
+
238, 221, 43, 168, 71, 202, 212, 82, 179, 37, 216, 37, 129, 37,
|
|
12
|
+
153, 191, 8, 62, 226, 117, 71, 155, 147, 211, 121, 214, 174, 233,
|
|
13
|
+
111, 115, 2, 126, 49, 110, 129, 1, 215, 221, 122, 243, 11, 237,
|
|
14
|
+
218, 39, 177, 38, 78, 18, 44, 141, 12, 228, 171, 207, 86, 208,
|
|
15
|
+
138, 206, 19, 95, 193, 158, 244, 186, 45, 170, 225, 156, 66, 171,
|
|
16
|
+
107, 236, 71, 179, 105, 145, 225, 215, 45, 136, 155, 213, 172, 248,
|
|
17
|
+
121, 58, 200, 226, 21, 43, 133, 181, 163, 132, 173, 128, 33, 97,
|
|
18
|
+
253, 152, 144, 82, 88, 57, 117, 52, 239, 118, 94, 33, 59, 250,
|
|
19
|
+
11, 243, 16, 76, 209, 145, 202, 177, 188, 244, 65, 0, 68, 18,
|
|
20
|
+
18, 110, 51, 116, 50, 253, 73, 123, 116, 255, 99, 55, 166, 132,
|
|
21
|
+
7, 4, 154, 154, 130, 113, 49, 73, 171, 67, 64, 45, 255, 248,
|
|
22
|
+
3, 242, 247, 115, 210, 111, 56, 122, 53, 162, 232, 17, 114, 179,
|
|
23
|
+
157, 108, 232, 232, 173, 181, 236, 247, 184, 62, 105, 135, 59, 19,
|
|
24
|
+
22, 105, 228, 72, 247, 238, 96, 219, 92, 77, 142, 2, 136, 209,
|
|
25
|
+
158, 180, 118, 135, 104, 146, 88, 70, 139, 73, 237, 42, 153, 103,
|
|
26
|
+
173, 9, 121, 88, 84, 204, 237, 36, 97, 171, 91, 143, 27, 202,
|
|
27
|
+
37, 179, 249, 4, 171, 87, 179, 244, 43, 110, 118, 126, 38, 165,
|
|
28
|
+
73, 9, 80, 181, 74, 210, 196, 152, 155, 130, 12, 4, 238, 185,
|
|
29
|
+
148, 239, 244, 194, 78, 91, 157, 50, 151, 38, 151, 157, 105, 102,
|
|
30
|
+
114, 94, 69, 103, 235, 12, 239, 254, 181, 25, 4, 75, 146, 133,
|
|
31
|
+
159, 19, 126, 71, 61, 229, 98, 88, 36, 42, 64, 98, 120, 92,
|
|
32
|
+
136, 62, 196, 198, 221, 186, 88, 18, 29, 172, 27, 161, 125, 36,
|
|
33
|
+
172, 198, 201, 229, 89, 252, 129, 168, 175, 4, 126, 49, 0, 224,
|
|
34
|
+
37, 125, 223, 149, 2, 66, 208, 38, 28, 85, 23, 9, 248, 159,
|
|
35
|
+
150, 61, 39, 97, 152, 33, 46, 112, 178, 24, 196, 201, 78, 104,
|
|
36
|
+
249, 136, 187, 244, 244, 241, 182, 38, 80, 12, 116, 135, 95, 81,
|
|
37
|
+
146, 176, 35, 211, 190, 211, 148, 34, 8, 201, 20, 218, 66, 46,
|
|
38
|
+
39, 67, 243, 174, 143, 115, 11, 24, 164, 1, 42, 122, 39, 133,
|
|
39
|
+
240, 107, 237, 74, 213, 145, 238, 119, 80, 87, 30, 16, 19, 194,
|
|
40
|
+
30, 76, 49, 153, 233, 36, 177, 172, 9, 110, 11, 215, 238, 12,
|
|
41
|
+
10, 22, 140, 71, 62, 52, 171, 218, 175, 255, 222, 164, 40, 30,
|
|
42
|
+
102, 26, 37, 253, 119, 107, 135, 62, 45, 19, 4, 169, 173, 123,
|
|
43
|
+
93, 72, 220, 246, 216, 136, 201, 93, 140, 36, 206, 2, 70, 30,
|
|
44
|
+
150, 78, 23, 54, 61, 214, 230, 226, 195, 148, 218, 162, 129, 23,
|
|
45
|
+
132, 220, 32, 126, 17, 238, 169, 59, 151, 236, 203, 98, 66, 107,
|
|
46
|
+
39, 33, 65, 81, 196, 84, 218, 205, 81, 151, 164, 71, 42, 235,
|
|
47
|
+
131, 78, 12, 164, 236, 47, 65, 148, 75, 190, 231, 253, 113, 232,
|
|
48
|
+
88, 240, 105, 130, 114, 77, 180, 29, 117, 113, 179, 195, 101, 42,
|
|
49
|
+
20, 176, 89, 110, 156, 155, 232, 78, 136, 242, 138, 205, 210, 106,
|
|
50
|
+
159, 140, 54, 86, 209, 142, 223, 138, 38, 226, 8, 202, 139, 193,
|
|
51
|
+
66, 126, 118, 163, 10, 198, 160, 0, 124, 181, 125, 91, 22, 107,
|
|
52
|
+
147, 99, 201, 113, 227, 119, 209, 212, 191, 195, 172, 64, 216, 165,
|
|
53
|
+
225, 125, 196, 103, 81, 112, 134, 143, 109, 26, 169, 173, 117, 211,
|
|
54
|
+
74, 148, 142, 131, 30, 101, 3, 201, 134, 79, 143, 204, 204, 20,
|
|
55
|
+
158, 228, 155, 172, 86, 63, 124, 68, 27, 55, 173, 210, 129, 249,
|
|
56
|
+
211, 134, 165, 3, 32, 16, 222, 160, 237, 30, 188, 241, 85, 78,
|
|
57
|
+
243, 64, 219, 185, 192, 52, 44, 204, 39, 75, 205, 84, 115, 89,
|
|
58
|
+
40, 136, 107, 9, 21, 106, 13, 54, 207, 46, 242, 80, 149, 172,
|
|
59
|
+
109, 32, 186, 122, 97, 118, 254, 231, 67, 147, 98, 88, 66, 105,
|
|
60
|
+
113, 106, 47, 178, 64, 119, 37, 190, 109, 55, 234, 81, 216, 58,
|
|
61
|
+
180, 74, 208, 222, 136, 198, 190, 15, 99, 248, 114, 201, 77, 100,
|
|
62
|
+
143, 154, 207, 143, 182, 64, 243, 172, 85, 28, 77, 198, 179, 57,
|
|
63
|
+
38, 195, 122, 217, 188, 49, 228, 53, 117, 232, 50, 192, 221, 46,
|
|
64
|
+
190, 119, 153, 196, 192, 83, 65, 142, 51, 236, 168, 59, 46, 52,
|
|
65
|
+
64, 119, 197, 219, 52, 208, 215, 54, 229, 241, 119, 207, 146, 148,
|
|
66
|
+
215, 23, 82, 136, 169, 224, 180, 164, 98, 57, 223, 91, 17, 1,
|
|
67
|
+
218, 228, 12, 128, 210, 211, 118, 57, 66, 209, 134, 131, 113, 87,
|
|
68
|
+
89, 245, 185, 74, 143, 166, 114, 247, 178, 199, 83, 56, 10, 137,
|
|
69
|
+
103, 242, 161, 138, 166, 208, 235, 59, 88, 0, 194, 80, 15, 220,
|
|
70
|
+
218, 214, 147, 143, 199, 239, 67, 70, 3, 49, 241, 105, 101, 89,
|
|
71
|
+
187, 17, 152, 117, 99, 180, 109, 171, 126, 41, 234, 171, 137, 214,
|
|
72
|
+
11, 1, 128, 121, 2, 229, 55, 142, 13, 66, 215, 36, 161, 181,
|
|
73
|
+
165, 14, 75, 211, 1, 123, 26, 12, 194, 38, 22, 206, 55, 146,
|
|
74
|
+
38, 179, 50, 30, 18, 253, 152, 169, 173, 149, 20, 46, 170, 38,
|
|
75
|
+
10, 162, 96, 45, 38, 101, 77, 248, 0, 126, 47, 156, 170, 107,
|
|
76
|
+
112, 240, 10, 194, 104, 18, 234, 251, 112, 56, 151, 60, 47, 125,
|
|
77
|
+
233, 70, 247, 209, 104, 185, 47, 51, 79, 228, 67, 79, 213, 65,
|
|
78
|
+
104, 221, 198, 73, 84, 104, 239, 10, 158, 30, 17, 52, 131, 68,
|
|
79
|
+
79, 206, 76, 78, 183, 133, 140, 148, 165, 251, 62, 75, 69, 24,
|
|
80
|
+
58, 176, 143, 252, 218, 140, 122, 28, 215, 8, 168, 149, 143, 93,
|
|
81
|
+
214, 59, 104, 203, 19, 180, 45, 154, 209, 121, 73, 153, 143, 251,
|
|
82
|
+
96, 223, 130, 72, 100, 66, 92, 134, 122, 143, 174, 100, 199, 202,
|
|
83
|
+
68, 139, 150, 48, 177, 115, 18, 215, 201, 192, 195, 210, 52, 202,
|
|
84
|
+
205, 104, 104, 63, 87, 233, 20, 93, 147, 49, 92, 94, 228, 185,
|
|
85
|
+
182, 21, 141, 245, 62, 32, 149, 232, 220, 83, 38, 107, 112, 193,
|
|
86
|
+
213, 139, 139, 221, 26, 0, 185, 7, 143, 202, 129, 13, 123, 217,
|
|
87
|
+
175, 193, 82, 66, 246, 230, 181, 14, 221, 173, 177, 86, 156, 214,
|
|
88
|
+
33, 124, 29, 129, 42, 69, 222, 125, 161, 232, 167, 34, 187, 192,
|
|
89
|
+
67, 124, 54, 42, 133, 98, 54, 136, 61, 236, 4, 1, 136, 5,
|
|
90
|
+
22, 182, 56, 42, 118, 201, 2, 91, 80, 233, 209, 234, 51, 101,
|
|
91
|
+
122, 71, 218, 24, 238, 97, 124, 47, 134, 95, 106, 250, 154, 49,
|
|
92
|
+
239, 162, 115, 98, 40, 251, 4, 148, 137, 203, 173, 187, 145, 235,
|
|
93
|
+
50, 62, 169, 113, 3, 245, 78, 65, 39, 255, 84, 212, 99, 229,
|
|
94
|
+
221, 250, 253, 192, 212, 66, 67, 142, 79, 13, 172, 65, 227, 162,
|
|
95
|
+
193, 95, 199, 10, 68, 157, 135, 159, 99, 189, 210, 66, 110, 22,
|
|
96
|
+
50, 218, 199, 60, 78, 121, 123, 159, 62, 131, 152, 171, 161, 42,
|
|
97
|
+
130, 200, 191, 160, 250, 60, 79, 215, 155, 245, 114, 220, 246, 117,
|
|
98
|
+
184, 142, 57, 118, 1, 253, 119, 140, 170, 134, 62, 250, 166, 42,
|
|
99
|
+
188, 54, 142, 87, 151, 232, 31, 175, 222, 21, 87, 130, 123, 131,
|
|
100
|
+
113, 68, 184, 161, 74, 190, 39, 129, 113, 69, 31, 56, 154, 155,
|
|
101
|
+
129, 139, 25, 198, 126, 105, 142, 251, 22, 179, 82, 54, 116, 59,
|
|
102
|
+
150, 142, 124, 124, 1, 200, 64, 190, 244, 64, 41, 175, 217, 158,
|
|
103
|
+
156, 231, 156, 12, 241, 208, 149, 105, 20, 176, 125, 6, 19, 37,
|
|
104
|
+
125, 202, 165, 112, 252, 243, 5, 33, 10, 208, 134, 186, 253, 228,
|
|
105
|
+
9, 187, 75, 52, 30, 215, 81, 26, 8, 80, 168, 187, 61, 155,
|
|
106
|
+
133, 28, 245, 19, 96, 215, 64, 218, 196, 26, 65, 55, 27, 157,
|
|
107
|
+
115, 213, 70, 194, 254, 101, 226, 149, 128, 84, 143, 55, 5, 38,
|
|
108
|
+
252, 82, 29, 48, 94, 152, 144, 203, 231, 74, 191, 111, 195, 227,
|
|
109
|
+
202, 200, 120, 21, 66, 144, 74, 186, 66, 206, 157, 237, 2, 40,
|
|
110
|
+
222, 217, 207, 88, 226, 110, 196, 156, 0, 4, 166, 105, 35, 36,
|
|
111
|
+
177, 231, 231, 72, 129, 193, 18, 2, 233, 221, 228, 18, 80, 8,
|
|
112
|
+
142, 233, 16, 154, 203, 153, 37, 181, 251, 252, 59, 229, 32, 229,
|
|
113
|
+
103, 10, 34, 20, 160, 156, 67, 162, 28, 248, 54, 30, 81, 15,
|
|
114
|
+
197, 136, 3, 0, 4, 207, 208, 99, 217, 40, 123, 95, 117, 126,
|
|
115
|
+
207, 242, 196, 215, 70, 69, 87, 32, 200, 125, 241, 31, 26, 102,
|
|
116
|
+
165, 214, 52, 89, 234, 85, 62, 151, 89, 222, 10, 180, 135, 67,
|
|
117
|
+
121, 166, 89, 72, 184, 223, 23, 152, 93, 33, 151, 42, 253, 85,
|
|
118
|
+
145, 117, 166, 1, 182, 152, 91, 135, 92, 90, 26, 57, 33, 195,
|
|
119
|
+
2, 229, 238, 43, 160, 144, 77, 242, 116, 141, 198, 237, 218, 40,
|
|
120
|
+
54, 139, 99, 250, 187, 218, 137, 107, 218, 229, 157, 219, 220, 114,
|
|
121
|
+
178, 71, 17, 212, 75, 76, 57, 116, 57, 180, 152, 84, 215, 68,
|
|
122
|
+
2, 76, 102, 126, 83, 212, 25, 61, 185, 159, 77, 197, 146, 172,
|
|
123
|
+
241, 240, 115, 153, 110, 10, 210, 48, 198, 251, 215, 217, 23, 172,
|
|
124
|
+
23, 186, 221, 12, 207, 131, 106, 114, 116, 190, 200, 38, 242, 2,
|
|
125
|
+
23, 246, 206, 63, 237, 158, 72, 80, 16, 32, 176, 56, 208, 119,
|
|
126
|
+
159, 179, 237, 209, 24, 200, 228, 160, 230, 132, 126, 216, 245, 67,
|
|
127
|
+
24, 81, 108, 128, 231, 14, 43, 170, 30, 81, 139, 0, 121, 163,
|
|
128
|
+
134, 150, 145, 104, 169, 82, 251, 131, 147, 227, 221, 77, 166, 251,
|
|
129
|
+
34, 21, 76, 251, 134, 168, 73, 23, 20, 177, 216, 160, 223, 134,
|
|
130
|
+
199, 59, 217, 146, 47, 114, 0, 141, 170, 6, 23, 149, 248, 248,
|
|
131
|
+
243, 93, 130, 172, 191, 198, 212, 153, 247, 96, 245, 26, 207, 49,
|
|
132
|
+
104, 136, 218, 196, 155, 182, 230, 114, 189, 212, 155, 31, 193, 66,
|
|
133
|
+
170, 168, 212, 216, 19, 151, 1, 184, 219, 200, 121, 212, 117, 219,
|
|
134
|
+
155, 139, 84, 139, 189, 125, 151, 19, 3, 95, 31, 200, 241, 50,
|
|
135
|
+
244, 31, 182, 82, 76, 236, 62, 74, 197, 49, 120, 74, 250, 109,
|
|
136
|
+
57, 135, 121, 14, 94, 225, 195, 17, 218, 21, 172, 227, 146, 67,
|
|
137
|
+
230, 142, 93, 51, 161, 219, 59, 142, 229, 85, 170, 201, 230, 216,
|
|
138
|
+
144, 234, 158, 22, 128, 85, 112, 0, 123, 78, 38, 175, 16, 173,
|
|
139
|
+
161, 242, 237, 44, 128, 115, 23, 189, 171, 98, 235, 24, 192, 117,
|
|
140
|
+
163, 254, 170, 67, 62, 151, 101, 228, 70, 127, 6, 127, 61, 170,
|
|
141
|
+
168, 20, 4, 189, 8, 209, 153, 103, 209, 205, 250, 86, 179, 122,
|
|
142
|
+
240, 67, 147, 150, 11, 130, 170, 181, 255, 112, 205, 131, 255, 26,
|
|
143
|
+
93, 117, 226, 12, 244, 67, 56, 18, 61, 147, 80, 190, 237, 23,
|
|
144
|
+
87, 18, 34, 25, 138, 166, 186, 106, 167, 153, 80, 103, 46, 64,
|
|
145
|
+
148, 114, 21, 108, 10, 229, 117, 102, 91, 161, 177, 42, 139, 99,
|
|
146
|
+
189, 65, 252, 131, 172, 84, 30, 91, 91, 154, 161, 49, 187, 205,
|
|
147
|
+
105, 92, 72, 54, 161, 90, 128, 171, 130, 221, 199, 222, 171, 69,
|
|
148
|
+
92, 112, 248, 156, 126, 149, 33, 23, 208, 212, 24, 202, 35, 220,
|
|
149
|
+
162, 154, 9, 109, 65, 69, 220, 48, 251, 23, 234, 193, 188, 124,
|
|
150
|
+
173, 136, 170, 100, 105, 133, 82, 75, 136, 158, 65, 174, 67, 163,
|
|
151
|
+
171, 69, 36, 255, 187, 106, 60, 117, 190, 188, 130, 153, 132, 174,
|
|
152
|
+
71, 148, 180, 197, 48, 18, 66, 196, 86, 0, 10, 172, 199, 207,
|
|
153
|
+
183, 163, 86, 54, 149, 220, 122, 82, 2, 82, 226, 253, 180, 65,
|
|
154
|
+
63, 80, 4, 91, 21, 79, 84, 4, 223, 144, 35, 53, 74, 62,
|
|
155
|
+
43, 117, 48, 54, 99, 68, 245, 109, 138, 93, 167, 4, 10, 188,
|
|
156
|
+
246, 168, 225, 197, 22, 232, 201, 175, 194, 109, 231, 162, 233, 60,
|
|
157
|
+
119, 1, 112, 121, 81, 58, 49, 139, 68, 211, 187, 71, 45, 59,
|
|
158
|
+
198, 122, 8, 37, 109, 154, 227, 25, 141, 183, 64, 22, 81, 149,
|
|
159
|
+
166, 206, 84, 96, 0, 35, 156, 7, 31, 222, 233, 48, 217, 55,
|
|
160
|
+
107, 166, 4, 169, 251, 68, 52, 130, 214, 33, 187, 167, 174, 176,
|
|
161
|
+
87, 233, 118, 99, 205, 77, 177, 49, 200, 242, 223, 110, 52, 55,
|
|
162
|
+
20, 9, 75, 96, 93, 178, 217, 221, 196, 108, 166, 111, 204, 56,
|
|
163
|
+
88, 93, 252, 224, 84, 197, 84, 140, 136, 136, 133, 140, 248, 139,
|
|
164
|
+
136, 13, 79, 216, 202, 170, 195, 41, 240, 240, 56, 247, 255, 34,
|
|
165
|
+
170, 124, 67, 19, 224, 231, 22, 124, 66, 134, 22, 248, 46, 198,
|
|
166
|
+
22, 208, 214, 10, 255, 171, 62, 122, 91, 11, 222, 2, 228, 144,
|
|
167
|
+
200, 16, 29, 134, 74, 163, 34, 69, 143, 52, 234, 210, 106, 153,
|
|
168
|
+
177, 241, 10, 19, 81, 124, 97, 67, 93, 169, 134, 207, 197, 21,
|
|
169
|
+
151, 178, 72, 188, 61, 107, 177, 170, 228, 37, 33, 73, 110, 190,
|
|
170
|
+
229, 23, 48, 241, 198, 237, 150, 83, 61, 209, 247, 79, 60, 50,
|
|
171
|
+
20, 11, 241, 173, 57, 207, 6, 123, 193, 232, 143, 68, 41, 6,
|
|
172
|
+
98, 105, 230, 204, 87, 220, 228, 180, 199, 245, 70, 35, 2, 28,
|
|
173
|
+
45, 49, 51, 55, 56, 67, 74, 75, 105, 116, 144, 173, 193, 205,
|
|
174
|
+
216, 220, 228, 233, 236, 11, 26, 45, 71, 76, 88, 90, 94, 107,
|
|
175
|
+
114, 118, 132, 152, 195, 231, 251, 3, 12, 19, 32, 34, 46, 52,
|
|
176
|
+
87, 89, 92, 97, 139, 154, 170, 173, 190, 191, 196, 207, 232, 254,
|
|
177
|
+
255, 5, 7, 39, 54, 68, 87, 101, 121, 137, 179, 185, 194, 200,
|
|
178
|
+
219, 233, 0, 0, 0, 0, 0, 0, 21, 37, 59, 74,
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
159, 200, 65, 81, 139, 0, 130, 59, 9, 31, 109, 28, 61, 205,
|
|
182
|
+
121, 8, 197, 54, 221, 58, 90, 49, 79, 93, 212, 35, 124, 107,
|
|
183
|
+
96, 89, 129, 115, 167, 208, 130, 237, 126, 60, 254, 25, 211, 173,
|
|
184
|
+
54, 95, 138, 160, 87, 110, 63, 92, 195, 2, 18, 114, 101, 76,
|
|
185
|
+
148, 208, 204, 102, 241, 98, 214, 180, 130, 71, 199, 16, 191, 192,
|
|
186
|
+
233, 94, 25, 116, 1, 81, 176, 151, 79, 185, 46, 185, 225, 47,
|
|
187
|
+
215, 173, 138, 141, 208, 6, 116, 158, 17, 146, 224, 173, 132, 90,
|
|
188
|
+
55, 201, 219, 213, 230, 231, 244, 111, 161, 97, 47, 169, 82, 204,
|
|
189
|
+
116, 33, 211, 29, 44, 109, 211, 27, 109, 167, 106, 135, 234, 130,
|
|
190
|
+
153, 9, 251, 121, 112, 84, 40, 71, 137, 170, 108, 162, 52, 189,
|
|
191
|
+
103, 150, 211, 33, 211, 147, 99, 80, 175, 48, 184, 49, 248, 169,
|
|
192
|
+
162, 90, 220, 52, 131, 9, 123, 246, 118, 81, 135, 144, 225, 221,
|
|
193
|
+
57, 52, 51, 22, 112, 49, 45, 12, 97, 46, 93, 99, 119, 85,
|
|
194
|
+
24, 157, 169, 102, 140, 106, 155, 170, 2, 83, 171, 100, 205, 92,
|
|
195
|
+
200, 233, 151, 155, 234, 58, 27, 221, 36, 173, 43, 216, 34, 45,
|
|
196
|
+
199, 138, 60, 26, 38, 195, 100, 242, 130, 82, 106, 136, 221, 195,
|
|
197
|
+
205, 254, 38, 180, 91, 68, 159, 150, 127, 39, 249, 137, 117, 181,
|
|
198
|
+
17, 237, 67, 252, 96, 185, 67, 212, 166, 241, 248, 191, 11, 76,
|
|
199
|
+
20, 131, 1, 131, 92, 113, 248, 44, 51, 124, 11, 26, 185, 233,
|
|
200
|
+
204, 250, 81, 191, 113, 44, 189, 198, 21, 129, 20, 119, 69, 80,
|
|
201
|
+
200, 202, 20, 26, 218, 251, 215, 182, 166, 142, 177, 187, 150, 31,
|
|
202
|
+
43, 27, 38, 63, 42, 119, 47, 58, 91, 85, 221, 3, 92, 15,
|
|
203
|
+
47, 234, 181, 118, 79, 123, 213, 143, 110, 119, 157, 85, 175, 255,
|
|
204
|
+
190, 12, 112, 119, 153, 244, 187, 187, 12, 115, 143, 29, 106, 60,
|
|
205
|
+
13, 237, 154, 172, 217, 47, 37, 206, 6, 60, 150, 217, 118, 72,
|
|
206
|
+
174, 194, 234, 211, 222, 254, 248, 121, 140, 56, 94, 128, 207, 159,
|
|
207
|
+
36, 34, 9, 212, 83, 142, 67, 152, 58, 71, 7, 225, 29, 140,
|
|
208
|
+
133, 143, 49, 66, 50, 201, 43, 237, 133, 246, 247, 79, 9, 222,
|
|
209
|
+
109, 3, 241, 54, 155, 237, 157, 100, 216, 177, 15, 225, 221, 3,
|
|
210
|
+
85, 77, 167, 186, 113, 247, 14, 120, 11, 223, 89, 103, 179, 110,
|
|
211
|
+
64, 162, 29, 223, 199, 214, 72, 140, 82, 114, 250, 211, 0, 174,
|
|
212
|
+
103, 53, 200, 158, 8, 78, 26, 235, 190, 97, 29, 226, 217, 53,
|
|
213
|
+
175, 208, 115, 3, 38, 98, 221, 93, 56, 119, 32, 37, 122, 48,
|
|
214
|
+
239, 225, 13, 181, 252, 3, 65, 59, 33, 209, 71, 110, 66, 203,
|
|
215
|
+
188, 233, 112, 230, 106, 138, 35, 224, 11, 22, 183, 106, 123, 4,
|
|
216
|
+
170, 219, 147, 121, 182, 235, 161, 231, 208, 244, 68, 224, 14, 251,
|
|
217
|
+
50, 242, 85, 48, 162, 21, 134, 240, 132, 104, 13, 116, 192, 94,
|
|
218
|
+
113, 235, 236, 22, 158, 120, 119, 226, 111, 161, 223, 201, 168, 37,
|
|
219
|
+
147, 81, 47, 166, 103, 74, 41, 135, 237, 115, 202, 169, 171, 81,
|
|
220
|
+
180, 202, 172, 24, 73, 118, 231, 233, 35, 191, 81, 51, 97, 27,
|
|
221
|
+
225, 69, 217, 145, 25, 160, 187, 89, 21, 64, 248, 223, 120, 145,
|
|
222
|
+
93, 178, 152, 247, 95, 242, 197, 137, 176, 161, 249, 18, 145, 139,
|
|
223
|
+
69, 103, 17, 45, 109, 220, 12, 60, 84, 90, 15, 54, 24, 170,
|
|
224
|
+
249, 132, 51, 82, 22, 183, 136, 203, 212, 179, 142, 235, 18, 228,
|
|
225
|
+
234, 156, 205, 4, 43, 171, 126, 110, 176, 227, 191, 176, 18, 183,
|
|
226
|
+
18, 151, 174, 187, 105, 28, 64, 151, 19, 79, 99, 151, 32, 120,
|
|
227
|
+
129, 139, 125, 47, 131, 57, 149, 225, 17, 176, 170, 90, 196, 12,
|
|
228
|
+
162, 141, 227, 84, 95, 85, 150, 125, 225, 255, 190, 129, 252, 233,
|
|
229
|
+
117, 62, 185, 129, 52, 72, 199, 204, 17, 211, 30, 77, 178, 198,
|
|
230
|
+
236, 203, 254, 61, 112, 170, 103, 121, 236, 57, 24, 201, 93, 14,
|
|
231
|
+
134, 83, 178, 69, 103, 169, 81, 135, 6, 252, 28, 108, 159, 31,
|
|
232
|
+
231, 126, 107, 231, 146, 21, 193, 190, 139, 60, 60, 25, 9, 176,
|
|
233
|
+
248, 153, 34, 39, 22, 37, 3, 202, 155, 221, 238, 62, 123, 75,
|
|
234
|
+
126, 230, 40, 155, 60, 83, 70, 40, 226, 150, 146, 237, 246, 127,
|
|
235
|
+
43, 38, 250, 78, 127, 133, 5, 63, 212, 133, 66, 27, 25, 95,
|
|
236
|
+
109, 156, 212, 73, 124, 124, 134, 139, 165, 98, 246, 150, 131, 15,
|
|
237
|
+
33, 123, 165, 64, 182, 132, 31, 250, 232, 174, 138, 192, 153, 48,
|
|
238
|
+
176, 161, 24, 69, 80, 23, 120, 209, 39, 80, 60, 127, 0, 5,
|
|
239
|
+
219, 155, 38, 167, 210, 146, 110, 241, 163, 61, 234, 82, 207, 153,
|
|
240
|
+
143, 173, 132, 13, 151, 51, 255, 173, 73, 182, 205, 181, 85, 239,
|
|
241
|
+
134, 211, 176, 32, 122, 136, 127, 191, 54, 125, 35, 59, 83, 102,
|
|
242
|
+
43, 82, 239, 112, 125, 10, 28, 104, 48, 148, 188, 219, 192, 28,
|
|
243
|
+
139, 140, 133, 33, 77, 127, 174, 133, 237, 76, 89, 120, 162, 101,
|
|
244
|
+
75, 208, 153, 168, 60, 115, 137, 254, 199, 214, 184, 49, 85, 181,
|
|
245
|
+
120, 11, 201, 162, 61, 63, 8, 119, 75, 122, 18, 172, 175, 89,
|
|
246
|
+
141, 74, 200, 183, 219, 25, 78, 178, 5, 24, 69, 16, 118, 151,
|
|
247
|
+
64, 200, 233, 202, 37, 157, 38, 5, 94, 154, 158, 36, 105, 11,
|
|
248
|
+
215, 142, 13, 247, 168, 39, 140, 161, 167, 204, 59, 75, 197, 245,
|
|
249
|
+
106, 188, 220, 59, 204, 149, 154, 1, 178, 209, 119, 220, 163, 32,
|
|
250
|
+
231, 46, 80, 177, 97, 247, 13, 97, 102, 35, 235, 236, 85, 45,
|
|
251
|
+
76, 181, 28, 27, 178, 141, 255, 83, 174, 96, 139, 240, 217, 140,
|
|
252
|
+
69, 246, 243, 75, 238, 246, 239, 106, 224, 81, 74, 159, 155, 6,
|
|
253
|
+
202, 235, 200, 154, 251, 172, 81, 5, 211, 101, 215, 193, 113, 213,
|
|
254
|
+
153, 102, 186, 181, 200, 127, 163, 168, 244, 155, 209, 58, 244, 18,
|
|
255
|
+
210, 55, 73, 15, 120, 212, 35, 211, 135, 106, 35, 214, 64, 20,
|
|
256
|
+
151, 172, 13, 239, 43, 62, 117, 42, 36, 31, 205, 169, 102, 140,
|
|
257
|
+
185, 25, 5, 17, 73, 70, 171, 191, 55, 245, 85, 19, 3, 84,
|
|
258
|
+
134, 195, 53, 87, 210, 148, 16, 137, 118, 19, 176, 22, 53, 248,
|
|
259
|
+
202, 239, 155, 214, 211, 14, 93, 75, 220, 117, 118, 83, 81, 239,
|
|
260
|
+
102, 144, 182, 53, 150, 156, 177, 53, 2, 223, 147, 79, 167, 119,
|
|
261
|
+
95, 102, 254, 115, 95, 98, 220, 209, 166, 45, 191, 30, 123, 247,
|
|
262
|
+
98, 7, 146, 213, 179, 137, 144, 150, 221, 234, 14, 212, 194, 122,
|
|
263
|
+
64, 8, 63, 150, 4, 118, 226, 153, 166, 24, 240, 214, 162, 111,
|
|
264
|
+
109, 157, 99, 50, 210, 253, 168, 189, 191, 27, 64, 53, 166, 100,
|
|
265
|
+
184, 74, 197, 219, 63, 140, 88, 59, 147, 247, 67, 2, 9, 56,
|
|
266
|
+
131, 70, 148, 32, 145, 21, 48, 169, 96, 139, 205, 146, 99, 109,
|
|
267
|
+
211, 116, 12, 85, 102, 243, 40, 211, 129, 178, 184, 8, 168, 15,
|
|
268
|
+
153, 63, 127, 182, 37, 5, 83, 238, 22, 123, 15, 92, 67, 137,
|
|
269
|
+
232, 211, 212, 33, 41, 98, 234, 91, 222, 170, 18, 42, 180, 229,
|
|
270
|
+
254, 251, 35, 43, 241, 15, 30, 182, 67, 25, 27, 220, 77, 127,
|
|
271
|
+
166, 255, 166, 34, 244, 139, 186, 12, 44, 109, 77, 223, 217, 171,
|
|
272
|
+
206, 171, 235, 203, 68, 57, 143, 124, 177, 20, 103, 169, 187, 55,
|
|
273
|
+
82, 131, 179, 102, 38, 203, 166, 208, 106, 30, 155, 79, 43, 33,
|
|
274
|
+
194, 34, 82, 225, 90, 116, 174, 84, 171, 135, 252, 102, 24, 22,
|
|
275
|
+
255, 111, 21, 161, 37, 116, 239, 28, 43, 111, 84, 206, 73, 95,
|
|
276
|
+
39, 80, 243, 115, 196, 156, 111, 193, 8, 248, 5, 62, 194, 132,
|
|
277
|
+
167, 76, 10, 39, 75, 9, 89, 207, 254, 105, 28, 93, 193, 162,
|
|
278
|
+
212, 226, 197, 145, 242, 81, 128, 193, 176, 156, 133, 163, 155, 123,
|
|
279
|
+
86, 201, 58, 90, 216, 189, 168, 199, 208, 9, 144, 128, 181, 104,
|
|
280
|
+
180, 72, 119, 5, 77, 159, 209, 92, 47, 51, 98, 138, 136, 92,
|
|
281
|
+
243, 220, 194, 184, 12, 197, 35, 192, 63, 160, 157, 204, 62, 143,
|
|
282
|
+
233, 26, 218, 2, 134, 212, 24, 153, 92, 149, 93, 217, 49, 167,
|
|
283
|
+
156, 49, 193, 176, 238, 96, 219, 65, 165, 127, 26, 94, 205, 238,
|
|
284
|
+
106, 212, 212, 64, 96, 67, 194, 48, 3, 12, 33, 139, 1, 125,
|
|
285
|
+
60, 165, 161, 212, 31, 4, 94, 8, 26, 182, 9, 237, 61, 211,
|
|
286
|
+
164, 86, 160, 229, 207, 220, 235, 46, 87, 198, 117, 20, 240, 119,
|
|
287
|
+
131, 113, 98, 134, 242, 171, 90, 145, 147, 195, 74, 241, 88, 40,
|
|
288
|
+
107, 218, 28, 158, 189, 226, 139, 238, 73, 231, 156, 106, 137, 242,
|
|
289
|
+
186, 54, 33, 245, 218, 33, 122, 37, 95, 6, 235, 75, 89, 31,
|
|
290
|
+
116, 182, 71, 27, 129, 42, 219, 244, 96, 135, 143, 12, 249, 191,
|
|
291
|
+
12, 76, 53, 121, 249, 150, 174, 31, 215, 219, 222, 106, 1, 208,
|
|
292
|
+
175, 186, 180, 137, 86, 30, 31, 97, 41, 140, 170, 176, 214, 210,
|
|
293
|
+
253, 96, 130, 250, 255, 122, 51, 70, 232, 155, 12, 30, 218, 10,
|
|
294
|
+
141, 161, 240, 119, 53, 73, 39, 191, 173, 48, 236, 38, 149, 77,
|
|
295
|
+
159, 189, 233, 241, 78, 136, 165, 128, 253, 75, 237, 61, 96, 195,
|
|
296
|
+
241, 92, 242, 185, 11, 234, 16, 168, 76, 199, 24, 165, 36, 133,
|
|
297
|
+
28, 211, 88, 78, 40, 221, 60, 219, 65, 95, 9, 37, 233, 245,
|
|
298
|
+
61, 185, 103, 3, 245, 157, 132, 86, 136, 236, 153, 187, 126, 152,
|
|
299
|
+
29, 224, 151, 233, 51, 99, 8, 231, 107, 108, 207, 39, 214, 154,
|
|
300
|
+
63, 184, 229, 160, 122, 129, 39, 141, 252, 211, 117, 223, 251, 27,
|
|
301
|
+
212, 5, 119, 15, 177, 11, 40, 137, 249, 93, 130, 90, 122, 153,
|
|
302
|
+
133, 158, 105, 81, 216, 46, 62, 131, 67, 230, 76, 116, 162, 31,
|
|
303
|
+
9, 174, 39, 253, 250, 223, 234, 77, 6, 42, 150, 230, 21, 240,
|
|
304
|
+
12, 209, 68, 42, 255, 175, 173, 224, 44, 102, 33, 85, 13, 208,
|
|
305
|
+
123, 90, 169, 27, 225, 218, 54, 166, 239, 8, 24, 5, 78, 66,
|
|
306
|
+
244, 196, 58, 243, 66, 22, 189, 32, 107, 98, 127, 30, 208, 201,
|
|
307
|
+
149, 187, 10, 231, 60, 65, 106, 196, 46, 24, 138, 21, 175, 191,
|
|
308
|
+
152, 57, 112, 185, 28, 80, 216, 168, 107, 0, 81, 176, 16, 92,
|
|
309
|
+
242, 187, 252, 36, 177, 77, 100, 183, 103, 160, 164, 144, 58, 195,
|
|
310
|
+
207, 16, 224, 245, 192, 140, 26, 176, 130, 206, 83, 141, 213, 122,
|
|
311
|
+
155, 149, 140, 236, 211, 43, 117, 194, 144, 29, 183, 245, 82, 231,
|
|
312
|
+
226, 252, 217, 33, 79, 122, 109, 72, 11, 176, 97, 215, 75, 7,
|
|
313
|
+
15, 69, 19, 31, 253, 188, 20, 40, 115, 23, 131, 32, 138, 185,
|
|
314
|
+
104, 221, 54, 179, 146, 193, 254, 85, 152, 16, 122, 243, 199, 112,
|
|
315
|
+
12, 75, 181, 177, 116, 122, 180, 78, 36, 185, 120, 59, 17, 197,
|
|
316
|
+
194, 13, 7, 48, 139, 247, 55, 183, 199, 111, 190, 249, 240, 229,
|
|
317
|
+
248, 248, 58, 17, 33, 56, 192, 7, 38, 228, 234, 22, 249, 178,
|
|
318
|
+
241, 8, 255, 23, 244, 111, 191, 127, 151, 165, 78, 235, 66, 121,
|
|
319
|
+
184, 135, 53, 231, 117, 36, 13, 222, 81, 240, 210, 139, 80, 181,
|
|
320
|
+
179, 197, 210, 105, 83, 69, 5, 171, 156, 221, 48, 9, 152, 24,
|
|
321
|
+
149, 154, 178, 46, 42, 223, 233, 176, 36, 175, 222, 149, 68, 43,
|
|
322
|
+
116, 239, 20, 89, 226, 212, 150, 9, 161, 248, 220, 215, 214, 113,
|
|
323
|
+
64, 217, 50, 151, 66, 232, 14, 112, 181, 49, 152, 151, 185, 15,
|
|
324
|
+
134, 55, 7, 21, 71, 50, 83, 222, 254, 252, 168, 16, 58, 139,
|
|
325
|
+
210, 182, 47, 159, 32, 97, 162, 180, 53, 249, 79, 68, 83, 167,
|
|
326
|
+
99, 110, 99, 205, 185, 172, 206, 226, 176, 70, 50, 188, 112, 35,
|
|
327
|
+
214, 4, 122, 37, 164, 225, 159, 74, 101, 111, 180, 147, 58, 118,
|
|
328
|
+
102, 18, 111, 228, 216, 95, 58, 73, 31, 86, 194, 35, 60, 206,
|
|
329
|
+
219, 169, 52, 54, 248, 43, 180, 47, 128, 117, 241, 40, 15, 31,
|
|
330
|
+
241, 212, 5, 114, 30, 155, 254, 27, 189, 214, 131, 186, 206, 199,
|
|
331
|
+
3, 110, 142, 63, 183, 77, 238, 215, 242, 57, 88, 153, 128, 76,
|
|
332
|
+
183, 224, 63, 248, 197, 94, 67, 141, 117, 221, 48, 52, 178, 43,
|
|
333
|
+
48, 105, 1, 100, 104, 254, 193, 7, 66, 215, 225, 36, 84, 25,
|
|
334
|
+
34, 186, 109, 227, 138, 19, 170, 91, 75, 0, 10, 202, 112, 196,
|
|
335
|
+
205, 67, 166, 233, 248, 82, 82, 241, 98, 96, 51, 139, 241, 126,
|
|
336
|
+
198, 61, 167, 136, 35, 1, 12, 84, 245, 14, 25, 90, 146, 55,
|
|
337
|
+
185, 18, 85, 104, 63, 136, 59, 57, 35, 214, 107, 26, 136, 78,
|
|
338
|
+
106, 159, 152, 0, 49, 184, 212, 128, 201, 41, 133, 23, 141, 63,
|
|
339
|
+
104, 166, 238, 255, 58, 53, 194, 242, 18, 40, 223, 97, 139, 159,
|
|
340
|
+
37, 255, 124, 68, 104, 144, 143, 55, 1, 12, 146, 233, 147, 178,
|
|
341
|
+
252, 18, 106, 254, 202, 62, 107, 12, 162, 80, 111, 241, 85, 174,
|
|
342
|
+
5, 197, 181, 96, 194, 218, 70, 36, 48, 213, 149, 115, 99, 171,
|
|
343
|
+
23, 86, 14, 215, 25, 12, 48, 186, 28, 5, 13, 110, 247, 120,
|
|
344
|
+
64, 9, 72, 118, 187, 116, 34, 148, 159, 95, 206, 110, 152, 162,
|
|
345
|
+
239, 202, 241, 51, 115, 151, 234, 176, 91, 111, 158, 206, 233, 246,
|
|
346
|
+
153, 245, 150, 32, 227, 229, 81, 127, 79, 251, 11, 100, 50, 218,
|
|
347
|
+
107, 22, 169, 21, 49, 139, 24, 176, 193, 14, 54, 88, 56, 117,
|
|
348
|
+
123, 138, 152, 183, 6, 31, 53, 118, 123, 133, 148, 180, 184, 191,
|
|
349
|
+
227, 234, 243, 249, 252, 38, 65, 84, 108, 170, 203, 230, 246, 251,
|
|
350
|
+
3, 10, 11, 65, 68, 123, 126, 139, 145, 151, 153, 168, 181, 199,
|
|
351
|
+
200, 219, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
352
|
+
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
353
|
+
0, 0, 0, 0, 0, 0, 0, 0, 6, 21, 30, 47,
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
218, 203, 92, 107, 210, 83, 224, 56, 174, 33, 80, 25, 235, 64,
|
|
357
|
+
231, 46, 218, 54, 8, 227, 2, 196, 111, 76, 46, 161, 151, 230,
|
|
358
|
+
186, 241, 126, 131, 236, 249, 240, 193, 155, 119, 49, 175, 183, 25,
|
|
359
|
+
19, 213, 37, 197, 239, 109, 70, 223, 138, 254, 45, 205, 92, 59,
|
|
360
|
+
150, 173, 171, 39, 159, 141, 181, 160, 216, 2, 130, 107, 208, 115,
|
|
361
|
+
99, 211, 230, 4, 149, 10, 227, 255, 90, 69, 223, 212, 172, 163,
|
|
362
|
+
8, 169, 227, 107, 206, 160, 109, 214, 90, 193, 69, 231, 23, 68,
|
|
363
|
+
196, 42, 236, 125, 64, 254, 164, 185, 161, 149, 123, 162, 66, 130,
|
|
364
|
+
242, 191, 59, 88, 62, 7, 49, 237, 90, 188, 4, 182, 48, 235,
|
|
365
|
+
110, 107, 248, 26, 39, 68, 161, 30, 77, 14, 204, 247, 128, 71,
|
|
366
|
+
44, 168, 98, 122, 29, 243, 121, 158, 166, 233, 47, 104, 144, 82,
|
|
367
|
+
192, 170, 243, 63, 0, 190, 177, 100, 185, 213, 72, 224, 112, 190,
|
|
368
|
+
224, 240, 104, 245, 118, 57, 89, 102, 24, 86, 227, 51, 123, 150,
|
|
369
|
+
243, 20, 235, 117, 166, 43, 184, 60, 192, 232, 178, 250, 86, 94,
|
|
370
|
+
103, 24, 143, 230, 38, 135, 241, 219, 237, 76, 27, 160, 80, 255,
|
|
371
|
+
106, 209, 19, 7, 190, 148, 16, 226, 31, 44, 39, 187, 121, 82,
|
|
372
|
+
24, 161, 81, 60, 53, 17, 8, 188, 43, 196, 177, 201, 137, 68,
|
|
373
|
+
58, 161, 250, 198, 91, 246, 153, 68, 105, 81, 254, 9, 124, 186,
|
|
374
|
+
38, 48, 100, 50, 144, 215, 139, 242, 243, 51, 201, 178, 227, 60,
|
|
375
|
+
87, 182, 114, 50, 68, 96, 89, 140, 80, 89, 17, 44, 102, 253,
|
|
376
|
+
86, 89, 201, 14, 108, 14, 17, 139, 165, 158, 27, 208, 86, 0,
|
|
377
|
+
167, 138, 27, 82, 169, 228, 37, 188, 108, 215, 193, 121, 109, 73,
|
|
378
|
+
182, 173, 36, 189, 59, 44, 203, 2, 47, 38, 125, 183, 184, 219,
|
|
379
|
+
99, 195, 215, 18, 162, 240, 191, 4, 153, 83, 218, 176, 228, 103,
|
|
380
|
+
71, 48, 82, 40, 105, 130, 71, 13, 186, 67, 252, 223, 97, 204,
|
|
381
|
+
49, 126, 229, 82, 112, 37, 113, 33, 97, 190, 128, 182, 40, 161,
|
|
382
|
+
122, 227, 60, 72, 185, 100, 136, 176, 74, 235, 230, 148, 60, 252,
|
|
383
|
+
195, 221, 87, 3, 99, 119, 35, 160, 1, 98, 180, 68, 45, 133,
|
|
384
|
+
254, 240, 57, 250, 222, 107, 19, 21, 140, 214, 44, 158, 3, 254,
|
|
385
|
+
137, 81, 78, 247, 44, 159, 207, 26, 189, 10, 65, 146, 229, 198,
|
|
386
|
+
205, 79, 182, 107, 7, 228, 169, 248, 6, 89, 93, 217, 139, 235,
|
|
387
|
+
206, 133, 94, 159, 35, 90, 17, 158, 224, 230, 84, 178, 9, 148,
|
|
388
|
+
255, 97, 98, 129, 140, 142, 22, 145, 39, 242, 152, 83, 212, 14,
|
|
389
|
+
115, 113, 69, 93, 94, 136, 245, 85, 199, 197, 197, 51, 219, 172,
|
|
390
|
+
28, 66, 79, 198, 216, 184, 230, 223, 212, 83, 249, 5, 164, 30,
|
|
391
|
+
241, 88, 248, 253, 117, 66, 214, 15, 67, 58, 47, 106, 13, 168,
|
|
392
|
+
124, 1, 59, 182, 105, 3, 156, 62, 174, 12, 195, 199, 202, 254,
|
|
393
|
+
155, 249, 73, 32, 86, 6, 240, 134, 165, 127, 103, 241, 199, 173,
|
|
394
|
+
159, 83, 48, 149, 201, 28, 137, 57, 72, 135, 129, 26, 3, 23,
|
|
395
|
+
47, 133, 204, 95, 77, 77, 90, 118, 231, 146, 130, 43, 130, 52,
|
|
396
|
+
59, 229, 249, 53, 126, 153, 226, 0, 148, 41, 100, 2, 174, 64,
|
|
397
|
+
177, 160, 122, 255, 150, 75, 119, 168, 80, 168, 66, 34, 41, 197,
|
|
398
|
+
249, 105, 221, 135, 91, 34, 40, 144, 56, 248, 8, 34, 182, 166,
|
|
399
|
+
212, 60, 213, 161, 25, 149, 4, 224, 227, 171, 67, 184, 7, 71,
|
|
400
|
+
16, 130, 232, 11, 176, 123, 252, 246, 181, 31, 85, 216, 255, 159,
|
|
401
|
+
34, 7, 68, 7, 12, 212, 18, 191, 220, 58, 162, 0, 28, 244,
|
|
402
|
+
219, 7, 56, 81, 193, 234, 245, 141, 48, 242, 231, 120, 49, 72,
|
|
403
|
+
117, 213, 163, 181, 36, 74, 140, 36, 146, 167, 228, 24, 47, 84,
|
|
404
|
+
132, 26, 146, 6, 121, 211, 179, 80, 43, 164, 160, 225, 55, 50,
|
|
405
|
+
246, 147, 61, 126, 70, 37, 224, 189, 221, 181, 188, 185, 111, 14,
|
|
406
|
+
2, 45, 193, 35, 251, 107, 126, 238, 42, 97, 0, 191, 11, 76,
|
|
407
|
+
67, 189, 184, 15, 145, 183, 57, 98, 87, 73, 205, 164, 202, 161,
|
|
408
|
+
215, 91, 32, 139, 29, 237, 136, 245, 243, 179, 238, 254, 203, 99,
|
|
409
|
+
93, 225, 133, 99, 183, 239, 45, 186, 174, 142, 248, 202, 140, 42,
|
|
410
|
+
45, 244, 168, 145, 40, 243, 117, 61, 102, 74, 60, 70, 75, 223,
|
|
411
|
+
127, 217, 92, 214, 232, 141, 228, 5, 121, 94, 68, 68, 167, 154,
|
|
412
|
+
15, 42, 123, 238, 161, 166, 216, 17, 127, 102, 161, 214, 23, 194,
|
|
413
|
+
23, 31, 106, 227, 32, 163, 7, 99, 33, 158, 68, 165, 125, 32,
|
|
414
|
+
246, 73, 229, 233, 184, 24, 70, 5, 223, 79, 198, 204, 102, 54,
|
|
415
|
+
27, 217, 70, 27, 135, 118, 230, 123, 155, 19, 144, 177, 78, 251,
|
|
416
|
+
197, 236, 11, 223, 73, 29, 94, 178, 118, 227, 73, 77, 24, 29,
|
|
417
|
+
214, 72, 220, 49, 238, 157, 108, 180, 144, 149, 14, 122, 205, 179,
|
|
418
|
+
38, 86, 66, 24, 213, 45, 51, 95, 80, 249, 115, 142, 249, 52,
|
|
419
|
+
23, 87, 164, 62, 95, 45, 195, 213, 139, 50, 18, 220, 59, 183,
|
|
420
|
+
120, 72, 88, 168, 183, 152, 246, 245, 136, 90, 7, 50, 125, 204,
|
|
421
|
+
21, 119, 201, 221, 191, 106, 123, 119, 35, 205, 30, 3, 112, 254,
|
|
422
|
+
28, 25, 195, 84, 50, 210, 107, 106, 121, 135, 68, 238, 88, 234,
|
|
423
|
+
225, 162, 62, 20, 210, 175, 231, 166, 204, 113, 232, 6, 101, 6,
|
|
424
|
+
68, 172, 234, 9, 209, 178, 142, 73, 130, 32, 135, 211, 180, 74,
|
|
425
|
+
212, 92, 63, 166, 201, 214, 234, 125, 109, 98, 194, 235, 134, 70,
|
|
426
|
+
231, 16, 228, 141, 68, 120, 99, 164, 132, 132, 133, 176, 3, 240,
|
|
427
|
+
102, 183, 163, 60, 102, 117, 61, 40, 3, 119, 154, 9, 31, 18,
|
|
428
|
+
115, 18, 45, 156, 51, 208, 137, 19, 119, 48, 164, 140, 163, 55,
|
|
429
|
+
151, 231, 15, 209, 175, 97, 96, 134, 220, 62, 243, 89, 60, 185,
|
|
430
|
+
131, 65, 227, 140, 210, 31, 126, 92, 82, 225, 50, 19, 96, 88,
|
|
431
|
+
83, 185, 69, 144, 179, 171, 16, 165, 107, 253, 222, 25, 202, 19,
|
|
432
|
+
97, 130, 198, 215, 189, 59, 41, 222, 227, 162, 235, 248, 66, 144,
|
|
433
|
+
228, 10, 246, 78, 214, 248, 229, 194, 120, 7, 94, 205, 220, 172,
|
|
434
|
+
196, 180, 174, 214, 116, 126, 94, 182, 249, 16, 78, 47, 64, 232,
|
|
435
|
+
28, 236, 211, 23, 189, 147, 32, 133, 124, 176, 249, 249, 128, 182,
|
|
436
|
+
93, 26, 188, 56, 43, 244, 75, 229, 63, 151, 159, 117, 7, 137,
|
|
437
|
+
9, 24, 127, 8, 140, 83, 54, 166, 151, 16, 238, 92, 233, 63,
|
|
438
|
+
92, 125, 151, 112, 120, 157, 235, 29, 47, 159, 141, 83, 31, 180,
|
|
439
|
+
48, 188, 73, 85, 72, 62, 200, 170, 66, 115, 117, 57, 57, 235,
|
|
440
|
+
20, 174, 43, 233, 41, 8, 102, 119, 101, 48, 63, 19, 98, 32,
|
|
441
|
+
40, 194, 255, 225, 129, 157, 61, 110, 157, 132, 204, 242, 193, 137,
|
|
442
|
+
75, 132, 77, 105, 17, 23, 61, 251, 189, 42, 14, 181, 72, 189,
|
|
443
|
+
165, 13, 83, 55, 146, 109, 209, 216, 131, 205, 141, 78, 198, 211,
|
|
444
|
+
139, 187, 105, 170, 91, 152, 136, 246, 173, 201, 208, 80, 36, 157,
|
|
445
|
+
198, 87, 174, 231, 120, 172, 131, 37, 28, 171, 10, 79, 181, 42,
|
|
446
|
+
174, 23, 205, 134, 107, 59, 213, 94, 157, 131, 225, 126, 255, 49,
|
|
447
|
+
10, 140, 133, 3, 76, 203, 111, 35, 219, 60, 117, 249, 68, 3,
|
|
448
|
+
110, 194, 152, 7, 232, 75, 201, 132, 105, 93, 21, 221, 243, 255,
|
|
449
|
+
224, 148, 140, 245, 132, 145, 42, 242, 59, 74, 140, 163, 191, 40,
|
|
450
|
+
234, 216, 249, 56, 235, 179, 213, 143, 74, 185, 112, 60, 183, 181,
|
|
451
|
+
126, 248, 135, 89, 116, 145, 176, 249, 145, 221, 97, 24, 61, 182,
|
|
452
|
+
34, 89, 160, 40, 33, 169, 74, 192, 28, 237, 103, 253, 100, 188,
|
|
453
|
+
31, 119, 160, 82, 218, 110, 114, 19, 56, 155, 100, 251, 200, 165,
|
|
454
|
+
129, 182, 64, 58, 169, 44, 161, 51, 29, 230, 121, 1, 126, 20,
|
|
455
|
+
125, 1, 188, 68, 80, 170, 4, 13, 54, 181, 50, 229, 221, 217,
|
|
456
|
+
118, 4, 143, 168, 189, 11, 63, 107, 148, 83, 81, 135, 61, 64,
|
|
457
|
+
226, 142, 134, 34, 70, 244, 145, 225, 182, 217, 191, 74, 160, 30,
|
|
458
|
+
121, 34, 122, 1, 71, 2, 184, 63, 221, 160, 216, 239, 246, 251,
|
|
459
|
+
166, 52, 113, 220, 142, 254, 250, 189, 23, 189, 182, 116, 83, 178,
|
|
460
|
+
135, 180, 207, 18, 11, 40, 143, 10, 73, 202, 40, 142, 19, 113,
|
|
461
|
+
190, 25, 167, 115, 10, 150, 127, 25, 239, 133, 234, 205, 137, 251,
|
|
462
|
+
167, 198, 24, 246, 198, 221, 229, 203, 188, 29, 235, 113, 116, 98,
|
|
463
|
+
167, 35, 20, 194, 120, 60, 7, 215, 195, 6, 75, 133, 204, 243,
|
|
464
|
+
241, 95, 68, 45, 94, 142, 194, 137, 38, 135, 176, 142, 107, 210,
|
|
465
|
+
197, 144, 158, 97, 115, 233, 186, 253, 40, 82, 82, 180, 116, 45,
|
|
466
|
+
90, 82, 226, 160, 55, 58, 57, 211, 181, 206, 78, 112, 153, 203,
|
|
467
|
+
89, 148, 169, 73, 61, 253, 19, 169, 194, 192, 35, 111, 245, 16,
|
|
468
|
+
19, 201, 156, 57, 85, 142, 216, 219, 115, 45, 224, 162, 127, 118,
|
|
469
|
+
56, 120, 159, 133, 63, 203, 37, 123, 118, 168, 151, 40, 147, 199,
|
|
470
|
+
57, 1, 169, 52, 151, 150, 135, 13, 188, 97, 84, 214, 200, 253,
|
|
471
|
+
64, 40, 46, 19, 243, 73, 36, 216, 122, 109, 127, 175, 4, 135,
|
|
472
|
+
40, 234, 47, 90, 111, 63, 13, 39, 205, 250, 22, 224, 123, 97,
|
|
473
|
+
10, 179, 189, 184, 108, 154, 36, 60, 116, 112, 80, 45, 226, 87,
|
|
474
|
+
200, 130, 126, 31, 111, 140, 231, 80, 228, 107, 186, 32, 112, 38,
|
|
475
|
+
173, 15, 109, 136, 251, 174, 164, 105, 205, 161, 173, 176, 48, 87,
|
|
476
|
+
40, 179, 48, 108, 202, 219, 39, 134, 253, 50, 171, 181, 184, 15,
|
|
477
|
+
250, 24, 234, 114, 139, 146, 229, 89, 13, 166, 126, 195, 225, 58,
|
|
478
|
+
64, 90, 147, 249, 71, 42, 252, 23, 47, 155, 217, 49, 193, 131,
|
|
479
|
+
81, 242, 254, 124, 188, 237, 156, 34, 9, 253, 60, 219, 108, 101,
|
|
480
|
+
120, 237, 27, 58, 92, 226, 114, 196, 213, 174, 104, 227, 79, 165,
|
|
481
|
+
210, 23, 125, 211, 56, 68, 250, 14, 139, 53, 179, 168, 173, 175,
|
|
482
|
+
46, 116, 96, 136, 82, 183, 9, 172, 244, 222, 234, 205, 71, 8,
|
|
483
|
+
196, 214, 246, 198, 190, 249, 58, 58, 50, 54, 188, 177, 121, 27,
|
|
484
|
+
213, 64, 199, 2, 164, 229, 88, 70, 63, 219, 225, 174, 166, 193,
|
|
485
|
+
198, 122, 86, 153, 112, 194, 232, 217, 105, 241, 87, 230, 111, 89,
|
|
486
|
+
212, 241, 86, 136, 158, 51, 197, 188, 41, 233, 25, 6, 103, 55,
|
|
487
|
+
147, 208, 35, 97, 213, 190, 207, 224, 232, 2, 196, 21, 170, 234,
|
|
488
|
+
48, 208, 30, 223, 221, 129, 174, 61, 61, 71, 222, 221, 195, 86,
|
|
489
|
+
219, 142, 126, 138, 213, 13, 220, 109, 200, 104, 183, 19, 38, 187,
|
|
490
|
+
177, 49, 205, 92, 19, 1, 44, 64, 31, 10, 27, 82, 251, 101,
|
|
491
|
+
126, 7, 174, 123, 45, 131, 184, 139, 4, 185, 77, 27, 65, 167,
|
|
492
|
+
213, 78, 28, 197, 189, 39, 239, 108, 183, 76, 59, 168, 142, 190,
|
|
493
|
+
57, 245, 88, 21, 142, 69, 23, 28, 94, 154, 166, 167, 35, 215,
|
|
494
|
+
236, 175, 18, 220, 227, 175, 146, 184, 226, 129, 81, 252, 18, 225,
|
|
495
|
+
1, 206, 241, 134, 235, 196, 114, 221, 200, 37, 173, 243, 240, 209,
|
|
496
|
+
152, 153, 87, 24, 126, 69, 239, 247, 48, 149, 139, 127, 55, 158,
|
|
497
|
+
209, 228, 110, 92, 7, 18, 207, 129, 150, 180, 56, 106, 143, 15,
|
|
498
|
+
174, 171, 45, 115, 171, 44, 45, 228, 129, 100, 59, 227, 165, 180,
|
|
499
|
+
21, 255, 119, 124, 239, 20, 138, 160, 7, 196, 241, 100, 225, 63,
|
|
500
|
+
3, 158, 146, 37, 140, 188, 47, 150, 195, 127, 135, 239, 32, 58,
|
|
501
|
+
121, 208, 207, 180, 19, 156, 133, 43, 105, 173, 115, 89, 25, 188,
|
|
502
|
+
157, 133, 143, 32, 58, 209, 78, 198, 1, 149, 61, 213, 242, 107,
|
|
503
|
+
47, 138, 111, 156, 102, 19, 150, 126, 71, 94, 215, 142, 115, 125,
|
|
504
|
+
187, 240, 66, 109, 131, 70, 176, 22, 140, 105, 231, 121, 243, 208,
|
|
505
|
+
194, 206, 200, 234, 30, 101, 231, 37, 243, 215, 131, 239, 141, 70,
|
|
506
|
+
178, 223, 17, 98, 253, 233, 183, 77, 147, 11, 186, 117, 23, 145,
|
|
507
|
+
148, 151, 8, 208, 244, 159, 40, 188, 66, 15, 254, 244, 23, 215,
|
|
508
|
+
136, 175, 181, 32, 7, 1, 183, 14, 123, 169, 48, 17, 253, 158,
|
|
509
|
+
66, 73, 227, 174, 70, 195, 106, 71, 222, 229, 113, 77, 152, 2,
|
|
510
|
+
107, 228, 245, 180, 101, 229, 216, 151, 172, 37, 222, 67, 213, 248,
|
|
511
|
+
209, 20, 221, 10, 242, 248, 189, 117, 227, 190, 95, 168, 60, 64,
|
|
512
|
+
204, 83, 135, 200, 163, 204, 124, 67, 246, 7, 72, 83, 127, 112,
|
|
513
|
+
204, 120, 214, 192, 220, 152, 131, 122, 147, 158, 117, 71, 27, 71,
|
|
514
|
+
188, 33, 124, 100, 69, 232, 54, 247, 213, 193, 11, 232, 44, 158,
|
|
515
|
+
239, 252, 125, 249, 201, 36, 137, 152, 109, 86, 140, 48, 155, 102,
|
|
516
|
+
79, 249, 12, 37, 185, 158, 127, 168, 244, 196, 23, 99, 39, 152,
|
|
517
|
+
154, 87, 164, 20, 250, 221, 177, 31, 52, 245, 154, 161, 213, 241,
|
|
518
|
+
199, 95, 162, 245, 72, 165, 26, 33, 130, 54, 14, 137, 203, 177,
|
|
519
|
+
137, 90, 51, 27, 191, 18, 5, 171, 115, 64, 134, 31, 126, 99,
|
|
520
|
+
193, 131, 126, 245, 152, 38, 125, 29, 69, 101, 96, 183, 191, 220,
|
|
521
|
+
169, 182, 131, 143, 50, 217, 35, 65, 122, 29, 224, 137, 26, 15,
|
|
522
|
+
79, 182, 185, 101, 4, 72, 18, 227, 27, 155, 193, 159, 12, 15,
|
|
523
|
+
16, 17, 32, 68, 95, 134, 142, 209, 211, 226, 245, 16, 33, 35,
|
|
524
|
+
54, 56, 67, 81, 84, 97, 121, 137, 148, 156, 157, 163, 203, 225,
|
|
525
|
+
227, 0, 9, 29, 37, 50, 77, 80, 122, 127, 132, 136, 149, 151,
|
|
526
|
+
153, 181, 190, 202, 210, 220, 227, 250, 17, 30, 34, 35, 71, 75,
|
|
527
|
+
77, 80, 83, 138, 188, 204, 206, 217, 225, 230, 240, 251, 0, 0,
|
|
528
|
+
0, 0, 0, 0, 0, 0, 0, 0, 13, 31, 52, 70,
|
|
529
|
+
}};
|
|
530
|
+
|
|
531
|
+
const uint8_t kExpectedCTilde[3][32] = {
|
|
532
|
+
{97, 76, 101, 140, 98, 83, 8, 58, 220, 126, 26, 74, 37, 153, 150, 193,
|
|
533
|
+
41, 0, 142, 63, 78, 71, 231, 146, 77, 210, 191, 136, 32, 58, 216, 65},
|
|
534
|
+
{159, 200, 65, 81, 139, 0, 130, 59, 9, 31, 109, 28, 61, 205, 121, 8,
|
|
535
|
+
197, 54, 221, 58, 90, 49, 79, 93, 212, 35, 124, 107, 96, 89, 129, 115},
|
|
536
|
+
{218, 203, 92, 107, 210, 83, 224, 56, 174, 33, 80,
|
|
537
|
+
25, 235, 64, 231, 46, 218, 54, 8, 227, 2, 196,
|
|
538
|
+
111, 76, 46, 161, 151, 230, 186, 241, 126, 131}};
|
|
539
|
+
|
|
540
|
+
const uint64_t kExpectedZ[3][4][256] = {{
|