From dec74b8f0c2f1c1c65e327ace9446769d21279db Mon Sep 17 00:00:00 2001 From: Dimitry Kh Date: Fri, 5 May 2023 17:43:04 +0200 Subject: [PATCH 1/2] basic SSZ tests --- SSZTests/bitlist/bitlist.json | 441 ++++ SSZTests/bitvector/bitvector.json | 402 ++++ .../bool/bool_deserialization_invalid.json | 22 + SSZTests/bool/bool_valid.json | 17 + SSZTests/exampleStructureEncoding.txt | 51 + SSZTests/uint/integralTypes.json | 122 ++ .../uint/uint_deserialization_invalid.json | 92 + SSZTests/uint/uint_valid.json | 237 ++ SSZTests/vector/vec_bool_valid.json | 280 +++ SSZTests/vector/vec_uint128_valid.json | 1332 ++++++++++++ SSZTests/vector/vec_uint16_valid.json | 383 ++++ SSZTests/vector/vec_uint256_valid.json | 1934 +++++++++++++++++ SSZTests/vector/vec_uint32_valid.json | 516 +++++ SSZTests/vector/vec_uint64_valid.json | 752 +++++++ SSZTests/vector/vec_uint8_valid.json | 325 +++ 15 files changed, 6906 insertions(+) create mode 100644 SSZTests/bitlist/bitlist.json create mode 100644 SSZTests/bitvector/bitvector.json create mode 100644 SSZTests/bool/bool_deserialization_invalid.json create mode 100644 SSZTests/bool/bool_valid.json create mode 100644 SSZTests/exampleStructureEncoding.txt create mode 100644 SSZTests/uint/integralTypes.json create mode 100644 SSZTests/uint/uint_deserialization_invalid.json create mode 100644 SSZTests/uint/uint_valid.json create mode 100644 SSZTests/vector/vec_bool_valid.json create mode 100644 SSZTests/vector/vec_uint128_valid.json create mode 100644 SSZTests/vector/vec_uint16_valid.json create mode 100644 SSZTests/vector/vec_uint256_valid.json create mode 100644 SSZTests/vector/vec_uint32_valid.json create mode 100644 SSZTests/vector/vec_uint64_valid.json create mode 100644 SSZTests/vector/vec_uint8_valid.json diff --git a/SSZTests/bitlist/bitlist.json b/SSZTests/bitlist/bitlist.json new file mode 100644 index 00000000000..809bab54c2e --- /dev/null +++ b/SSZTests/bitlist/bitlist.json @@ -0,0 +1,441 @@ +{ + "bitlist_1_max": { + "inType" : "Bitlist[1]", + "in": [ + true + ], + "out": "0x03" + }, + "bitlist_1_zero": { + "inType" : "Bitlist[1]", + "in": [ + false + ], + "out": "0x02" + }, + "bitlist_2_max": { + "inType" : "Bitlist[2]", + "in": [ + true, true + ], + "out": "0x07" + }, + "bitlist_2_zero": { + "inType" : "Bitlist[2]", + "in": [ + false, false + ], + "out": "0x04" + }, + "bitlist_2_01": { + "inType" : "Bitlist[2]", + "in": [ + false, true + ], + "out": "0x06" + }, + "bitlist_2_10": { + "inType" : "Bitlist[2]", + "in": [ + true, false + ], + "out": "0x05" + }, + "bitlist_3_max": { + "inType" : "Bitlist[3]", + "in": [ + true, true, true + ], + "out": "0x0f" + }, + "bitlist_3_zero": { + "inType" : "Bitlist[3]", + "in": [ + false, false, false + ], + "out": "0x08" + }, + "bitlist_3_001": { + "inType" : "Bitlist[3]", + "in": [ + false, false, true + ], + "out": "0x0c" + }, + "bitlist_3_010": { + "inType" : "Bitlist[3]", + "in": [ + false, true, false + ], + "out": "0x0a" + }, + "bitlist_3_011": { + "inType" : "Bitlist[3]", + "in": [ + false, true, true + ], + "out": "0x0e" + }, + "bitlist_3_100": { + "inType" : "Bitlist[3]", + "in": [ + true, false, false + ], + "out": "0x09" + }, + "bitlist_3_101": { + "inType" : "Bitlist[3]", + "in": [ + true, false, true + ], + "out": "0x0d" + }, + "bitlist_3_110": { + "inType" : "Bitlist[3]", + "in": [ + true, true, false + ], + "out": "0x0b" + }, + "bitlist_4_max": { + "inType" : "Bitlist[4]", + "in": [ + true, true, true, true + ], + "out": "0x1f" + }, + "bitlist_4_zero": { + "inType" : "Bitlist[4]", + "in": [ + false, false, false, false + ], + "out": "0x10" + }, + "bitlist_4_0001": { + "inType" : "Bitlist[4]", + "in": [ + false, false, false, true + ], + "out": "0x18" + }, + "bitlist_4_0010": { + "inType" : "Bitlist[4]", + "in": [ + false, false, true, false + ], + "out": "0x14" + }, + "bitlist_4_0011": { + "inType" : "Bitlist[4]", + "in": [ + false, false, true, true + ], + "out": "0x1c" + }, + "bitlist_4_0100": { + "inType" : "Bitlist[4]", + "in": [ + false, true, false, false + ], + "out": "0x12" + }, + "bitlist_4_0101": { + "inType" : "Bitlist[4]", + "in": [ + false, true, false, true + ], + "out": "0x1a" + }, + "bitlist_4_0111": { + "inType" : "Bitlist[4]", + "in": [ + false, true, true, true + ], + "out": "0x1e" + }, + "bitlist_5_max": { + "inType" : "Bitlist[5]", + "in": [ + true, true, true, true, true + ], + "out": "0x3f" + }, + "bitlist_5_random": { + "inType" : "Bitlist[5]", + "in": [ + false, false, true, true, false + ], + "out": "0x2c" + }, + "bitlist_8_max": { + "inType" : "Bitlist[8]", + "in": [ + true, true, true, true, true, true, true, true + ], + "out": "0xff01" + }, + "bitlist_8_random": { + "inType" : "Bitlist[8]", + "in": [ + true, false, false, true, true, false, true, true + ], + "out": "0xd901" + }, + "bitlist_16_max": { + "inType" : "Bitlist[16]", + "in": [ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true + ], + "out": "0xffff01" + }, + "bitlist_16_zero": { + "inType" : "Bitlist[16]", + "in": [ + false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false + ], + "out": "0x000001" + }, + "bitlist_15_random": { + "inType" : "Bitlist[15]", + "in": [ + false, true, false, true, true, false, false, false, + true, false, false, false, false, true, false + ], + "out": "0x1aa1" + }, + "bitlist_16_random": { + "inType" : "Bitlist[16]", + "in": [ + false, true, false, true, true, false, false, false, + true, false, false, false, false, true, false, true + ], + "out": "0x1aa101" + }, + "bitlist_31_max": { + "inType" : "Bitlist[31]", + "in": [ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true + ], + "out": "0xffffffff" + }, + "bitlist_31_random": { + "inType" : "Bitlist[31]", + "in": [ + false, false, true, true, false, true, false, true, true, false, true, false, false, false, true, true, + true, false, true, false, true, true, false, false, true, true, false, false, true, false, true + ], + "out": "0xacc535d3" + }, + "bitlist_31_zero": { + "inType" : "Bitlist[31]", + "in": [ + false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false + ], + "out": "0x00000080" + }, + "bitlist_45_random": { + "inType" : "Bitlist[45]", + "in": [ + true, false, true, false, false, true, true, false, true, false, false, true, true, false, true, false, + false, true, false, false, true, false, true, true, false, true, false, true, false, false, true, true, + true, false, false, true, false, true, false, false, true, false, true, true, true + ], + "out": "0x6559d2ca293d" + }, + "bitlist_512_max": { + "inType" : "Bitlist[512]", + "in": [ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true + ], + "out": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01" + }, + "bitlist_511_random": { + "inType" : "Bitlist[510]", + "in": [ + false, true, true, false, false, true, false, true, true, false, false, true, true, false, true, false, + true, true, false, true, true, false, true, false, false, true, false, true, true, false, true, false, + false, false, true, false, false, true, true, false, true, false, true, false, false, true, false, true, + true, false, true, false, false, true, false, true, true, false, false, true, true, false, true, false, + true, true, false, true, false, true, false, true, true, false, false, true, true, false, true, false, + false, true, true, false, true, false, true, false, false, true, true, false, false, true, false, true, + true, false, false, true, true, false, true, false, false, true, false, true, true, false, true, false, + false, false, true, false, false, true, true, false, true, false, true, false, true, true, false, true, + true, false, false, true, true, false, true, false, false, true, false, true, true, false, true, false, + false, false, true, false, false, true, true, false, true, false, true, false, true, true, false, true, + false, true, true, false, false, true, false, true, true, false, false, true, true, false, true, false, + false, true, false, true, false, false, true, false, true, true, false, true, false, false, true, false, + false, true, true, false, false, true, false, true, true, false, true, false, false, true, false, true, + true, false, true, false, true, false, true, false, false, true, false, true, true, false, true, false, + true, true, false, true, false, true, false, true, true, false, false, true, true, false, true, false, + false, true, true, false, true, false, false, true, true, false, false, true, false, true, true, false, + false, true, false, true, false, false, true, true, false, true, false, false, true, true, false, true, + false, true, false, true, false, false, true, false, true, true, false, true, false, false, true, true, + false, true, false, true, false, false, true, false, true, true, false, true, false, false, true, false, + false, true, true, false, false, true, false, true, true, false, true, false, false, true, false, true, + true, false, true, false, true, false, true, false, false, true, false, true, true, false, true, false, + true, true, false, true, false, true, false, true, true, false, false, true, true, false, true, false, + false, true, true, false, true, false, false, true, true, false, false, true, false, true, true, false, + false, true, false, true, false, false, true, true, false, true, false, false, true, true, false, true, + false, true, false, true, false, false, true, false, true, true, false, true, false, false, true, true, + false, true, false, true, false, true, false, false, true, true, false, true, false, false, true, false, + true, false, true, false, false, true, true, false, true, false, true, false, false, true, true, false, + true, true, false, true, false, false, true, true, false, false, true, false, true, true, false, true, + false, false, true, false, true, false, true, false, false, true, true, false, true, false, false, true, + true, false, true, false, false, true, true, false, false, true, false, true, true, false, true, false, + false, true, true, false, true, false, true, false, false, true, true, false, false, true, true, false, + false, true, false, true, false, false, true, true, false, true, false, false, true, true + ], + "out": "0xa6595b5a64a5a559ab5956a6595a64b5595a64b5a6594a4ba6a5555aab599669cab24acb4a4ba6a5555aab599669cab24acb2a4b6565cbb45496655a5666ca72" + }, + "bitlist_512_random": { + "inType" : "Bitlist[512]", + "in": [ + false, true, true, false, false, true, false, true, true, false, false, true, true, false, true, false, + true, true, false, true, true, false, true, false, false, true, false, true, true, false, true, false, + false, false, true, false, false, true, true, false, true, false, true, false, false, true, false, true, + true, false, true, false, false, true, false, true, true, false, false, true, true, false, true, false, + true, true, false, true, false, true, false, true, true, false, false, true, true, false, true, false, + false, true, true, false, true, false, true, false, false, true, true, false, false, true, false, true, + true, false, false, true, true, false, true, false, false, true, false, true, true, false, true, false, + false, false, true, false, false, true, true, false, true, false, true, false, true, true, false, true, + true, false, false, true, true, false, true, false, false, true, false, true, true, false, true, false, + false, false, true, false, false, true, true, false, true, false, true, false, true, true, false, true, + false, true, true, false, false, true, false, true, true, false, false, true, true, false, true, false, + false, true, false, true, false, false, true, false, true, true, false, true, false, false, true, false, + false, true, true, false, false, true, false, true, true, false, true, false, false, true, false, true, + true, false, true, false, true, false, true, false, false, true, false, true, true, false, true, false, + true, true, false, true, false, true, false, true, true, false, false, true, true, false, true, false, + false, true, true, false, true, false, false, true, true, false, false, true, false, true, true, false, + false, true, false, true, false, false, true, true, false, true, false, false, true, true, false, true, + false, true, false, true, false, false, true, false, true, true, false, true, false, false, true, true, + false, true, false, true, false, false, true, false, true, true, false, true, false, false, true, false, + false, true, true, false, false, true, false, true, true, false, true, false, false, true, false, true, + true, false, true, false, true, false, true, false, false, true, false, true, true, false, true, false, + true, true, false, true, false, true, false, true, true, false, false, true, true, false, true, false, + false, true, true, false, true, false, false, true, true, false, false, true, false, true, true, false, + false, true, false, true, false, false, true, true, false, true, false, false, true, true, false, true, + false, true, false, true, false, false, true, false, true, true, false, true, false, false, true, true, + false, true, false, true, false, true, false, false, true, true, false, true, false, false, true, false, + true, false, true, false, false, true, true, false, true, false, true, false, false, true, true, false, + true, true, false, true, false, false, true, true, false, false, true, false, true, true, false, true, + false, false, true, false, true, false, true, false, false, true, true, false, true, false, false, true, + true, false, true, false, false, true, true, false, false, true, false, true, true, false, true, false, + false, true, true, false, true, false, true, false, false, true, true, false, false, true, true, false, + false, true, false, true, false, false, true, true, false, true, false, false, true, true, false, true + ], + "out": "0xa6595b5a64a5a559ab5956a6595a64b5595a64b5a6594a4ba6a5555aab599669cab24acb4a4ba6a5555aab599669cab24acb2a4b6565cbb45496655a5666cab201" + }, + "bitlist_512_zero": { + "inType" : "Bitlist[512]", + "in": [ + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false + ], + "out": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001" + }, + "bitlist_513_max": { + "inType" : "Bitlist[513]", + "in": [ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true + ], + "out": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03" + } +} diff --git a/SSZTests/bitvector/bitvector.json b/SSZTests/bitvector/bitvector.json new file mode 100644 index 00000000000..2923b8a5352 --- /dev/null +++ b/SSZTests/bitvector/bitvector.json @@ -0,0 +1,402 @@ +{ + "bitvec_1_max": { + "inType" : "Bitvector[1]", + "in": [ + true + ], + "out": "0x01" + }, + "bitvec_1_zero": { + "inType" : "Bitvector[1]", + "in": [ + false + ], + "out": "0x00" + }, + "bitvec_2_max": { + "inType" : "Bitvector[2]", + "in": [ + true, true + ], + "out": "0x03" + }, + "bitvec_2_zero": { + "inType" : "Bitvector[2]", + "in": [ + false, false + ], + "out": "0x00" + }, + "bitvec_2_01": { + "inType" : "Bitvector[2]", + "in": [ + false, true + ], + "out": "0x02" + }, + "bitvec_2_10": { + "inType" : "Bitvector[2]", + "in": [ + true, false + ], + "out": "0x01" + }, + "bitvec_3_max": { + "inType" : "Bitvector[3]", + "in": [ + true, true, true + ], + "out": "0x07" + }, + "bitvec_3_zero": { + "inType" : "Bitvector[3]", + "in": [ + false, false, false + ], + "out": "0x00" + }, + "bitvec_3_001": { + "inType" : "Bitvector[3]", + "in": [ + false, false, true + ], + "out": "0x04" + }, + "bitvec_3_010": { + "inType" : "Bitvector[3]", + "in": [ + false, true, false + ], + "out": "0x02" + }, + "bitvec_3_011": { + "inType" : "Bitvector[3]", + "in": [ + false, true, true + ], + "out": "0x06" + }, + "bitvec_3_100": { + "inType" : "Bitvector[3]", + "in": [ + true, false, false + ], + "out": "0x01" + }, + "bitvec_3_101": { + "inType" : "Bitvector[3]", + "in": [ + true, false, true + ], + "out": "0x05" + }, + "bitvec_3_110": { + "inType" : "Bitvector[3]", + "in": [ + true, true, false + ], + "out": "0x03" + }, + "bitvec_4_max": { + "inType" : "Bitvector[4]", + "in": [ + true, true, true, true + ], + "out": "0x0f" + }, + "bitvec_4_zero": { + "inType" : "Bitvector[4]", + "in": [ + false, false, false, false + ], + "out": "0x00" + }, + "bitvec_4_0001": { + "inType" : "Bitvector[4]", + "in": [ + false, false, false, true + ], + "out": "0x08" + }, + "bitvec_4_0010": { + "inType" : "Bitvector[4]", + "in": [ + false, false, true, false + ], + "out": "0x04" + }, + "bitvec_4_0011": { + "inType" : "Bitvector[4]", + "in": [ + false, false, true, true + ], + "out": "0x0c" + }, + "bitvec_4_0100": { + "inType" : "Bitvector[4]", + "in": [ + false, true, false, false + ], + "out": "0x02" + }, + "bitvec_4_0101": { + "inType" : "Bitvector[4]", + "in": [ + false, true, false, true + ], + "out": "0x0a" + }, + "bitvec_4_0111": { + "inType" : "Bitvector[4]", + "in": [ + false, true, true, true + ], + "out": "0x0e" + }, + "bitvec_5_max": { + "inType" : "Bitvector[5]", + "in": [ + true, true, true, true, true + ], + "out": "0x1f" + }, + "bitvec_5_random": { + "inType" : "Bitvector[5]", + "in": [ + false, false, true, true, false + ], + "out": "0x0c" + }, + "bitvec_5_random2": { + "inType" : "Bitvector[5]", + "in": [ + true, false, true, false, true + ], + "out": "0x15" + }, + "bitvec_8_max": { + "inType" : "Bitvector[8]", + "in": [ + true, true, true, true, true, true, true, true + ], + "out": "0xff" + }, + "bitvec_8_random": { + "inType" : "Bitvector[8]", + "in": [ + true, false, false, true, true, false, true, true + ], + "out": "0xd9" + }, + "bitvec_16_max": { + "inType" : "Bitvector[16]", + "in": [ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true + ], + "out": "0xffff" + }, + "bitvec_16_zero": { + "inType" : "Bitvector[16]", + "in": [ + false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false + ], + "out": "0x0000" + }, + "bitvec_16_random": { + "inType" : "Bitvector[16]", + "in": [ + false, true, false, true, true, false, false, false, + true, false, false, false, false, true, false, true + ], + "out": "0x1aa1" + }, + "bitvec_31_max": { + "inType" : "Bitvector[31]", + "in": [ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true + ], + "out": "0xffffff7f" + }, + "bitvec_31_random": { + "inType" : "Bitvector[31]", + "in": [ + false, false, true, true, false, true, false, true, true, false, true, false, false, false, true, true, + true, false, true, false, true, true, false, false, true, true, false, false, true, false, true + ], + "out": "0xacc53553" + }, + "bitvec_31_zero": { + "inType" : "Bitvector[31]", + "in": [ + false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false + ], + "out": "0x00000000" + }, + "bitvec_45_random": { + "inType" : "Bitvector[45]", + "in": [ + true, false, true, false, false, true, true, false, true, false, false, true, true, false, true, false, + false, true, false, false, true, false, true, true, false, true, false, true, false, false, true, true, + true, false, false, true, false, true, false, false, true, false, true, true, true + ], + "out": "0x6559d2ca291d" + }, + "bitvec_512_max": { + "inType" : "Bitvector[512]", + "in": [ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true + ], + "out": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "bitvec_512_random": { + "inType" : "Bitvector[512]", + "in": [ + false, true, true, false, false, true, false, true, true, false, false, true, true, false, true, false, + true, true, false, true, true, false, true, false, false, true, false, true, true, false, true, false, + false, false, true, false, false, true, true, false, true, false, true, false, false, true, false, true, + true, false, true, false, false, true, false, true, true, false, false, true, true, false, true, false, + true, true, false, true, false, true, false, true, true, false, false, true, true, false, true, false, + false, true, true, false, true, false, true, false, false, true, true, false, false, true, false, true, + true, false, false, true, true, false, true, false, false, true, false, true, true, false, true, false, + false, false, true, false, false, true, true, false, true, false, true, false, true, true, false, true, + true, false, false, true, true, false, true, false, false, true, false, true, true, false, true, false, + false, false, true, false, false, true, true, false, true, false, true, false, true, true, false, true, + false, true, true, false, false, true, false, true, true, false, false, true, true, false, true, false, + false, true, false, true, false, false, true, false, true, true, false, true, false, false, true, false, + false, true, true, false, false, true, false, true, true, false, true, false, false, true, false, true, + true, false, true, false, true, false, true, false, false, true, false, true, true, false, true, false, + true, true, false, true, false, true, false, true, true, false, false, true, true, false, true, false, + false, true, true, false, true, false, false, true, true, false, false, true, false, true, true, false, + false, true, false, true, false, false, true, true, false, true, false, false, true, true, false, true, + false, true, false, true, false, false, true, false, true, true, false, true, false, false, true, true, + false, true, false, true, false, false, true, false, true, true, false, true, false, false, true, false, + false, true, true, false, false, true, false, true, true, false, true, false, false, true, false, true, + true, false, true, false, true, false, true, false, false, true, false, true, true, false, true, false, + true, true, false, true, false, true, false, true, true, false, false, true, true, false, true, false, + false, true, true, false, true, false, false, true, true, false, false, true, false, true, true, false, + false, true, false, true, false, false, true, true, false, true, false, false, true, true, false, true, + false, true, false, true, false, false, true, false, true, true, false, true, false, false, true, true, + false, true, false, true, false, true, false, false, true, true, false, true, false, false, true, false, + true, false, true, false, false, true, true, false, true, false, true, false, false, true, true, false, + true, true, false, true, false, false, true, true, false, false, true, false, true, true, false, true, + false, false, true, false, true, false, true, false, false, true, true, false, true, false, false, true, + true, false, true, false, false, true, true, false, false, true, false, true, true, false, true, false, + false, true, true, false, true, false, true, false, false, true, true, false, false, true, true, false, + false, true, false, true, false, false, true, true, false, true, false, false, true, true, false, true + ], + "out": "0xa6595b5a64a5a559ab5956a6595a64b5595a64b5a6594a4ba6a5555aab599669cab24acb4a4ba6a5555aab599669cab24acb2a4b6565cbb45496655a5666cab2" + }, + "bitvec_512_zero": { + "inType" : "Bitvector[512]", + "in": [ + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false + ], + "out": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "bitvec_513_max": { + "inType" : "Bitvector[513]", + "in": [ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true + ], + "out": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01" + } +} diff --git a/SSZTests/bool/bool_deserialization_invalid.json b/SSZTests/bool/bool_deserialization_invalid.json new file mode 100644 index 00000000000..bb1c9633c78 --- /dev/null +++ b/SSZTests/bool/bool_deserialization_invalid.json @@ -0,0 +1,22 @@ +{ + "bool_byte80": { + "inType" : "Bool", + "in" : "error", + "out" : "0x80" + }, + "bool_byte02": { + "inType" : "Bool", + "in" : "error", + "out" : "0x02" + }, + "bool_byteff": { + "inType" : "Bool", + "in" : "error", + "out" : "0xff" + }, + "bool_byte10": { + "inType" : "Bool", + "in" : "error", + "out" : "0x10" + } +} diff --git a/SSZTests/bool/bool_valid.json b/SSZTests/bool/bool_valid.json new file mode 100644 index 00000000000..71af3a6b5f2 --- /dev/null +++ b/SSZTests/bool/bool_valid.json @@ -0,0 +1,17 @@ +{ + "null": { + "inType" : "Null", + "in": null, + "out": "0x" + }, + "bool_false": { + "inType" : "Bool", + "in" : false, + "out" : "0x00" + }, + "bool_true": { + "inType" : "Bool", + "in" : true, + "out" : "0x01" + } +} diff --git a/SSZTests/exampleStructureEncoding.txt b/SSZTests/exampleStructureEncoding.txt new file mode 100644 index 00000000000..eff1b09bca9 --- /dev/null +++ b/SSZTests/exampleStructureEncoding.txt @@ -0,0 +1,51 @@ +EXAMPLE ENCODING +aggregation_bits: '0xd203' +data: + slot: 16190417324762968195 + index: 11925472494053767852 + beacon_block_root: '0x6fdd48270188c7abda9c27cca8e670b7fbf2b2bbd3ad44c6ae07243d64b01bae' + source: {epoch: 11830679453202619032, root: '0x314da949cc563740f2316a5ab49867d4f8766cee4608ea29e3a4ab99ff0d9250'} + target: {epoch: 8155824741468644389, root: '0xecf4804a437264413f838299b81b2d9dc7b92e71e7743eda04389641224f8c98'} +signature: '0x63f34097da24274a0afeeab5415d301abfe395d9a38aab73e0e1a57510bdfa694a7205c6b181079b3a45618b1cd78622e4ff059b3c3b4793e2dec50f52c0099d02c71d0c58b29173c9eff94fd558edc2bceafa48b395abaacaca18663c7d3308' + + + +SSZ: +e4000000 (must be ssz header 228 dec in uint32) + +data: + slot: 83b0d3bfc6eaafe0 (little endian reverse) + index: ac3ac4aa0cca7fa5 (little endian reverse) + beacon root: 6fdd48270188c7abda9c27cca8e670b7fbf2b2bbd3ad44c6ae07243d64b01bae + source: + epoch: 989aa7f347042fa4 (little endian reverse) + root: 314da949cc563740f2316a5ab49867d4f8766cee4608ea29e3a4ab99ff0d9250 + target: + epoch: 25a49415644f2f71 (little endian reverse) + root: ecf4804a437264413f838299b81b2d9dc7b92e71e7743eda04389641224f8c98 + +signature: 63f34097da24274a0afeeab5415d301abfe395d9a38aab73e0e1a57510bdfa694a7205c6b181079b3a45618b1cd78622e4ff059b3c3b4793e2dec50f52c0099d02c71d0c58b29173c9eff94fd558edc2bceafa48b395abaacaca18663c7d3308 +aggregation_bits: d203 (why not reversed?) + + +SIZE: +e4000000 (must be ssz header 228 dec in uint32) the bytes length below size is 226 + +8 slot: 83b0d3bfc6eaafe0 (little endian reverse) +8 index: ac3ac4aa0cca7fa5 (little endian reverse) +32 beacon root: 6fdd48270188c7abda9c27cca8e670b7fbf2b2bbd3ad44c6ae07243d64b01bae + source: +8 epoch: 989aa7f347042fa4 (little endian reverse) +32 root: 314da949cc563740f2316a5ab49867d4f8766cee4608ea29e3a4ab99ff0d9250 + target: +8 epoch: 25a49415644f2f71 (little endian reverse) +32 root: ecf4804a437264413f838299b81b2d9dc7b92e71e7743eda04389641224f8c98 +96 112233445566778899101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 + signature: 63f34097da24274a0afeeab5415d301abfe395d9a38aab73e0e1a57510bdfa694a7205c6b181079b3a45618b1cd78622e4ff059b3c3b4793e2dec50f52c0099d02c71d0c58b29173c9eff94fd558edc2bceafa48b395abaacaca18663c7d3308 +2 aggregation_bits: d203 (why not reversed?) + +314da949cc563740f2316a5ab49867d4f8766cee4608ea29e3a4ab99ff0d9250 + + + + diff --git a/SSZTests/uint/integralTypes.json b/SSZTests/uint/integralTypes.json new file mode 100644 index 00000000000..24e459b3e9d --- /dev/null +++ b/SSZTests/uint/integralTypes.json @@ -0,0 +1,122 @@ +{ + "uint8": { + "inType" : "Uint8", + "in": 1, + "out": "0x01" + }, + "uint8_zero": { + "inType" : "Uint8", + "in": 0, + "out": "0x00" + }, + "uint8_max": { + "inType" : "Uint8", + "in": 255, + "out": "0xff" + }, + "uint8_overflow": { + "inType" : "Uint8", + "in": 256, + "out": "error" + }, + "uint16": { + "inType" : "Uint16", + "in": 1, + "out": "0x0100" + }, + "uint16_zero": { + "inType" : "Uint16", + "in": 0, + "out": "0x0000" + }, + "uint16_max": { + "inType" : "Uint16", + "in": 65535, + "out": "0xffff" + }, + "uint16_overflow": { + "inType" : "Uint16", + "in": 65536, + "out": "error" + }, + "uint32": { + "inType" : "Uint32", + "in": "1", + "out": "0x01000000" + }, + "uint32_zero": { + "inType" : "Uint32", + "in": "0", + "out": "0x00000000" + }, + "uint32_max": { + "inType" : "Uint32", + "in": "4294967295", + "out": "0xffffffff" + }, + "uint32_overflow": { + "inType" : "Uint32", + "in": "4294967296", + "out": "error" + }, + "uint64": { + "inType" : "Uint64", + "in": "1", + "out": "0x0100000000000000" + }, + "uint64_zero": { + "inType" : "Uint64", + "in": "0", + "out": "0x0000000000000000" + }, + "uint64_max": { + "inType" : "Uint64", + "in": "18446744073709551615", + "out": "0xffffffffffffffff" + }, + "uint64_overflow": { + "inType" : "Uint64", + "in": "18446744073709551616", + "out": "error" + }, + "uint128": { + "inType" : "Uint128", + "in": "1", + "out": "0x01000000000000000000000000000000" + }, + "uint128_zero": { + "inType" : "Uint128", + "in": "0", + "out": "0x00000000000000000000000000000000" + }, + "uint128_max": { + "inType" : "Uint128", + "in": "340282366920938463463374607431768211455", + "out": "0xffffffffffffffffffffffffffffffff" + }, + "uint128_overflow": { + "inType" : "Uint128", + "in": "340282366920938463463374607431768211456", + "out": "error" + }, + "uint256": { + "inType" : "Uint256", + "in": "1", + "out": "0x0100000000000000000000000000000000000000000000000000000000000000" + }, + "uint256_zero": { + "inType" : "Uint256", + "in": "0", + "out": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "uint256_max": { + "inType" : "Uint256", + "in": "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "out": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "uint256_overflow": { + "inType" : "Uint256", + "in": "115792089237316195423570985008687907853269984665640564039457584007913129639936", + "out": "error" + } +} diff --git a/SSZTests/uint/uint_deserialization_invalid.json b/SSZTests/uint/uint_deserialization_invalid.json new file mode 100644 index 00000000000..0dfd67edb3c --- /dev/null +++ b/SSZTests/uint/uint_deserialization_invalid.json @@ -0,0 +1,92 @@ +{ + "uint_128_one_byte_shorter": { + "inType" : "Uint128", + "in" : "error", + "out" : "0xffffffffffffffffffffffffffffff" + }, + "uint_64_one_byte_shorter": { + "inType" : "Uint64", + "in" : "error", + "out" : "0xffffffffffffff" + }, + "uint_32_one_byte_shorter": { + "inType" : "Uint32", + "in" : "error", + "out" : "0xffffff" + }, + "uint_32_one_too_high": { + "inType" : "Uint32", + "in" : "error", + "out" : "0x0000000001" + }, + "uint_128_one_too_high": { + "inType" : "Uint128", + "in" : "error", + "out" : "0x0000000000000000000000000000000001" + }, + "uint_16_one_byte_shorter": { + "inType" : "Uint16", + "in" : "error", + "out" : "0xff" + }, + "uint_8_one_too_high": { + "inType" : "Uint8", + "in" : "error", + "out" : "0x0001" + }, + "uint_32_one_byte_longer": { + "inType" : "Uint32", + "in" : "error", + "out" : "0xffffffff00" + }, + "uint_8_one_byte_shorter": { + "inType" : "Uint8", + "in" : "error", + "out" : "0x" + }, + "uint_256_one_too_high": { + "inType" : "Uint256", + "in" : "error", + "out" : "0x000000000000000000000000000000000000000000000000000000000000000001" + }, + "uint_8_one_byte_longer": { + "inType" : "Uint8", + "in" : "error", + "out" : "0xff00" + }, + "uint_128_one_byte_longer": { + "inType" : "Uint128", + "in" : "error", + "out" : "0xffffffffffffffffffffffffffffffff00" + }, + "uint_256_one_byte_longer": { + "inType" : "Uint256", + "in" : "error", + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + }, + "uint_64_one_too_high": { + "inType" : "Uint64", + "in" : "error", + "out" : "0x000000000000000001" + }, + "uint_256_one_byte_shorter": { + "inType" : "Uint256", + "in" : "error", + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "uint_16_one_byte_longer": { + "inType" : "Uint16", + "in" : "error", + "out" : "0xffff00" + }, + "uint_16_one_too_high": { + "inType" : "Uint16", + "in" : "error", + "out" : "0x000001" + }, + "uint_64_one_byte_longer": { + "inType" : "Uint64", + "in" : "error", + "out" : "0xffffffffffffffff00" + } +} diff --git a/SSZTests/uint/uint_valid.json b/SSZTests/uint/uint_valid.json new file mode 100644 index 00000000000..e0e0b3c06eb --- /dev/null +++ b/SSZTests/uint/uint_valid.json @@ -0,0 +1,237 @@ +{ + "uint_8_zero_0": { + "inType" : "Uint8", + "in" : 0, + "out" : "0x00" + }, + "uint_8_random_0": { + "inType" : "Uint8", + "in" : 225, + "out" : "0xe1" + }, + "uint_8_random_1": { + "inType" : "Uint8", + "in" : 59, + "out" : "0x3b" + }, + "uint_8_random_2": { + "inType" : "Uint8", + "in" : 3, + "out" : "0x03" + }, + "uint_8_random_3": { + "inType" : "Uint8", + "in" : 46, + "out" : "0x2e" + }, + "uint_8_random_4": { + "inType" : "Uint8", + "in" : 17, + "out" : "0x11" + }, + "uint_8_max_0": { + "inType" : "Uint8", + "in" : 255, + "out" : "0xff" + }, + "uint_16_zero_0": { + "inType" : "Uint16", + "in" : 0, + "out" : "0x0000" + }, + "uint_16_random_0": { + "inType" : "Uint16", + "in" : 11001, + "out" : "0xf92a" + }, + "uint_16_random_1": { + "inType" : "Uint16", + "in" : 12900, + "out" : "0x6432" + }, + "uint_16_random_2": { + "inType" : "Uint16", + "in" : 46482, + "out" : "0x92b5" + }, + "uint_16_random_3": { + "inType" : "Uint16", + "in" : 31039, + "out" : "0x3f79" + }, + "uint_16_random_4": { + "inType" : "Uint16", + "in" : 2284, + "out" : "0xec08" + }, + "uint_16_last_byte_empty": { + "inType" : "Uint16", + "in" : 255, + "out" : "0xff00" + }, + "uint_16_max_0": { + "inType" : "Uint16", + "in" : 65535, + "out" : "0xffff" + }, + "uint_32_zero_0": { + "inType" : "Uint32", + "in" : "0", + "out" : "0x00000000" + }, + "uint_32_random_0": { + "inType" : "Uint32", + "in" : "3387753032", + "out" : "0x4802edc9" + }, + "uint_32_random_1": { + "inType" : "Uint32", + "in" : "2676973563", + "out" : "0xfb5f8f9f" + }, + "uint_32_random_2": { + "inType" : "Uint32", + "in" : "2644908285", + "out" : "0xfd18a69d" + }, + "uint_32_random_3": { + "inType" : "Uint32", + "in" : "638037343", + "out" : "0x5fad0726" + }, + "uint_32_random_4": { + "inType" : "Uint32", + "in" : "4144220671", + "out" : "0xffc903f7" + }, + "uint_32_last_byte_empty": { + "inType" : "Uint32", + "in" : "16777215", + "out" : "0xffffff00" + }, + "uint_32_max_0": { + "inType" : "Uint32", + "in" : "4294967295", + "out" : "0xffffffff" + }, + "uint_64_zero_0": { + "inType" : "Uint64", + "in" : "0", + "out" : "0x0000000000000000" + }, + "uint_64_random_0": { + "inType" : "Uint64", + "in" : "8594311575614880821", + "out" : "0x357c8de9d7204577" + }, + "uint_64_random_1": { + "inType" : "Uint64", + "in" : "12453893770581738044", + "out" : "0x3c82f999661ed5ac" + }, + "uint_64_random_2": { + "inType" : "Uint64", + "in" : "10680714365983390887", + "out" : "0xa7fcd98320853994" + }, + "uint_64_random_3": { + "inType" : "Uint64", + "in" : "11891402719218752485", + "out" : "0xe5db2510c5bf06a5" + }, + "uint_64_random_4": { + "inType" : "Uint64", + "in" : "15683022699148686111", + "out" : "0x1f33257b0d4aa5d9" + }, + "uint_64_last_byte_empty": { + "inType" : "Uint64", + "in" : "72057594037927935", + "out" : "0xffffffffffffff00" + }, + "uint_64_max_0": { + "inType" : "Uint64", + "in" : "18446744073709551615", + "out" : "0xffffffffffffffff" + }, + "uint_128_zero_0": { + "inType" : "Uint128", + "in" : "0", + "out" : "0x00000000000000000000000000000000" + }, + "uint_128_random_0": { + "inType" : "Uint128", + "in" : "317658863013703600909281237913711302754", + "out" : "0x62583644e66ec83fc2a6cda723dffaee" + }, + "uint_128_random_1": { + "inType" : "Uint128", + "in" : "226427817519480008631815531407103573168", + "out" : "0xb03c1174ebe365e018a5b887516958aa" + }, + "uint_128_random_2": { + "inType" : "Uint128", + "in" : "1966913376797472348559631900882537126", + "out" : "0xa68a04f1c6f71282ca13121251d07a01" + }, + "uint_128_random_3": { + "inType" : "Uint128", + "in" : "223686144064414504608552983434269426145", + "out" : "0xe101ce24c16ec3b57c2f0b79616248a8" + }, + "uint_128_random_4": { + "inType" : "Uint128", + "in" : "199925590919705556758473559487562637786", + "out" : "0xdae1c72a086dde0deb118413aa446896" + }, + "uint_128_last_byte_empty": { + "inType" : "Uint128", + "in" : "1329227995784915872903807060280344575", + "out" : "0xffffffffffffffffffffffffffffff00" + }, + "uint_128_max_0": { + "inType" : "Uint128", + "in" : "340282366920938463463374607431768211455", + "out" : "0xffffffffffffffffffffffffffffffff" + }, + "uint_256_zero_0": { + "inType" : "Uint256", + "in" : "0", + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "uint_256_random_0": { + "inType" : "Uint256", + "in" : "4584165170292008524279215460428710380016472418848411281644322546508458309434", + "out" : "0x3a37631ca891f9f4ff519987aa802724ca01a6ab61372e4e24a14274a88b220a" + }, + "uint_256_random_1": { + "inType" : "Uint256", + "in" : "90047906949169382334305369995511065582934974747152015963330994710021770823840", + "out" : "0xa0c8f3c7731eeb847fe092d0c0611870029db14b5f166946b461b61f274f15c7" + }, + "uint_256_random_2": { + "inType" : "Uint256", + "in" : "22164125078048900034628482276233821385168609229914055324012363999739882382481", + "out" : "0x9124367c86417760e00357d1a47617d1054809a8fbc366417a651ba442730031" + }, + "uint_256_random_3": { + "inType" : "Uint256", + "in" : "11728888245299331548980470619748232322312649582587437824163111473100767026185", + "out" : "0x09dce6412d0644dbd01ab012b75e57b09d46226d34c912f3d981af33c450ee19" + }, + "uint_256_random_4": { + "inType" : "Uint256", + "in" : "48768575274986262450660614424895439287037398140494696187614258942740149251308", + "out" : "0xec2c7b5c86a957ee62dbd2db1a2580349c47d983cebbc1e32280d1b31109d26b" + }, + "uint_256_last_byte_empty": { + "inType" : "Uint256", + "in" : "452312848583266388373324160190187140051835877600158453279131187530910662655", + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00" + }, + "uint_256_max_0": { + "inType" : "Uint256", + "in" : "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } +} diff --git a/SSZTests/vector/vec_bool_valid.json b/SSZTests/vector/vec_bool_valid.json new file mode 100644 index 00000000000..1ba33680eb6 --- /dev/null +++ b/SSZTests/vector/vec_bool_valid.json @@ -0,0 +1,280 @@ +{ +"vec_bool_512_max": { + "inType" : "vector_bool", + "in" : [ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true + ], + "out" : "0x0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" + }, + "vec_bool_2_zero": { + "inType" : "vector_bool", + "in" : [false, false], + "out" : "0x0000" + }, + "vec_bool_512_zero": { + "inType" : "vector_bool", + "in" : [ + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false + ], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_bool_513_zero": { + "inType" : "vector_bool", + "in" : [ + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false + ], + "out" : "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_bool_4_zero": { + "inType" : "vector_bool", + "in" : [false, false, false, false], + "out" : "0x00000000" + }, + "vec_bool_8_max": { + "inType" : "vector_bool", + "in" : [true, true, true, true, true, true, true, true], + "out" : "0x0101010101010101" + }, + "vec_bool_2_max": { + "inType" : "vector_bool", + "in" : [true, true], + "out" : "0x0101" + }, + "vec_bool_4_max": { + "inType" : "vector_bool", + "in" : [true, true, true, true], + "out" : "0x01010101" + }, + "vec_bool_31_max": { + "inType" : "vector_bool", + "in" : [ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true + ], + "out" : "0x01010101010101010101010101010101010101010101010101010101010101" + }, + "vec_bool_5_zero": { + "inType" : "vector_bool", + "in" : [false, false, false, false, false], + "out" : "0x0000000000" + }, + "vec_bool_1_zero": { + "inType" : "vector_bool", + "in" : [false], + "out" : "0x00" + }, + "vec_bool_3_zero": { + "inType" : "vector_bool", + "in" : [false, false, false], + "out" : "0x000000" + }, + "vec_bool_5_max": { + "inType" : "vector_bool", + "in" : [true, true, true, true, true], + "out" : "0x0101010101" + }, + "vec_bool_513_max": { + "inType" : "vector_bool", + "in" : [ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true, true, true, true, true, true, true, true + ], + "out" : "0x010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101" + }, + "vec_bool_1_max": { + "inType" : "vector_bool", + "in" : [true], + "out" : "0x01" + }, + "vec_bool_3_max": { + "inType" : "vector_bool", + "in" : [true, true, true], + "out" : "0x010101" + }, + "vec_bool_16_max": { + "inType" : "vector_bool", + "in" : [ + true, true, true, true, true, true, true, true, true, true, true, true, true, true, + true, true + ], + "out" : "0x01010101010101010101010101010101" + }, + "vec_bool_31_zero": { + "inType" : "vector_bool", + "in" : [ + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false, false, false, false + ], + "out" : "0x00000000000000000000000000000000000000000000000000000000000000" + }, + "vec_bool_8_zero": { + "inType" : "vector_bool", + "in" : [false, false, false, false, false, false, false, false], + "out" : "0x0000000000000000" + }, + "vec_bool_16_zero": { + "inType" : "vector_bool", + "in" : [ + false, false, false, false, false, false, false, false, false, false, false, false, + false, false, false, false + ], + "out" : "0x00000000000000000000000000000000" + } +} diff --git a/SSZTests/vector/vec_uint128_valid.json b/SSZTests/vector/vec_uint128_valid.json new file mode 100644 index 00000000000..c0cc356303f --- /dev/null +++ b/SSZTests/vector/vec_uint128_valid.json @@ -0,0 +1,1332 @@ +{ + "vec_uint128_31_max": { + "inType" : "vector_uint128", + "in" : [ + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint128_513_max": { + "inType" : "vector_uint128", + "in" : [ + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint128_1_max": { + "inType" : "vector_uint128", + "in" : ["340282366920938463463374607431768211455"], + "out" : "0xffffffffffffffffffffffffffffffff" + }, + "vec_uint128_3_zero": { + "inType" : "vector_uint128", + "in" : ["0", "0", "0"], + "out" : "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint128_16_random": { + "inType" : "vector_uint128", + "in" : [ + "116865446011030976513736559583719158568", "108209157078503776199170871747996541938", + "87702234582352091614673494037436374999", "221828058742841668693726214230899376370", + "279540889116606239598116694762153141470", "187631146300711777716677008331378506013", + "121512487529790280944859056892923591317", "339016522251302040963550589746380144376", + "185461572441833072109297853349623060391", "300649262967034080487309929999441874990", + "294925353640914561010535622080866823202", "2315156355476259093055440479649376987", + "142046101570705160243789098805171808953", "280271393250584818608153587082340849287", + "18181767184539268539905647783521070538", "290973072975603641839643580523364338186" + ], + "out" : "0x2873e17e091eeecd456317785877eb57f2e3374c6ee4b75b4f8bcbb259536851d71f7528ab3029f99554c39902d6fa41f240cbb30ca27fd615c7a092b387e2a6de6441eec4642aad2956645bed9d4dd21db91bf4ce583aaa5985e9b1be71288d95ba4f0ef0000e65af0fd6882e746a5bf8fe2166b07180c6b928750c0a350cffa75705874d0fb90a7a320bb97e99868b2e50347dc14354b2a38cafcf1bf12ee2222c745044cb7e657404fe21978ee0dddbaae1aec041dcf417e3b66905e2bd01b96adfef7dcfdfb2227b794a8415dd6a87d6c33dd62288b0ad419dcb8f4edad2caad7056631b75d2c1ba8b1d55aead0d0acad95905930a01bea42ce11b60e7da" + }, + "vec_uint128_16_max": { + "inType" : "vector_uint128", + "in" : [ + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint128_31_random": { + "inType" : "vector_uint128", + "in" : [ + "322161099503949134246875383873042092581", "48424120129033191202980611955490263589", + "83525771833522514138478832606095687392", "174251362918903408377989570730386164359", + "327747722507188692603366405698089864121", "324251219760392034443636083014245934168", + "160254778627258514227686166426224969984", "53192731999358379862870660337238805470", + "166940110809962759607404717190565613527", "287582397582068604130213094273086311503", + "219506566239800782574702895602883165791", "49245529651081786813928168573143042666", + "301794544056749546798446275637383573640", "155937435447398140651092870430499978315", + "127316426699795576538260461433889230642", "128452975846864490943894793014215027614", + "317260113814669819552084270499724543086", "16914731941051294314237570386865266560", + "144218158159492149549446492790394091793", "282489757228217463406902370669044160920", + "311015163710547241879359459124322944322", "274557519463898321910961455997120503679", + "190811083757632720512110498408594642752", "92699632770453078379646724062876033016", + "88903809372731974263458073004247133983", "68990849651486535201001743283432629392", + "124895642468721040054565964881513861598", "134825508388621974592041493857531874555", + "78462050498312150224719961424376658389", "153336548508268826136733686433451871611", + "41167450208159900235790428302057680448" + ], + "out" : "0x25929f69c67ce0178a8b914e89f85df22592c79c74d059e5971213d573256e24e03e5d0cc37c0af2289461a57f7ad63e878a0ec1c92c89872b7412367e971783b94b5fcb7b19ee5ffc1374fa50ea91f658e415e36daa70107c79c3d36b83f0f30049dc10cc0d4247988b05be9bf28f78de0bbc30863db7d1184d86752b8c0428d74fa496f43ea6de00505fe6ee7e977d4fcc4279b80f8bfa54da2bb7e75a5ad85ffe003be4d0f8e5f127f2bb486d23a56a4ab396386c87b2a01e089411580c2588b0204e8b3691e2afc92772d3830be34bbce2ac58e3c70151010fc227755075320fd0ef6408ed2c7e8dbfda7940c85f9eab65f71a5eb84e72a3d4e0ac24a3606e44a0870003f398e6db95304913aeee809fa9ad6b3818d18a126902aca8b90c1179ca56e18ac9767e2456b82c687f6c98d9132536760e81a8ffb8a4598c85d442c586d0248f36f6b6a68a507957fbe97f5fa1ed5b9038a4803bb36ed5da8dce409787c2c86dd8fa12b4e125c4e08c8ff85f382e6a7ef93563180889c34cbd451fafd482746a920b9e0942a13840e24290a4a259e0495c45d37786ba8127e733ded112cfa4f838cd869b70379906f65dfb4c8cd7e94bf2fa39b26182c9726e65d57934c900f33f4b4b6fd0e7c23d073b7b0dccb38f2cceac7cd9ec5a878b5b73402edca6d558e99612f9ef960090f81e" + }, + "vec_uint128_2_zero": { + "inType" : "vector_uint128", + "in" : ["0", "0"], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint128_16_zero": { + "inType" : "vector_uint128", + "in" : ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], + "out" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint128_5_random": { + "inType" : "vector_uint128", + "in" : [ + "194578830033788736352569855138204668708", "222404791245710801707639009374583541271", + "300921627290141104382250227469409620613", "262165721261575220299431625592070664586", + "114390707564886779102314838295082086088" + ], + "out" : "0x24d39ecf9d1f206658d3f0f4ff846292174efe25b351997ad34e4b29cf9a51a785926c385afb71cae2cef8dfb46563e28af1a2a575bb2b5d211ac41303483bc5c8aec61c5975d9707c4d69e551d90e56" + }, + "vec_uint128_1_zero": { + "inType" : "vector_uint128", + "in" : ["0"], + "out" : "0x00000000000000000000000000000000" + }, + "vec_uint128_3_random": { + "inType" : "vector_uint128", + "in" : [ + "220301989141709271334326095341414922102", "210235080945710533958926333282570767995", + "38717160196772117737433576948282568669" + ], + "out" : "0x7637ca38fde6d71bd0869938a99ebca57b8e9844dea2f43a3d328839c4cd299edd2f32bb983b3d626fa987a560a7201d" + }, + "vec_uint128_2_max": { + "inType" : "vector_uint128", + "in" : ["340282366920938463463374607431768211455", "340282366920938463463374607431768211455"], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint128_3_max": { + "inType" : "vector_uint128", + "in" : [ + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint128_512_random": { + "inType" : "vector_uint128", + "in" : [ + "26828682623905485853721589978864387876", "45362230084934828632880963081896644001", + "247417070223805448009596661148965288679", "233435946323840404519105253470141693058", + "48270642472271104900526093037459031455", "66520735216030151239714891092404644513", + "280229322034323384052699099308850986999", "104876539345324116234633977126562892583", + "62053737243447943335328889845976890418", "115150778003737644570314412548569196662", + "60837422455905539464283970835244348165", "14971885816624552460364123313225338840", + "141373400188887949233573643440572148370", "315558180146170550304219748075496589529", + "192832702686931265848701899386472550861", "195242849447416542650282397408705348609", + "3159768586696475726130243760652423921", "280976955595646743990035910166905396696", + "48145462755830632991328135842155799273", "45727448734246753632897580957866192001", + "93669871191691645101398613537831796721", "270468935803632630299259822557389975996", + "257657171915062120800715583958851021431", "143502338199025987170760915516024962297", + "88823700945885749471690202908135711777", "167825619953100335773847023551371760978", + "272799632490583618214951897233958389039", "6931466504102931468089280598062436854", + "227129099815982693311697808605804113078", "190991213830636389607630234180646015166", + "94665077017450433967996163233943161681", "104442287321252800048144287126459909528", + "111984121489495207128924202958762389095", "139936482167984053056821989819471703902", + "131014629105291684826343804913844541820", "268845842132595174381319542315698095682", + "75171104698645730147320610733935680293", "188919654263237738565471418725236547096", + "139443032094518694251119896661150856155", "212224791068740157240962495709925633688", + "9091349307978242295696087198261198263", "265949610406892960806549475648778472820", + "128688494213035166265090231634914484918", "86325517523858968239206432741700378460", + "120488629521339414087399576992543820142", "160980827996625757844534938871461470081", + "229339366166722750521595145406513327654", "212826567380487477304132519266599165957", + "33736938902897032991258004023704944283", "20647404232152582890937735112905147718", + "174307488059321481411980956314482861076", "182870809375317713676269812154114833178", + "255449134442859232032589560643987424832", "3327587593608969403510790552521641937", + "228796895331761997368557137952015337570", "173401717654658566678803501845418681717", + "145753538631582908337891904360242873450", "145305369872021551533678361294921112893", + "152106492142581925633393348104773498495", "63943612201891140132934132705217376031", + "214770829884066489984049547332748555844", "126888149938969670311744256029745393100", + "324274218652420208639262215234859114368", "133387804507532082482457195979509083188", + "264611146042400724818108845708964759574", "253255137134331345360724671359646005906", + "166782268041576968080783983279630939216", "37671118578186383302992609922437945540", + "26587946399585902795651262209794549829", "1961015457335467326068331039447629730", + "4254806961814882220301747290823991194", "308104308089334295256101677566106196014", + "37063999245103616540268353759942155944", "121645946377364452585933094191285853163", + "161048285595292245350352672889475762153", "149401701940324201485709324373178479430", + "49563740728014241891163608884934352144", "52076044639587971806885048829369115370", + "179799047418413373396876208996285334917", "313125910898948945211513308922346368079", + "263141004886510288130833149448493186616", "24880666764035537120498111814784594276", + "244033168847918516781799517763099473870", "237024090893956911018900071669857460871", + "144414853971541131493745017938110197424", "138555684748153658828846086010749058888", + "211251904477912335560628591102117418737", "82686339646308109441011550627009851182", + "115235954114539334218234743722763506129", "115662543830337771968916670738292603123", + "221798345799192609353172159941201325673", "6926774184072691057114868533879021792", + "5694889605277154023565158457936814846", "313407497526835022984279381655402121329", + "110670343731416261564284105580725764775", "231058153426857522432841605590609590553", + "211750572375839290698246689628795663485", "241108737427680497688687042042742173388", + "109006874758568559475981409144284413404", "54824947249519626083205617311781774730", + "243812916385798476195815914646717328982", "138479748283393420051566081257076792575", + "181274593275688533385558121792921793358", "120393940466427010549728873724179690685", + "27826038560624417555889885327531192218", "315151785115462667257568009126915207145", + "130459266571058569382810067795220051273", "132842523353905011189860168419707993331", + "59839863451282141688258798089471137845", "20254473285766703925238914314828709637", + "128906284012149069933631760594047723246", "52776809595619548343910694136652844370", + "174775382933029702659507092255717449558", "263563310660352369819909167550510614639", + "196887944917458596878213424376328530831", "181949958696615205021162150854739810576", + "139587060331950664917632305614956378137", "338671275421650534963128961469857868852", + "155317607710825692904522109098461079872", "244383870580703563645529793873451040421", + "4620483933550170477662418031630030901", "129259224877724566609550551236545851018", + "193614492146938639585558624443519370309", "89779080348704136635266056121056944156", + "131421374722716737991381318356729527893", "5569905341158623602093984174547390696", + "131737060014189489073973545545612076996", "186040344300393193173042839506082731336", + "293702550686490761096590982318687603092", "255144148912433128858199336137670011412", + "279002492317304198700457976299295509707", "57694275257783106017263757336776385941", + "228836987706021643623265168420253214681", "42557917887325748267185972516161571835", + "255035143664299721501904330274347798678", "162907946353635788513496820825582915919", + "58334702634968558506315001057646102921", "299036125955333458292972890398077938255", + "214012726690216787376002795018524874570", "339737723127425306868240826833242497172", + "148116693839884547082122917245082917348", "118638609480959777931391956115228170455", + "70049388967103419081381816976354288000", "321350324499718496431405059597835822590", + "114415642043268251851454480482755199360", "1771507360800623444536881174620182640", + "68433725610798147462546774857024436801", "183610678235804501703289364934986757412", + "260430944951921695403626817609447293819", "336070431382170503117465878424687028555", + "8747516752576054583546419627561305026", "25414433237838806716771118185960391007", + "27991088366098801247640145266267327201", "134667778910758562775756385670814047243", + "265958469220066170468363330412494359510", "138087385530530368232910013015333369277", + "223273960303740663939427143568329872912", "226698647960847710245351874868329380956", + "279836402123216043196375970208514359256", "230777420763799932386567780376931338865", + "334328668889044032120908092187833298741", "186110377133843222524976103853713897304", + "226068929200034794184067359833216591518", "307395742308631238533223609823979676171", + "270244849749936426372205429996168472371", "146201415018946415671005458144085772825", + "300969570425449657166669989808819437053", "251687458323136382835572752983811895475", + "270641028168126422955317776514936397717", "31589530127920356246091130515057059912", + "96924903584643007146889582889689426292", "142058468804648550003297997471382771447", + "314944764230038250337076326399340323492", "325215830334179713564866109827218937852", + "257976636578206567133918811533061479139", "302232878420023792860098643459870305395", + "83780703798992577006307497913800507870", "193667087313367062853574512735191895236", + "83375452479451163654548752761333189610", "240926892296838555168958237021169924370", + "153840378120810127829468048413787133280", "38455886484474574011136589447140227210", + "201966933799926032743496530591844175331", "238405084128553623279464089421679182417", + "79134533565052825159182943905651010052", "264145050755083038029594179837472432365", + "91204757487212663074517391084708491680", "209338328671053373501952225237078699913", + "85645078991084883688692433042680752461", "95967147795241281028765727991582305765", + "228533749106777146421074580579914184491", "202609898816392978177542853982359433234", + "307079969400346886854396012420455752886", "187115219247772061078815641076583952926", + "230542258694458959424309629843952593443", "74332352609913642726938042964026415187", + "91950340584438980832357416887833680089", "253250286149221379972855075116839085475", + "239545960080661793860192052157224049713", "49281749599220939578996569501739186730", + "131462906977393070031818453242459278831", "10352029838493135617831431143066364453", + "73408192521407472644231035045711596171", "238814024694400682014086109861209537814", + "66091987442644246193015750957086469186", "3571372971639372633906021729177171072", + "257612594443266212716830202977027399515", "59108130182326579149785149831221554060", + "263222220647700078307598770683042988272", "296049924529240964856164005857428701404", + "170505451907555693102729907642458469224", "252632951948103577467595278565842113750", + "177005895812640429855381235800107879505", "138812781368593448188989240528490030533", + "149292869496287283142283272196583892041", "84966947109149623834597473467125816457", + "288887586898068294394453812468451513930", "240040038405508477905283529586773402148", + "102121494120219547386089770231897656625", "330714536345281145534225729404377743996", + "243995924349346577739099524261021947889", "149529993043722712074310726931836143035", + "192765893363431805682795584905544406601", "183623040969929642749671509006927222577", + "1525573958767026733011437846643064721", "117166243094341434382415149775517138592", + "108317570567260381957444348850119405270", "265379866248840244626059950683337371207", + "101439885818932106981238519576732452668", "305382987333931579010722377513357707194", + "84791721843245170977779990586106702161", "128052673033601092863556807497569482457", + "323970116080423360183549353020887602436", "253178912470512253870284195517502478752", + "327567745154006156499920950325920180337", "37760851567799716139384884658885468439", + "197908320985583295127982407294586864884", "266878838735372680888432013040757164334", + "291997814267333372848639447156161385057", "32902465489644465428263202477386654904", + "217514975031485349366770843144750039143", "25358794551349852181185633204236665904", + "144493068001809023664174224940279293807", "68737418717551687825594089813310379675", + "125563467002138064186914113073399634900", "301626209029641111181838107746121876227", + "158714849747972444160427417222466396443", "261960090756636115163930939299212093837", + "140473205448781477891558791776962906661", "25764354349558874643452816729640822044", + "35500985603009141874391332252797386051", "6130328008084854946605320998530612759", + "65911070872777301652371695333277770339", "143516661043274387337708968079545747547", + "124005107572155327766102681813910351928", "196183448116618734064409945819933602671", + "321626010754814019303036264377672436622", "319639293174762780809428341890530809802", + "154177077952058557430129994690663194407", "165708535551522843240540301769761990097", + "96966528245352734724517475056797912060", "156766160185796521254105805157044602779", + "271108427613111056655306024994207714846", "225021475359652760326916597886440027593", + "322508676403834215230209072184479897499", "233442986658152879187128957949166861242", + "6632834701150293496290041701739530981", "72945848993703027206006761488573354637", + "220461161602619345766199740580194213620", "321159411836169763341556412084804452724", + "24281678107281275484453505329916095811", "310715275211136077011602269956503178835", + "122870329840458638343326342813018512849", "13571213452018854499205866398304767123", + "148475575601522570889887470308323059757", "14097843040597683413022399766129370370", + "102718660192813748149092193456897093775", "180595841654842928922244486633136512132", + "248799457970517318601937546177129628787", "40071711920819430360439175851771764513", + "286098925161670631272152784250670063950", "275112462745497950888328731927654249280", + "290068609383266100194140781747032289394", "311800436580168149493310310018323904341", + "121930434417233109389609434228680930394", "281574554972024339666376866877676101235", + "123913120007588541889307903573623882055", "312449833180571905372504215436640736182", + "22188561845116767730666605340693357532", "164193566270753732025115010005180770782", + "251779278959456111385598086548036893553", "280800426346172004653189471251054540010", + "8137305751057639085595495387508082547", "299828193200954978090780694201908041132", + "187449300058176320897627622976389774343", "165045999537015536826432678512103155089", + "185272648877873407238079404862543415740", "236629802363933727652259521466782431141", + "56421288793209262409776732605900025515", "255594772545778155554374275992038804001", + "250205017877782987180750545031246560121", "226453750341230180774270564668437562013", + "260605398977675584579104599069120938332", "125392505686394559417474564859844391928", + "338126281238683346773071987037005616355", "9328199974415020283249005756268859616", + "123888392668312447000706355778647022661", "194534313234333519574696076358020947605", + "24710236171156162216791551051268125885", "43889898743651888600383188627001828128", + "315171527686540475787642890314118427925", "218934644233940047126532282627557470797", + "187267494209116719977177242359658047810", "215155205553097774614912396356049386399", + "262216576587441792961966274101255468822", "36947220824673522414895973516164900275", + "91352968010301160956189613987386961455", "1526661060248372386435309853408760488", + "186934124806556109144387341641340698260", "102993952313774016120695692337485795570", + "40191516347711559912799933205739453067", "41933311847854580194072896089635772105", + "21074769366332168591578346387005281737", "170015113800577287589263816807892593237", + "47954622667409004582475167820858545355", "325128049242869022730457807944576025513", + "52035175976200952538030566941816563422", "174773736600302959346529091536828305513", + "19077212147149455341049980696100735695", "63561467101782995257570039359218316519", + "134093540376544292764942557421750495624", "320470991095881762342995518775846760139", + "328062414867529105865935704950197203935", "68301821704292774520291453416491555782", + "35698180309399041547275994328087686952", "311506793047480286698363570197389233292", + "338338483704047092847801535610928800050", "143089363725240677791339433167163006443", + "113117065754723735857236371396621769453", "125723372422605648473689790078935043613", + "238585366233633898944999090543726164960", "293729916644654494936525370213054939790", + "39203111410532752545664786484193257819", "261074744186283445977447754562284066682", + "228456114877028492222942892368951348630", "100705936697510034149383339598887754784", + "157862771086018727343101233574818765588", "241756853913614730875530607089370627311", + "207262214398201745430201875248761757390", "156924485159565599272342952589118003045", + "320217455551763982424562198204550851761", "89452067989312678490323653528680249042", + "180468611890948688055144842101229574751", "29479279040695614991884843023002065654", + "167390388006269209103321642837626866291", "254695777026440907432827254516985460666", + "187177115285826221625518187624347223498", "332045191917050698504536824830205536486", + "184274114083220384310326268792313645244", "222188697420284057483248561705709517959", + "140578027748998958737945635934128791218", "183426950464464315290429788391842367231", + "111580503306619631358723576137159769662", "335643580354127791599598488673755616408", + "260550164151322930524025480381622714601", "47806658196182748622039001992492472621", + "20186803003182304816930824185716380089", "62789484860111330656212111726584018842", + "107790431342605135216397076296068254585", "292666443780633938401389104296644058920", + "220927652750266244331716492446792155310", "208207206962244036457286379395453915098", + "195778068808291695326824062103410574608", "340199904400557338450121909774247743622", + "262203568635302105035059948551841157952", "128618692521700291137948818227813602478", + "243320224668649517668896658074761744878", "211839684670054287498093905237816611368", + "82166970181933501266675073625897185085", "75527854628078629016159252745417719369", + "121625610575743604085725221967197075838", "277566753294527800171039609953342932992", + "187885813802059778562365677650116634903", "191403315444987604731401217615078871220", + "80771018852102354583745334438004508008", "8090637672941034548940752857122628479", + "110366221490089495255284677830009286982", "63618169708923541949447163759926312008", + "307144232996073349511717449907861114512", "248429007854739810382765734389293390726", + "224051169962642915134940269976875457421", "45714491655938342434923362988014407300", + "190857047529084524562287563005430811593", "283638693262798174564765314872874674283", + "38407247642906473477727792470701443077", "288284565241831009635841261605804718097", + "116084538477280280912337928640057265511", "295035064216000126501771210308445522416", + "103868253733672629632572148676305565401", "79394408729164793992671408821149275830", + "123134385157755731989243417161723099235", "188881727447990422839981908635445577559", + "193868004887328193349426609920850166554", "125238851893067113132856477032811664176", + "97369616960898104773918789755365303504", "218094202641917307686764857364552190126", + "187918447907273256957535142762141476048", "26744800024999667902593869796079915", + "202457515425581276393652252803803258913", "10502186513105902379021182003235975705", + "306414978640606260132231755414309026498", "39384078943492160303809693785691690098", + "102182047653449651977246724958534740056", "70597095573607902789979276144010337930", + "64001332434250742288670266923105022001", "70011737959055169032971544227970567663", + "319349255074886856584599293341032912060", "149075373674604848941455636935004195811", + "256105825798040314551146856384833212238", "196047512591257221793189534487653610348", + "14586100463770328028792698254552639562", "20264627864068714219101178892284543310", + "296236384632716297475274574664397705576", "17817075365980510597165642780066647726", + "60095503887948394084172605096256990139", "219614996212180887705533341339975621402", + "278759465578491474931999047518601395137", "273986483832797023146147542014511808346", + "288302115222814056176277861962995498752", "260317948964171328735169833240356961350", + "57527101794221862418486478881556018579", "312574992008304887866535433558095267138", + "264873690423767834690720810460474769057", "141410049559959758539756333755434880046", + "55445373322090056204258811732721921319", "264752094417217241150260989642163343840", + "210482006155453806494692010139247919004", "308114253102078761931037333124652558573", + "208454081233086025185950166069270689769", "27634749417831287570256666832657292229", + "87663153995377643264086488074712097711", "162702898363795052239907855129805116369", + "8730207649155596367329256285843665966", "183542228004854796910561714717190216163", + "97408678713210875971668486882923173437", "88487627920109498466455357792626221135", + "106598589823900890714508022862184984179", "328767280304183303668354318669805555569", + "28229702100636414159506739455728947244", "245986906066714145373440235943207350967", + "65659226250518690026725234094260789476", "146232767761021233502917908577719090591", + "46393977670067832672575994838481101713", "105750567811286582153708697610889683076", + "51323137905191351083291908125276310470", "295749807725626247971905931509330662394", + "214131379585880913039114908540270856163", "215893444130137504253045249794739488207", + "301471673729806061374498803901723786058", "229057718158170479549273668919519075752", + "138080778461226751313261585062135878201", "141026359934210462356233256181613757034", + "68933837692685322317706218817210809476", "25393406359558256430225320707719342819", + "275356532140429148441012678305732049494", "53956275977923019137388743871615957759", + "163061957672615896574859873254114456866", "272399972844833674586376883926838721925", + "85673668450825091245306967783783822160", "24828506698899796694273636324332494745", + "309508192186894448859185621412520682191", "282670190454130410452927134823404796104", + "67342611178596508938122051708689330984", "62176716943068424547544218228433941423", + "188584503027719286274573937553652461422", "268263438126094948857293758640533903305", + "214325647874741346829538781176702742742", "37360184964600511060756595110969992036", + "108625034075624820947408016345188036286", "65525164047779797052391340365153626199", + "94871307247042586715068198789316439507", "94780138674303327085126689432194366608", + "194572446345783945529943353062637156364", "253700939822265131591620516306016345671", + "117732382580966670103929531631634746601", "199304445053249453569933947603592550419", + "177463547005652117653650259961789847937", "303619750568901187676335298651373431399", + "172929310331248581342800058159323312451", "181294802785284653810839530993375923313", + "283590565789356541498093717820841532276", "257056520852802158030615007915971536986", + "234745968812608244106232238249574055915", "31929172996341263720673865366105258765", + "318142021164067218741683279724887696160", "193217284183218800872453414477910642532", + "38015259050277092864377624271795294891", "80952665656346897324426890198445307085", + "11680346385960638763848089196633275298", "9513088880086236426231810951583830880", + "205103283984377178181195116465041832729", "226509686283217197945442878084969145736", + "50924452316343130246682489878599503228", "242962718177031429342675033754379775187", + "2803714896324820509453569171158616640", "194392809421372535213057759184984077758", + "242879370917311287658016505785983131511", "143679272127425713848911322228852709049", + "121575049863118828740048589625100857957", "8715635290235044735142199835438054170", + "117597421515019045174966032141113687217", "166032223549541867891948250634350487251" + ], + "out" : "0x248705020c8de7e3dae8f0c42d042f14a1cd0eb72118f83eacc5cb339e722022e73adeb2ce38ed02c2dafabd5fcb22ba823c6863b46d69e59ffeb1d9be209eaf9f451d24a9d3edee2068dd756b965024a1aa9a245318cb9e8a943160766d0b32f7bf187269ba3a58b04537644a34d2d2270b697e7754db0d17e9fa3a9c7ce64e327ceb399a7f819393e5ef58751daf2e76688c8618457913ff682191af3ba15605736f7a19632b7ff343e76582dcc42dd80fec63ab5f22c6f97be55ef67a430b922a2d572aadd74df9a6a427c7865b6ad9c88c28e3a926870c03743d7a4b66edcdd1a290f5366e338bab7f5d463a1291018407c2073fc1419e93903faf67e292f1125e3042209150c3677d859e8c6002d89d50fbd53d61b740ee4b99783162d3e922e1a23b6674ee7ff6404f957a382481ec4420c97bfd73516691a149c96622f13fb4f31d0eaf7b04b25a1536297846bcf168956c693bb98e5bf683186c7acb776ac8236ee4424803d845fa5df7d6c1f93c086931cf670ded0eb69b868bf56b21e47aaad761fec2cab7cc2192d2d24252553bb87629575cd028919be709427e2f459cbf98b0754dbbc9d97c504c3bcdf6918825ff292d8ffaa7120eaff33605b62cc6c55dc063c96054a2863479dfaabe10f3899c9db34d9a19a04edd91af8f518bd872895356672c31b294a5d4374798050ec112f60a480235111d55da924e67aec52d6ed8a9b7b950652d775b3f545e2f992311c364e017e294f13fc946697cd9e4b87cb8d8a26ce7729cee7f9062420678cdd538160a08a7e63b66d341ca25db15b37882ed3b488d412f9b6d8d38181e255867e3ea0ce632439e179a208edbf37264669201c09e78c36548c0e768986ed4e16443fbb8d2cc6aaf0c02a99fb73d8a4a03c7224b99fc62b720eed606740d0343387955a773c8448a260814c8b6a2d8cf89637c289a2f3195a080d0605c9f6b046859569f43c9565c9eb0f1406e49bae1f3b79324a95910a61544a55a815fd25f9a6beb6f377b76259bc71b7926ae32f60d69bf2fd2d518f4bf2789ac05e069216628d97c9cd9e594e9e71ca09bfea9c8d474026fec6fe298827f6119464587d3069b9a8f15f37de39f8b880f1464197a2f36da54a2199113ad6622831afbc80651edb7013a43978e03a3938940c6eb2eaa8c9ac4fa04c9f3b6b62dc0d18fb9d39f8054dc9752452ebcde80026248a3ee5140e53cd9d82569dfad20ac75252523e377dbde66a07f4bbff473826a040a9ebb63e5cb1a2204c9461ca76d3d9db94f838b44141e0a7fc5d9cb506d7ff67ccd20b57fcf4b35314e11a56e721f6f9e953f23fb816a91fddf7c171b3044b60bea241b68dd8d384870745b93a1ccad262d8ffddc9f625aad29cdc4755f801f1521fbf9f2ab7061dfa75af1f4f3342ce8b4853e8be7dbe41b59838e5964168833147f2e67ad43b25f2dc34012c7927ad95f52f44915653ae1b44b2a87be50747f208c5f7b5147e3ce12af18797dc418c9f618ad3c1519f4853c8b31571c45a8bcbabfa326fda688986ff7a60014a2bfa0c377d3d25c23b578dc86ad79019a1fb024979b928cc0eb68f12d7233032ed8c2cd39ba093f594d0a1c36bbcae7a81e6efe32e993adcdc3fded3f44e21bebdb96cf144ca3b9f115ed023628845be907f5e070cf9a7862c870be85c528794673e82d497f50c37e3ce6589db86570101d48b859002ebd35448a0716a14925eae2234cbfe139cf1b31796f3b7b2d2785c5662fdcc382221d0baede740944874f6c8a10fc0b86f9645a815158db91eb38be077da4902bab2ad4720c351df7c5643129cae057c44f27ac4ae594d7b712ceb7bcb9fcb84fb86aab7db3271497b78722a73e24f9ced560c9bf6dee2d51b2b02ececcfc83ffa0446fcfe6064aa56c48ffcf2f92711cb503f0994daeda3c68f116ce3c6dc33cd93b37a98909a3ed9e2eef3ef5acde465df4d680e24bcf343ed1517adb127c36ed803c953a31a3b156f3f8ec529feb0b07c7352c6bb0cb0357696e5f6ffb9e76672a65b07fbdcedca6e0a0de64d0fcba7c3fbf55a6550c3605fea25d3abfb39271b806734ebccb48047108214424c5c0487fe6ae3ba316c8eba7824dd3059942f19c07e797385542531979441104664dedbb74d722812ed4ad7d740b25cb4bd38016f79c4943ad4d9fcceec7f8848f78c240dd83d28dda63b5dc7d501e329e155e69e9935bdef501528a6518840e8acbfef812554198e63e2956ee4b9538af28f8e2e678cbdea86cb7ff9c7daa3c39ab1cac73ae5eb93a2e684ef305b1a7ec9e041bfea4eb7b376088bdb48cde013d00144cd763c08d07935a9a2fc08ef6866a9e66797d7b9f19ef14e9ef39bb498d7739088faccfa70618ed4935eb3462794e152af48af2718a2562f33c68c68011ea561408cd98138af06335185a0c7fe003f63d18919b0dbd042d05ffd226a26ecd7cf36f8318a2de3c0feee6e1646c1c11758f06e04f7e72fa60524db59abbe40f9439162bad9c71b42756df8ff05eb316aaf47c85a7ac837c836f480b63e31ba291c833064a7d7248c68fabf06028ec0cc68d2c6a46273d1f9410d91ee9f970aa570e4018f59149e28819b829c773baa416af6163546c7d0369342c8329d05602021a09746c0eb7c9fe40a9655ef1071b2db1a62fd94915d974a53e0e275c5512f97f3622e2159fdab73518b395c5b116feec73cd3672df79038aae9b4b22184a84c1c2c552d26b3e614584b62d1468cbbdfa11809f78cba8911ce0f683d84691c9c393288069d28a4355feee7161c4ba1ca5d101110ad6de62e8d0efe88c3e814d8af8591c89b93004c427038b5a51a9adf13a889f86a21b6348159ec4040a96b7936957992611f68b9449098fe86585d22b161601c00df5dc142ae0621c11010b6a58d35dc4f9f2bfcb8c3ee89d7d33bfba15a15feaece5d195a559e005768b2aaf04784b6383672bd9271444fbdcaa9380a53051946628acfbcb9731b9e224f6dc900b105a5b042096d075fc228cbe67d3db00b564fbddbf4fd1c610959874a606399c73e0ed8e7a894946f595b2808081020439e5dae22b4fea22f45d640c437111113d5043f8e04ad710df09fc6f4d9c37fde3145a01a194201d63a6411d9d18954addfc1a97ffe4d9d723ffb0ea45e1f5dce4d23c6e6fd798036bdcad5144edbeb3e80df7405980a153d236122ffc9ee795408605b334fee539cfcb174ab1cb5cef0b3ed2c1f180c14410987eeb635c945642afa613567098a4ac0ce0a6cdd14169670e2e5501417a66bf1a6caa9b5fd449ba2bdb7b3324f5128755e2236f6ea221765d21228a7bc3dc6d4db446df246ba6b7ef2cedc34b291143a6b9de744a0d907d8bcfd4fcc2c393810bf5e63a75bbf1bddfb594065f4173b78c61ffa5d68773f44ca41e13e10a9fc62505a8af7188d7e734e30e150b1c0df774eeba6851f83c9c1f125065d68be2c7a77357af33e46f7becbc15c8bd758db2a3a151484f33fe2fbfa9e2671016917a40af9aaf6096f4ff2600f9a75cfc9c2514c4dbe2ea2fcd484a928caad8bf1002668f4350883825e2d78786d2710ab677bba575d4ffd5d7c5501d9ead356ffc354315418719cf2d19065c85fb58b7f12aa4faee1d8e6eaf3a098e038c9e2621013df9c46464d3eb18c24a13aa0ba28c318692fc87c03b669e384442e733e7649f1f83f8cb4d577de1cc434fcb198ad9d9eb235c992d84038b495efd6dfd7d485a8ec64dfbad0c19517ca16ce2b33013cebda10020a893fe49c33d59bd95df8a6ee3bd74ef2e08cc87e7909bcb48a8c41aa1566484a37bc35015ecc31774299cbaf718c977882644e2b20eeb48f716a87b7f72dd28595c8eba4477df6aa4228ec8c4d78ffb5bebcbe1bc27f0ecfc17cc2202e6ec19624b38f4644aaaf4e35afd0cb15aee03acb64ae9307e14c2732cecea00c05451220574ed60ef5fe3dec138b48288220ae1733e6c9d93073fc40c01cead7a7e8d6da9dff39cecb291ea8b1fbdb4ebc16a7b438ea82e87b93e1239f62d0a7bc076a43d0497e5d440b56095ab9b2a4a98f73a1e511a3f94bc738a38e87ac4756c2d496081c59655ee1ce38d38a8c3073a21e99acf8da36af197514290c1868daf9e06155d9927265bb304aae2b2562b38105b869684bcc1883bed6052eeb826f1bc392ca8927d7cb8c6a0f14825d34413b264e846d4b8659d4489ef103def2affcf20f7143f77187d9d4da95a2e20c00ba318096ea668a46e40e52d669a76d35474449fba4cb19932482b77a1a4d4e9a31179dc4f1ac3ffedab12b0d4e215fe72bd8be61afe423f6d98b66440ff9b8d5cfcaeeeaf2e6a7305e71ef298021025c6e1f12a66c89314c58c236aa78d5d4c5abfe121a12aeed270ad5358b132df9efff62b031879efe3eb37d9588d038854811bc4c1878acefd2c45a325087f383fbab9377b9eaa1f3b86be31dc3f88230f236bf5ef8c94aedf36b42aface81360e5846bf807098d9511325ef4de9733f10609013b299d1bcd5e66225ea0ec576955193d9f87b117abac9078b4ade13d97ae1f9186bcc3f53e73937167dc526775c3483e23bc8327be8a9b342ec26eec242b313097b75ab90dab83180f4279cc2ac612ea5fb9f3e48d2af025b9f604b59942f02a5a37b2e8761cec18c2b7ff877cac8d8cc00094ed1cf772cf0005eae9c9383f883c2241274c106c6dc00ffb9d21d52bf9427a7463724b9de68738c4f59554dd321b8ca30d2274680d654786c334a39ed67ec579932560fbe518c33fa046df7559e4e153473182a85c565813036233c24c2a2e6dd855e6e6849a4780f4010d23f95223ac8c2c25070895ce9428873490000175bf7ec09ec3f4a165a806746c1c6d3249eebb4b955d9242295c3ae28ceb98eca10c69f0796b4310d52ef30a4cec8859e09b564e2d34c7cc283276955ab423e31682d884dcdf8f1170b9f2102b9d7e3b3160adce78fb7bb852564c81893d32585fcb8da6d7e7049162be884c3176d1c228f26525c0591315733c3fa8219a95019841ae582248a91bfbbe6ec20735d47db2b779ad02501a03ec00918c1f043e24b826bc9652558d66eacb8f3fbdff47d3ef24d8c347d5147ae653b3f49303c6d3a8c43984da6c73c4791e7a9a4acfe14723571829c504cba87327e9b44ab31ec03cb3cbd9fbee551e9ed2c35b46c3b357a192da74aca3fd9368379c8a4976d78b84a0b390c56600415c7b23dcdc3ac89137892f05fbaf3a0597615c5aa110512b49330217c78be71a8acafb305196f10e0106abf406ff617a1297ec760515e4e8688cbb879681cf444969e78e7df81070334e593c1e3942ec98ae03b6eccdf8d4326f2a4fec6c8611262d408a98de4f305265ec1bbacdbb86472e0e1754c816af6d45ccbc8c0186700773abb349c854a92b0a341dca3a330443f081b28ce1f8bf35f001aed13136f671cd91390ae34b5abcac0465ab46c9b16af4e12cf609ee95a22a26558b633d49b2ee1b121f1b5027136dfe3a4765e03032d85c79a9307ff1932b24418ebe21b61fe43c4747f84b0980db5405e67778de9886f06c8627c15fc8837a5ad13c5258a74ef7939ac66235e6a27c027ae691c6504d3839e5f51725f6550be086213433dacc7cafef9e58b517539ba3db51a177ec801a967b929c09ccea081a89c046322812e8c60bb22e4f24986b00296315b48eebad57fc9b299f37c51b24df86b38f09ca9b051c88fd4881795d6834a5d6f730c10615d9166d7cecd87c78e97938e8b66c838a64ee632ba61c99feaf6f1ca170688048087e238135d87e24978f0279fc2851850a03ff4b10371d46cfd73d1a5cd3abf6d969b41d475ba954daa7cfc8b20aa23c4fb64bd55dbf6f312f3489b47e43d25ba4950a839d9837010f0751e4e0073cf3de74ace5d35eb7995f5cbc9b57917466efb4ffd972ff14b8f49a99bd78e5e3253b005ccc48d8d66e9a0f2babb7964e7dc25a95f2ac35cdc7b9fafe50a1c572819653a607ad4c8ff6ffd048d52e9f0236f306e6ded338207dce036f4de8cd719d101ace0b16e207846dba5740195ff03153144cafd1476850d9df1432d55ad12c0f011fa5de426297b4412530eaf47f3d49a9e971d0a4ed495c1e9d15db4d888a1c5acb321c7f6f9f66f5c930cd129ee1fbdf066d8c8a87bb8350a2d68d1c8777b011c88cf3e8e0f5bb36f0265656ded863209ac070e9053259b0a8f70ab1edcb05eaedbf96534f4e4464d84dc9684d22e5627ab902608727edd877344dad9655239c280c741215a082dbb211f2927156af39eabe0a708ef87251e4ea11689676f593bfb88695f11a63cd74033c94f4b998e6a38004962a6bbf8ce72f0ff38c3a00752c3f676639c2e39da55f724830962c98c8af20c626a9492ea5ab491d0f2680907c3a6d7e48df2ba5b739e867347068849f241b1286549d5d347c15021536a41b45beb814980cc385db6532d63f112220eabc7dcd223a60febdce3efd9ecebf05c086d1ab98f5cb110de69ae3338e624ef4737f41dd587867b71bb719575b59e72e38952a7deec6abdea34d506fb443fa4b9e3e138e83140d373876154f90223d70022eb1726301f06ac9557591425b8fc5f7779633ecf90e107fcf99d81c3fd4c4693566e086c058d91658286a579d4c4d83be79009b42a7cbcc9aea10a4838f42957991ad836628ba5b737ef762e1b88b4937485013e05b2ab6ea6f3ddf4f6d5ff1ce6374f58722a210ab65c003a8b1d358e583e3ac349c079bb9292a6406cd495c5714dcebb3bbc9d02d6b52747f8c8472e0dc2e7675daa5c41f67516945019bcdc93162fc60ec4f8732c49167aaa928bdbfeb2d8b7555ee3145bf983380c5f65665bc0c4c060fee0d07a60e47b7078e9c0156ac48b040745dcace8f1cd21c470b620635909345d95defadde40591db1e8f0ef426f25992bd740cf2f48aa5a77aef2263b404971220e3c97a9f15eb073854300c14e304211575dd59d24fcdfa721252170ad41bed4db2445e5a2b1f4a73b76d275a47b5a442e995a2e6cef53c37bb1f015068e28c9f3b47d377f65a15afff3773a362dda116f7615f9f54ded15aff15885f1345c5b3a5221e77093b63b26cdd0aa1c6cb1b2f2e155574d306945d0eb2a010f1b944a812f0d85816a2bd751a819d33062601943e34b9e8a845c15735e795ee33a28cf250ad8747bbbcf9a3e9c445e7e97b4d8bbac33ec08fc329e212ff7dbf9a3c1ec9568922dd59cd10077ccd7de50f8c1fc99570cfb1aac6ac156d003c5adada0f552aab07b30c9dd4d23a022f49b8e77fcb54d0cbd542cbd7b3af48c070b91324a943b6f18f3b9f2c0e58c7d0736299f4dea60070742cde8c657efa61409c25276910d9f69def9c734e1d940381327c83cf0a4a38a1e829c49425f37e2d235a0ee7f476534840fa0a84f9f599477ed12f88a9c88c601ae9b9b00eea54fa79e164cbee6b8a92e88bc39a5aa720c27718f1df3398a4f144461f1f3874fbd885cef6c69b6d8d4ca6f159f193c45dce736233286ffc56fb2e045354217d562d38db1a8cccb5e7a0e356ad50f753efab065aea32a1985850ee2d7a003f006a289f89feeb9dd874e120029ad38fc3ee4f02a66bed1ad838abfd2b1c557d0932ee8d19551d0e47caa6419c35055e1b07d670955ee0fb3f4cc240633cdebb3dacbfde7db38e0216695c8972918210ebf4fe52fadc5be9b537cc0948313012d5469f3e7e1d7a97444becb64d4f0cf15677b02a69c4968dfd10b5bc49257649d95c190cdfab209c7ff0ab701ab468c734260642c34b145bc6e32c0d6840555b6bfe8743c376ef7c49eae646eea8b5a864f229ade0b5ce5efbbd51bc781bd578a9172140ed9b65d7cd805953d4d724f909a1768e0e76b1acfdfd0229fda6260b88aa7da3e7f0d2b671a88442905072bd3e3f75d74b435f5acb70d4a8b31bc48cf5a488fdc487f65ae19a89abad88963a28fdab802d16734a28a01c78d5b0c5bd72205037ee7dba7761696e4fb3e14cbe6889539f9cbfca457c79af06bed8ed69d69d4900d18ce6a8228665da4af765a131b8ea93cdf9bc883ea29170da34c4bda01c47e7a18a87bce0cc1cc1bf35f8e225a18ffc27a7b25e3b7ceb116f471c7b9196e357c269ffc68146b6a72511dd7419f7e2befe893e7e93ecdaf7430eb2c1e07e8d9ff1539854a85be983b24bceca92132a9a82fce9004d6371bb3238b836fb90e52204c42dd983cad86fa8b6c6aa4f903a3af723b991b7243ab5510c38a3bb0c3bd62f0f9a373ced225229659cf27bd79dd03c2f794ba0679816e4046530b3e393ae1751281ff0787db29a9e9004354cbc812ddcae001828e14563643ed2db30421e35a6da8f09dd0687faacd007d81fdc3fa39c10055ec33bcf8e8980860b52097c49938650b72ec11c5bad777916aa481ef0ff409396810fee9102ab07db17089242c5aed4a2b948f022040b914d60230fc360eed1389a2a5a382fc6d2110d4bc50db72892835201d84a785bbb9f91d6d65e9f3d2fdebe19415042071dbea167c8d03d49fe805b75de89f4471b4657bc22d2387e79cb1eab5274696c98031c943d805b00485f91f62253de419efa358469d1d0176948dc60cc2df5c3e81b77d27d598db4d073a7dc59aec1ce3aa1f20af0fe8f68c51bc471647ae6012cb6c1b0eec33c7f638a2ed645a180a3f7c7223c33160646f11de21df79a69005b773fd6c2075348fca96322a8400884d8111fef69dc2f90ceeeff126b0991d0ce8dcbdad311e7861b9a5a546910129c99a84fc0afe5ba8d5bd8124470858e337b790a8caf8ea8848e9f462a7f3e2bbe598d4f744a6422c94b47caa024b4f23c747281f4ba958f6ba8141ae961cdcbc8b7fd2a45d362d5050851fbbfe2a54d7e34374882f7e41c1138d6785906623f9d0b11917196e1d8674d4b79f586f26a983684afa1115557f0c9776b6c64788024d71c45bdaff5ddd936e7f7e59ca93e30a108a04a4c244eb696ca08316b504f57fbb33b92ceba3b6338f12b11ba8f0d5ed34ca1e8d1a25c57471ba45dd65add1abdc6e8274c198e1a83e29fade822907c7fcd429d9ed99130133592c1e097390d2ad92b2120385ed024c5c35d2f3aef035e29d4c2b44049ae88d122420f209e224eb5e9616a13a4d064648bbdec2915a68320c8cec65f8d2bf98fa5fe7172a99649a3d59e2605002120766cbcb9024aa35ee0322ee64f9819f24e1c05a448360d16a1c0c5a5e607c2bab950e6047e6cd6937fc7d66085e672945a105ff7e922e9a4a2aa0219a11d58a833c57a047fe7b2256fbfe98bdf4c8a1eb402bc7bc683aa9fd1858b811c3531709e3efcab630fa17c85a150352630ef4de4c2cfeed140775039b82fc5ab34bc14a69d82939af4eafd5d0ae76d40f0e30b0d82c0f846389522db9163df26704e4f778b7900120033fc85241930acc06c732bafaf6d07e7fb8d2dfca3607d934aa89e3a333481667e8adda5462ef90a4e412f3e32ac72c109839fe44ad33e0f6851ebc12d8cf3ccc794f8a6680ddddeae0e6fd47fdf6884ef37bf39a371670dbbebe103a157fb924202548c19f9352d1a1b0b2408667823a7a38e644b4f38a5c1bbe49bf0e5ad3b1c36cbaec51eb7d15affd3a835e7c17460417f799ae01fce007fb05635d188a452e50478b9f7e4d846bca3aaeca8706e2b09abd7cd69d7c39335e8da2e1bf9084cd1c0891951472b4285bf0309a64626065e6b52f2c027eba1fec31eb7035667494c992633d144c72e4ca1ac84e475ccc1836140bb95626a27ed4711a08175776fc0153af663b629e0d16be9c347fa29acc62ac70d662dc79c3f8fee05ec35b9d76b52891e5c599eed6891b9b435fd21251e50d189a5cce7e93766af4532dbc056b02a7fb3cbd29cc59b31eb5be8dd69001c970f5742ca14afa385f6b662c58cd5dfc23e304ff341d1d36829e9507424dbfe2cf73a70677a2eb4a29dc65e528b67a75f2478609106e359331c545c60f3ef42431582f2148a3dd6d0c8f89bc86d08d71675a73a48494f2079c7c10d4242b591d030e4189242732e78ef3b30473102482f0541243250718f5cd2ccc28061bf4b9f90654656f72c1042bea040d8bad1ebd1a6c5d73c15b7b28f5b69253402b2afe046d65a0fb9e4a0d2d80a25b49572e25d7fca8165319ffdf271f08b665b642e6ec81868036e91e39f7dbc46cd0c9032ba8bb327e7228460c3a60c27abd5b286826b8ad18e4fc60bf1bb35ac670305b23f6d107a9c26fad3289bf01720f327ad7ba950577fdee3c75c351514b3f8f2db41fb1e3418a1cf456f873f041a6872ffd5489c906ba24a3b0be5bfc92939b07ae7fd1655cde2a8ddd3cedd49b926343a4a4e6ee952ac3952cc8d7692989f4b74ac3ffe63e1676a8290b4a7d54d964cf8d7525fb0186a84fc9f3eaeb4c51dcd6e4aa4992cdc33e3aa1ef868471037da586b7098971a13563a47d224ab90f2bba2bd3e33bd27cfff7aab95d183485e4793625dcb99972822f591c089091ecfcc4972963897ac7a85bdee512785953fa49fa1919253eecc507380ac8cfa7e8a2380125dfa257440995f13fb78b062eb87e20451e4cbad12cf628c06ba84dfcf809007970a1cd9e8c8f8bf7aa6488a93ca965821654ca8d4283390e2813ae05b49d4bf6d13b7a932aff3c42994fcfa58c48dcf61d3ccc62e6e2f7e4f29c4f98233243d4edc0de08dc997fdee1f3c9b145a75a434aaa8d1c9d6b01cf1b07560c6b20f4583499e3da164e3f9405add700051aa5049554f1b1cbe6ee87c6c1595cffcd7745eab6bb85157e8b0b66b122a4f6f1e989b03b04b31d36ddd23b5292c13372ecb07958c5f4790bc51dcfef09fbc6d2287dd9ffd4d470cb8870dbc867924dfac867c424a6192471e2da238eb795a6915a4b21006ddbee90c10bd5b83cbc75f6aab589e6e925813185a8e16d2427422214807cfa3f0958199587fc10efe1ec356905a653c828567eab75828cb684644289d6d74096be44371d682638304f992d12e9844f91882714ca29230e1b4bc971b04cbe31b6488741b0ad1658c1e6767a33b0d678e59d55a680174d643da616205fbb9fb4863c1ebbf06e17ac2f072ce379f45d76d9ab00d7bc481a4cd9a2716287101c55505182063dc3fa6b223a6a96a87deacec57ef640f828ea86cbfbf6e5a2b489b4b5c91ab92ec7ab01778b6193c72aafa78991ccdb49deffe983146017969c191eae63ca23bf868c52e19c5d47622f9898dc90860131b6e844097a60b217d7c7e27280719fb99e2d6e866c276b49248a4744d9a8825a83f32032ed175bb719ac22d68aa7c0d11b76d18637cd728a0d558b14f26d36cec9dcdb6c5f33a7dc9bcdceac8b6404a4e3e83d7ca6275033623d1f91b02bef5117ad6d7899e28e7d2bc79b13e92775fabb9652e6469eb90e36b86ddb8b6b9d68e0602c9ccd2622841c00a9f176c65f2772804c2285d21846b32be80765b1a7b036d6b62478cd168351dff918e06b1fcc807083627acb00c3a3586707858d3e66ba0ce1e86bde64473a4a2a4e87c" + }, + "vec_uint128_4_zero": { + "inType" : "vector_uint128", + "in" : ["0", "0", "0", "0"], + "out" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint128_8_zero": { + "inType" : "vector_uint128", + "in" : ["0", "0", "0", "0", "0", "0", "0", "0"], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint128_8_random": { + "inType" : "vector_uint128", + "in" : [ + "50419731819167183509591636238702702250", "243160052554941226771061620517961416402", + "132077915854571525015052582449039997777", "61460288984888672921797294507799676928", + "33856030730033169859812168683582159294", "252573635149269036055565766513369444631", + "279794156752397104374168485305690172734", "134813396102573383821633959344133057265" + ], + "out" : "0xaa6e5339edc53e985b17ba8ab47cee25d23e636494926a52a2afd6c032eceeb651fb6e9c7e8662a042b8ff2b04485d630008894191e9ade0da4f9e4233d23c2ebe79c8cfd20fa09157f73ac8306f781917712eb16528691b64484d57a7e903be3e2da155f6481c1564ae0557fc647ed2f12a2bd77c5fa802fb9a60f79a1d6c65" + }, + "vec_uint128_513_zero": { + "inType" : "vector_uint128", + "in" : [ + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0" + ], + "out" : "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint128_5_max": { + "inType" : "vector_uint128", + "in" : [ + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint128_31_zero": { + "inType" : "vector_uint128", + "in" : [ + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0" + ], + "out" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint128_5_zero": { + "inType" : "vector_uint128", + "in" : ["0", "0", "0", "0", "0"], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint128_4_random": { + "inType" : "vector_uint128", + "in" : [ + "131085251763681703650210983225134279210", "204149994827974013891189432256283029251", + "138314451233364434501509339736780133583", "87190916912719743438450099653641299249" + ], + "out" : "0x2aeaf9f97ce469ec3e15f6e0e5199e62032fec95f02f2999fbf9a488dbdb9599cf54b996b7567cc261441648f3640e6831e548475456417a73a8fb481a5c9841" + }, + "vec_uint128_4_max": { + "inType" : "vector_uint128", + "in" : [ + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455" + + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint128_512_max": { + "inType" : "vector_uint128", + "in" : [ + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint128_2_random": { + "inType" : "vector_uint128", + "in" : ["293619838168840684930947284175392625045", "264388153583386100657556026933098957077"], + "out" : "0x9551683c41029561557e6e42b51fe5dc15c90da19169c5900b46e5a5624ee7c6" + }, + "vec_uint128_513_random": { + "inType" : "vector_uint128", + "in" : [ + "34806233895606943316594477386264063388", "269482665842274191832954812547223680643", + "98566888497380199723262118438348948905", "306220238885959541900464878040688725020", + "111159210194802426381381041643724587505", "255284616880460028192586642678864289378", + "188871549660503800108679523636135765568", "21056290823491066720648133193625324049", + "286710680113285492371594620423571623971", "200004860114587550212458443689430210411", + "321851956264775548612724788518793872734", "3532337742491205460942323389975095296", + "323481655059545229713341333709240616122", "323136964091009130056662149426183105457", + "65167318114830798017853810940849211815", "99515404003291191584176500698893947096", + "180752719303242454432654495283527282623", "316094185457648142185214471716302456967", + "93108837894792737125268951133721012040", "223432116605195098796196862999105167008", + "36136949214178855160871726075755908205", "302685122815841206762281614237458018211", + "125443367308817112377866828073872853275", "81839106221620302098317069081963502378", + "79868404006231383566878264208180763516", "82045941390403533866916174239465997712", + "114786098599669193029507218675990346556", "277150593060181503827173172054038761065", + "134160698114177924670518200285967824094", "54307925108328140336193430071292664302", + "81237491094300166034936894545685569135", "339137825481638857685737855647652444540", + "100444922531596670474477300535544185083", "304917587669227796313009737172322898092", + "67545143044848126908800951695149216631", "200330516374109347995164263472097286053", + "57008632998146200089913222745105393955", "274569345757878505322705087144276745732", + "304202587007901236355082194481916703186", "114022363498830864639840147187644134991", + "305604296489208184357315646941263079491", "62415697895798625222187970203431978046", + "212473946153620257507317728946356887645", "6960034907456026234434260266584973406", + "187393605190011137027154046505864228541", "86455527766341212244670704268469208684", + "115819451863739675140779780615033767652", "75098126903439813739065905721927603597", + "44146474389129539911169430458352196742", "258660355275685503683719592571436739980", + "236024392362650090176037828983661685381", "194379966247782328856615689857154389416", + "258411776661483687391859525914642937736", "329595757116581011391576813918821972920", + "104204073831744179958368680780400890931", "179459781283877086488823271607414654080", + "170832652511394071304123668419115703278", "218060991854722196656996706140045268201", + "96277322228460602817723751160483777565", "153841079210086519343186459132396542708", + "138208317953302167387562966637428744828", "126578676301160949140892395804017228857", + "3645025998846620796940971243468910676", "104537413799756899135541944630954930279", + "234975575917491814005902371630971086280", "332106924614250529586477868040168131558", + "282348027500597244128781340047887657594", "97766988785716932963173272223212366772", + "106638883738156562609847876715751976755", "70273114598914754154979122700372820817", + "180035778760960650582292529008939494832", "176087344579726961184384050339345398219", + "240575812092879350277015191650271377369", "277492100560593682752724362587380202686", + "313573961130288179822689821311629708968", "233349244850888732251319812403423392334", + "294739209938672767175109958009718995667", "158546319483829881918550211852268429291", + "150514918589426145007018114981053616199", "14346362869902976673690978164614055802", + "189946922491791557956027742419236145054", "142548158909253567029964304587649265398", + "39482133759591022481459641708890390642", "94007789590443924513964716851761019241", + "295811620290576542547361414990678438759", "114397773768869953894312840134377361219", + "300863106230159297034794357178279827100", "318638833796044043346070543416279492179", + "71015864690116482811749779030434626709", "71911132557073211736550146969030402658", + "198693736898785517956156448753394156016", "300028572813307061464498739424798969321", + "338819733526523946463150159703685318005", "327308647752096643213571602817940447795", + "17856216928942555709366709672698008752", "16337615903034349237318035267418765482", + "155631161046614346361868077600010135717", "159579921524121322571986148530090258937", + "52448034977495035268906194016230227058", "226249836738449197632123927173022234990", + "284682329466967481753157695897768580756", "336666077482294946940857502687346589124", + "47238248049178118096602784891379277234", "1623247273694393890905991923310375068", + "204600920949585785785604506564732577859", "160652961618860841113755815228643170481", + "289473837337210632200393681681097420591", "268837063026041494516244499431962630952", + "325489298828601488388449641069800828381", "148752403879228802100184400514728504956", + "13068179053504524564312161116600211541", "74255354762929223490963204801594969826", + "210442607508879117399352858248291519055", "174725361633019944886072153691415472080", + "286639400195610869464298543479532707577", "292756726916625014906287691236276640584", + "128401361410066268594465348099234749842", "196511083009584388385149372924362136470", + "187524958128641129231156601369304138680", "261345686512293319179015600863327457941", + "152657771338718559403746481632097909879", "288164935265327982992932566028623721723", + "306979039669599340062003007880332639225", "54467652375185419954206245469420787151", + "92899323918121377409095167563136706236", "208061683491856029900000329124049909721", + "112282901040895607378043268936919789066", "123073582811178312504154424673372583661", + "188250533161277569349647752257317611049", "2830006874395189957219661647590580787", + "93911482360705451650982379789597980021", "321307650579124171463673972631620638752", + "47701286423845786582508186821414424863", "206408368687541460037820175117117130977", + "170066510256474493534290808539179775062", "91605241227824911816865059905900304353", + "114729335694352220327623665721506857093", "22194185641353189474875879416690697024", + "256022801464095439247900313952636439407", "140383937056462874775553361757357574507", + "15961810878358601881527646023010509221", "124794119902474099776090350851445083054", + "198169628009311065792623785308130146529", "311760983345791784241648507028199609396", + "129553712728922002831276591856339827228", "222104092770193338958825152071853111162", + "96645047190289468957593578365392869015", "313761892272717481365531332771324212091", + "307195232542436740741186084995460095692", "250005657825317746935389895516448130448", + "36449055807335231151872268316130095899", "18482132038945606647789431602430216208", + "5011381221826506230108824483502879310", "141372147050436215319405296686297326693", + "279598264949256321708926808359127249374", "301269478421795099893217072810488129437", + "162543493123370422006042040659140940281", "96118430907212862579127990379065143155", + "159289271454328420652458324759143421917", "337992080784566386323247894997560353968", + "5229658174929415251895920105630929935", "268552975083365828490892284392804011690", + "247384864530717213830603724038965832983", "214055185738105862888206767237763629806", + "23693571564554319554993359016010499201", "287628661797779570858619132271218342099", + "292443174504906882721863284521652021180", "52145939198259001101952359398809154160", + "290302759899913758280586648361828582357", "166817661561478301148629119117143026206", + "91434877287398497727541521962580492742", "23358835134733732771181987795987200839", + "146353505364457735741755398857741975323", "178744620488145364319893013703941793532", + "273179903825287271848038593077446992006", "212447130864357515526043283306188580233", + "143317001051304702559569941148852205111", "219647227741795784712646053270117061166", + "146195943102904802271062647133567607063", "212241124180253227758859032591931991385", + "325869461649761576527913968160028206712", "248149532457379535532722975518440716247", + "325792397719078016930330029174039568084", "274646057134122374482458677963418329930", + "1773461617822456571326194291043615189", "146699663470315690023147066886652390422", + "204156932773722545326782846678719413854", "239621682904325967278892855393624824615", + "37896929623687905853883263346444613567", "94585521626235411595725912493424713832", + "195704971936763381698554410220325632853", "212035126380273276778035786579979476802", + "176622893403723820665491387241105701738", "324938864404095516867129037630628939818", + "42106209207800727690593025251160004170", "246097963045449165633027096548303060707", + "90247989431685517878370690363815981477", "56015299796271031976687260496806703737", + "15718120956761988765008472344447993893", "183481204412340071738077846540060178662", + "44935315818060725947720560206784917911", "284412706963868634942497643375290447231", + "5234074441977302547815443101826087587", "178491225163860493693249948439628412301", + "50654502501600410927085753225761906177", "72758588785181775706499453402521382367", + "105766562883944598247885133845621533897", "264938786484612722485349401924068535867", + "329997875977001267480966887397193365227", "93706453807036234618395522396663375320", + "269347036193489175205006259454211868268", "139711032526376825871996177180270906858", + "282801908193138940637571142655544984651", "15651702118375671172333729631120565317", + "115275394909088211175141117747786537242", "38775003030334853952091493787037190648", + "258768424613875828090663097220831505466", "110789338227394536542258300727845773016", + "290121872465176519477726367755776078924", "268097218250901005305506743784602527924", + "170501593429014361333815518892081199111", "190075309464201614500933263131312950605", + "15284042930197657899266703697435808445", "251711112346510789510012925883300581456", + "32777930811606340106678010259088580172", "159931869076381475282427321991644013049", + "75196925249171908244203167971162565923", "226797935284352946955984775490965760228", + "71231223815892755162381563836928077143", "130164446722578492239161269461433406215", + "81656670669930350300291292821140663731", "324213745561026698183640983146328573079", + "194996676064018939946412828799039348725", "83364329309766744342201218617869857862", + "336220934747775708847818801008374101615", "215253718136283453541072278112827713356", + "128513931422880285298005510273289787654", "81844830850151679872430805568547120123", + "125354313221682085755791449334108776843", "30114676357833680239150643752533530979", + "168474838651827714278846509738201966868", "193253208189281486466055792881336479605", + "164503824926246580252824582206559161467", "97066288962273275344843430636876307866", + "311627486857188708476852052200291858852", "275986381632743143364667200716011216348", + "82105826671921693647340013041104515000", "302785179303168369484983041227231988828", + "195249956567967506637883949422945647425", "155797472952317774557660202436715601771", + "305385568395287656838142127098215681339", "114973450019464086668464530251405823921", + "257123666101110857942716142345540430315", "134621479749583156105744033694947429377", + "301526093545053129714725781355937071549", "94139976669111407977526828124810311456", + "246805593437486911411344869701396544892", "46446281040864487095411717242016261292", + "328606402329262610580921804691797586586", "102891681111402081739162959344555656138", + "144580083917191726016481220217722422393", "122136813004348520626446661186492008652", + "318822311604243553874293104524548464568", "322523589647811276819193499783838962269", + "230480845379761553596834883532459326222", "296828989914577090873301557994236317497", + "125298699393769779935312472358829832430", "114287229943311434348030799763708324151", + "291109131283946449026840281386167860323", "14174034287051335737974446378779242674", + "126902352962166088213242277444353070332", "180617122157575486476306717471499562790", + "261093182098062529692707076348778231963", "224233643055403226275614889584424355450", + "270400231638642297529672448690664829479", "215143589417490090780380610294382121829", + "243482845364263372209153084432576869209", "118560820224197765905075139736393609450", + "47103020165320637167206623667187930956", "284118317971439912602334890596516688860", + "20329047223871621564119646327389561683", "294415419020673514697425536305092203616", + "223156058190770108878051218723793412213", "272062182889284646743082383604774779276", + "261714962860020224667351581141024007246", "122234500080132310243226820262021459839", + "50020774016352326866855732557207512296", "79966142581084661986107436157772108715", + "59569508209666118394229252747116352128", "177449710045924021970154493313266682085", + "169889037971264327586062864747829281168", "224579609332542977284640328743368411836", + "197868965699671594701782479482313847014", "62856354403886969021205374871406418804", + "35976853697770061988251487543161816684", "28075286358289119440288964979030692487", + "330322145312995692800721533484122620265", "289367715816944809386367499125890832826", + "311438324935593794500703926089083120811", "150821910281893610043051674760767656974", + "126407936269627044410465065529052586849", "158905869255698782756386670067991000934", + "201186521969319895879484699289158084362", "320690891684918335961677291224379626521", + "146560794064396747430989376899403489143", "291852838810252468990778339901881302800", + "169009499023191937908643251225274753892", "222611190890723618585065704317431281350", + "101070028958843036402497979992349143575", "215576747657148183083965418032092422813", + "91508833849933606528430825774962919582", "29595459226878147948615552044156097121", + "226376685952631215407928734913832964626", "301260160594866011257574390230227988565", + "317479126916165143225617102230659766923", "244462609413456563913050095613676618458", + "270704365218328255581432279816252038474", "294196807977837210929538287531843354531", + "212628453534702156362743955641268823930", "5677791524817541596060092381480255804", + "138687997258538177179425309521759854190", "259957066901601598760152489788973884312", + "200927271252361163906108938056932673981", "24411201151676272937733302974133212894", + "195718591670560390658129813606806529693", "48010162603876786623715624506524274669", + "273677304742407484351513251516522742979", "85568865829140641183644741456072631334", + "242511145172197276273702530382366301650", "128864464787960460250478501004879911975", + "53387188533730812929501408008405746529", "255765750242344796367837757336982393683", + "249342339620995191684171147020372932416", "329873897127033343913522982745046272690", + "29094573381731605924559697250901276342", "14669576776489067484114466983590184339", + "4522546893269986307811971388294719968", "98545881702491922643274851979747500718", + "207007035555654367992076939017559542245", "47251495553872384243901472187069259200", + "2694181369399693601520217350375099812", "234053663050407573410107341972100124835", + "184231464578109402311222429643789193534", "312643158495292203648915681393436660188", + "170038580728108563030414257230519015572", "308069216188561631445719508773830461776", + "303003561728146767921786277253305092843", "295124839666362619962502271397339183430", + "42075774094529612702085244702965987314", "222303703209741250446195781239992919740", + "181705205176182403192700279542416879335", "30281884679462436302801474547062039519", + "47555576185741722940273410025012825062", "91579187348509757599667669486335655631", + "225070669705653098809252722490268541296", "231469905751638611927214600031537282106", + "239758096705314136908320203687557556159", "71760321581391979162350191658730302935", + "247129567634057314261255937751419372295", "77720666029613310335565313239010993244", + "255473114780244677689383263663622370640", "239514901680458072817661047584835482828", + "304878050668299341755187792491025630916", "213678941294168094430911240458675709392", + "269728450553747750731559446003254588939", "29891991961618089763677927317576448905", + "212725405781280381047125034851205521382", "333400447790445072798173086324663281968", + "232960472371962022165090293165979988155", "142133702805784354146440456979909464208", + "254972550604552529297073837831007704134", "9030966779072054488031699516968420492", + "219638091202733453662903234534856287568", "32445235387052729112149347290534085651", + "102284639913360802221127004015106980728", "221520370693569843609873719634726895156", + "77820292303791615758864845879083457933", "164972414795442160061844278495113860660", + "18098965979287963641579969237551639824", "36732689838146755467901213604533171223", + "52679251373271568428523139654899870962", "213359831556524448634325369972800231195", + "184883153729997813665074975417233683459", "40514828955193067095892683797849862789", + "31851554808687080347127939176480569593", "182691410666916675981078255489201061421", + "320507283518900342781156947441021356281", "13149597991278312367771009484523267258", + "337570201464636697437314502097639234091", "205809581514989495598762328905615141674", + "41374301604298760192286864668971462466", "75064901111089181509416178219068452006", + "302415610046207754295384074612633813307", "47165717328685781003420332133398230763", + "5389066198551080605879833439737799499", "257080053435295218527779397269270405782", + "284003235380522299954948237375415531069", "224969252251223555891829888602459411878", + "70438772592315274144802266972373596436", "192488255562217886512335206443228491047", + "71833346986491319148169975542023088912", "181018544431220736309526830624878815115", + "333717691470275440658830040613994786471", "202137518116584642304589781210074632978", + "102442679004337011231345344829891015493", "124863204326006281050248345622785611341", + "208140791672912941099032676363795826239", "109100704943125578954618450465328411381", + "101144857096536798592317001716874498869", "86520853165236391683734696798873338484", + "314203898608206346152153894730126862032", "337644330531048322936730449085273015897", + "339691214173151855963281264996741081198", "4974335854522284426566916404706362190", + "196414541290605833169617742009592206005", "300365715027419908772018451000853513257", + "132577590439298175342883947882081335238", "263878934156944337125536470476971864904", + "233923779527024545789807684282251004489", "131665083890128424343856912045539680379", + "169352350623046944819489716243588353374", "332320061953920626841597554422150506343", + "172139239266840723842707506448553977032", "338987809311295280502277384193643470904", + "310167963287987736955286574096116593070", "18519309750083408357079283121562451223", + "313564124160272566304194347102740447959", "158906361430100740150658893371856130179", + "95701448370845478068254397660689605516", "277238645116514805831097547261433526823", + "143209809787977525518308738738880422040", "52798759258241942570979511359410125428", + "280733043575169518362981473565094983737", "125265944423527168256904163343979763377", + "239683922564149602736966057272398460264", "328926062097868951504077452504669922085", + "12358813718555259181684522109757917209", "203575127917216970031340038111998633493", + "315502175925381787534820009727778621784", "51554118958403705746989698684550226985", + "144116720682187797891226079153148640892", "82451417815285479898403806642641132082", + "186902012655005578027397264183435980472", "33625305532234670390023847516519354930", + "197966011548828444022338585924675270611", "338295823785170362918829953875589854558", + "168822590932972871866450287070115064860", "140790721261095706323502982512044536988", + "274496954896219652696909423114529491504", "339545551834219214231916796020998722208", + "287690546721521539834754953488501778055", "222065686727893123386904155196173798489", + "74405117096035972833830432179016472894", "227162005572928491352390677389529763085", + "180709042558678267804347035446588378475", "205875219752703314568931504400449457892", + "57317178928629534585262679694795341889", "53358965587809360426133007570924386284", + "147787351987681307505516744626017659828", "204232118816580034806859877547430404821", + "265720665050899807525608255627725680283", "243000591446827277138785181106636904418", + "302456119993615948279247739377395306578", "322962192027178373763971906935276434769", + "326420716753970971091644559942082041066", "236654545216880540796223630593954372759", + "50521133337630896515784142044593212754", "9267802159093076155706887778612249331", + "325522942434685073094136443680011961361", "192682179850857199992091829042064895969", + "314864237895746760310736419452902807972", "118110231100042762477446006412839968070", + "289343784617659729396508880032068562430", "101989450006512218740615208375588591689", + "312547556274232015781431813120234646931", "164820945314900024285827141604899423993", + "128945941564122507971270698431915949999", "193079131540605264366545438020720819161", + "223700928183392668735069779119091432042", "43346391068518570409069107876068495735", + "142412886278717401332026472944416778459", "1849935188028431796526211154154310997", + "185158338190715399808990406060340669310", "297283936372651553856542205349049044098", + "187249263280892350318945311530344895607", "23983226407233284446785287276993024890", + "237188694161353479360907996789831009591", "148728211580346479983672545364133437263", + "187341439561034011093365261507806225518", "212997861984480309171261712306611028308", + "63399801444325324698609238346981078465", "91728364814444314404824629262948230111", + "32715757456789913488723324600282994650", "269652131788898035519253492215905290248", + "115539653526852109661444656231699418344", "171081833323177810791432313985591011623", + "3088403098500007329298505322815864984", "32424346684320607752881892459898139111", + "129304480335990825040470217571765833580", "262113825311805794210841948226528437913", + "55967954843542081252345215961381591687", "73692338009507700432207520465512222635", + "43100108541061168616022500222122537182", "2279741118419694817978913958827940054", + "209207581190236367534533098662422781049", "79364598170184386374865388987943569285", + "83754191790187064317181377455913425959", "105903243335747692983269541729934460863", + "68600884388131324600073417027612130105", "53559242678598888571051637563625109998", + "31123334673239505985502485469190871818", "108221987199725942615133993358635423732", + "144858385761375916683877311660170870186" + ], + "out" : "0x9cad15a0ec5e3e7a281b00dad26f2f1a8376bab0424c69f8cb3bbb7b3b79bccaa985aae849e5d91361ee6428ce4a274a1c8cd10919ad6aba917a5e836ddf5fe6f1c1e972e8ab0032096ec7d8327ca053621e4a34d72c3ebf41ea8f615f070ec040a68a9d564f81819b1ebf2b5a56178e114aadf66c11e4fb3d09de3b4a4bd70f23d09909082a1ce2e7a94269ea77b2d76bd791af944bb1a885243ffaef8877965e858db8a4e64af2b54f170f996e22f200e8d1f3073cf466e40daa62b24da802ba44cb8cd14234f2bdd3fdb8f34c5cf3b16bffe3c66197dbcaa31e0d60ea19f3a7c90ccd61fe5b0796c137f1d8c40631d890ae04ba0fd1fb2b6eb0f73af8dd4abfef4ff453b2c8f42890d9541cb5fb878788972467babfa106b94b679486cded4827d5c1c7e1543648360b55221c0c46a0de446a1d291281c3c9802bdc7517a86d4cc09775ef04d8131e1e8127b92f1ba3afc890724189b240f1f7b3bf08b7e31b09cbf942402dce27c995a084835f5e2a9bb9d8c39d3701042ed8a976a3913d7cdb05c33f4ab3fe592a03ba5718163c900524c61f31fc9d61cde3843979b93d3c3bcdaf3abaedd46598b65e9aff5a56694e6d6f4a63a81b55d67b953b4381d0de34d6e18709524f4285a3261c69ee64ee1907db90132a27aed2d6626f53db286fde9e4e3ba0b972845756338cc51d3d7cf90af003bb40ac01d4eb10c09123fffb001f0aa2c77af3908bc73508fd904bac5030c7a2a8be47dd5df79fc3fd64e577b30df1dc4e046eb85963f8aab8d032a5577ac9ef01b86c711c28d80741b696236994eb6e1cad6a065239519d76e32a045eb7cd74d65c8c23fe7d3fea2190ced27150390394b4536271a3858249dbe44f762eb3b83769e401e67a298ee8c75543a8e0e9e4ef7ee1934f8c7c1f3fe9e53ec44357507d8d07656dc3127fd3f42e5d20222c7f2457107f9f5efa57fed89f5e20853fc68b5f505aeedbff36743c05bd6e19435fbdceab6ca3795d10b2fa8c6c0642d4378f9d309c6a65529eba0a41e4c662a77629e3b756161c3bda0322578d15f5ce0cbae538405a44e9855f7f3886dcf23c80df722397b898fb3b4d36218c2dab5cbd6bf78d6b4cfd1e202c98c2856a5ed0323cb88a670cd903fda490b1a895dfd467b90041636ecd1842383c9288f7a4d5826ffa15e34142e9404c68c2b87b7efc7d810dbe5b694c0e75d5f5f7331467b973e1064f8d12872b80f9644e8084fd664294c393d8d1d53a58b20287ee5b73060554642b3078516c0e2c8580e9549943f3c3371591e2b5d8f6040da41d8ccdb031d86562d744df0b79566e48f49afb92f11f8870cd37f217d0b6bc737c22e2a8b711e0d8551998f42cf4f96739fc4eab2977dac1a4b8a1b2922a3a5f547042ab2c92ed5ecaa8e124a801be0267b09b1d9acbacb57b3d98126e2ca54ec8e51f60aee1d9702c569f5e58a6c6b0e6cb433d186ef8baf3efdde69277d9f97a6aa17a18496552c521dbfb88406ad4b4ebaf21c5c42d8be8514263b43c8d4933afdc130f50ae81777213b8e5e639505143a632ce001b59056b23b90c1cde34b0eded3fdc5d75d0ffcc187d36a17187cbf90c097c42cb74f49aa6b060307984d937ee62ec342a8417060e6e4e37fdb4be3c61b2844fabb59b3c123dda08c3d0a8ce265399e9d8622311af4bed25e8eb4eb25c35957ff03aa2945069086e8dafd37a3e8c4cb4ab7a11c3324dffb4bcddeb5fe3ef764b55faa16d36b811e9467747502c917cfa4d7b5e9cf2d76e1e3c717a4743ef4d317734385b8acd4c02cb0a9ec757be7bccb4265c9c7a885372e68ef62ed1417b4b4222e6b1becbdac63d6b7280015a63bcd68552133f717cfbb31d6979f00dc10474fb4b8b03e8df3db94667b34ff9ea8e863420bcc6eae83e8bde434fe4eebe1cf527a487e4edb53510569c960e8ed44c78c1e4cdd540652058e253e69cf22854b6eb9c16e2de6d9bb7ef95bc23f832a3a2782b7b39df74286d3562a2b0556f39e0ef67cab5fd91941936f0812c270abd3a34aa85736d92057b95e90d0097466474a03800b2aab866b7e175c5d9b904b0e3158aafc3249b4ee6fe33e20716bac53aef4e772a70425a3df6b054b1cb5e32aad82472ca3477fb6e0daab83ef6c5d37ac9150ad886a7824a0ca5e857604a6ae37ccc5a5d57a9781575f9b1199abf910d21e6c2ee9395f90d7872bc8cf6905a40b7def62e97c51f75276e390237141222b891e9e43f302236aa9456ccbfb56b117f8800d5fa81d22bd6c47dace50e6fcdc5b8cffd3c2a8747fdb25de2fb497d36e43205c3df71c189239cb091f9c0b20b7b978f030545a0380143e88a72fb8a069b88f677593bb4ec99b158df956a1bf02ee95a5baa8ba2dc782fef834fc8f0f47962620dc115a2c6d928db3a3537caed1048e9b5548e2240caddad779f9b4298d2690d729e6ef5def47cae1a1982a205bbc4d9c3a5bfabe86f551875eb65d77af79e847eecf8d6d409e2cecc90071864de1a2d3e03a60fdd374f8a77a4bfad3ef97a0253b49dc5519ed0672587932e308fc8b716166fe17283f95eeef37a5672cff8d6755d8bbda4d7481bebfc755616b9255309ae09e53edc925d523f6ef0cf8f2c4ecd18e3339960969b8e775a768cdc31e22e436da8d693b883927726e236f94e3cc68843fe138d95921e4660215a45a45432672d599dc477bc582085ca13a5e53f1dff3ad1d872fbb4f6dd956a5481469155fb3a8ccad8f9fb78ac30e0b5984c5dd7e13103f2e6cf15e4c0ac81b5c2993f5fed9816fa28bc264b0cf6aa7941a5c6e12a4cc2e345d9f7c4ed1608ba8f0aa3f7b2ff38879c0aaef1d40f3cca2769049f4b6fe67854edb6cd62891ef6031b419e1f1f1c975c29a6d3619e0a4de410a193f7dfbb9f8d33e25de369ac2230137e338e1c0a210275b54a127689e92061307bc58fb1a6462058d14650f2cfc3071cce71419ab9f11f11891332f23c9f3f2efcd0ffeee223e188557b9bcde85aceb8b71649ce489b56f42dda63a894e8d355c2a8539ef17fe1d7beaae70c681957139c491887ea4485003d8f2f40e4205a36b0c7f910505640e334ced196df4a8524ca02d671b2106f0b15dacd9be748f4a714b9ae329cc06b89917f4530f1aa40a43aa37af69c69a5617433e987a88dbf3f68410922020caecb89aef448a4151582c8472679e25de17834eeebb59b01c68e43380215169534945208bc370af9b44e5a8e38fb8aea1cbac2a5c153940351aebc91312377617a77f388734dd782f002d7d03ab117a79756ed4d5fb52b6abce82796b628b5487bb3818507f919fee18637cba5570cecccde61b30d7c9479b79a6e9153a61be79085e46e339690ee7cf8e4ad985615bc1b331fe1ff0f67d7130cbb8932d56b1b1008ceea43814a9c1af70c927687e70d4ef225f8794317478f3007a22b28c50365246129b216b6be8188ec52fe485b6ade71d4eb088a9bc24d92712dc6aa58d29d673e3298eb6267c09f97691764a6e2f911500c4ed3887f22632af8f1bc487a736fc458d057f67e0734489f86bc4f48dd97b2b5cd1e50ae72e37cf16dffd577b0649a2d22902882c4094ae22ce846fe0f14af5095abdbc0fd0f251c0e32ef03aa4e9d77cf7bae7640868c62f06b09ca172d44c3973d3e72256f32bf82971cbaee02b768ffa6945f6385f66a798709a181c48405886f4b47540a51ff4437d311d3385b5f3ca436a18bef7e36e84363d8bc670d5310ab671b51d7b0d9b58102dc70329acc2246eb793fd1e8ca4cf13a27d583fb9ac1b640d37f2ea5671f4766da1eaaa7c850acd8c0bf478f19b8e97f7dc6c14a518a5fb895f234250d81b7c94447fbf18d8b2fd22adb3bca447dbf92111b3f467e30360105c0f8ce95eba81a6efca61d0da7467777068b56f231f678868660a41dc9c374864a505284238984cd89256bdabbd5bc3b437bb8713fd4d39f37b6522ee5b6df65972221edb2d9d16b2e926e5295455e99c502a97d6e843ea517619aca52900a183560b4408050fc6d59e58e93c95062b823140d895527ac9f78a65b7a20da4d9d2624bf03e82c28f5d77726ede92ba7e487a03adf8cdcafbad4de6cedc83aa9970092f2755c5519f54a63e1452627af72a42e75f013e89eced54176040bf43a33c0a96998688e5501166c5fc15453fb8c06c00a22d5535d6e5e3ea2ccaf67fa2e3d1b6bb8ec319799279bc4d6c4062eb594b6dbfb1a7545b4bf37c822c0155a397d242154e3ae821c6820e5e753ec6ae4da0dbd5f4382284755fb22089b0114036406b51715683b93421fcfbebde37cf6341689c2db7a849f6abb87b7fe127e6b9161e42bf954e0842ac8771918baef9dfaede071ebf274f44a96224a50e569bf428a3afa645cad1fe33ea214c14e26af4902d36a5ebe24b9a571015850a465b36ccb04336a21e5437972f28549ea58a863f5fca78127242a25c890c9aff7e33d9af66c053233d30be6b8ef87515b9103a8be660fd031098a9771be3a764f32aea4391f9a1e3ace217f753bc7cdf54c510c9ecd8c17e5f7d5a3fa4e277382cf537fee963ccb0bf0038df50ac46a9ed7c8bc82ee4ed728488601de3d4fb5fda7825cb3a226cbb31b26dfad4d049f381e28cd820c6363cbbc36c96c2ef229c437e5359db19e28e6914f3b6ea5e334fd69d0edc255f3ae5a51c7eb36e3dcb93f8279e4f6ada0724743f8d8e57c0367fd46b88739b49adf347f466c463d6c33741ab93ae4a0a42c5aa2caeacd4132ae2f279c3f5bf068b95d1b694b0429c595dd4f87cdc33dba94aac1d445a486158f6809c33082ef6b7e68c60b1ad98d9725adddcc26c1070bc63bb956f8c9819812e41d1a8ae3e9d83fcb2b1d3aecdd74b40c8d4478c5afef5afcacc2d8de303f817b93822cc750491a4059534cb4086f49bce6462d1628ffae7043dab4e8a205887a27c15b0b1f6d64a5b1c907b8d210b403359fb3603758956945804d8df09bdb77bf660b970cf24a2cff8ebdd2bdebe40020cbb0abc70f7f997f0b5010e2a46ef088111bc3a609ffcb5dbd4c9ef398b81378f6be4ab5bdc2cca818f961af9057636bdf68da6736f0c1517823adb11cf8dbf4989540b259a8669238e468d2079a2cac6ddfffa07d88b19faa57ad6392f082f26c8dfbc3307ba296350753b7f5a86e9101aa69804eb4c2ec61b3eda53b866fad0afcd5b145b2806e3d9744a93295e633d67b8511efcc4be9f3f59f3276cba5e13d0d7fb75166feb29246f4ebf654b94b5ba32ce584c462b73e6fb63a3329a6196484a8b807efcbf1fc4ca795f2b8e2b06eb2b50f0faf5bf0a1069995cc2abd46aee7e7876904e2ae60fbe3823e0d441a4642673fa2b5bd923d8be951ea3269dd0c7015cb05d05c4e5e6399c0e50f6cfe85470b1da22de0a71614e947787057f0c0165a0f9ddb12bf7e756fd6d11280bb65eaa427fccb3663917b0c01f5d66735873eabf0e5c348c27b9a9df1a41d7866839b654e3c89490649a479ec8c4711b39cdcef89fb554571eadc1d4cccdd2c5a1fb623e27e2d0ba1cfb8efe4bb5773e7ab78e78c09cc01c53d5c0c6a0a05ca8f090d21251fea4dcae3413b2aa5a4ca54c946699bb817c6e3926bdf9bb13775a3c150fa7fb5788035753b4d72a431333c539e92d4cffe1ebfe5b18f27892e78faf9003763bdbd147f56eb6925b08e4a1abb5c0985e87f3770c1014cc7984351c8c6ab34070a66274765bd01c3c96391cfdb639296a031d0d7e220f704412f12a278f04e236733b3d2467c3d7574431d4d463ceeada43d07adb9ac64c4f6ab1818c0bc5c90e5743af1229a32b2dc7c5a4a373a1bce0b804a37f7ca035e65c2de0d737f5c54388b37684d79c414bfadfb56ec00cc76037e1cc56ccc8857cf0ee9d4dd0c9bf3e0cdb1e25bb85fcd719d77fb974572726395f1daef5d1242645a0f49f906debd27aec8a3f20ebb7f2abac645df01d27a2805ff64ad398fe66e79b97896145aace01a2f4fdfee384ac69ae9553ef8291cd4d6a6435e37293035ce6e1c06201449b17aebfa55637cb09e84f803405393022a4d9401dbb27011795c1367d6a4bd064bd8d1a90afc14f552b67589bb2512c1841081785f262fd397addc3bd68551fcbca797e1879bb8f1360c195d1e10906ea1bfb76cc47a865f1c20f7280b9f665d442ad4b1a827f20458e95c497fbcb5f409b8306dcb65d3706d05eddc262b89c034eb25dba159f386a8a11b5beab17d25cc1c172db7eaf0e519538e0d83c94cf173bffb31594cd7485b3ce3fdec1f8a270532b66f23dcf3262e8a52d570e68ebf139832bfd553232cdc252b0fc4fd8d5d86693b4b0f609491ade28e47a07d08d15adf587edd75200664d7627246b24e681e214be2a78cb9e61844510a2e9a5158ed3d45adcc4e6402be0b133325cb6aac2fe877e4c47f6f5297cf1d9d886df4841e2682f55be8241f37a1cca62f5ae3562091a6a125ab13522a47ee98bd375c0cfa39eb283c80124f2b8cb47043123bb2b782abd02ce50877797a17ec61c694585e2e927f8590418a7c5bcc3ff62a018b7f4470cf7fbc4a82c90505c0b2f68c94989e75f4a8e6306d26639e0d1a375f105a362ddc94749bccd4986d2832f76ba1248ab1492f6c86a8c77f179dce41191c00d6e3101b8712e7f0b0f291b463419bf97c1a1f1569c1ad2ae02b351328fff90e29bb81f8ba5965e2bc3f946dabd782dbe331b2d9abec7d1c8ed4682c255909deeed64cea0ed4742b7cd451720b8a12c14a3e777161631ded9f49bf9ec42e42867048195f6637f1815232b7c83b3f10db3d288c770ae7e29146d61eb3ef307b6c5d1d5b971914675e39392e8e03666bc5b1d142f1771fc4a089bf723718d80dcf0a95426e10bf5db3668404699fafc4d7e9cf90db642326154fb7cced5a3d043fa60b267fc676773965d10bf0bbbc23ef185b79a717f2c0a932e6dff85d0720902861094c9d226c74708cd518ca4e9dd244922ea29e48bf267c4813f27d50f11ad8f5d7446192e0160b787051a5382d19cce043161252e0b41caf3f4f32dda56c56904eaa55b07591477ef4a6e4c1fce6af98a4e28b9ad76f8b5f08ed34e6712a7741d8eeda0284dfa9859212d08c66ac35c9e9b74a1d9a9ab89b997326499b7ea9c3a7cba37faf20c4bab9d0ded78c12843e54dd7ae761d94bced87086e94d4c25c0f69f3c81c679b48d10248df6d630bc8045046e5ea215b66e3dc6763b76f83056566898a349b3681a2356de3463d5f1e891c3bd49c63a1d431513a574f056512f2997de96f6e8db3756ed0bc106cf236d5d129d267f273c2c8a1f440b164d96073e93ed8f8d3fa6cd7ff83443d54dc56b1e24c3c460c2f5df7621af3f7eb8e554e4cd266449e000560ee4d764b04ecff65f40d2dd00a81fc6b749f55c8a1b98f271b627dcb06bcb5d47b6f632c77ea564f2606183f30b5f30c2b0e16d97fb9dff29285313ac58a6a98c3d8474db2b14b16ac040f741a52c4eb2dd72ddbbe47b9695bbb24a28832bf8414ca3e0e98ad1662bf8b6b6cbbdbb8b925780c33deb3769e315934557fd28a7c7865fe57dd7f941090be069421da24ff9590bdc62fac6026703aea215d2a462f61967784d21173f234ae509e1cbcc9bb6904a8ff049d71abc9bc05d14b1304db2a58ed20ae4984e8c23a44dfebe570303fd54fe8ca965e10602a390ccdd9f2b482895135c11881815b03e514e70588c58caa8f42dad7eb0998adc113a31097b761e861f1959d0e134eb94185182409c9f42a74964734b3dec7f500925d37c06c4802085410d0cf9c3e7eb4a5c04489b7abb8a9345d7ff5cf4e346b9e50732afed5563e933c202fa06def277fdaa7aeb00db82d163d7d37fa71fbca6ee54c17281d1643bb0c4c8223ea7e72e1bd00206b13f9e22ec374a26b388df639e30ecfacbb1d5e1515c2f14c816e68b5b4a350624248703120deedec623cf7e83770366a6a99bc830198a82e5447061791c130e71bb9d4c1ae2c30853a93a3c8d09270aea9cc302601f767b23aebf67530a79b86ce54ecb6137d3ba5fb4d7ad1448dd09ff3ca511cadd0389fc3507c32a48f131d0c2536910e4666cebb95c64af3c5cfbb0ddcfd30456af74783a50b5ca92db8a7ee39bbde05c095532c0ccb4e306a85c37079c81037562e430b4c4861db133085c68a5dbf08370605de5d0650cc586cd205f8a6750e53011c1a00b764cadd894f840e819dcae5acfebca897b5952416760bf496e3967fdfc7c16e61f2212e2ae9f415ae1a6b0426c09a03069c0543dd926d7d71392b83097d2fabbf01533159be7e5ba3962db118e42af9050a08a0d16292abdb0165397f4ed6a4614d7fb9f70b708a59b013951edd1bf8c44d4bc936d82c089ddc20d0a4dcb065065b1b9115f4ab631d1be27f7c13ca51384d3256462cb3c4972e11e9cb9681878fb131805177dd4e5a6bb1d1a4ef34c343ef29b11aaeb82fddc50678245a7a68dddb23366c8168592038ab3a3a48b3a34569769c3ff8b9301036e8d07881c7c106d2f6d67a2ab607fd3cbf9eabb9d0d17f43e0c7d32e61fb29b8e4f6f75a21bf22c6a97de67fde547b381cb9ea7a1271b17fe82dfcebc0294b270c0dd9b83a003b4fd68b3a28c01c62c5b2f4033178b857292763ac3814654bebd4f4adf7a1ef9f8861466ef6584031dc8bee562f6172dbea1815e0f4bc7c8de5484f9157189f9085000b530cebf9ae506e81c751ff1ba64d3047bbb67ca1ca823653c85e4092bda3a6e66c89c9db3249f3feba7f5fd2aeb2b4dba52fc9adf4ae36ecc7bd59a426fa704fa62fc02699065439066201fa66cc8a8a53e7e4c6632ff735df978383bc1c43bfcbc3e0a1eaee34dbe2083e3eb362e9cf47a3d48a841157a67c97b234be368b5b9ea1805934c263c7ae50d0496a2e10707814b56e195fcac3ad167c13d36ecad50c4cac34b234e919508a9d5a615a96db23295f081b30ba57f803fa91439db99886920cffdc3aa8e9e03fe34276dcebd23c5de2fbb20836fb8e3cf90106bfae435e7718eef12a40f72990a368be76688ef3ea9db13a01a264de72e88a76e56ef97d036cedfbc74e782b00ffb12d3b2bd194fcaaaa23649541845129845f3c7f39f9ad3421aadcce107be114d4dd6d078915eb23f0bbb674b46c7ef5d3f06662e7a5233139e3ff8515575969cf532fb8df45da3ba32c075c90d08145235537e2d21faee74ddc1257178ca174c7442a264e8b08e2346cd56c6684f1741d026a467ac68fcf36d86a5143e7861ec590615a1622b5cc3ed7e819bc3ee03fe6ee80caf01b076c8f1770555eb258eff4e43c5e77cbf9e90493b745cb105be03b55238299213c7ecae470d758d10c49329c4af8b4a7d95d0935985a91d55f8e1c6b762e8e744e58811176f18e083bd634873d8d00160bd72344685e2ed3b85c649ca10989cb08523e78ecb86c714fcaf7b6021ee10472642bd349237d4c50d635e8dbeac38799c6afe1623d28913687f67a7028567b1ac46cc2b50560e8402fac8a42333f757abf3268125cbc1cf8081386085b4ee9785732b2b8ecb61ad06ffaeb1e751391cb7fb30b282a3442d58e917fddd9917773d0468409d4177b0ee0dd782781215cb9039d0e24b47ed40e6eb8310704dfc88a5d2818a53f881408c778c2368f7263ce5253ceaa715b36dff4727ba4ab79eceddb9f32b22c8883892d098a0d6760c4367faf2d355f9c234bd6b74ba814d86c99f584269385ed0abb8273938143094ca474655882015ae3733d3b1d6d79c0ef319a566b91efbe4573d5e6835bea28d15084755b81defc17151b425a31061958c7b0f6275928ef1da74f7198899f9182dd24f124dbfa38f384c0915e621eb6185b7088e7f3407bb242799580914eeb3cf69437a685a9841825bed29a451c2f3ee2978ce08bc304ff6c8267cbeb71a4b46aa91f2b1e1c1ebde6b6c325ab95330ea8d454c762983c190073eb8ee7b91af95c6ea8f3e2140ae049c8c325201d215e3ef10bd952c5e8fff4b19d3774f62cb77d2b4cca9a72cf1ddee945ef5552ff890c1068654dc89dc6781fe1cecd07b2000d4a94fb7757b5e0c027f9cf411b6eb7c5fc22eb9c7217d4eeb69304a6f6eca992f5612c8131ec53082cea0d21a1b02d8b2de5b42ad23361872ff8726bf47bc939872729da7c3112f6fd8594c6b9a53cac45cb5613b69aa4b10a73e9938f75c6c20faa5c9426880e7f9370dcd1277212b6f6e9f46bd9195cfe5aa6b8d4ee3f938ed8119a3b64fae4bf387e4cea0f47867b7787c4f92770320e29a410040648a2857c4d8443b781ae31e2becb7caf7cca7d2243812f8521e902428b4eb83903e9e7613d422b84e04cf2e6fd562042f492cbb141a6765ffe1aca5999baeac5406dad2290c3241e345f0e7c7e2d7789bbdb349d4c99a969b2836d0b6521002f8dfe5b863ee478bb909ee8ae351f50f000144489d3df5bd797241f8f2ea14ab8bb70436ec220d749fe15792f5975cffa5107da5546d6e353bec010ab2524d99c122a93d2967b6e6a32f040226f3824b02378f01ff17e262cfece9f80611c44d66f6264664c7c3b2a03070e5f4e1af37b3284cfc4090b4dc12ed3cf590a4990d58348937fbe6088ea67ba5e0ec465d7384020907952f08a124fd33db58fe6d0ce8692161a6d7142fa8fd95add949981d73f74bb129632b9dae1d74ba4c936d64a897bf3393812077ac427822ebf9064e5093c7bf0f37148ced015cff7bafffc60c7b26c9a883c455fdc2150261d97b06f3f7c1dee7f67754c827b041916a3acb17b44c8ecda299db494b3b4ba877914289d4317b176447f4bd14369c20dbe86edb509023534621d22866b9236b554d87be8135e96536c2a0c0d84864017eebff2b68ea0897549fb863e4324c8b828c6292eb1c70ed6b373979b2cda6df77d441d9306b0a13dbaff75675e5de8c7a9385a2dd464f85692d85195b000b123785125e4e3c3ebb1e1cc1bf7fe170b24f5fde4c718265c1364e23e8f902e46f6ee41de1e9300ead1820768f19a6f08c5401d233802f431d44ab877163e53da0c17582a5188e6476cd5999218c5bb22fdfe37b37290a139f84a3736e8e3d0245da576b05867aadf772c37bad60d39c180888f83749139ffa5c6cba718c1cddcae88cef645ffc416fc91ccab8ba20ec5627e9d16badeeacf02c34616f9e29b58098c0e4ab1f1699569ce76b6c07ce5202e7f172455bd9dbc05b0d20a0b7b364186ccf7fb3f0c31d0ef9cfff82162347619966c7aa72edb0749ace441a584931c587da010a5e1a974db954055738091b2aabcfba479da90dc403584185c7a07037de309bb9ba15d70f18f5a0386ac76c20d658808ce498d48741ba0c47ea0fb701791ceae1dfb11c8236fd7c071eea639d854741941a26e52523059e14cc10b53b27dccf07b6b4edfd88b29ad37878023fbf475f25c5dd1696611f78750639ac4f393b29e3615ecffef6e63d1ebc0c9c33eef9fcc924b22e67ffb027998a224b280adb4e28c7ce3f88d623d76bdf226a17f4d7b54ec8663288b3395798eccb6a51aafd167191da7f5f86b61121d5b5fa6c" + }, + "vec_uint128_8_max": { + "inType" : "vector_uint128", + "in" : [ + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455", + "340282366920938463463374607431768211455", "340282366920938463463374607431768211455" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint128_1_random": { + "inType" : "vector_uint128", + "in" : ["209794508200186098054846448654859096491"], + "out" : "0xabd1d3e35caaf8d7c91f1b63daf3d49d" + }, + "vec_uint128_512_zero": { + "inType" : "vector_uint128", + "in" : [ + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0" + ], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } +} diff --git a/SSZTests/vector/vec_uint16_valid.json b/SSZTests/vector/vec_uint16_valid.json new file mode 100644 index 00000000000..fbfd99c0e6b --- /dev/null +++ b/SSZTests/vector/vec_uint16_valid.json @@ -0,0 +1,383 @@ +{ + "vec_uint16_5_random": { + "inType" : "vector_uint16", + "in" : [35919, 34593, 14706, 39574, 53868], + "out" : "0x4f8c21877239969a6cd2" + }, + "vec_uint16_3_zero": { + "inType" : "vector_uint16", + "in" : [0, 0, 0], + "out" : "0x000000000000" + }, + "vec_uint16_1_random": { + "inType" : "vector_uint16", + "in" : [58671], + "out" : "0x2fe5" + }, + "vec_uint16_512_max": { + "inType" : "vector_uint16", + "in" : [ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535 + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint16_2_max": { + "inType" : "vector_uint16", + "in" : [65535, 65535], + "out" : "0xffffffff" + }, + "vec_uint16_4_zero": { + "inType" : "vector_uint16", + "in" : [0, 0, 0, 0], + "out" : "0x0000000000000000" + }, + "vec_uint16_31_random": { + "inType" : "vector_uint16", + "in" : [ + 2630, 4376, 65427, 13583, 41975, 15842, 27686, 33957, 45114, 56180, 24895, 4175, + 40381, 32830, 48421, 52207, 58611, 41821, 31373, 23853, 55119, 1957, 34877, 62496, + 37311, 40303, 44876, 36839, 47492, 53209, 24055 + ], + "out" : "0x460a181193ff0f35f7a3e23d266ca5843ab074db3f614f10bd9d3e8025bdefcbf3e45da38d7a2d5d4fd7a5073d8820f4bf916f9d4cafe78f84b9d9cff75d" + }, + "vec_uint16_31_zero": { + "inType" : "vector_uint16", + "in" : [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0 + ], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint16_31_max": { + "inType" : "vector_uint16", + "in" : [ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535 + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint16_3_random": { + "inType" : "vector_uint16", + "in" : [55998, 58650, 32471], + "out" : "0xbeda1ae5d77e" + }, + "vec_uint16_512_random": { + "inType" : "vector_uint16", + "in" : [ + 39340, 21094, 12815, 18079, 3546, 9133, 45047, 41320, 3878, 13753, 38525, 64568, + 43355, 62649, 55650, 30889, 7989, 16810, 53928, 52810, 54272, 34111, 43130, 14634, + 55804, 24247, 2549, 37573, 53039, 1273, 63106, 10081, 35901, 22063, 65529, 36398, + 22557, 6548, 49942, 51535, 8125, 6097, 44735, 41844, 6924, 38812, 46284, 28742, 15255, + 52107, 18447, 53412, 25887, 55412, 63792, 34766, 5505, 60081, 60102, 22907, 4472, + 52200, 9287, 57769, 19130, 9576, 33612, 29442, 51950, 31312, 57224, 42421, 3948, 27456, + 17061, 26184, 43827, 38666, 45497, 49012, 31663, 20589, 33660, 6416, 42817, 12859, + 36023, 18361, 13106, 3948, 6069, 45466, 29677, 18064, 3643, 3116, 53510, 64358, 43166, + 45247, 20328, 64702, 19889, 60714, 32942, 45721, 46172, 65267, 36597, 16011, 60612, + 34941, 2235, 28718, 60810, 57652, 34739, 8085, 40064, 34439, 30836, 63285, 49357, + 36164, 40730, 6028, 20536, 7821, 11758, 13935, 41594, 5480, 50109, 45486, 34524, 65518, + 33646, 26927, 51166, 8137, 65325, 47159, 15817, 21430, 55199, 43094, 18188, 10207, + 9270, 12316, 59028, 45281, 65293, 18359, 26572, 1483, 37642, 33838, 30229, 20598, + 17948, 17913, 8381, 2294, 65136, 56785, 32374, 21420, 32944, 55524, 54245, 9455, 19743, + 46340, 44594, 34585, 20335, 47339, 56153, 6446, 38290, 11996, 3640, 19236, 56251, + 26006, 39485, 49775, 18442, 14177, 58677, 29326, 65175, 15895, 55082, 13796, 36474, + 17814, 15645, 18234, 33170, 51110, 44025, 25628, 50098, 4543, 11961, 5240, 12269, + 60922, 50694, 57333, 36294, 54967, 34897, 38937, 23327, 21211, 38130, 40763, 28268, + 32512, 44967, 13536, 14845, 33262, 60590, 42683, 51728, 39972, 55685, 7063, 44366, + 38396, 34545, 19207, 23781, 5187, 6760, 4664, 2548, 34910, 45079, 63988, 24389, 33740, + 46265, 48490, 13086, 13997, 4472, 58789, 42140, 38861, 56799, 27990, 2090, 17510, + 18149, 56801, 36116, 29, 27248, 14112, 43872, 56950, 31835, 54234, 60391, 61682, 6150, + 8409, 14113, 14813, 43837, 34413, 35895, 60346, 9764, 39419, 8802, 34406, 19505, 46628, + 3351, 48702, 8558, 5754, 2593, 60784, 39575, 1647, 5760, 16362, 63845, 48749, 27443, + 24090, 40960, 19478, 5559, 7717, 62950, 12398, 29842, 16378, 36410, 37918, 22070, + 37187, 2388, 2471, 59879, 9256, 16878, 28021, 9280, 63982, 3237, 64103, 60696, 53445, + 43639, 26328, 22322, 25785, 42833, 11185, 19944, 39503, 46656, 62113, 54641, 39184, + 38083, 52218, 10422, 19936, 38976, 37156, 53804, 24969, 32577, 54761, 27676, 35737, + 44695, 48600, 31136, 19500, 44205, 36060, 25786, 26618, 37361, 8899, 64311, 2514, + 9554, 32401, 56118, 2234, 41629, 45679, 18067, 55083, 13659, 38338, 11145, 48099, + 7097, 19777, 40789, 42260, 16593, 28212, 32284, 48885, 60017, 41548, 48980, 52748, + 29436, 6519, 51390, 13850, 16050, 57484, 19504, 2382, 57695, 21309, 36053, 58478, + 36350, 38811, 1214, 25105, 48123, 49033, 13665, 51370, 49698, 6760, 32128, 58193, + 128, 1545, 26614, 50542, 30613, 54988, 14353, 10738, 7815, 13360, 40678, 7110, 25066, + 60556, 54461, 22528, 17659, 13689, 48277, 30774, 43061, 20261, 15691, 35630, 19815, + 30383, 49861, 2839, 31450, 13493, 28681, 541, 61617, 22342, 59591, 40410, 38843, 30711, + 35254, 41534, 728, 11071, 55064, 35225, 56657, 37227, 9777, 34110, 65339, 21575, 59226, + 17161, 38436, 43428, 43115, 38104, 42399, 18787, 25758, 38789, 26768, 57600, 7547, + 87, 63710, 50131, 47366, 52622, 62452, 41355, 23911, 59936, 32112, 53056, 25947, 1377, + 20244, 46065, 60988, 10318, 54100, 17850, 50438, 11595, 21746, 25610, 55196, 23824, + 6586, 41973, 6026, 57980, 57254, 40365, 21772, 63353, 32160, 11991, 18726, 48970, + 29746, 49440, 17081, 41097, 13465, 63697 + ], + "out" : "0xac9966520f329f46da0dad23f7af68a1260fb9357d9638fc5ba9b9f462d9a978351faa41a8d24ace00d43f857aa82a39fcd9b75ef509c5922fcff90482f661273d8c2f56f9ff2e8e1d58941916c34fc9bd1fd117bfae74a30c1b9c97ccb44670973b8bcb0f48a4d01f6574d830f9ce878115b1eac6ea7b597811e8cb4724a9e1ba4a68254c830273eeca507a88dfb5a56c0f406ba542486633ab0a97b9b174bfaf7b6d507c83101941a73b32b78cb94732336c0fb5179ab1ed7390463b0e2c0c06d166fb9ea8bfb0684fbefcb14d2aedae8099b25cb4f3fef58e8b3ec4ec7d88bb082e708aed34e1b387951f809c8786747835f7cdc0448d1a9f8c1738508d1eee2d6f367aa26815bdc3aeb1dc86eeff6e832f69dec7c91f2dff37b8c93db6539fd756a80c47df2736241c3094e6e1b00dffb747cc67cb050a932e84157676501c46f945bd20f60870fed1dd767eac53b080e4d8e5d3ef241f4d04b532ae19876f4febb859db2e199295dc2e380e244bbbdb96653d9a6fc20a48613735e58e7297fe173e2ad7e4357a8e96451d3d3a479281a6c7f9ab1c64b2c3bf11b92e7814ed2ffaed06c6f5dfc68db7d6518819981f5bdb52f2943b9f6c6e007fa7afe034fd39ee81aeecbba610ca249c85d9971b4eadfc95f186074be55c4314681a3812f4095e8817b0f4f9455fcc83b9b46abd1e33ad367811a5e59ca4cd97dfdd566d2a086644e546e1dd148d1d00706a203760ab76de5b7cdad3e7ebf2f00618d9202137dd393dab6d86378cbaeb2426fb9962226686314c24b6170d3ebe6e217a16210a70ed979a6f068016ea3f65f96dbe336b1a5e00a0164cb715251ee6f56e309274fa3f3a8e1e94365643915409a709e7e92824ee41756d4024eef9a50c67fa18edc5d077aad8663257b96451a7b12be84d4f9a40b6a1f271d51099c394facbb628e04d409824912cd28961417fe9d51c6c998b97aed8bda0792c4cadacdc8cba64fa67f191c32237fbd2095225917e36dbba089da26fb293462bd75b35c295892be3bbb91b414d559f14a5d140346e1c7ef5be71ea4ca254bf0ccefc727719bec81a36b23e8ce0304c4e095fe13d53d58c6ee4fe8d9b97be041162fbbb89bf6135aac822c2681a807d51e380000906f6676ec59577ccd61138f229871e3034e69ec61bea618cecbdd40058fb44793595bc367835a8254f4b3d2e8b674daf76c5c2170bda7ab53409701d02b1f04657c7e8da9dbb97f777b6893ea2d8023f2b18d7998951dd6b9131263e853bff47545ae709432496a4a96ba8d8949fa563499e648597906800e17b1d5700def8d3c306b98ecdf4f38ba1675d20ea707d40cf5b656105144ff1b33cee4e2854d3ba4506c54b2df2540a649cd7105dba19f5a38a177ce2a6dfad9d0c5579f7a07dd72e26494abf327420c1b94289a09934d1f8" + }, + "vec_uint16_5_max": { + "inType" : "vector_uint16", + "in" : [65535, 65535, 65535, 65535, 65535], + "out" : "0xffffffffffffffffffff" + }, + "vec_uint16_4_max": { + "inType" : "vector_uint16", + "in" : [65535, 65535, 65535, 65535], + "out" : "0xffffffffffffffff" + }, + "vec_uint16_8_max": { + "inType" : "vector_uint16", + "in" : [65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535], + "out" : "0xffffffffffffffffffffffffffffffff" + }, + "vec_uint16_5_zero": { + "inType" : "vector_uint16", + "in" : [0, 0, 0, 0, 0], + "out" : "0x00000000000000000000" + }, + "vec_uint16_2_random": { + "inType" : "vector_uint16", + "in" : [12188, 36886], + "out" : "0x9c2f1690" + }, + "vec_uint16_16_zero": { + "inType" : "vector_uint16", + "in" : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint16_16_max": { + "inType" : "vector_uint16", + "in" : [ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535 + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint16_513_zero": { + "inType" : "vector_uint16", + "in" : [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + ], + "out" : "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint16_1_zero": { + "inType" : "vector_uint16", + "in" : [0], + "out" : "0x0000" + }, + "vec_uint16_4_random": { + "inType" : "vector_uint16", + "in" : [15417, 28067, 51352, 59311], + "out" : "0x393ca36d98c8afe7" + }, + "vec_uint16_3_max": { + "inType" : "vector_uint16", + "in" : [65535, 65535, 65535], + "out" : "0xffffffffffff" + }, + "vec_uint16_513_max": { + "inType" : "vector_uint16", + "in" : [ + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, + 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535, 65535 + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint16_1_max": { + "inType" : "vector_uint16", + "in" : [65535], + "out" : "0xffff" + }, + "vec_uint16_8_zero": { + "inType" : "vector_uint16", + "in" : [0, 0, 0, 0, 0, 0, 0, 0], + "out" : "0x00000000000000000000000000000000" + }, + "vec_uint16_2_zero": { + "inType" : "vector_uint16", + "in" : [0, 0], + "out" : "0x00000000" + }, + "vec_uint16_8_random": { + "inType" : "vector_uint16", + "in" : [48757, 12920, 33149, 59406, 48754, 39786, 12312, 58318], + "out" : "0x75be78327d810ee872be6a9b1830cee3" + }, + "vec_uint16_512_zero": { + "inType" : "vector_uint16", + "in" : [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0 + ], + "out" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint16_16_random": { + "inType" : "vector_uint16", + "in" : [ + 14966, 37668, 46928, 65487, 22250, 24796, 7043, 49742, 46495, 44245, 5372, 46169, + 36046, 60670, 29615, 59474 + ], + "out" : "0x763a249350b7cfffea56dc60831b4ec29fb5d5acfc1459b4ce8cfeecaf7352e8" + }, + "vec_uint16_513_random": { + "inType" : "vector_uint16", + "in" : [ + 27185, 40496, 45588, 22785, 5755, 5950, 14234, 16151, 23366, 48189, 28838, 47431, + 22937, 44687, 9960, 18008, 43796, 16472, 40344, 6307, 60750, 42176, 48076, 3047, 34291, + 53364, 5934, 35808, 39627, 16700, 61818, 17790, 2074, 12801, 14876, 34651, 31986, + 54424, 35627, 13246, 27491, 2754, 17156, 3650, 56913, 28167, 40485, 5286, 26716, 54344, + 20105, 10227, 12201, 17682, 4930, 50210, 52882, 56220, 56083, 32674, 54172, 58006, + 17356, 19067, 27616, 33887, 37780, 12415, 3852, 5482, 6320, 20044, 51795, 34591, 8396, + 35071, 39025, 33720, 27350, 1214, 12489, 28905, 10545, 7894, 58460, 50487, 7556, 5510, + 43456, 9897, 21919, 43418, 15610, 51627, 22828, 26017, 41734, 27862, 2329, 13688, + 53343, 26009, 43570, 5267, 1550, 22485, 16557, 64823, 64098, 49563, 7109, 31682, 48433, + 47419, 33456, 15614, 58115, 37566, 11748, 56178, 31947, 55839, 23907, 39863, 45318, + 62202, 53558, 32368, 15687, 53444, 47210, 42931, 37640, 53500, 9048, 51678, 37398, + 5322, 43230, 21833, 36405, 35061, 29262, 9277, 12384, 59158, 31163, 4746, 57569, 1723, + 58523, 6263, 14535, 59878, 52424, 31661, 6214, 23799, 19965, 64506, 13195, 39399, + 34387, 23723, 49447, 46439, 36212, 62454, 58077, 49181, 17517, 57269, 57490, 9498, + 980, 61407, 4360, 41477, 20314, 15300, 22147, 40103, 54993, 61031, 41339, 32587, 12514, + 54805, 51111, 33512, 41665, 59236, 7998, 31477, 45546, 63362, 6925, 42377, 20507, + 6202, 19455, 16556, 23535, 29143, 7737, 51549, 58357, 61793, 58806, 2026, 13961, 6066, + 19732, 46806, 23699, 19514, 8377, 64814, 47852, 56334, 22031, 14309, 55332, 28372, + 13423, 28189, 4416, 40742, 55008, 22937, 40917, 47057, 23312, 6084, 50385, 33592, + 27753, 25055, 47606, 50144, 49001, 16740, 34502, 8301, 21864, 29823, 42703, 59858, + 3591, 46786, 31144, 58289, 45473, 25231, 34072, 62297, 23287, 54205, 24656, 17481, + 60407, 16069, 41459, 23673, 47102, 10189, 53774, 2466, 24103, 40128, 6503, 59475, + 54342, 26961, 8919, 26201, 5446, 55610, 19872, 1418, 57935, 65235, 63090, 12315, 8968, + 51805, 42662, 59153, 39158, 46192, 65217, 3304, 62992, 4936, 10694, 47294, 14922, + 10373, 49555, 52677, 56876, 43038, 47088, 52506, 53601, 60897, 49707, 21052, 58120, + 11098, 12866, 15398, 5442, 37598, 25597, 44803, 23359, 62624, 38117, 36739, 21148, + 48895, 32395, 10357, 64402, 12077, 39546, 20435, 32185, 50268, 37625, 11605, 37027, + 44710, 32293, 64708, 49747, 7621, 29736, 4507, 14697, 20130, 17173, 14817, 60481, + 49719, 44836, 13313, 36862, 33794, 46741, 36669, 41584, 44211, 35232, 59687, 51526, + 37997, 54193, 17520, 56053, 39102, 61771, 49769, 18370, 61989, 25683, 56035, 26878, + 27505, 41063, 1141, 3229, 47503, 61963, 34624, 36914, 48463, 60248, 64422, 32255, + 14207, 22118, 30112, 61730, 19016, 17969, 4022, 52923, 36107, 56603, 36238, 12010, + 36707, 29754, 12654, 3873, 25427, 28554, 12347, 17269, 55449, 54337, 28007, 48659, + 45648, 53594, 58826, 6468, 56179, 221, 22362, 45908, 38017, 4298, 3453, 41039, 12557, + 21685, 2289, 6762, 58315, 33753, 44846, 9774, 57922, 10115, 35370, 16928, 21313, 20458, + 54321, 14421, 9423, 19692, 35952, 11796, 6252, 65089, 61471, 59269, 17700, 44039, + 8858, 662, 39168, 17303, 52820, 49010, 39886, 56264, 32618, 9688, 32617, 9689, 2814, + 21516, 30617, 30594, 33147, 12190, 19780, 26425, 63835, 38413, 25273, 12600, 8022, + 42766, 50061, 5733, 18650, 47269, 8553, 36611, 21506, 39512, 58347, 47847, 61805, + 44970, 33468, 48499, 64833, 45876, 3604, 39105, 13538, 26802, 61195, 24696, 61996, + 16997, 11456, 46813, 32837, 7224, 39459, 24848, 46856, 25573, 5246, 64735, 17847, + 51773, 60812, 37973, 30569, 64742, 51362, 63841, 3543, 52659 + ], + "out" : "0x316a309e14b201597b163e179a37173f465b3dbca67047b999598faee826584614ab5840989da3184eedc0a4ccbbe70bf38574d02e17e08bcb9a3c417af17e451a0801321c3a5b87f27c98d42b8bbe33636bc20a0443420e51de076e259ea6145c6848d4894ef327a92f1245421322c492ce9cdb13dba27f9cd396e2cc437b4ae06b5f8494937f300c0f6a15b0184c4e53ca1f87cc20ff887198b883d66abe04c930e9703129d61e5ce437c5841d8615c0a9a9269f559aa9fa3cabc92c59a16506a3d66c190978355fd0996532aa93140e06d557ad4037fd62fa9bc1c51bc27b31bd3bb9b082fe3c03e3be92e42d72dbcb7c1fda635db79b06b1faf236d1707e473dc4d06ab8b3a70893fcd05823dec91692ca14dea84955358ef5884e723d24603016e7bb798a12e1e0bb069be47718c738e6e9c8ccad7b4618f75cfd4dfafb8b33e7995386ab5c27c167b5748df6f3dde21dc06d44b5df92e01a25d403dfef081105a25a4fc43b8356a79cd1d667ee7ba14b7fe23015d6a7c7e882c1a264e73e1ff57aeab182f70d1b89a51b503a18ff4bac40ef5bd771391e5dc9f5e361f1b6e5ea078936b217144dd6b6935c3a4cb9202efdecba0edc0f56e53724d8d46e6f341d6e4011269fe0d69959d59fd1b7105bc417d1c43883696cdf61f6b9e0c369bf6441c6866d2068557f74cfa6d2e9070ec2b6a879b1e3a1b18f62188559f3f75abdd350604944f7ebc53ef3a1795cfeb7cd270ed2a209275ec09c671953e846d45169d722596646153ad9a04d8a054fe2d3fe72f61b3008235dcaa6a611e7f69870b4c1fee80c10f64813c629beb84a3a852893c1c5cd2cde1ea8f0b71acd61d1e1ed2bc23c5208e35a2b4232263c4215de92fd6303af3f5ba0f4e594838f9c52ffbe8b7e752892fb2d2f7a9ad34fb97d5cc4f992552da390a6ae257ec4fc53c2c51d28749b116939a24e1543e13941ec37c224af0134fe8f028495b63d8f70a2b3aca08927e946c96d94b1d37044f5dabe984bf169c2c24725f25364e3dafe68716b67a075049d0c8fb90bf2408732904fbd58eba6fbff7d7f376656a07522f1484a3146b60fbbce0b8d1bdd8e8dea2e638f3a746e31210f53638a6f3b30754399d841d4676d13be50b25ad1cae5441973dbdd005a5754b38194ca107d0d4fa00d31b554f1086a1acbe3d9832eaf2e2642e283272a8a20424153ea4f31d45538cf24ec4c708c142e6c1841fe1ff085e7244507ac9a2296020099974354ce72bfce9bc8db6a7fd825697fd925fe0a0c54997782777b819e2f444d39675bf90d96b9623831561f0ea78dc36516da48a5b86921038f0254589aebe3e7ba6df1aaafbc8273bd41fd34b3140ec198e234b2680bef78602cf26542c02cddb64580381c239a106108b7e5637e14dffcb7453dca8ced55946977e6fca2c861f9d70db3cd" + } +} diff --git a/SSZTests/vector/vec_uint256_valid.json b/SSZTests/vector/vec_uint256_valid.json new file mode 100644 index 00000000000..e8918c38b46 --- /dev/null +++ b/SSZTests/vector/vec_uint256_valid.json @@ -0,0 +1,1934 @@ +{ + "vec_uint256_2_max": { + "inType" : "vector_uint256", + "in" : [ + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint256_31_random": { + "inType" : "vector_uint256", + "in" : [ + "50299809788873453009701356228763186372961087857924453602886034588414198734273", + "87411786442785327495317342630896936427491012200320842482098470821042407449421", "82119978311365268660945226475847110956594096601310394566059375451899439234878", + "11435988620559173391958398423937360944534732343353926274830981651144767899006", "105207329706056839883505004414402467911440940840601712654572200865405799193197", + "51265068745100529458855238695866399859125453355545625406022798949965887723028", "87832651795518499106426577413754268687302544483944845556758827538658475715233", + "16963414260046634182132403777547051807729026206086654085189270926295090932426", "22545940299987182115074979075305420262213112810252356596186302504088211263451", + "6936293910377412767092696656307018199773340670337437762693710291013194126485", "48818784609311727074088134267454453162051539026608302219514825913384103027459", + "43584527681801578772356948119132019126922909774856421179579189053060077956661", "31866346144041422407435399067249355418077720999726078022865540921234007943610", + "29979863525578716595728901929205760230311903269621767579718499627391722770073", "18414553690749847246709540943317567090153662563959791514533853389240919639851", + "41521895315769632950377726607085292006345063748272026220992977031713114944572", "58818706532942934387495370928489590707885956710362098755302749839950362895702", + "111712781157977877609577239692843297811555611135593389077482857450391753192259", + "4095513387131914257861084761965382777583014999073814922785750699558983967902", "66315046779879732076163095014557810516066909509659766853979494138586232049572", + "13648627669821714970676019529576118502652445718971080611148064399260769386225", "6296587352575848049493393773007683543398687378726336021581175452155531882533", + "52420467335491623502957128190873259633156258341399880731844551956124429151269", "109889410224702742014457320447702591607102364300658690137061924745873185287272", + "58887404414662856687544624558338941490636316728852117782397175357397274847120", "44050944888067930853618765166373504961165118790582977855204953021376216553621", + "16495713805816888894537956485123075839220429908434699960602414905189519949216", "47516293434194162383202487102507678814459853471281021005368767608069861842834", + "69509695774356438746527835688490248231540753942482919087581255073422023587021", "49890382528679756415407709817640960760640722304388837008525545050847243325055", + "1073023763502278243114987040804065356277746575712963199767482861679797174301" + + ], + "out" : "0xc1dd001b070e844ff6a966ce3407468668c955f8be75124ead6a1479f6ae346f4da30121f140912676cbbb4ae23dc17a54d5c7be981e199471235b295f5141c13e3f1e2cb0fd6d055e8ae6b7408e798a763744c749961ab3caeee477b6428eb57e05b7e4200f4928831b7b2b678ddb623ecd552668f0620be8fd414e498a48196d5a83e82c1ddae29d5df7ef60a4838e72afeaedce2dd56e5a9d596e083d99e8145664fbaa98e73a82e0e2ee4525c32ccf7e3376489b480141a6220c2b005771a12af15242bd534f4eeaaa95b579eac41df894ded4a4d182fab113b6ea842fc2ca2a29e9775666661515b473d4900d5e7e8d35841a7f6b53e01fa919c5f38025db8f17405666836a85366027112282bb3b6e65f1eb39872bac606256cc8cd83195948a4f33f00eebdb780b03e57d3e3182373d3dd672b9e40b687d5aa0cd550f03a35bcad782b2805715f28853e30a0c8aa4cb2b8314db3e8e14606bf173ee6b35aeb1ef40a2d5b2df5ad0d4571b9148528f9e6aff4839656a7b7d85edf75b60ba69268d3978f007319ffaa6055f43ed78a055efedf3db5b63ad932c77b6734699ce08996c9d823a2edcab870a9df38212d7e29a3541b7237312c4db5d0048422bc79b0f4ff6303105f710887faa3681907d3d625defbd005241721e9e44b6283cf48171b09f09cf36ca2dadd2527943df4e239e9e78a56111ac3cef568fcc5b56e59e83e275f032055c6d18455244e19d7ccea40af84ff3942a867948350a8243f35f8a1cfe588464987eeaf33dfb7cbc12e48a59aad66fc955d1d08531fbf69e242c6e5dd1c5f3e2626d2f43b7d35e8c3a66c3569785c980612d757afa0d09a4cfb83af9baaf22760eb24efca9f3218c927a5ea70ac110270494fd81fc9c92f1fea43b50f6dd1b17666abfae62d4cf2da2d8ff78cf0a83aa9c710379d92c1e25f0a1367aecb2b6d13f8740ab61aaa055ecfd9f7848b5652b727a5dfdbdeb0d256cc3909c9288a6b7e8534eb1e75f4d52c9791c1d11743bcfa28ca0deeee47368ac2b27cfaeb1a4d522ad1cba25ca4c197bd594d78b62d610204102bb33f3f290e72105359c417f536ce82f3f8af03800398f57ca7a8769fec36287fa16318295d8cdbd90cb957f5aca72233754c648cacf1f9f13e4e7b5755d613985f36361a07df5b8818cb8e944b89c0c8eca4dd7a3a843d8d1c9b4fcd1a9cc153f3e7824929fb690edb709e637ed8867a6dfc769b47cad109d2d41bedfcccaa3de440d69cdf4afdc41f37d921d7f0387b525b8eefdecd038713739e01f208efcf617ad997fce8ad817a34ec8d04d1469b622c40aab820978d6b49b42661ef35ab1f44c6e1d80f1e919f394787a8f4311b01815d74061049a913cf8fecd61256f574f5f02" + }, + "vec_uint256_4_random": { + "inType" : "vector_uint256", + "in" : [ + "84681196073051590038602724038900810597973729041055653123994152443361410771527", + "90268563415771999242537013336157122382365343341899301951476797470634078815203", "106312442559742932166480436269430008809942052805921568936911248144355259765742", + "54500544954376681757019081432123097976114523847747365608390620575999640538145" + ], + "out" : "0x476a69a3974b5689038c39a83f319c765aabeaad2f0554c24148a137c5db37bbe3c3628ef040b82decdb032c81efb0f39ca7407b2bdf7e36e2a7e05a423292c7eed322ba1f4c50511a7d926b83a7bb120c51726f48abf8bc087d3c5fcab50aeb210c0d72562f25d9b90eaa2939c8ed77d2ddc36265c4d94317751c9b1d377e78" + }, + "vec_uint256_8_random": { + "inType" : "vector_uint256", + "in" : [ + "663143760627519192452140960963800389231871627319380552344589224070149792357", "33828719992972708469448604655863375880820483786944630864357118930210825862794", + "32322886439321495715897634611039355597795991736170638623267704799975344353675", "86036645652214261167474366079689842868327256481422356212881906192977949843775", + "75839664175894868937012670567294723568951341528261857548743153526973067005745", "109762991644324160597704198580012285809151407727166576520597046786642802643996", + "74214045681693425230517734764471137377040214598279552129247029002764500371829", "5489310660057961108824470627528483298937315515819107610441608271993795672042" + ], + "out" : "0x6562c34d8d540a41c7b9e1b089661f1b259d9c621a44fc0e616e3728795377018a7eca89756c6eddad925ae6e7e01646b06260f5cbc21fd9e97d9cad8260ca4a8bb1c692c7ee01d1bfdd8225ec97300067b67ade20a5c33eb2f613e3fb1a76473f614b5442878bed47e059594ba5c77b8eed5d08dad445ee00e08760080437be318fd5d771e8b0c2f91033168477d7d233ef2312423a92ea3dd8e14590baaba71c14b0295063104e51b7e560320c293583db00db45f49eaf2c61f23fd5a6abf27589a88339018cd0c8d96bb608cc4b0e7ed0e3890320fb7771af6e194ba913a4ea7786ec686d21674a882ddcb4e00ecd1f926a77209587fc00101aa2f8d6220c" + }, + "vec_uint256_31_max": { + "inType" : "vector_uint256", + "in" : [ + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint256_513_random": { + "inType" : "vector_uint256", + "in" : [ + "31138434579510464849229500269734144117463675070136856577487099678101434877874", + "28114142226263114691664126414060564761277273698276527956492353639070485241891", "21702077272689548477890737988755603430861218675794109021973081644667149737246", + "92570943966570478713786020394695165021826641784340744044793682610254052174142", "76953455676665949778849843549500696420719150769353201297903767644703907261795", + "96240061788594497116124750169310246159545467643590397597562156146983898377824", "13629281238123194183830092182124062315805824765170824094153579640763743544528", + "90774895550405963674994965739383632025220835894816337964907605376874348622509", "19680170682715245418176627367525403473441479554869661897945662971696999951301", + "48869790393725457189149827822833591661067015665147813408753254592739951276049", "105855671379804449873589475885656751160248858974197657370434042434691743726569", + "83697182989936980221663295234826823766301579620003043605940655964918547476014", "81577222121369627956180181262567860341767215879343687159963567935868523448221", + "60649804201832448107167647041229509093057609860486678927090963133681134093206", "40103485740052047943861492845123315789460354771230014773641216025461400745497", + "87179302967965903225415134969009185829037996917532023564293444807172491958736", "83428154620781530567194594573340033842281396261344065913477955585863016571433", + "75429493711657214700799240599815907430239320779434718351874859795922657432418", "55426628048106505476988494883072582487996540556725037073970769760647695701737", + "73977754087809219925603053853933250587343848149147617439706650741185528646062", "76115040841785184784377182791322603377044889430174250256148545586085653039064", + "108171845488925976926795337218846103139776095726585706980868212556940252254534", + "103349143909560923399462254804507633054498616846759430621708451831765484397597", + "103915723012366666649925206670506874257292442962154735430232891849447281621299", + "37098215686224227645776454473717925776170238053766832430004541358425756880291", "6227967310340006558656344523918761920776329723660908529224240355716932802817", + "70418184820695874126364968766702849549617959699870272044210079736717678875893", "39531100459455853617542879798592542470756323659688692171006048506457300382301", + "87984619805007992664668747632443687127628863137593451330172168237342298735493", "106477298260408115026996121691311512607807336539227414272956504466179857811409", + "73286737737598991318652409919311764967419350808837481072594027856307298987884", "84253927489751732703353751977598905668889571186187637398148137062344146878197", + "61136525837965133292794544494887601857111832410866849561426301837846748227667", "15466472693541633004142023688841599723939418485530771631454675685278749728752", + "20534006432042413730716300502484304644640980783582232243358431719545351177175", "99830602043429572932860003832163987370066962563948802252813815576327462414647", + "74530095454446471155160739721896795906017449384758958474704728759024508800990", "61869932730335484201828599395976789239196062234281155520041998117803513034167", + "42832138992700089437159788065006479230036076212048498670728440912014859554903", "96816328940433082718193795218404790042930808626174788812565136391122917932128", + "3876081572728143677447115576074600400978337539352272900563564914589831966715", "78999018599024820634308526219495174372413429216103606670423124864234391356100", + "85790989942404216829366925122086094383991330308399179660891564642545588567759", "104471933347544656819326839755117635751500623390468698373655023896704680524432", + "16387261713047259768802513543833314882832123801961960034606907146174406574441", "101699735811833554536775594926311259470520592229121434724887611332376095986621", + "10273950878936627951968390070742925140422273235663903579649742276367436870090", "81774829011889877437043210746357029722936327480812004152135063707042211536158", + "88736222287258086802590447463742493174408487430213137209099066400933078220400", "9266092724533645517350448508412570191963716127741961666441832822294643194469", + "53819111742042172277478962817597040676715183449000896573037388269459482280930", "24053507904998121236350113320162353293239726041054540074559257567808434984331", + "59621342020072444868490034121997962698262699836249081964638642516459798268085", "94335883689964452585262792455402174467568035307107271510297521583460125920406", + "72929152543889099542709598711352502857894226974251629233619121855835492513398", "104163325006977230511855549280309568240788039201615954985644903132904927616783", + "73575625202292673035467648883122251237743583302165929457414890141308483669479", "114669772447683477337495468569636447598068154032003780301059997851093513103347", + "107381985839346381867907401710086189916361069869567237402556174027390129678198", + "111021164717378039394375457072840855804704949259814725355091222615228557436167", + "44677665714773666791048894668367542286658028133907455911002314950726923438047", "45821770412555469350967394486364252870041990007051299108753661278160667090565", + "25817905715265295629079306008984222474943889143384558823149831784727831937869", "97089276137728598958576247102294826769252723432251597643746975612201190027516", + "63443052917561137061897652728985827951937343822378046120683877274954603968026", "10225957132710202511823103203649860770382373535033295336756465721953667825864", + "35249495127139061917190718578702858993564629672757110974154198440967996521389", "63338281463267801675223456407889055714738671199661016945291302657913608545030", + "109235668576164875789100473590165997612480630658871943561372642132181659699499", + "20871812118569107698208800410581394034620731958252650267740571261099566462044", "71838114400004000921634893748251355776756811283957812019252967974741958987495", + "8494274500527796745164570178554357129228844652160314519890999615549312573051", "93980038941656523178024707827304704871868315003296554271670914154536471175188", + "16719950512294031639389342243730839892313042852080605082982415943681517151872", "11198959969075876720750902139213965018003575085572949746630549690484164803171", + "89688253562512964554441569613188193672890027395736767763361821799371134919924", "1554037515295075976469118563512612318999087864696852950760722305632521320931", + "25693246698372032556670588470051298056551919189164425668997088180976446272877", "7830080530656934920004434905200664599672455822966199272076459072268758858435", + "62884879739687069751632273211286668182630226181214314774402265959590365911086", "86714150027688188093604939605832969156567371408612809974469545079586347777324", + "29656969421647765289798340923130785066041321251402289468725639913778377229280", "69437639092480105521039184880366338061969275352796099081145349919688791430361", + "86260293920803887613624245333361510777898944793138416633557609031790687389646", "12751056532665006260720916478453559523955862562622870128780807447278989265423", + "4976597712200943617224737522589279873363976436268970097835723011775817671267", "42712374033212613742930482743788790017849653917012710166057630299723498956522", + "13426621143367914117451177092850746601549104504586843953548446226891195209086", "723620965448436954360477884472055723953318847351331072910026431701020906680", + "45030850563810390069013653963475902321074053535589217491318448637910222777896", "63750082357695780659935387627940362049674916906362497158379196311141837123626", + "108200188149355325782642225600338112395564572070080113866510352318163702206860", + "62612038396650647124735386109807876216619621009064316717395731165856193425707", "57025445975893253706321280658580717530025710977290297248482074849465111191971", + "45349577846490161259093528826714783886578104901264434834567207945911080567221", "101719037475983306537607918743738307963984393237135742715486712827476146624890", + "22085936969770072276718762684666115976457031365526932602626673972454806238807", "36281329338844605908275424800892843279566679949070570485871076917922908004832", + "30566827132445995025322205909815575506212101097953888294037631743526674792619", "43347343110997218861312343437629577911367464762885523459799937855599569844077", + "102788360126323457834317546939228509645668816192739622753251664417184789146681", + "71496637885533191634123813809307454752009635238818347123783540459300038455384", "113477908823979306756401122035436123336203618969996147458194852237676969434952", + "11254157783730499611307837136552089058027236759966911236316072949696908228387", "77073434239625786103906260204236644106980610694591162876083063601833071830141", + "88240625501931083480357104118229745225581188444422929934290778101940196096301", "70813021668328140099532180035549640633825898960736839385676952983599578027910", + "81107173768294435644083267461500236878530431840687072255606287734208162846503", "69934060199730847775067693697309227815958761656982851400707695563052426707128", + "27115301542757522264127793546897265627433516720026323784333290886756600556618", "80115139342755820675059781733551011703086230769777678923126797851015359265375", + "91720485634068249038161715238682973954695915674549212213167159006084370692338", "5513784542541178936833312894153365850314954139503561797519785875933800593104", + "14759212278611505956602326647180711041468299592005529596974001643694774195216", "31928871518582710026012002285612902758831203790796893358685244543568519397792", + "47733310110030148939768348506188637347152173361226393030955081108315096176184", "76252237792644116715368689877390009461807803281859363715305199844382112403369", + "26665619677259366112443974956388430993177231332799029725069037768006333387475", "12988562488285946663839379124212195609388943849988346080230128421443228404714", + "67458046841332869971207014848408983424159791210884802161610349209891720982112", "48838534164976865788361105591082529926809248486727727453587015461388917840795", + "22802716495110583630677820477197254099808762030344483462886454575049123200744", "30910055918439178425920456794285693403455798914499598131755390350132410432442", + "76494170913121697802678808949719043780759931489969476504465958019404387151545", "40850379658555443590030047920043554314463626046075588291143147847856255807622", + "99393017409366642715318933379211279649767060341201742266857356339269853307333", "102974477464393073931917690793319009552281231652640973124749726429432680383787", + "37064328009167056881589336827595539818787844862791523419470175334857100350892", "82915051564412241856939450216731011477417549496647005724544289393078744800480", + "45372372053068894267534702692138918321899668883532403585280593030730701661059", "40986632249382253377015246404819181232730420908555377617988798019226134902796", + "41462487516104844983081515829684261804570919690526587685344702375941937145747", "23238220435104201837913762167436178739042687195319655963579366666154880079728", + "19455656784273212048309781479340216248551043191429038733608998107563765027793", "13160669795171130549403097266534096451866594742320110123345735428776377360149", + "43211369317675405305508109460663617221653138207171750726050268856686423098237", "82553771234439532011065389194237447538356633921347931179246530560558986242451", + "91927253209246804431711172197961141587746794596660742332211667830170753084064", "82519391483209367253985389259578007742655381745252919357252544740271070341677", + "84880413851625862485537174568507160765987734294433269621596864082758541001246", "20613141355000355854099134919700984508811568068922097688529518614814882308007", + "9506041992431020875113950678237799043183739409085634507383893094568202991851", "36066567214793992645479521212775674583042739822920512781422526295438307310247", + "29922117329809177852082426172031763511905813086120825345867925841596789382220", "19111987842879417406040716560373682794101568844956497788705485307065407323463", + "29765928749022814173082605430349092902432009183694444535833011758141006477984", "1706121394865306960476641166204829371976633468866215789509108936607831296127", + "25767293126415137523400141091248423516031124732904748453682894831514506773075", "87055284009942716071616409152277811692680822825016061135323754112110592409092", + "7489565702680337464791623936435196880496049126829713780310844792303252277870", "101639796525785197709432631888370065526242568895889127263906258429650689742208", + "32143119067142925097187158370020364934761087662812234416321907493817183560806", "31838262326250786064026910994000167930496480288005861647984667496792683708727", + "17610735508138161291038422812904674044668462181151433308416641733569153114369", "52373744730308056292943881096871572372259865613751618393207294366797566571885", + "63833810098192490408837435867279237552452608103500406282394786403544104604217", "20832325557364229978644497233661612104546086266994182023973509114561786332719", + "15817302425423202201342924344583725112176402345179445292355773103266712775052", "110745142530318296621865392960471891629063047213975134952919734299532136251759", + "80893293548331236811147159975076331723062117300091595425674595532698536739250", "95207005703625305847040299868690651517712243794260768834467705206961264619318", + "100247794977445034624140879890091415406161171644827296693722719101408291521250", + "97883347161221534613264420059948541249556613908052119771967007794042142715405", "29607040361884898504096371697645435559183635615131505442552595275939878207601", + "18704833296646920021369560024689756143469590361645378139197689889283923194199", "47465634309179250339234068602649190353861935356018224629514773967468663392999", + "61401506766735641908214299707857394017293294976856612485532555676846575783799", "104833828168234341392289161222287697771105628612163744990515406550813277008282", + "53431507920400923076568024701086358548066714236654081570774006729289536702366", "104045183665682755743720816710432266299881778763690818315169270913758766655991", + "6255004485666450655614862379278605273532669469948281941404091408570455949448", "30724098790119062922976184070347592038531496951333567503449035394490983552166", + "95396237241733501088660574953429157104243098943508364629898782289931347538701", "107637095690024407618867519263396008560898018865719500835829426661931348363556", + "32903873757060536607303506874482132731412046582483416241569863218321146424679", "54141740942076688500848380120949613577632603974980588350494234003684643035862", + "75182161479579275552125319359083449545926491290914840205298783670781579514466", "6943832985778669056137008529938347091004440646605304004664577476445511295805", + "24105390892469117480325161616271993048551522159230240115119129903517638087090", "113286186673308314727360981845703008085219558439855333621140176208625643538182", + "6790347956215587937964163298461069457973549163027329939026825245164618934465", "49935110597182549579522081588066415319399819924466228514747030420418443851096", + "92027694314533618295219899332690894543704787831440366647565805097480716249975", "27584046567621960511801619342467338552517877267459458089556855676436705847523", + "40029385021174710993086647315213549961804709181632477339768095560295692231344", "99094297836694631967193907579320748374850560130258438290727269568942494196681", + "1836586479143095520618823048498352408392580964020061488803656330775002586496", "102125009144034050602121019927328049459779592477869323456002549825105267825435", + "88103544239644014449648114556640552687035615638506465082724019480648993351326", "10495298707970401100181526110485268220116635681272138950171516921513009392077", + "114484717426480903634663932737676314779684742505067351489984910335321911314597", + "8251327826030052662096080533265247113697299951123715297187709963790696525532", "53293551832717475151502728759653813643679704577082070614060866298747334191702", + "20857626872498278706057476786130374764724856617798972319525009171504484456771", "80734885734764693004658702125442800874545617662791057761424274973530330625255", + "5925215780886041828590543019712799145922961907141085307374683951624955922925", "6753719246000720268335054324664766556868081753594909666428480415888574266277", + "7805373936686211758236618911974360565831368433670906701721775247960880655261", "112453575623014115188033723253667671458034341848762583770943763530201524574871", + "41440847160360211315926955906555059095954607829511246403593944877167069420729", "75242965924710605385235949097704403012390104378102560312672140200765108078642", + "32785148103534349327069800873026599049662356600647721087680740015324677856539", "55543299383483456613947703875936718988730442670522151794722725964453514489214", + "114815522024594505846761125484680535580109331171770026304056367695969744121024", + "111776624966878464560321540979312668284093704789075182915420221603473178543127", + "1182041142539685577282098951357578484555515185832915000740560891883260837685", "57157583671534182826965229520319385967766546119171857371897384107519166731712", + "95927377959759685412299718190647361915654583432719960062606533688252049343026", "23863157823043209392282050373414568171281573633936245864853107842194550498024", + "50913825452322074665267648883105103431333292073233855869644966649948658897086", "27070837971608190088380272381037622341302123729485843218973209874853917091079", + "54912048090908141551902993651372105433339492883950609471878307785104327546238", "108972507267577139913646605697301527818822896113642253139210819950758905219817", + "104907553054252825013760476342474258060621296290831397302694613865774521058543", + "10655122003382216304404074995539148645197204349779541440013681963358827844748", "88707178794427218103306225687297964102867409025453503297515472183695081342470", + "103283753792009031685733549665665823427793877670219838397097750514256884694067", + "19929985082984405238972219485311232788013763712441772130655279650428531080706", "64406309706132086376469532757370648692828078644743076225061502900828471542888", + "62446412772293073811198274128119612289769008771208641242440162186517936443743", "30481647534402325140288497177752482530510534864315870457967039574461783931733", + "100032701540929873212387417614423097065234653556955958651837858939297877052360", + "77929555527785384681460483796030015810315548339171046779333861231188445691535", "101752521423417534817110385059150897933504573110613317414617299054118112204726", + "54978547741705303091804246500766420899234244995195382192017530563145290872606", "79312601998485997941740000039593839940204124805223909342420700936866755668176", + "43894982833401234617204629526157722182989451456436314725666173446856307627033", "61140677614497224759026110470746746840929757512260798852568753669510108646669", + "53954795860146283058972651057279154730880471086380098270686095802329042772016", "34657086425365610469788863641509004194060300707654160264413193349138620856334", + "81037333732685925025215103414545975483210685094924812363859775253509163292597", "91516336512268303202785267668948613454643110839089988656017091161021736072162", + "7046052050614916609794033846413885067446817169162520915666108969901344975696", "26033718193755800293411922667975378966783572581991805859583351579338279151070", + "100376093901093620233732726320822180884409596464652732196068814481252957717588", + "61301470218188783162655593904550711944153587538083714678407773723759271286799", "84464517581925207205542008422327993951899475780051981567349503045016446661864", + "108933876926862611549278767293542990808400822998863172879454527539901064226929", + "98805206357510366166509443408091213709217140669118789148189286978357751879269", "79498787339819561478736066656128584305961049259329953548741926280159533382837", + "13735968241502466802930120111598507725505286031222366452974417468384362956860", "13331832724248003298874801060223019675964245008658857099413885148566406630223", + "52475477226362584279151325688497789293428810934787458176930929099156491746729", "39446197125324847861879283365237356811848518058855469773284525615920090882621", + "5589915713734997883969776215757173238445190371741297055590147509869295074874", "25749621399604826313434437171343674305861486098868805876198359129664040608498", + "10109224667670172922229769963913685371422853889101831398511133524247602580097", "89324455322597580831457685386104403668878954422509599200962073677439782292166", + "79011595053530551010979427160888073567714108417969920312811016929135304859824", "111828813547692329129660514224396852143225078570360020119978833504793720790802", + "13817947132459413953415135227396092427578123615791158389802381569460419092773", "102509513992197122172015456011741741121513529322732037291253030482234595012846", + "51372332195823447279664003129615061335600553488161243823121279858038245707065", "50002102189855149485948948803510241687203501381899276160124852897949878805924", + "87470150153921649804227388516169008255651192701383729895800662366077640089789", "99093835035177435272936108238019554922602069907397760726083215107432584612680", + "45899250073661415360095958268176543082369224619982024311067508638118144980217", "39955479155133462247237799974531781933600209412381949683941397465496292455884", + "92086806489837900932124236989867878961470582016060964828885275402978618183114", "13259233736617360149737454437887875669472668050088624000547700772142379586891", + "14265160725153158245155998419810209438161858533003254878675943749878782552975", "81290442826269968232511270773573820017428641648998140238820566644121927470476", + "78640392622724748645269657955417081133377928227238902552036361442846908749875", "86041766158030678113877219524234744116814393206097139192809173008773800144355", + "15700518831743051112090214965074010830436759114836138222438448899047558883352", "53560211159560266828404906233222878665836006639981706586123642463107297735653", + "29945815430775579929751547959651500418680803766074204736775529272118938461309", "14173643035666684597654039855600619313828544964096499139330897314186366008546", + "115359416345805582710345050919368707669748440938220708728024906583183470197372", + "88348868942529132551791269004676251734955820951655841780298826064699852490449", "106007652234737724746632068395676232681132884402410026061204817898446737099505", + "112683057479219453959468466377165368533776294965344339365817821583349629537328", + "91224172176711683477640834822546174618794475710550389836152812666037617669960", "91303459114185846467209772795070984549844433814915352698421719972186705812369", + "65424932395168474174755508510107619611436398796915208125949522075385275505674", "12805432751272814974131860299795838547825377865330369871182380585025039240990", + "60221301488385899334540933831531707814880330143026688167769276750527018986765", "82042433322237862446548249258892942200922786330338282938051032674738237539774", + "16644991672873491747341931799881013570568426455673217197886383791240073021155", "18422938617831039167653163231562430196598210505589407994846769931220334255359", + "53023016659937757030183243583864460443940178597925378967941310340283071375053", "82382054707579783212430985533866697436654738216302926602504597453374802884054", + "60310174270214164257777005953966645609781326272772083032297696264547093811971", "4208059085012677829697456942791076997756128932968628476938129202879410221998", + "29757274098443070145122443935605794392542988574096131478403218931623775565278", "93283056531473671685320475252434075577622411629128640713971703388125139847674", + "23544331423861902600634208458569504423027575930073501951840983067209854439119", "25359475981397909443103481755985941920518869211362074293116144239567224329146", + "56470756771131892420626929758497450378185571660831006340335161334732044022081", "86016025333700761961470530748068606679228867668045527498063905452675037596233", + "46527325860526793259096626324718774873517883214250206866541479588188177151829", "14179070345706594277139302864558772106912898947784477788954906838202210877698", + "46615486912360469464712448219462724081054627595449282799012583032091283598568", "62332616968527695697602455440754866292328887014043566307199527429138026386982", + "107551533126738092406757367459435776418297461546759640543791206662186441224753", + "101709024314482291557127915374320984776279772578864486355279118387088086475651", + "54039482263985657571910359789841582338049385354767819628916300482896806021345", "91762055365945568887943093675563569694930506978558457837966672593104749153093", + "85580018272183215572937007651066274946637529279782612629699499920353799073800", "1729992264947639208317492291754184047474828692595918723644912367607033244714", + "79471761985400128795553042385691246178166119586993738130319546962120402797556", "34976828749082764642627635668168223212216643951335914989369943423874581937919", + "36477960027000977215140830093838731936550401166334274054284487480552991988876", "5649473201189051898807645418102530916931341037354222696588575770596910190465", + "75006816853450772828362720380677088747820714413939496635664750380062073561372", "1612349025735802838021336931242389859158660875853921499982142173587487413655", + "75603798293887971846138039718351319774648078117413731955374563658596358948289", "40130545579960976038460995393777695232036932792279327618168556876179167324528", + "63739986511386905130878053860483562466855287703763766183985554093229597125873", "61610770159724140017673099692825035620770405556473077659186117947650854005285", + "98626110249447435464740599249240876831742393656196547091692578801124468944625", "91309614856553884131171697171912975077382204171578696081761574041176901169226", + "87368239653065695491352259023866086036528031472958807600079904503431911678402", "84872406198399254558630693807461911579399153483364162645443931425908791256482", + "103748892918601757155478148667999375796862242499197408541497024167445549950771", + "47392939528110270817871596837989757810240690615651486048237893758463252647647", "106878493833247554439640251172295491141032143096538390509440183316608259871303", + "75493111126999778466843354262374236799652477066338757514131881843117241492161", "8779426808472891997312670313859925108238922738400079475692823478814569128160", + "114518014076634634226901528615881875936529947352484307525840680469486346753181", + "90429364418353177299105159451105724691347450247274923525420482569466553321107", "61512315287304800465655243974817840504212302504280030842536372662089467308433", + "69459469787406556420183841147148287739815697427334352803379156403156497826595", "57198687774183059506093157301118128114282673089088472779915665213843253189940", + "12247199478062818305026324171095158086883399162625384071702123763011632221244", "40869824273014614126592307898922635206730840719788157906882797601370013084556", + "88847935909837337909041086714672402191427499786719267828029162599295638312270", "35494607510125606512311818383250148430318598691320170568180443164174616022159", + "19057582920424406732834976530278789497630829715977789392620569170959177803210", "84379414811320358973013493183492029121138280193007362269980837256198844060343", + "52293726326212065151474300097257125622045017512996849504913147316325235318575", "60519584897795478462263126923623116021637642772812489711645760950253036544430", + "16957033982705683560447239984388512869853579540058237005231420454910683277385", "59758976694220985484957588129857337120402344143480531498622473240094517853618", + "8996809124917195375769119611165292574785757375144082376631775046673043708506", "83248642941270744113462132047007770792643803960826456656657073035785869910990", + "49552840510523680780882357196659110169726794703570522130364672546108445086213", "71953374934203260184703040358951847394315021694292951610489636715162908285899", + "79593532600337817794486450486798332131358172604473503460390148434061060491462", "2773965643487202782596024558322558521265828840379674801248573394286272680183", + "55902429084296271775126555974107912718969418794188366689548722418806933735075", "70757900622576222432258813485522605934306490541312234391958606577145657609985", + "104626072168984657923997660766244385969178609826388355766134531937461872292421", + "69674749345746273495662644675488245684398788557436748680823776174768621513397", "114196289617113640104872505638987654634133149084911807545793541912583696724055", + "91773977160654681105151941217569586644645807491155080063859388034596524881201", "72506958534424646418879529088633663818259616510049026135610475366428288804984", + "71536911694355106547061583433365662611913669295168522357780974915804404556175", "52131726413419434776513322471252119393017166293672227593953006958402088191379", + "105325551091339729528665632360302957619247501202184558193694920048368434696045", + "46162320164281445686088835496127205651263350109928074123484826578325769471281", "79428490739157533043294573598207688203170403070351636119871673701930036464535", + "36628742401924977244942636188678034973253327575583916380696840821685307769899", "86449417291683378406670587751814090263058035300490813134787632071401886577530", + "48472636012262975279208429506227267037975735937193907334213529296846815155699", "51444945432099344050860517385655699496979003111311071355929901508618297309272", + "114167077955808668491994683638037736106839884438675191849698381652250715995726", + "75938002886917383445203523068439430726444201899214467973670539941455913768926", "14307178029438058474975594497774906025543546611355943706065151660385227742626", + "114394785072437263566989487651550834438808781581021200741199582320615164957415", + "57673121301204755079128212746966803664169521539754070966518498638770461097279", "112764086859568647284587127197330802776133909694505474986461616690061935413247", + "106479557867968407759032830556106311697062243416069400419264370202253987191441", + "35341960866385922424918949418908891123486880353522881312408343825388219941519", "77090810750910949445104622113266668571294018068798179068638257312719078685841", + "72812154976159475017188640225305075326147014407609713488080802563646942253580", "5455997358730922884852912350145646764600462276199322532992508673188463079703", + "31770314651166544707424828827146528536616833031115952875821485141823331280222", "109080915299190515126059507351313325931453349568176586467981632175611402061599", + "57274636562474415514916772367120824572989459394120572789736296634450349170754", "19483958213147206060257976218109873561192403431403333800735503683123082451812", + "28741796232298472848223848690383986494798203024266892599339749615331252149646", "55418667685590860933017630391826814993049653580166711888422864480093540987351", + "58151928199922131559585383211430814167977835055547841332938519103626094108304", "67582277517912941441932671490898731725034029977893234767701100839710554556521", + "109948414580652915130283122943668684798631884544210936120574409139442779956645", + "61112810079783074730808565106032967809971760288614303870694785312869139711854", "55180824651875176683845922996161029227261306068226228367097308248695246420514", + "21296554591488687889925381442154800953232130477557443687316525843208150787590", "27239173045210455782213608293477400476433045533303495724606402118662508643214", + "78542627612390071068844144109658608093156509720784826731774084125936670157987", "55484861008923334827650624805535379821629683876373072860078658296639658100435", + "71944064316038199845653614391893625202255392697769953411568439200475773020415", "16215433514456140979312397712053206757011929501406613195453300920792897252647", + "105626139132830449026447819982501477654687068744364403701555379180438640094191", + "96048353241602292423213805957352084625964661613988015335001492721618009226544", "77179065128515321093964251179636338865838003109820712659198301954224020297291", + "77512541492882270263961761862714582920834576413223593875697005649094666137", "105943770039669514448944885920146697088521139445480318757811143403086078418832", + "89037623551318904779596840124130833631921116684286680880001712144044186870261", "74445068788280815957230228759419426105201191972340651116199523502823232391542", + "46986664039126494170799678570126323632589290382302170488034657558479407176514", "82588153950735088526663076226878649975251215051282627662380518396110786614583", + "57715077252221189411277847542237624557240052219044287033527821885161059676476", "58808161445711922610645019415528950844834693616767215816804711347170564099275", + "114428935107006039084832291430963736947589843476764753375516752513568525291929", + "31452225202957449269467704412297814605897291226315055008434349107819736279851", "103740259774613061752032468751102254900174868973055347157266192209552972904900", + "4102893900775851660664653600548755229329269052356947670069096594492552612194", "61857963748154120860120059584974187865293492555621251598720820511910066897013", + "56433540757371965091679956153679938276958651469083993424986951783967810326704", "38966137906487154554584916496623164256096075738879835462013227999106811241667", + "63681268713008862307361196068566642017030254145477165864501149381815608319768", "46037691811606506580256952760774499605498925876780465732884673892959251929158", + "13949391405876718634895998378442348875939104171141072135674552794322806800148", "25723123705337111935374093316148772338155108981145448697383416126773209564806", + "13916542000084377374426351604725818686078966080897789149075998631477269376401", "84306691939654771087267535613560725301848252503697275146032082286538990559526", + "24591293493352840149823036755072718690780157564885958633343373743499842676461", "4612689144072885611923547459362159540853740415338905762799987917742649707684", + "105609573993580988288943790185190779630379485318778186456020835283531040637617", + "113377890247158222535770824507803884985031585166298776855281383621619313224932", + "29686181868224713239512296840382189580624803355158389136282768973659158069424", "52183501393556732401734194108925694969727739628766650662823742231938413421718", + "13033184034426016184259013349287179765770182043696339529973981978993488353217", "62685471990912553090460075241107461722971508856421588253772823894597548722995", + "8574079870109967152645369505654511678609640849960773584815917545705514676602", "111271441940070764317837940821757702495303336677348518486112370368907834677688", + "100578771723509794997955346472083854566500157830291907708208813754659982402476", + "106599418189753833308967698964166908010808411969869237987830433441878108310399", + "101421468774893904296556825731678754997206977904282295231248571511613108844525", + "5471690082095637929175088417918470274280509459831023028425283897097820735488", "90141027840872298899096408092891293955445042971727747159976571222748269529185", + "74538663934523853259271003254850963691061896675463855239795423365298959198300", "61174167638361704070290120866844091041353245607565987925792620394559618651227", + "33678726546240726787764049625186717411548424232378148694826622256662946103236", "19958469579523704742118598840631168526636743885682386024411197396418730984190", + "82045212962146431190569863013316396068645986410074364692281283908808439820567", "71102061952709263017967018654424248948465767060931357746075843223181329287450", + "88356467805538533977761780988352491508351276825232289666599591583376972651050", "63484627115870820735588620621328227196747231509836334652472603979674959378776", + "99105892979827298952669389763369343987781929586134636317124463123209329160948", "6681127298040242687401267735796270857117474761522055035421917512066240818648", + "110208800845058293335099983064520187241981142901168053780585270377373721043630", + "93486263453583044499098008601484071213155786245438921339743631441932764516889", "16655119153494386925112644585713981504754365262813091446018804072682625410983", + "16469840823707594934185234794227817858307477338212357254193845002552737885954", "73937387113626736978136405455068661898090895067810993974714990865172057230945", + "104665894492099978126302850307063431515425931264792088690065396207795279519840", + "1883568996552266116803108505527562814290487281653985516042960901196815674797", "76283668456041230724847518603739832972368130211420444088111538097459536806057", + "46019618885243075662237297301713490810706025189012970155397359426562012234183", "33062839789109522669746170427127728651141348208879157960260643145682538979113", + "87130548378600796651833296513627280389706863297014075354972893693081423258320", "109575327876193670256363425665325298881338585899173428050264749916119403170437", + "85690799854735682151017289681483556429858415641826455424215767319609469398051", "68762354452233075437808601882467288482981083696919541339024909069522139402189", + "17990256118015026436678559983783491567230634112253585066211133131441116570282", "81244378334686893576247811381977779551276525313687071599220345864145480945370", + "43957200019362631492278095556031189219509448568788093219879900962006221071868", "105844491749285423530621842285763565495511655340810707324836956157960214377118", + "82395921562512805336502675193039243481581012085754577041122110026830810096958", "61416144900912504886115087646081378358516987605684108095347571063868486881104", + "16992580165720927684381506952055083064483386681153656301960377330367697216025", "15789934733368444770095278712171631136609811600804279708603046561347515194364", + "32434583130788300205762599698147689656800987431107723097151384023445126312290", "114050888794161297285739671979428582159732865851728833019209243677716713437322", + "72109750324205655079394530882495884941339866672916290509746610536525422883979", "83121108474659288101982809590113331202051879232055850993203093342473478184765", + "58986830123720710780765873649426823837073071920586311693939795261413875604729", "57667484514411617771800384565037209380426130534029015450290664345609438912340", + "25140155000064440989012400034987005212188030014190731903372006027143286844794", "50373210882089795273487013104662574590023339176486004261654855100065778013975", + "4232326717343633704450357540326021141255815483447654726506367965511675890844", "81810921906235658010086540123211936910883849168284743858143170173249018862569", + "9876228182033086134192892747698554675237159874427105303103025605415340785955", "67981078933442901963315261471078133142554675211794336587989587593592952437864", + "33094323865434052877615117255219758193343532202963478184580083358645343163821", "28063507462305899259640830262699306210665305550198366171802794019724569807411", + "33442470993654303323697496321589449172500561506498584136909368550298573651989", "20951317458373157784417068183210203800504918263991316270197362960722580622130", + "46003605438520574888279657572094160295786967551728419936950419520189518776609", "17574355817640591856058155971678092802561287571928699835757071547728591093901", + "47376199026704200305064320097829770530606099310424806143103189191183424965373", "39415603613533940885572687177851314782230371014923159409261436340822811437325", + "113543499177981270028398321496300822100852733690686198638672660571509416608774", + "88563353615729502466147881937488804916257273768028579480096879255294993044144", "55393488166686691609067509759046084864387666034076145073757274029758094156283", + "55276508216717536824833241700876699154181473299607335628317253881947425995688", "43107269325978203197000023853975663228165787215783923534374620533172127300674", + "67611112566295562301622458110858443964207756593316116412389784630677812942482", "89648070650454065794426835951739657018926943582806803177019442435094841979905", + "6489587643362222753614058743377721467211003753232992702274479801517157100990", "6954748909234583658216073584214324194182426519548417869114932729942628918058", + "40373892842276776680719162437019767478414115474546120388291141245885187666972", "60802538315998626210878876090463218174841207486358662266820611618047804594704", + "73704986614625688506316797098704345884495659245554408107586886002389202190163", "66041791384981558108416084783633784706065436283120189446217313447640947200371", + "73831829711815510473017031479975361457285413185873353703030495676205661048492", "111842082161905727679045232575649550043125238256669118554904346418497087850667", + "72929010772200092765394877580394964157303283121244006014391370135740004151292", "59401162492921430560881417084800003722247252883454533236606011682066987809532", + "16090560870337010924808247803691169740483510344850479068347012230914506303571", "102065555648613525733538259144996370893373171222971260413028930602399668370809", + "40278225984868016042667023330955367427045489531844387644376704019095085247048", "90257531305753081221156218257864406696172077019363411792066499991154538132315", + "114484009591425084025399605777811361954439136756027180372890954397722959532689", + "102318053289986470003621613697847527625556410030831704788206829932559322577448", + "48447329266688831627345664887139609118629043667835781854453835236886979333846", "25439202901912155386327874481189632259401536403810453458174318678402373020684", + "92407650776311712152070035933721390085209973964864321982892890145950060975633", "85521770511467426222265395493266633051192314422593876755113715651694467183258", + "113675488957983871685784347617957382599895657747332103548886745927178197743836", + "7893888205414094329517620737702490707237898733345686315263934977760511153432", "89783721428052406151104760255410049221530184585822017045870058476507724067556", + "28415238787043063412582498006869179813320726673069740430453710655479594092482", "70015111762720394081220789968429558666917948896595711182861435092884166883615", + "18020010147867802553420538998033967885917052631700123637832075226001742683936", "2048647517442753938270349585395481025229803210066647431238722575891336056831", + "76528786841708483050518950384573318308189367201025877120813123082610537115980", "60102322454631517131553620223543744048778066835450091354059352166426948777517", + "20613265093580434171269403464998774330206916340837990869964377607004501825375", "9428261156282556473789254170616290258178902271076261145318980242421278538798" + ], + "out" : "0xb247c5d13b061524e41fa1bae91d2e2549d848564536ce6eddb1a6a6babad74423e0a8871265f82e3878b21eefda261c06f094bf803cf7c0605968ab640a283e1edd77be82bea017cb3f89e4bfb440b9a2d185d114ac198ae4a38906c1f0fa2f3ea915a1fa09cef71e4ca412c2f65fac52a5d5f2ea0aa28ab418815b2b4ca9cc632d76cc120ef78eed468e076a6df004089ecedc639db124cf001b20c71c22aa60eeaa85be454a5dd8c02df4bd2c600e0e8a6e02962bd5021a3fb549d3f1c5d4d024c96d8c63643a20d242e80e21aa2aaa5ec653c565f5ff789d9cfa59e6211ead3295a1891b1dcbaaca10ff9ec2fbbc89c46ba85dd04ff36648260929c5b0c8c5eb95a3c12edbdc57eda6be608140b831e0f7b9eb70c821c9a6d66df594822b11705474f19a0ceaccd9c0375b932ef1544d9aa24533a4d6f995b31c37520b6ce9bb515baa9717e50af8c2fac4e5326b68ac4336de0c119c70ddd1abd12f08ea2eee73b94919610d8d4f2d8a30adddaac9030a02cef6c2e10586336a43ed0ab99d07176cd3236eecf7e0e1e5ef772fcb17e3842dbbd0722c20355c7c4c125bb49643bebb668554da9cc06c72d24b23d196a2ffee37977579303b91d59b9216861936bf919c556ea59b85bb340d05c4ef67edc8660bb43924eeb8c6b5bfc4a958d0d9e12a0c0aab0cf533836e38ba120620aa14c4d820f4021e4370d0a3bcbdc029e2704cbed2e9aa58292fecef79d131039c1dde6cac8143fdba5a9982a972b862531b6c7784ff0153cda7b9458f1c2c702a2f7046c414304e60672f9c94c3a6e9168219d0dbcfcbab0b19ee663884d73d964d6e0aafb97c8f55d3ad185c8a7aaec94efb86935083223084caed1f039b4718bba9c52fa54f738af3c3ccec8da3d8c78e4d49c9bd14606516aad1315d6bb60658d55531f8861bf67180209647a84691d7ab9027e74a57c95d8123809c8d881fe4a202ac0887a445f52f4a1827ef1d649f887814d647018e9e6b7c458cc65f13a78a18d606eb16b38393e28a7de43379b9ccb19a90bb30c5a0d3530404da89296254f14fddcff5c689810537bee5a34db7f5bd6fefe5721d159787e9ef8aa19409813484159bc9da590792d804520199a3b31dca4d0db9273ce1a5be2235f7b4a99b915ed6fa5302b68992e7c40df51456201bfce4066555143155b4b47237b7216c4dde838da21c5a92ba47af9b5db2ebc1a6d76fe013f1a436dd8b4527de2e90ac7874e9e68c0933ad59cf655785031c6e489ad9298698cfeaeadae8a841f97cd40f2ecb1c84685f77b18785c2d1870fd5038f5ab016cb665bea8518f548fcd4d014ed5379a55e2d29e00368eb6c6f5701ff5c128de91275e7ee483d65c8a9776cb1d63616ac381acdd7d206a2f5fe8446ce16943796b6196ceb605966bb0081fe9e375342737a45a5740846ba53683acdb3b36165b64e4eb40cbd19d23040eb77f389ed9054d2cab2200c2a87f09f8e6694c1e955227f4f234de3b2345c6204d10e473ea69cf677719cb63122d703f81e452e75b4c05708a824681cdb0ffdf69428654a2d3b81538ff5d5652d3769b14587f440ee88df29fac5208ac068a7e11845a7b4887d425f434f1eb6dcde0ff5b3741f8de5b1af7e101fc649431a5fc362ccf781fd1e12a4b5048ac6a4b735674992dc7a3459c9d4823d642d74287e594077b3b9cbe68980421624c98857d00794c8f929bd23d37d6499f481cedf96bd1ab2df7517efcafbfcad21b25e603c3e47792d7aea66f922e19790ad60c409c7ab364f47b08db7a5edab190cd6fbafca2a48fb586cd21060907f5ef4786939a30167bb037c0468ee19d0c89108c44208c34ef191839e4c4a30ec5eacf61077ef1d6ce319b9951a94db28dca7aecffe6c0b0f4b232e4513005e1eb1120406048ba84f2772f51893e5adc3faabbd90fac46318d5a8f265d159293e37b4d3aef521eed4f962c3e2d01c78d104f9e669c1d364b0ae613c90adb537c8c33986fd560205c577d7a73a6cbc6387dc3a24bd93e10e71b4abc30a8e0d844faf490ae960ccffe4b9243e23b123f7b702d8e0caf1a1c568d60b5de22e1609e8bfd4d0c9b312e1fb3e52fd151a8deba1d9b6161e9d717dd5acaae2729710c3b6c350e66a15e22cee069566c7fb526cbbe9cab470be2d2a26bb6085a03d6674e30f1b3b0cc20d62a2a4a124dbad75f706ec2ec465babf19eac164fe2cd596e56ef5d6429d0e27b2e81ae027c41c4d44316c7c14e203276742ccbb77f9b0cfd75e4096f1a2c8fa1cd9020d674d982dfbaa89fc768bd5f34874fded7ecc5c645e91ea68f4cfba42c086a30570321914ab92cd2d35b50856fb3a01cccb2699d7a659011770a5693cd7fb72f767ee98b654d57bd083964c4a9a4e6a576fb0293091f6be257faa6ab64efe91a62365a02c22d03790d076f6c287c1cca4ce73ee6652bb907021ce2e2aae8c7d00e16f7959cd03703ca10f5f5dce6bed04f498de9a25c4d80f56d69e192eb68223f80e1a59eb495a4ae6e70d6a3435ef89cbbafe44c85505b56c04e07f2f633e81eceb870069ff53aaa2f367c1f99fd2deac8e5f5b08128325491499158a4858f42da2c0d69b8cca84fd76274e8b35bc9c805ed9f46a51d2ad4c1566157da81deeb7dda2bb7bd70c68ed07252e9152af1705f77575352d0e17fd8f3106e6300ce9572f4c05439ec073f5dfc72d619d7251063a6654d5339af47ee2a582cecea049b06f110bada4a9c662851eed1336e3ad07449a09031d3a071922c78c771524160c9987127ff6334e654d83985f51f74fd97cc5ffd0fe0a3d808b70a87924e0d49438d2f0c4b26a1439fcf0bfa44efe6909eec5cbfa6550c07bd8b7739e1e6a3f613d0995283a95a6d61a3650483d631b23f2de6f196dc66c4b823443e52438c62fa48f8600d57e438cc8c0c8f090d0158ff3e9f0cd4aed42f38ab47fd5be0015947ba6e2eec6af9b16ad3b393b59668858413bbaa9448f857761ade4806a0c7c9c00319457d981ee4d062365c0f14c207b0913e28202eeb6057c419bc035ba7dd8ff2376c66732088c2b499c2bbf745c31253c936da20e5a8969c1bca1541418c305a15692893281f15c749839d97a7c49560c9b18b4820897605885ba2a32caee0cb0a4dcea06252ee70e5436bb7918787dd9369bae7dab39d3f5f24a966540904e6ae1dc8deed29e7b9ec382a1dd2ccc080d251473a0eb1846abe0ed34a1bb77c677d73ac896c7121420454dd30867ae863f59a1960967ec89f5cc81b5008ad6a8bea4d728d1c6cf80e63d7d87b5673e4d9ea41facdf2f5dfef8ae31dd45978b313e3dcb1828f724633a6660b71a57cd2d248202bcbc3644e4ada87aafe869bbfd7b69fcff62c218f4e4063b71fd63971a70a34b052e2d93ea2ab66378271224df76b995a9c049c6e3795200a7344a515e3ed83fe5e93edab8b01396da698d5f8cc6ef19d78d6f036df5fa7be9a525dd176050e6f804b15dffbe31aac4a697699831e9d8bedccd38c3ba4a245912ec36085eaedd6fdcd0a0e75d8dc76e7d91452d969ba524ab4f112e58263967ef014c55bd6ce5d0746f8f2fc11940ce50927b18092828a394078b2c7d8706c6b037fddd12529adf1877073474fae7f1e55e65de61e4573a78b6bfe083c1c262d5e04e5f8e113e103fd0015a80ff3e73dc61681ee32ee5f53f9141d9149841a40439b12d627f8328d48dc3d73e8c746ea18b54f487431c9c4f8499ce870b7371150bd0f7a5c09db90755971577672b59b62f29c03b25b69f98b5be0fcab259001f8d63fd9b203986f70d4ee90ca389831b41e60101ef2f9dd7301c6362d561c192f446c01648cdb94240df35ee52ff20845733bae7986f8ca7000beaa63298a1cb644d5d0b05b4beb1474a7f7e955fca7afa80bd209abed4586e5e7ed59a9924e68502414cf9a49c622def7ee61507a43eda11063c8047c132af1db814a19b08af4aad44b5e5972214ee4e162da9f95d5b9d6a40f1aa5b118e9901282eb253c697056f18810906a8090c5b11d4ee519bc6dc0a6deed8d1e68e8e632a3073dbed5847bce0c401db83f4b68225058f51db770eb9a14f44e19744f18c8c51db76d56700a3d41f7baa014d8d925e136378129e78717af828e4e12237ef2bb1b9b3979a9cb9cbb7b436242a7b5fd780706d68311e3d088c82476b286d8aa3a1dcd11a7019ce8e4329c7aef2d9935a93afb088b4e7b5248842983542137eb5c12fc888a844fb9d3b58588f545736086fac0a2585f219b980f4ca92f342647a9993e49abb8af894b27157b535379661e48b9ba2d999b246e6ad7a5aefe2e057b6e75f030891694ae0eeded474d768122d87c35629be96d75808858432d430e0e126f4131f6587efcf1515a5d4771c38db8f608df1564dccb5386333813650ab80ce2d8fda9b10e32b65fdd7108e19977428c64d405971e9d51111083694436db7f4f308c2c4b0fcf9f53dad7fd895aee5aff9958038f7781c2bd50cbad55f39acb1a3104c5222ff550ce3a7792f1c0b6adf7a3088a49e2f430fff6f2640e3583015af49d8c818d53e5919fbfa3c33c6add700e124e737901423fcb9a9119e489fff56b6ba9464e8365bb0863d048c868e83af7696481f00c93fc56538e2fa23f79fdc67fd15db532ffc210f52ff9dd7eec27f520512ed9306e2b8a8a0e1187d643bc6f53e354dff9553c7522a44e04ed9deb5ba93284371c1ba5c930466aa2d39761c308d58bc95d36e207a0c306b7b4fd85a5742e09ed66cce85946c16c386174f5bfce81ec88d27dd2bd8d4c2170a096984d1b453f3ec009135fbbf8e9c27575ec3fb301bd2cda6871049908609f6c4b20a0c291afd21aef30f960851b3b8c0f3782a92648a46755f0df155574a073696b4ddb5d24b4c9b965a7e469d9a4aac1eff2e08b275007ceae599d8d3296ea2bae797403681ae90f59980b7f23b5f7a444ed690881fac7ed7a843745cd0f2f400b6b6e8949aebc11f22dc8f1fb1f27866c1562cee9f0111facaec0de5b6bc868e8c9b46a2b41990489486f4c7cad076925cbce5d56f279fea2d1a25c5735b950b3b211c4da34614396303b1300c10941ae77b615a9d03799ca981f4028ec0ec1d257e89d27184fb9aa1096ba120a081082d8cf0c3b777ee19f116a24351b5dc0b0a816eed3faed75c36d219974638566ff79d6ddaf186f32961e05703b0097a8f40e4d47ea0310327879a188869a9cf2e58d78cd9985b02c8470b90cb0e416d399471b78884e07bd63db63c95a8d3527427fdac8c167e6d79711f9fb749de322321deee71bc34f41430b534f43aea0b04798cfcf2bef104ee283256f080e2bd86359a3e5c3440bd8db30e44b71c60eefcbcd319bf4bd26a1bd1bd76b944d681e65e6c1490c23f9a8392c6e623959b9b9a74e14b61378696856ef3d4998dddc69b7c8767c0a5486d242779a1f96be87e9662dc8fc50d74e12fe039141d8ed8ca32a344656d79cb4eadc252e16932babb25fabaa334f9429563146da0095130bbad9c9c2fdb872a49c34ebf785644b96e11aa17584ee8b312c4acf4cf596dd51dfb755e7dc87d9c98466d9c2a1ea98630aa5d3f8ad4fcfd2edca41f4e1d42fac37106822e07287d3dd2dfda7e505ac5e1244d1447af15c0450509a0b6230233d9ee0d2231dff651c11f1a4b74bedb2b8561e3d295ff00ce05bae925dd641012aa8db74bb95a23fe315cbf237da9e3acd5ad966437405d87d30ecb96c654f0b935c3c8a198aab5f8b21b3a8eaaf151e05c0a994611bfc1538502fd33cff96308cc8f9fd02c4922f71d0b79904150b783e35ce060f5981fd2fc015e04659dd680e5f685eb356e9891fabbe73eda4f640cf843b86122811bec86fa06ef9a3f76a3d927a92bbeea1a81718d5a9c9c9d5a93a771a1fb0efb542e5832798bc944280f70fb26aa1317531dbbe42cb1efaa5b7017d5aadd0d800313d78b7b41eb43bd7b17edbde94d001598836eb0dd5d6033d15378ed009d3e83446f4ffbc148e9365025831ac8632d08f1485119f282032b159f3698c85e75892155acbacd065033867de1e10942b60eca489f83d5ac181d7dc304cbf17242ab6b99a16053e4dc4a15a58bfcfaff248d917e0887b0c4885f93292d317b59768cc1526e4749bacfa559d18fa833f714472cbd934058c783b6a0aaf2f6f77644d846b4d4ab7fa0b41c4a764124ac5721225795043242fb3ccb2d6a8fc2b36a91897abbf8252085e27772d79550c9fc2b461b4fb067085270b61e4250ab87574f640812871ecc5cf474190b41739d491364cde53d509b9ca8bba79ff4ecee294b7787bda215dcec0f834550c624dbe35a3f0e2d54fde29f922debf80d803660e41d9a27014b725db0597f904f5d3daf92e70c8d2a45a63a0415a73a2f040348ef562597523554dcd41a61a572372cc24fb6305e137921f4bc4f4c5c35edfba8a893b3d5056fb6f97a2cd4a88d438da16d5b72bec66978512742473d7b9898df1b930dc1ec5744feaff91624236aaf911ea100fe32967400412aa0faac621d06436517539554031e60f03bc3b2fc657c9b6d692bcef72bebce417f08c680616d27333c0202554137a4da101472b49e2bc4b0af086fb767a1c5035342880941a756532e0cdffaeb398e413949050eee27026562cab98265c5f738043e3acfeeef1cd0b3d88b751ee35e44d03a8f623b404f28ca53c5fe6c8b77c06e0aeeebd4869196468d2f789eb922d10d2f8f95b5d6ca84bac71eb4a7f18e108055124e263ce3916302604cad4359b633fd4dfa84b03e1ac4b3d5471016b6e066e47ac3bce576ab37ed810e65a4ab13b378c53be844357234431476555c1047370160f41b1dc6ec2332b9dbcea6f1f0df0cbcf2143f56c689b12f7a60d1634601a1d0398dd3e16ddaaf8ab3eebba8a2cf47398f5656252370fb2ea6b452ef266df51b924af38d008aef1624e9f811f06d76b8b07d3fb1728439c5e1307dca7339929e6a64b37a0dd4e4ae1fb09140b14045325ef4701605694d5a61faa7208d2fc6b41ae9bea2122657ffa3f0a70edab14175b484d0698fbde0ace7acad0e2e8ce9479631ef53dcd310ccc2a1df84bcb799bcaa8c694a23eedbc66fa246f8226f81b39cd1c8ea589d0058186ab584fef4ae85feb3097f29aa4d76528687d7f4b281517cbbadcbbc07afd23ee7cf87870b9152e416603cee5735d0c94bfbd7b2366ffb731f49db06ed541617a6296de80fa172f14707d06f99b1b6716f417dd2e202db1dc8ae0a9985f8931f0fa2c6323d91fa5c2e1540dfd1435e3bc13da2dd0deee3961042a37583ad375f79d6ee70319245ae2b216c9c74aa1a67dd0268d87100a79cbe342e52f3719d128703d57e2e1668219095e831eb06b923b2fd744157316b39da97d5a0ab0fd27f2dfcfe133b36c5858425c611d354741d7b8f5a29e7ca4b2bfe416a2a80a8cc9d0bbd7580b8bce43a43e853ef5aad4542d398f068770fff1e79b0b5bcdd4029de7424c7aec3baa84108e2da5c5659449b7105c0879ab171d56821107b887175890f1d33a375561ffbdc2123806fa1cf6a12d8c5e79e07053abeaa3602ec144093a44469585d3f8c0e60678def6baa44306a292176f769f1c549785dfa4a0a1c5af740756be12568b83a8fb4caabed8205b07c07e6880064e0ddcc8163cbca1b5e2b71428064d983f5e85b9f0c855dad1b0335d40da694d83f486b5b44bca0954d1c259a1cf737a05aad3ef763cf02fe104239ed430db33d758c44ee0bf1ac63eb59697ffd6be3c4a85bbe9178c84f744b5b5be8d22489e79772c3cc1d6ee211ac7d97e03fb62811d4d4b4dbb5bef174c1ed6ff8ed67ad6ecdbb7126d6827034dbc3b1108c9c61db23d7fa5ddc64a81836bdeebe48d6daff501373222b3c963209e093335210d145c0521dd33e96bbdd1cb123b37762526eb517a866cede12f367a4b817db06f180b990a98186046dffd16d9837a63d23bb1e03fdf66e80c62889f9a29613db49766849c0c8fe8bf0b333f8115a0fb2514091c6931a1ee58a6c632c37d1dc9db077e996ac64c2fa3576a1f12a4b3506c7a753410cb6b55af7fb2774bfaa5d38c6af98318b2f3316a330f79bb575fac168c08fdaf9aebae2e303e92f65c595e3e2023a449c4b7844d6860b6433030f58b54fbd2695e6f72d677ddea369a35194bfb1894db123c78e108e9f6145666e776bbb67899ebf5321fda1033ab570223dafc0ecca0511898e53bad941d475cbe3285639626b5551ff98f0d5fdaa83a5c9294ba77cd4897cad200ce55f04fc3cb0e23d1ec4d6979195d27da752a1e0ae41c5dfa56ddf377fcbc0aa493bd47f58c92314b8c4eaf2edc0a05358d9fe822a7aeda46a8954894fdf21d5568e6215db809ddbb7b54629be377b16bb3a46c714e6169af932eef0a6a654a6a59a780f041b9bdcee3bc90902b2ac532fe90550aa8e448a8e8b9f788d80a5838ff0b4c8e19e264e42886a3776b2eebdc5d64e5889f4bc7b051438d2d0bed015e9c1d6c8c2cda93a17ab074ad05e02092c8a67e573e0b1aa3143da9835b7aa8435e9203417a5c80350bd746dde547fd0a2640e2c0ec3e9003e47522c73441b5161c40d1cfddc2e87ccfe577a2f56ad96e399c630b438dd7b11764bbecbd9918a3c07163e12566a68b5b460601b94c3809cd33bcd1e8213037cf3331b57a6e5ba7fd614d37543194eb8cccb2815b3ecdf5d830d2092d0bdd091d18a8e12326596d79aff1c2ee7f43d46bd47451b318374a873889050c3798e29c8df1d89306fa26c73537eb2ed8904942e05cac4a81b17031d21bfb5846a4c01651c3a335501a62fa48d190da53b5cd35c8a79b61de23fa1ff3dd534a8a59ac8d1fc713845db3dac3978ee0e9d2be7ff1f68d50736fa781eb7e20bdcdcb74387ed4659d3f4b1ca2462af4111979ac3b27367cbefc9fbe1c82085f403884aa315db185f9e91d140addf779ef8b9dc103ebe1edb1f241349bfa9096d8f69ca86253716773492c2e0c433b09e5b3248013b006ddc8ac491ee875c61b0850fde86de01be073a8652fc0970025aa61bddc46e76833c0e554132803254e46c4f21a9cc96e0b84332f9e0f779bc7b487ead9216887bd0af23dd44f2d5544927550dfa89c96a971a5db8e206b564cc7ac0ecd03359fc89822969832518d996f49ce8b87d308252fe6c3950e15448d7fd17c4bc4f38b4a70bfe32e2760523d65b7146c8e19bed55a9c26d614de8531ff7357f39c3e06728e204c1daf65e2d9f220d56a40f126c610d49ca42c3f6029d02c055c1c3c60701e0759cde3020a3ef808ebbde2f89c4f5d6e4a6fc20c10b5e7e3242abbd727dc8807ebd471abcb33181536161cfb9332471f5e3007acbf814d4e8222f43196ebab67c62a3efb9fbdae3357fe638e0b462b583f776b89511c234be90a6a73771b3ca9f9b6f965b08f08afec11ee7ab4f4ef06e54503a3934907007e5571187fc752d94fa20db6dfbbf7bd8bfda73c1772628ae70e415238dd93b7e95f15454ba9003eb8ce8b531977cf98ee848c2da9a4ca27366a341291e6779e98ac3530aac78f54de4d34159770415b42ead8393fbb59bf0ab9420de40ecf0ef04f114142f45b7f62efd0b26802b90934774b5b182d5c9eb488c6c2292efe78c14d860eafc922682da0e31d1361d65ab7d817d0c4c79b7c4a273b6d8958e170606daca424a32f4934c27dc2fe06ec01697e69b6e36bddf35efb5f1e37b1ec4337c7e2907c16338bdc2786328a8b894c730a512320e90bb46b36550748858e4027efdc75e7e771be456d89b8472f66b712a911e74291613cbec7587c8f80f2c68c4bf47c1dc0eab29ae51c5933d3f549e237323a3d67df35bcff60cf1ad648e5f9115e5761468ff23cd50fff2698bfdbc8c8f2ffbde63641d25fd6ec76a0f8a55fb2abd7146797f2f17c39e98e1068f077e898f1f0730690a174a2d49006443c8cb69f627258728b728d91e2bfc5c139b0f103b39fc86ef502d4541ae8028dd8ffebec4ad1579d4635b62f3e3814a7f2274469b42b994c1bb3f09d7ba904aacb61776aa40b19d5477ad8ddb28ca3f2dde41273965c4b8dd78bcef1ddfe2f5e01ef79d69cd52ad237e865422037d23d443642b4db49ca7bf2923da645ac18c79d068c2e779f1ab91394178adbe8f2298cfd5a7c096600ef48d981b99875759af19d4e7c0a2bc61f65442bfe0fa63845942cf9275a92b3e40ef5a86190bae0b610d8d71f44a1093f5191e40908ff137f72d9d95c377bfdd7762351ea6ae652c8730e0f7cb48690eba037a330f6b461faf8ed599dd370786a0fecba8a20e5549770eb873166bd0397baf3dc703c5d41002d8b4f79a9fe921ecae21b6563d379f4cb597f96d5033946e223e33f2c00f4c2273eb4910541bbcd85b09772a678129b3e2b394b9e9fe58ba4a3a54b2574f24311ae40685e4865c0b4da4fecb2e6954ca506be88c50a6d49ac340cf83e3edb70f79e21fd93a945c844281c30a94ec930fdee51a758c5c221409ce2c99ad3b9342f81e21355bdc0f1b2ddfd37ef48f8e395484d2839cd22818d205ed12fe0ed00d132f1f968776f873a8d894cc18dbeadd0f18615f9e68b72135335f719de13f69f8e0103724ed344c5c017dcb0f678787e874096ca7775f0c6d2bf93896a798f7877d3c1ad6754ecd3c26174c0939bdba71287fbe0cb3c21b8696cde5dad7732bb1c0bdad9dea2b34cfbe4827af63d6f065965a6e781aefb8e48082ae46d37645290be35d05269949a4358469d7c371dab5bc6e13d5b97c6a3c45a00a8a58b1b2fb72767e122bb58d4b1002bb15b8c2af3c08e1b153d67f233bf79c38f7867dbd2fe9237404ce941b26b1cade52485e1e4f0b51dff82ca62c3735a8c4ce59241fbc2b6d9e2e709e7601fd3b68c78c791da93d16895a3565e8a5aeb9d161653d1b00b2a254eb04817f1d5d00e24c1104743da25e363db7014508979e350a4581a924c8ee8d5a97638bbc151efca1c135573a7e0a7eb2e00d0ce58725ea47e5a7553f96b6edc8ecb11f03a0db78b9c75b0cf2224a7d46a00e43f2d754ec3958ae1c619e64bb7f12a459e2269dbbecc4ed3881ca9c27e3d786f8312b26ef4f981ae3dc8896844ccde275e8dcf7284f9e5916c60af72b552aa87caae4dd0446ae2809d185ec311a8db94247dcd1e49ed97bc5b060ff14afc44b7b7080817b6755c6d3fad2b29b9de34b5928d3567b5ffaaeae121fb8e8e634e7ca371668154be103e60b0ba0ac2ce51181c4be0d5a8edd3cf725e1d2b7ece3c607f76fa14ec9597b3ddfd0958d201a8ea79e8098ef50ae8c1eeef0b2ef44c598882103cca370e98a040c0b6e92fcf5bc82cbdcd1092e54a2e2394dd0ba7151e2f518d8f1231a486eb5b20e7bae859b4e1996681e8fa9b59371a4659f6852625701b25a77fb7395c1d287dd45372b7c60e787882ce6d92f8c6ebda0e16b903fd984a6f1f533f0217996f0be5093a9345c15434c5886bd5962c1488bec1aa3d5aa8f953c973b25dec19d10638e960bfa224ca354ac13801f15dbf934cd7a349d65d5d7476283ff250b8cb04b458db2d35aea2abc05da0e0e7a65cc7570b1be8752c4ca00a3be336e6308335c4ce166f09e89ceffdc5bf2ff5558ca0dd324f33e42536cbb103ede4fe7fba4103a172186220240cbed4a124997cb4b55b2516ca29bf1a25c0a51759bb4c8e1af7c243a95eaad91fae94ad975501d8feb12559f5061e5c388036ec51838f1805339b12fa446abad02d8057bcb891f8ccd9c42dd2e7d5f3be2b5e10c4e0c7085bb3227578888a5fefda83b99c2b8b33318aaf931b2101d07faf7ee4f11bca47020e734a72bad8f03613b1688e2dcade32d66ef864008a8f959a344753c94fa809a38caea0f2c07f431677ef2e939be18289a8b7ab69fb1a40bc1457f5a8f5e17cadc4f3f3866b11ec56432c22db622e573129d7875f92caac147058432204fc31c0e15b441a9c1acf3cda656016a767d6494c6b0ced003ab7744ff1ae189afbc0f38066fba135f0cdcf2d41bbb3442e2bc0b0d26308950f1d4e2db3e786bad50788ed342c7a2dbedba634167ff551f7c7a750e6ac64242fe1cd34459204dbba4d8204aef19269f143ee87ea61d0bffd1861a2fe21a5d370544d74de05e69cdc67a7ecf3fcf6b72450c0ae110b053c3f1caeba56b2a150b1589f1d1b46a8431ef3c0638dffc58232eaee5e374345eea304c4fef2ee3bcd958f932d6ca696079b7331ff03a078b3c401146cdb25920f948b71998162c366dea7f8ffaefe4836a952ffa230fccee3aed68d24a3d0dafc991db760447c2338bceeb3282cd15c022649035025b56e8c9a92ef64031eddbc90a5c263fd499c7f8b93fd4a3cb97384b1cb6ec48a4c1870560bf137c1033a5901e0fc42c5689f7b01ef8498550a86ccec6000dbadfafd39219787b3b3b9e4f1c0d6d22646fc8352ff378d4724a0f9684b14dd5b37030e1686630cbd47a0c2485be05f38ec460c579f1582c2e6b372dca0a32059d8f0502ce4a704af6265f62b5e386ad3a2a73bb7135f1c0f54caf3a84bf8bcbfb302cb1b837c260e93ebbcc24ff9c392ef4b4ffc398b5ee0085360e14542fda20b0b2823837ca96598403bb28cda6ea560f07618bd7e945a022bfeedced66b7758dd152fbb14afd3ac3f63975d6f51bee6c56aaeb0b39ea95d09dd0dc757bcc9d9449f8842fbab646309722b603933d81ba6e044f00ff40c71284981675322a0fd2fcc7adaaeb658555595685ae331c0d508690baf404c2b87bc5073b2f4d35c966abec0f1bdbe56752ad4d09def569f590230fd39acedeadbe95ba53af64097066179d78b9d5e8223105ca41fa491c9ece8ce8d6629d0af260691b3c122ab088fff453b7133a266ac6563ccecf4e353b033114ac30c75485f4b604d884ab085812ed3e3ccce6e64f8d9e0d34ba536647343cb007d2884785596b44c75dfb14ab52ae5169121255e26af4103841b1c6170ba3ece66a3223c6d2fc31391e9c2fa28f212bee4c549b7ecf50d97c490a679c4aab5e0f999d8e9ca1706c6f229d7c4ced7d822d278d254156582bbe55b75900c01d3e578d7c2c43c38e76c0c08c0e94edf4aa69a78aac918088dd660281b09b03492cdad9345ed2e3e6d6df9bf043abb0cb3392a3ff8c5fc511591fe8acacc5fd5a3f230a890874387b7f67e054096e9cd0bfac28eae5b93b6e0f6726d6dc3685488cbc93aaf795932d966751b9a3b8dc3cd89878c9267bce02cf8931b2b126ccfda14f552f8a30b2736bed1e06102b157c98efb44f45e5b102c8ed83233f37c82bec5dd4ca35078f16ba5500dbd50a26d66bb98d134cad8944dde0e10884028fe54af4689e382041fa45c5f19fbc9d1673b75099fe75ef57437977454b6b9c7a487fd80c37b736abe42d052a5369ea776e79f95f637fa1997bdfca08705a2187aafb7b4d267af5d4151b9a3ac64c6bebd1ffc0c48de082e59234bd2a2c3a95a1c36685fc5107a491de64b343af1490a075ec9ae363737f1324d303f40310b9057ae22aa93c818f7502d9d6a182e86cbbd8a3b31fe2439f5b6cb3afff3e587653cc6eca76748eee206dbbe2883354749f3b7446031dc146fb2e544d8c9caf16c28af863d618d96e9a28a184386a7ae285f882bfa57681f730cba550814fa21790157a592a81dc32e34f4a90a55f48565da3462027c0be750f7d7d0c1c21ae60d65dc5d4cf51314068262f89d1a0bafc7e34f872c758bd29985ad4a5975519ef9e3aa16e7d40599ed1701da73f72a176617caa6ad222af3ba58e9003c1058a1886d9a534754908929d40ea351623b8ae7ab4ff6ed8505f78c03b26a770290502c832bed89c341dea3c67eda59292662b2477294d8c26d2f47815b958f1ecb97407a12675228564bb8c9e5e0c45d39e504414aba796acb020cc8deb8c25aac6405e274a3730e15a6a74a99c1aab5636396c971113b9c91840cc753688f16ec19b636e612b459218c0b709a2623e8b6a64898bb48fdd28678e73660cda4a30880473604fede299eae2127a8fba7b9317a785acf7bc368ea46d1a69dfc9c2a1136365c0d85ed633e5a48174f4885dd45a20849b7217cc7f76f5d6ab28c1a22545f1b46ba7a444ad7048f53d1f703cf1a2a9e57b455e48428bf25e14a4bb332766389fcc8aa0653232d60e89992a83fde73c3c54771b1a7b2968ddca5fe5df4ec058b73620903fc11e7a63a87544095debd73413f5274f56def70374c7684752c212a0c30fd4b164f55b1d897da86c339e16ed8004320b7f5f0673154becc16239213a9ecef2fceacafe46eea5b0a2719bc31e82fd4e846999443196e7a6e0e0a3aa1250558e853226bfe4588789f6fb5aad3a92718c0d49cb2cbffa68139dd470ffef5b356dd33849a8100b5a6fcdc2b4c70fa7a97591f58ec625e62efd93468c3aa3c4c1682a9a34cb01daf3ed578e976499554462e0257908db34edc791299479d7e172bcc7c8a22db5891413d78f48e646d0b6d7c38b231196bcfe872383b98910351f1d5e5dd3e0d8f35dc7f5d08851f5009297ebfadf96adaa9099345d13de1d9153e77c58703da5a8b54c61da85169b07441d1d6851085d4f757e3ccc43d3799b33834946a4c64ec81e6a89c745f85f013bf8e48fc75354ab131b8cabc691046d17882f350b5f465c34b10129f2ff8a3cbea8475fb5b533805b5a4e1514b0551f772476bf1f3e21827a42eab06333a9c891ec2803c9864f266ec48fcc7a5445a01b180f76ffc41fc6b8a4079d9c414479cd91d75e8ded643c794ecae5726e64cd4f1e957ddcc458c317ee456e033cac0f938dca2753dbad35222ab71208a915b8ec7d5a9275203154005e048487a966f49590f9d175186c0e8dba2f5fe8aab495ebf333c596e276cd4b780f94a75267210ef792f3c45041339d73aea150aa50ef814bfa8c2f65f1c0f2f64e3cbbb7241b24847950476605dfcc854968b47cd4aa9c5df5a6465598b50ea3f0178af8d13f6aa72dd3ee7553577d25b27d6d4a4912c83368150c9153bcd13bf57157c4161127dcbf9d4121d7611e845a5a9a236e749a27c06d50a7612d22a3d110f8784c0bde409337526d7503e413cee34e728d7b723d3e64d2b92a2bcb5a143157f6f11038864a956757e80f0db805d260fa5c84e5f8ade3b26e4288ef542cb51fdbaa10d87b3e18820ef0e98d6dcbdb84a27db2fdcf3be8787445904cfcbfd1d932486eaf000235c8afc02a149fc648ec02f227faa7a0cb02ca9e0ec18932397d6b3e882b8c9a4cd9c2ce57f8aff79005d30f3c525292bbde1885479bf13a0cab824fc0c3159995244448022206a3c6085b17dcf2030e81d3ac48e02db5749c5a3ab647739b53d977fa51a7977b01cf62d8f38ccaedd290d7de73394c40dcd73094a894194d437669fd718d6f9c45f2b6c5799438d6a81db3e2c99f528c813c2d14132e22b89f00591d204250e7b56aca3e6024359ed9f18370e70522ba06245ae5e954d1a8c0f05d35b8820a9a57b0f24033c3c90eebb4162694cae1baaa175c3eeef7f7af1479b55536cf78fc317559dc2e45816d0c2cadd40d47b4a0d44586ee4e0694fb511ccf92f53ae6ca78e8f4fc62a54047cf55f8b59dc78dcba978ed9766183fba1c37a0a2f57b4da08fa142033823e95b8b3ba132a6f949186cc875e1d64a46b818702f940875289e93c58f1382e54e0a0e0a32d772088d3c2446a92ca955ec276e2c0a96f28241736d4f729e666b124fb61b4e5d38d2bdb4cbcfdc70c84b37a469224d533b26dce831c576d828b5a87e78e7790b761c2c33b573d45ed77ce2db8a5863d582f20e66978bed9558856ca0411f48f04a121bdf92d66ea02eb42089a20920e5bfee9aaf2b0497e937d486777750f7b6b0148f785cff8316f4ba945c898e76172e22fb507af34dd3b2848ccfb8f4b3030b592417850aa22cbb769c17c45aa36adfa220bff3d51ad5ae1250a827e97db31e8a229bfc7fddb01055378d4dcaff5d2c8a2a6b587854446b709ed40091997ed5fbd5b3658995a50b4376fe3b596a2fa8cebc714ebeef3d658b54d3f4083531b3d460d8f124385b61dd9986bb42d298b54668fcde571758c36c0582e3c2b0869f21094e30bb5c16fd0a44b9345c6dcaf162e3a7a29da31843a016d2912c7a224a7523415cf0107e280410fd21de2c756793a11fe752273832b7a30f979b050fa4f6037b705bcdb9cc8c76a954b4f5f86327e9fc3f3daabaf826681de3b420aa7fd919a1170750184966ab19f323039972d4817fff878033f53c5420c0f4febec29da21eda8b929099edf4fd64c2c68f1d364ef9919af42a591c759875414ffacec2cf24702f6a7730444e1cde45d8a9454b69eb8f42fcec12cb849e984c2c6b47b3970909336c26be544115c15ac23a4ad7224e91fc9711a81127c5f999a5af15cd40d51314d9ef81b6bd6d3e9fd2fc45da6faa0c92e23e9896f27beb1cbcaff384eb7f9dacd36c6e7543c9b93ce2d22238faa017711b03436d9fc926768f63d1a578124bcd5f77703b84b4ee18849c2dfc0f0c5ea5ec6dd58764c840b6f0502400de6cb6cf15c27d390c78a8cb4122615c3d461f075d1bc66b319095cea3924b268ec3ea6429c2e54bbbb3b234f380339c29f142a0d45f93be24adcc5c9bc650329a0092f9375af2062fff1837bf28a64ba07e645bcc6fe2d68e1f87236c77656abc6789bb374c57e37ac575097e709087132b8e9d44af18c61d224e80c0c47d56868eb2bddb2d3b8b14e7ae279daab9478b3fd731c05bd6f13d7695e75d94e5560fa6685c02c167aa2847a504476cb6da857a90dedccf2a80678d337de3ca1ecaef2cde51746e18e3831d9096eb8831d3908069880fc76084a601fe44877038b49335bc258a104ab990bd5beb1478aa366a95a525b8734474ed9a4c87db19b5ee1a316ecc98c0ad3363f47d647935ec9814f36e8775261dcc480ec27618e222ca27e7a97bc2431f4df2e73f1d5556ee9f1c8722fae7e6af871868813d9489c58562728ee50e033d4d320513eac5fc6d3dff790626314fa71cc0764e2e083f32dac8d978fa4e434720486507b3c0ca386c152f8e039a06c52eedd4cb22310ba9135be5daa31cd640d05459992645fd59d3383ca32cd7c07ca81e2926ad3ade5f17ca19b2cea3627a5421c2ea216f4f468da5add3869f8567d030c908355852c31cccfedaffe3b927130b6f63434c3e8551ab7aff2862c9626d0fe11cffc87af0a757258e362cbb0eca2ed9cfa63daabae50e9f276dff620106c642cb388921bdc62cc8b5c5cb7caa9ab50a2dd76147319cd923ef6bd76bf867c45deaa19c35267bfd476e50640b6589610b0879d772b14686e9307d5c80ce42b7127684185d182e992bb1845f4f033332050f664d12027159d44b96600acef7cdfd762e83769870e206d43cc03fc1c49cf5569439ca86cda1aa99672643bd7dc12eb46faff9c2ade4654a348052ceea2a253445e4f4dbde2b00901f52ac2795a920f2b78099299ac52b4f728bd67d27aa115810e194820c3aeaf5210ff4d63d780a93fff8290c1dff84b56e7f69f28701a3e8be01315182d9c47649ead378f76491dfd172f2fa4bd3f28bb0f359cb4a9440fd6ade606e6a96a4425b64b6561545e9abb278ab87b314fd2c3392df88c554208107c88a6882e167375591f1377963edafa6a5c09e30746b96f727e13e7d4f3584de7114163d97b63c719c775670fd990623721c3738d72bb2d3b47a77a96a7c67023a507b93997fcbcc833854a1e7e58962375afd0b35c8535b9e861db243dd1b4a5673653d048299918cf7983fe97d07a162d3470f77bc751243fafb3ffeb5f245ba276b7bfcfc2b2b39ab3025ec4fa7f0676e87a1f4efa755320f9978f369878193c11f548945c4f96ab8e3b96d3f89c73b99adacffd8a507da907d74d4e171f88e4c00e85ae562898fd75a534c56ff6994fae78b44fe34dde5000cb53e6e02567becd827120975c0835b5533c21352194c88a02b00c9ddee80dccae34b70b7e65909e45dc288b0106741170cd54130f82195f3174acd856ed0e473250dfc79e4b8d28c40c47cc3246b4aa1c1508058da898929e37fec866b10ddacc7b8e7abecaae96f0d2656189ff086fdc515ec007b218238b198ac9b1394ac444760d4853f4ff01f52ca8c4618a95cc3f7626ed5bd054cfc2cc64b335db05dcef8f6c1494f854f0069c865147f68e8f206334ffbcfb04516cc47d35858b0b171e9fd8809359f026413d71e8686eb6a83c868d24192fa512ffb370d8a4f863ee046fcf0dd9e96a0a6c5de38912d965a703d00f4e5e155d62c565bec73c807f7efe519e50a4583d4cf7bc41e262114152df4db8b144a24842397d84babf570e0cbd445c91eb9e4dd8ae563baede6d7e779b94b68940e4de7fab0dc6d356eb5a1b210e2fb1079fec9ca2d5e36a40c4d3812323d69d9d712218f5fb546bf75baf1a9f2725004c4ac7185b0320ab1423955cddc963964c8a31ea0f69d53a2f9285f1359d9cce367e1488ee67ce9e42c776847dddc0aba2c78854938228cee04b008883821af76c735919e9ca9fab0c0e7415e50e84c115fa32505e2b1f968c2020e0a7cadb01188acc293c8a14196e450c44c7c122f48bbddd9141ef72f26a076edec2ccb2b75047855abd05e73c1d7780ebd99e09aa39ea90c13bb2aafec0b8b15d2dae45619e5d8d54f85d01c334bf194dc41985d36255b5c231696cdb8a80b6181d211dcbd75a3ac46b8968a7a31bf5b267d40673b6b8dc51a09e3e25634f8932aaa9c5be73f2fe8d9c1f412b8d9d5787727208a80b0c7e0f8bc6975c191497d7934f58e6df05166806701f6ace35199c37a06f241f77704a77606e20da2175c642c149bf3b4e50d43915dde7f8b845569d0616682b9bfa4ab773945e9c1b26f322b9b7e730b6317f021adebedf79cde065ba78cf0368726803d6735fc40a309547daab0b99577ea5d843ae00088e2913e184cfb4b2d346a418d5de50f40d4c619447164f4535712e9dd180c6148dafbb35e2eb29363bbcf11a333b2960a854cd6161f23f74b6cf784034ac75ca89cc8e551f43b71c7ae494ebf4a1169a79ad0acb212dfe2a1b14c8363cba45b94276b7b4e903d6bd85bf541ec8b6fc873a0919a076c8f48c087ac145a3f87c4bf6d9c20b326b223a6efee6e3aa24df6f4fdce91017648946cbf86d47b754afe02f1e81d2440dad08061427b2fc0ec6e60d358c00e92ec27ad0d3aed17202c17f1ec9c19faf254b9d09f60c33b2b8b457d0452ccee4956e0f55989e5f163b51ac90d130f6dc76ba99e08b4342451ca4c222c9cf3fbf493a13a29374757329d2a1ab78729c4a8f448e4ce568ef71427e8d0b8a25d4afefb2a28895f12fd57c358796207e512603b2c6e2663de434dded3934567a84e2b43ad060db98d065b8cf4b2dd97321c03c53614a45046abf6efcb40ba1b20c441103577f81996f21bdbd82dbf8fc76d25563ffe23498c25283e0ec908c6bfb2f026fa1396ac5062c50eae22f69b2f7bb38422abf8e2ddc2cb4fe71e9d80d639c89d6d66338b83f8a7f31912d3acb899aa09206ed0784770b6f98133146e37058b5cae3a72119a59afcea7a7436038bd225cb3524f4278e08ffee1d0b23dfdc070098d21b50ba076d224026f6178081d47506918d5827399cc7ded514b2c3c2ff3d4635565d77c996924610e6ffbddb9b1b6ae74bfbd461bab2f3cf6ef15a9015c65af04e979fe1377a3606084a2f04d92a6f555a090ce1c47523233b1097ffb3fe7ac60482c04cc66e7ad2d5ad6cc1dc7ee593dd37af41a93736fe50cfe82907a3138299312f10f2a04a9409791eac065907e02a9afd6c85c3430be8299fdf45dbc05576b57ba06a7a8c741885240e8a770783cd8109bbfdd71efeb2061c25bf28f4966df36662ebe6529df1f6928802955fd28be26eb9ee18e4b93a769e11bd255cf2cb10c77e71849d02265e4e9595f20872f83256c9e98008dcbf1b732843b92a99834968b24a2c0858abd92319e960a59a8e274a51c684748459e56f8cdf7d1f3393d38117041f2236c99d476bdd2aad5c5ec84748dd1d70e36a9591dd762e73f91fcc8224673bdcdcf808b0573544c62c39e53473d55f3faa43406bf25e3c4a68820b3081d0698aa62dcadc31b95d58d45f870da0952323cda605460671ffd6d6e2e74c61fc627da8e3fddff0478dae6b1cfadae87bba222c24d9bbe00be060ab8284746b09eb3fc252aa1a82c35ca3acf6820595789da08241234397f410afc94c5c9bee42e619e72cd67d2fadb7cc1df2bd80e016f670f8298e703c300001493da20fedb01ea3ea57ab42af75df9a7535a1165c6b1f3acdf909b45564e6f44a226835e702ab6508f249fe429f2fd2d2d2a6c4527b04954059ab9aaf9c0204dd1032e604ec8871962af520ef5cc9017d82673b14b198246d2153d20ef824b6b7adbaaa4759125fc1bf494baacea6dbcc20ebe49037325a8aad2f071dfcd8b7b64d3514ec9e82262f1c869bd16b50bc40c7cc1e01f9a2a3faa541daa42b9235ad5e06fd052b5478af8e52f1c268203453917a50bdb66554f9126e854903050d95f1311f68326fc8b74c31f38be604041611c815f2c04e95567ffa3ace1ee62cbc451451eac6c9f3d9f0bdf5c16960239a7d477b639c8f9496ee4552019c44a0cb5c60f54e1c4b7f95c8d276b0dc29b3e37f10e59a5525e7aa6e8396e91d84249346a0bdb5c6982545f3a064d0dbcd75391dc7b69f52045d0db66c0fbbc321d034e268ebaa37e7f7a6d4f9525a7a995d96dc9868372847dbc9225d74f44854bd38a038ecfd294371797b442bd3a6c0abc33373d36e80503baff2903dff2bad7720f54561c3a5e6f9c4c714894e5031377f91595983f9e476c12a3e989e56046a5c4b9ea7a695b09e91b276685c1ae48755fd1a493ab6840df14914b581e5ecbd49db9474357dfb423c152afcae48c6d886701a38e428a7ff1eb4d80415c739764ca132f3fbfd51568bc6d3ae1158468b63abae5e2182a448dc9b23c7b9518c6bff2591a59ed4b96ad153324dc3ccc70ece73a9fa8c568c54be748e94b5f29999526585838b92a49330acbc550b37d80fa75285bd3acc3aa5a9ec7b2a0c5994af218f6e3e0610b3e15c06cf751eb3a9ddd60f64b19a7deec20c9206d01325cca9ef8d9098fc4ef49324b8ad9e723a36d0f25e4c05423560f47c0f15e4ab7f2ff92fee6d08306522e210977e94022cb9f3c439f710d6225ed21804d813d3b88588310ad76321eb5658d80bc2c4da00f1a51d3bcb919c9305ae4fa2e0a6ec56ca6ff7b7eee9ebbda26fd4a4a5da1246ecbe5e0346fd5291728d5615c87ac5dd260094fab4278fabd680d6941eed1588ec9869669520c281a4f69ff555a227ca9c8d3855390e97024570644c5a64450efb1d852d8833e8d9a6d5436685ded5148f8cfa62437d75707fbb01271f9fead073ece6bd2e9699d4594b65974a68f02280fe32bd791ef14cdc3fba16afc44e62eb65245a41bf5e2abae1195f2276f649466bb9cb7286e9a777aa8fb8929e85a96ed09592423c64778a9072e9a958a0e1bb382b8e3a81a65357a427cd6a0ad2a241f8387cb3141fd471d7a5935c9fd99f56ae5138a3b8dd94d5f92165ef7d21a3349d8a4ec8a7314788c8dbb3130e0d530fad67e73db99887a9501f44434eacbf4e8d990531a4171a29f3a3fd3f2bb95614e1a1b0c8a860233c6bead9f14a8824926ba7507e737c5f1dc8417f3eba026e03571779705f8f9580e2a636cc6fd0d51861346f8ff26a6a646179eec9dade8a7a77bd4624e963f600f1cb4c4d5e1917adece11511bafb6bcea10023ca29592c74493c1e29344d04259105a2c8273183610634dd897617d81600e33bca681397d469b8ab8fd62046d86533f53aecf3f98bca5a94266ef77188e8cd3b22932925bc5eb547fdf488bf3a27391db19047baf12f4edf3b99c283824f8cd5a49e6fa59788ba06d134c540292ac4e226266aed81c49bf51c84570f9ab68f286f04c4ace24b201f2d5b0553ba3abc8eb03f3be0086db0f41c93a78f2f82febf2de613a50013c99359b0e6044f7fcaf1b928ac9f45b43079d518e587ca325a52ea4ee95ca9fb30fac32795b3ca1fcfa440c7d9d0265ca3c5589e5544a25ec0bcf7b51c1388b85e46bc4d4dd538353287948c31687e19c9d89b647295843e579ee27c9cdf86ad18c8e7b49ef922379fd6b26cfad5f34cf8c3a743dc94ba437464c7b18a8125122c406daab0ea7e148ea05f6989b4e7accbfc0475dcad0e79a18e75bc96e35a87e41569e03ab0c595b33dd6ecb8edecc1db9199224b09d057a983fd9fad061b8b372d0a6cef38bc791d29941ce778d4e04ff4b1f7edaa987ac7e910fe8d3c7b6276a975135a71bfd28faeb48cd50889046ec6c3839b62648f7e41f0bf49ed929b4e953e545f735e2d6ce688271f2fe97bd4f707bed44013aa3a02159b177ccb039a6f90075371c6b0c6c4050e46fef59daa232ce70774146e63b501ee8c883de68733cb91e143e381116d39a36d923bcdf159a7c534abe7f125abcb511226c6ca81dfb4c7ae04ccc9a72a3f06a557ea6f9954ff98e0ff9664f9dc3de962651720d2af6fc539b13bddc38614e62d6034e07f5f358f5154354e56c42dc82da1898ece2e740f40b52fb1855c404530f558cc59880596af9632b1f745dca504099eaf2b9f6d74ac87311e43291cfda8c07656034987aaad01175c003de0bd9571babb2507f8615c97fc6c207980ba6968ea39fc2dbe921d970f0aff2dae7919b41170d144fd28874d23e1f3925e553b7b5065c247dc1ea56c0181060a1cb0c932e7e6ef2dae91f26cb9a20dfdedbd31ed86cec957c069dc297b2212a75fc90820523a8965bc2dcf6d627ffcfb083b53cffa7e6135bdbfe199d47783f1f8e76f54c50c16f0fb94f7e87044cb1abd75bad8d30ecbadc2faf3d846ff516e765731098541804419424c231a92db6651450ea11f1fc660892b7299bc683abc5e315da762db534743181b5e0845fd7b7179d7d24fdfb34f98258181fc3ef6c89a184dbe779e01166b5d0b1922d2e7cebad369439ca804b0ab93e3cd09ff71eab964ace97bc3c5632b6ea34d814" + }, + "vec_uint256_512_zero": { + "inType" : "vector_uint256", + "in" : [ + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0" + ], + "out" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint256_513_zero": { + "inType" : "vector_uint256", + "in" : [ + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0" + ], + "out" : "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint256_3_zero": { + "inType" : "vector_uint256", + "in" : ["0", "0", "0"], + "out" : "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint256_512_random": { + "inType" : "vector_uint256", + "in" : [ + "26807204229807601047999899634012146691614635564015866389090272079591224517515", + "80112694747708819554057946095921071727124665068192707398502848097370629268493", "91849079017167673723066140149889166057431104925245765126944615441705129004212", + "19878297788803769866912070696607708216394556854389361164880836650650439059848", "93809261718316855448369384587175261874003459298462809600156683031607911165979", + "55096631452759997319570764303868699915805216478704606314410794744498968513452", "69838169495273152464264213419469800597524478480408799938494024563462912165272", + "48093255662484573875468224594531269060482039433782762072892204798960065685716", "74058158485458939289549933169836928362514986993086910976540530226454120978436", + "4966637297663875553641074291987314257743300987523920970207764262977038361191", "91017058602500299593185330601933270976380361630212745976783987403000170063280", + "6953739019169153232856617057673286811581642420706004323894725996881190898393", "21276472016580802981030705016089322760398743396179127483906977773335540227311", + "56954107054492727571183192673561910671477999370436900376306929835322998808189", "54922387087135424038749231005501470243315163753156751654317191447068695814958", + "114678483507261800766546521172928809069623607045044827072890554665521151246835", + "16004227001340954179082273204558638717609580928998329914119627999149240573837", "56520216211403120486314241025050673371889526236189898171309337596388799484422", + "112019457850492783166142203554914094105824207462528049632892244394071175126972", + "55410502042232931451454167119508442636129820770236877920111191455122363936467", "98023409121657491370404977120733737502574983725738836015530452850478061693420", + "102802976496870864499050898677954080108154615794614506401177915416052165765111", + "67402197567058689240851724461830913654129608676508545133638422075298620084320", "77240678808397832617014620196366690485138594657091437016292269061678791219198", + "42342791864608299242932889644294207526226159597337420516874408042429031021406", "93197042294813244321051082110088729067175536761381323417713643771908381375158", + "44281175389227372903642492560353063583355349283293973093784679429457764188655", "42210250981266000980441339378813297553154026240290503971679234767877592677412", + "42202155863577322488100666997711165825050310290258851194220405233609021259637", "90568416323611935369446067587033812599185712015396479108339656338504704449530", + "21723380782733262019114660999527918012226397674200865696990884617393049518981", "24833611235396285258883772612649128906936745577692899708994607135025776057058", + "94118637795446933770968915086573187383243965061297368634599330417979138926138", "105177850353483642900320214532187391972651252605284611375126243592681068203253", + "95069555286879976587926904646924685030658346477766181281066091060679781194085", "70256555088089921535264350849921967212853294929066310695329910784815090963213", + "4182854064025580208886817487509456458570061221381175543173438519542190745760", "78358906301930708822907586760390177735668148873953662455203303179350527726835", + "50684264307319345153436949367359050874625695941268378708232800227036790107490", "72182795317264064595260813158109917635238520947973038640406725198927302223052", + "103887776435268884760788680531485130087465140911367224961120952006575716468638", + "38160858692345753473099822532259475900324816979466897174877971903183445869239", "89158502514856163128564782786510813824944379599008451446968212603375322788411", + "91474667221836476004101028997139446674116828499529114294449052107154353170454", "108832365188851001778646708593022994818789246023801859519224872308521076204532", + "42840116139534945343303498313497545260489569927226315206516209240968796123857", "6806844462044218144409125232583290086420952696329683118962931676035492999642", + "87692200730920051974422160545438481340755282053591123048362119496533371058946", "47752004126492324681671231134702890900007677392656650072310648769049331067343", + "95207860642664619339381639389769800107693617671211788062739698256690410556857", "93041684313204161520505675900143131726560513261592848855869249120464553889266", + "75442258344633182521000347766641496963967088905016603976752262127896770787741", "35419563521421194867065854422466580573738434631334766765636306903511382426569", + "38549240151370366477797144966187924080505532469644992899524697501431875099402", "44038522515592629115576725044069126940262510273116064772452498434223683017910", + "50480718850574617289455731232420839949053046739765687302682265305636663283689", "3514635269287411782003232978610253576752153317511665664581962773396645488627", + "93312318761927995731556721915316414584654207348767717257554664904648325722797", "112777762318208275929821767513358551074963319961107330673905587084628952123338", + "57882931574915348832758427108072398893051048383109422578260198599980266640104", "65194439282555584812417189014860807821970414909934366795466018180255484085426", + "92143791488539550833078074196078699375060511533811671965418053959347565617856", "99976417677407027532696900619859371861921737673444574646800750064559080391208", + "61627159916571248120784577948008336440596916375216019327092206886988951171119", "38594220118100991500090263077171428492608995006084136194320239326086386693998", + "77536033710888662145478424617626162797362327923242686268703536192249571046767", "90830417242934905906721152849570112057109143186570571476255793849154883321819", + "22308230903529090005326953162910529226556307916090385589249632326436354005451", "50344708886420283113284098095500282257605691023760620377791117094911983670127", + "66623659892945833616401406984426080632166294785749785126488650552949797523115", "90126498821632776572988798912710014892839311084992861365946327394753714893850", + "8816343936897973114464601883642243389002652744671907302754584760340795362951", "12328490025922982284476759857636345537766163568762990386640414351925864148624", + "43842924954392419419516037978159025625987042727139714441418841513347976366875", "105380330277969414778317944061037403718451221772550455584231428949828818742717", + "65607912188196762812314882503684372468677890117645664563030950201501753650089", "64365609033895317659676091588292755940682619021646101645004858196582574501971", + "50462237813026054684986458229359688030336662987686423755511078457804021735448", "45291247858701958959832752650255708447599812639243501231533616015428754483786", + "106553398262098277953945885061683528616997276948020753406479692344137963493870", + "35905153620202224883401641642985394568763071400063203626933519821800860998818", "34446189909505782819485360124968094108746359776590095378499447514870294282614", + "56267858409155605372918552579733933046626742525139791420327301395538324883389", "8369673478012977516078523370792359588736953817920441204492262344158140296634", + "89501338868329487152111132346563284977118228240043011527114876479732291911142", "83067580501015465177276878376602690222119367602354214138792098768903873710542", + "36070951216204638680304814446132209124011164034771751196116050777261919772423", "59858821314183328089435920543103883281561570293257316750041112959652491640236", + "101972557618424268576308348975732174637188734460858378176782271342356260816903", + "48707531814998019807138435213677046470309152802285010297483420843000429084307", "65005008703497670400435095492764482593980606627345163096565203324309532440256", + "84519337828767454073602160893508117548287133182722427519038896364548295852072", "75127813112711057245604980709115144343191074852918040971631358830362933380434", + "70656078546047146152486009451615422422467337463694670758636969592931876229346", "36288181621882770916802838925825066149837438787668423083039560481721999086481", + "56347539431221549428698427598004711401410376833605066536123958461858246207917", "84423831067836560125961493115161598239728849866457689542178330824857966716932", + "98841533330968765268894491978062115174494258865587179609904224031284067882694", "6002576137601968693432670656821759839694398573951611599645783111862111688425", + "28017976957106771406561222002431698843301041754531690531076338234652750741044", "108113809136841418214357648583765428474911371673755550529368297091172417822724", + "53450539714475336734296586459473608077816135827215937682349674092873455178849", "90401237107846518198827365648507732784557329989138656381133626521690012489676", + "101362434695464829840153743785841485103319496721869550115936003266371884898777", + "59954119921998846488014181656139035852825207101723633642637180455244629124877", "95018379868738817520213660129024840984856674072638484597197480053364118875051", + "35758225770276002477045634723827698045853231357122299299335288126191840223179", "93826735475535887544142446230823522706814476678005486561280365037108928818642", + "87397747869519751679503252858385038154630250672185620135758574897422918577069", "41038253593876605080613667807857433084136016208501208747142463964538496709099", + "115300374164122064104907339713404417657739051206952327110408971295761814039302", + "114614508797159186462448966210776024465998961686594157933349551489563928677317", + "106194056806826444637870165050051287785148727745148249345862750338383869043745", + "29726279800140880441101130237312923484399828253572581095122455046824870017334", "14555791827332352328023211994136980336885689386967425723244854592606040773947", + "65012810652941883243188261724787196306454074943878385352739056365650801247742", "62702757904727251427323067950787943107910247370810196233669735309362972600797", + "76526098257077867977206519648048800979790154870956338746448971805467814691379", "90784111936567663379356417630841956944632850476435367707694562006591476660724", + "11599214562389071810329732421632069177943429923135100468102258219342898135281", "32229855303947952803928793212924948073271356481885070500345864839466705453390", + "37311607433236032449908829224028261560079072412807935737413655697934243584530", "66086792332584011508486830313651132822179927535127398714160647031623710148754", + "45793544710841537501057505085612219807209531683038745566376622649260373653180", "97200124213412211577429872276564372959004238679394742776059961804864521523539", + "80868365146641238533605527759368351015635249028715081272910627691709318049433", "38429565867441433039979613498759215401884646238547293016764471034506300397416", + "22557596757780444705043017028604327991493550462862272677515751066648016238566", "38932905192422631642566674961388946100186879869033974680785162173094848578960", + "54332045798782118843931875269790925649914552973793294318818989700416391546129", "15006309179046239864115235693197527885071039029732216824498759184300448627691", + "88021810759458914829357957374294844508672800675985772342324075471499212424083", "33746135405963032065859971344306967842970290504614913007560022880181922254581", + "32880817414637442066910159869842919345801150675368435605686296500763779842899", "99650898427562737566768306720845475960565337547934667329519776534266936384303", + "29894208246957834253999287298679457784304015701610149924529143115232244443909", "84778353072969995809223884515155932007252719743210195776232498530845383496920", + "31676381154180608951508366383786678835620334059615163732418000602283289226683", "46934111092508922250934582206443983411624201194286211570490722804730295926908", + "30696010529755906345603421834362011073905117072845349526656479800766296808111", "3629074796766769542563523395433049681738057987459282214082882744105308240631", + "2579037768695964404033178275956104650692817157382850519976152122992051785619", "88166292922105262676555009553925906041284396515499641598586913587768151753386", + "91711803026012903140882803111956526631061655952479824446142291401660610596798", "82730540419431279366517756813453491582765588908519080757059045902136423688669", + "61598745766591921337700390011958174308914257098430132391299615789717986652178", "106378648091999641693337196819687813378499543754303729176332547950233420641428", + "104160130649690557418693426340392600488441250268091607222568822291182239966371", + "105290312333160438257368054588841548137760627317883084693399678311215844929272", + "27194546357425457651478787314053031523556958831906815084248629523532522194955", "8645273015317580813952677807604007397516616305123598187163106955043238483649", + "46688156842079149101387580101771663508401203920060945770772151458111236747531", "53281144374023524729544513280414412412409382593807668588803387903316734592589", + "108146548838663017256834038506144969367826014917481594644540593849520468491616", + "33131020419038717117509622870434801130680662051558897446029595635084383722855", "101123608453003745455893049971795733813701884909240117672157755307229452916346", + "88171869162074909358506710287292496935590060982418781473598586614649905241346", "73779381850149591347623335472453221456814877565752472849588282457464805309270", + "95394816170075572049819642327403625914573481718066079328065234674380278856416", "48371563069364695338666386668255703072026308746004699865794604473669102705173", + "65398316882345385799953459099311174875902952280239019162904515751462348112181", "103123738965536375988597224323590933867331161338005839360329892087291327206528", + "47303590212438811942838995985629780495248631734470975721783809517172060527062", "37304055078404453009384645271521750660110134106389715165039921144616467272910", + "49289516164602131448063348695798456815742802456880697791652549215848772496721", "89646131018004292860362642493579465895570410314012630579047305816011061436894", + "96721137916947082204147384991744997410278298162098394028334356827306205190121", "104625665582964115832209407681529461977737316645172248630553989947550901285154", + "83961823572611167202086987620078409897781104928000275155355877146020918779744", "48254468237687712579323542917872907533919117941504340887495527068568537147377", + "113935757710076401600948918753189887380605657864034450828075922542565891339288", + "6145179346877280848526056213738785314848928947449850155466590646993030668639", "22395474785167308214571833875596416964364256901269184887935024776350540440353", + "33296000782310260402103063802814045674119972399602577424563963217173560649548", "31460395539528216496058458288452420013606387213865648330558608075991585079153", + "64378130911088488290497538946780777666645456076781603615428859918856384191053", "5747960678581391953525591504596484508663160384180070124755307864431085380546", + "112907491928325533497284227577241029278280112744432785162923928491614721413816", + "19351209563620399557715241423231454208973268608257479634631661954251837509443", "68256796165275649551413110529189768732579544784644191750423261078480001547509", + "76318762058204815632361060491892640424753952347930417558404129385121084724799", "40300288334822177399907866332192051184222251935287460403050435071434501063344", + "59080079311142340771099301663706937096919164666155717454330697053214642155080", "28474406449346176539707415952953380438702260204243862943399712426544347315795", + "27357495460116391174303745570793232427038854068503570382960842781491658106556", "115377735082337070157676688833103036043613052131636449644123800507396586151578", + "81218026324887583790855160249275706170031371490750424331665315386636705541462", "31347133997495568562119581857238151675088932633968748331186587261444231916344", + "58466910942845209533314680830319276514434479964950877301685500531093234732164", "64942387235477176034651975707271984630981158762160894538083082928705305985712", + "49089965058692563782191415747101381898866139758490451726669750820298092895458", "61061327693689193618893487047462926269561663974606263355444924000601920369029", + "77770327751833638514847738089787176500283823899637608568872159644257494210824", "58307879365083758784659617912984686599327223979408387025106400483394327065533", + "108603549375877495901576608031391900616158290762052878382513590859269912884980", + "10998481188973798770355801617095513139620781833035185746118304236050111143652", "71733254199454850169214580881596824851619710623856865742999226321184923043175", + "9844289603559647389221587124751862186544207869756315720480414067642650182148", "89981133314185325100985724372845740279212984038266548511185226395447000180334", + "20622499057753670029049116080059998799784951929956816634478319216830203629782", "104498933821381107948028008352393090294557295703585049821225367802615212248173", + "17427309957701379198492718690233195266692640945130914964389054591349742801363", "13834045153405151135432392368101120739584017225980450012238233450524515464519", + "11759662329296591668327033500300040953259557046920521534758516409682257087172", "91447253417287285446762909656075587423257332748958127507667147655828447783654", + "59362886753536126038913667489020894079489010990527397776820518572456455497606", "22964392500141104616459353082082176576237264017607236054308125949980073728490", + "55208901045156583909480466230099259366071531882901700029711418104108529758964", "85630450358179033998381314792855286088825517363334937062592472741114236027876", + "74962789068742490371832408234840671704497623641328487741211894722364241650700", "93066294925647996390363671384385204390269436728712554868901431654050875530247", + "49888123511946135192917076762389354537267030347859796719394414503767540748636", "71044308832529981712369776200587524227140911120333911127107488904124663683766", + "49870510490005036053565776524328136833306187221558812636996797998930338369900", "34481235422749000511055653344016413519720406594963602659413579840558705511517", + "21171829759233688474599181294971142643452803785122717961150305813350324475522", "109962144818443882666327641409629740602145383058003194360333860203384489577627", + "34382053523841906140153860932955085184446204183608404609311602327691391853617", "101129707356473332652752080300544414066024538005976281855771954373242789391130", + "68737426078050804207611068177308851541750262239785874426780528390813265230177", "73916945425392350593512088320685596529560249252493699552846752354788312978404", + "23530677064139919722836740609706168768728690330665149707749806317330462496518", "15530583949549645444824919440315786195801814488570285660715525168746180326289", + "20612345781180819506429326153518324119064558156651910244046281644673858835746", "82475938420074241888895221967079647888795853155819559045296471927580445399508", + "67148316849432823909352854329403822540044234927448501459606709901534725458297", "10559034786701481142695954660369640734249279607699004638215747334015702585648", + "20356337748374466059144754229994456234982253700044130416632766224547102069033", "77423791255798872323244828296177639652066199623437714951320407862656142199528", + "79938755634326522826183980930782366481514872680168287704267490407735050102329", "101917907463360605056625144772349113457765146899577361902938282047337578670143", + "86119882249954358103334140676538817680376362821607887347425799191858511396387", "114689687552802765892017118964315073243179201575509910865341055281190511437882", + "897918687374774673839387920267865630647095441250033800101426574696881901539", "81145015277633383759944515563289628407667950638292442319700780231162967380582", + "68061344797122421089763233412293724965072431564041300662201951492938370524360", "21580320751158361946902463950859140870372409124593941142993261664615268693587", + "39670095320934268606656601457773216289688349502458206607954140851186184912918", "47366639916632371540368869159942135709450125153417135076220105815417959021911", + "2362044413640800535202235397493012444825920479495071889071783575869018677331", "37114579511011530528858794136452069775788806651730850700049183899883112805609", + "28994402490703915119879009727349057623941450278517849296989186261599023717533", "53579534902522643907202541263278957655676267480167204353420484314056837063557", + "35505040328505520052977559883633946412790998302516029743616174815481140709971", "54125699916740885361127131864520400500242477402891196380479247469643692165347", + "30945760503002474203194335252485966360179038994827613667643923878042455962222", "43086888219187339963894756368665341653937785316802428789035460428448958837561", + "66538609220195625103067284590432182555734287385296738006445044555602017384147", "70710802454262599228845389832992269207316675218232806976219924450176119224593", + "447335628692745043329257475513613869851002307512518684480886732953345820737", "20744645678899843186959326674536171964439953581481219294934508394226554564343", + "67900698854458363800858278001455806956890039109717451806008715731837989529213", "86334709154358567768502841870114004565855734884217297064746917599478009585428", + "22584280809542594753842394934682578941518655018307713958565399155283217459987", "32236627568151155477067508338566267171108760206806597593833998144907900401008", + "20401039177785947429664741076373215456333178507718597542400753165864879746322", "34844873938982507700866216544238393538889278198460410895711920645944883398192", + "76852464428527473980205721453917698267511949527579373338470400391562333191660", "69341838267938390310227072586346996285586807402177157607348493137234874537518", + "110510948654046445759901032838794382842038134905571665265765708280685956281174", + "51112538412775120586794234936562149886458705461465203888367480333842971434762", "78195290623724147751102385211151032183138359142213477707929477067966039600975", + "25156730617639376308394190968278493111212035404716220526334982861126298225687", "74039953594703135654392649963930935179539151564808411765295428453268733477104", + "56775152188320868393148916909224986573191323473546116557996113911192844756992", "43587273896056395114642922290017796142688580153688017084407282620212766788289", + "99012646775022666693666509565551466256613166982243272396885891510112427484617", "13380201805637440884750078029289404187330891775748639253004376495768764673277", + "60772697815179406536424266636281106405674742120431172965884692592750881863525", "48159312158970284311996850037123197454088025950595736655126516264843085370038", + "55565161496739419654539253136613982974511960434959603640841614236178555996573", "54769649201629992224926057873177743492671192776440876455029373283334609565401", + "65242954032911035080171809764042193456906434558405108913410805915541698771387", "72666373610724460950365809909612238865051369028905710562691149429792464625434", + "111979349035383855774809830461035674203143710331567443158531875790708370110292", + "61732417566601145106607441430705663234046613246157539924022657287073489302093", "26886834171783847217642147029421828554649784509441899273508577273310372541417", + "30881247823001856585803824902286048979735554893574429170158985482640996560423", "104917100454492454468117177165488442597061267433214712292808981282342920204987", + "50815815294780220709029992969370673732106540256815677423002877189692294919491", "18591335126249184086184377311018187540782198069494854041791356628119393135120", + "32995026222102794394743940059440217032300315706082767999583686766233933827330", "95828539132618751451301114669835855220683938493184774433496061807070190203999", + "107845591869005083413740521848587207500120767031415997701129063192289552349563", + "5194811796968504558045404785756696816664219364269484817862080539738187199512", "3888635604654384909809486646302775070924274178438405483562027598218483340210", + "82469610600884278169356326510993385118981467233019114400746826848239792995346", "85688360367564876740537717416846170469445996520710423486418956495959573998127", + "65621544725134580076853681966045554696955980068099227894211197103860162339600", "5829869571759594829062079790012392317070538689073992441159817532340439856226", + "22167236299457000443259289062622708564524291043713500891655193994666634295612", "106158033788595865087036753302421477253453501438795323937318113167992895266474", + "106616348885665340103850500542917708481287526983806403852826112482602555101991", + "9335320489707135948602294122498157346724566030381067437367396582647835123439", "23119565215514542925134043045557908839522368441111673328032064851174569298226", + "114270173836662604648560734016487680087175565839482408800631143670770970077934", + "25724709555316089898784014459319956487622688471585653152589332431399319486193", "89663494531641414386334691028492357535963034233279152039605721108265516610412", + "11385505831771132513487847571791636504873410502156772688671348325338147276147", "60746171452079943694110128770905958556283030708862405657328192409665584191785", + "73483891320693233773299792637589054684955179864156736499935761079060703906720", "56329776377680985064018961369210525292354184958045074375389984995158159734878", + "35256988031774296249661605579300607420520945865342596849934603812360694786509", "87480829842165584110322149654216225257964335174029828329044297388729118153177", + "18144317522233413841539409572490801425895434010470499046903344756486814172288", "37365717528193941701835766484173007718747006187098250954161590021005883446588", + "82075715107246778005479433675420963119431200865500375668879885475612653718292", "48197968469066335073727271034466279632054049172556438704957627940275217005355", + "67309769868685391273856419424545379199580778316165130616561816364850112665301", "50068803620505848441367235407038286280886009860748087892241758409616345676387", + "106476021400555285439635276700667478183249804791814127242823791771742898274350", + "37907805593207957751297986226076730354186366991358745496195559886695150924324", "68359694971502831022268534391821951644635493219989987256477980095939010219507", + "6759715809316400064889333387793003810923426507138027095438331569032082788360", "110263872758014602953087612958190211929564567849661008514134707158829617332006", + "81700881963624123597576856234468108932688223476552501182491972592633629047803", "108761596193797436209431855202671800670326986946523544023684279943664788361723", + "11689122378608958872390003656999440499637173722204234373414943683548575167357", "50963972403893462113642615631780609744416316738250167324348310497617722959783", + "37246080339267401412238387743378063843035466685977874496396757749318420784422", "108658253386772429548800858536454237863258468641818070255961642571226965200803", + "35961445104100240115617877500362888270942118153699063410255069202771249698881", "98871041856123969826343427822030715491245568066281536084693347681799718046028", + "80209180316593822907601572541029382479574843765589920489026208175493276366500", "39974368511939531221748601957067684523853023484146507390362557289224561741364", + "23182233899075899850224202322880090360427649337819212069094612825185799637350", "5896044339609878189166245040352572603261326440539401753290902707812999617950", + "60914192161145756920740716787201718814969519354443841047766627901398193489853", "81755908263086709366640538924589803226066531949313644965846683811774821944274", + "12898655106349897706590632014852540518748009964095830893125899212623476992129", "79972402349811113471453599845616403278918787650084455982276031474718494103800", + "14117759794417540446727273532953841453030983069785240756340893953683273489181", "8730665863952555579078181070669753313525086603073541716345346342331994738304", + "95928540925473480042986067565840122278013212396077385346867440936180100236604", "107254195585107845654848748867735346478122305026265876580776113854646567428454", + "34272599179404241868615526401701739434683180383298456504744157096300355918072", "96320906878292167363984993394238566482590345605018176158571545125127320978584", + "76810879221890679813645183367053056135822838298949674452597001530236203860988", "57789129486200478457288457825684030569271206904871868955723137792699317344257", + "17458853296788130452175373099422263997786156994463791716306546094744292997290", "73002344191640588287158940543055221090234304360265261476440880279953902025516", + "75567083938451625377794604282255564274575751782463511932460851772605095795212", "36003136303241677156199463728955487910843162477302620529001451701764129539123", + "63094436624147776177830436695124408779976130221216992454631877550317732002859", "102923570524810021325100216013921362139110307319215602951630161665963811151224", + "80708624196894751756407330949214506811660891931695773219473765945094773051323", "55999533031653700562112180971176484367091608221153250998809764492368127255292", + "27915238151368566546908446794305310715207189891306109644618671929124285273032", "55536598819919953340690676663549404885638912479759386037618806619253307607365", + "3493308140830570006319093678985507581024732786650387191850910415809851387526", "47681887671164930397977794991598380996183588667239294002535892143260606796200", + "108030733622623281706632202089820782155022125558862225296302775402508124098088", + "55480766210191491395313248205919215084989054382960932109578740372406491549536", "103142988497434689090311880615662212269516364977252403306992223773512910502659", + "60131070425369330015465217503911660975330514361077513172976838085988762882980", "54633102166326486995727648589598675529221348586188552096752942579483027095004", + "78539751933054194688180568754638008974062958581622201987837980386043366584595", "71617110232439079315635419626423439550069727497152460337120022712694721823519", + "68955817133817352587774627240547321556688126444640447081496135051456466304822", "25084365526722813501881645180936075013671594966485176669540357081029960480102", + "15687522534663333821869391674433476993756149705517384342588044364514796735169", "112817475219961304077321648034855533771975876240553901153272644331613141037245", + "37144063573287777570158128479096403107350764924350126663047655147930538681953", "50536656244652009071909742352064545969591017578989869242794979971100972204936", + "111627829686790100739833383282433342053976297990908585668941874562781433701317", + "89875473480579179133149739484334630701500218987037232136227391875635133561830", "113409188880330906953507522518507707466634893676138235891588151942451913638663", + "99335347263138393937529830192517237247332026260019180923860788040632618306816", "31393420463635945422353224084541293275287053609480778861098002165762931611403", + "7396615194661775283143404520089103322037126959940475514235971498756098787880", "49154080543034781160439526874849880212759440160621143913132614038223943059505", + "26211013926987559336029559327780097845397121918268627913358981849594004844511", "15102854437666474463552575990332934096079227642584834178189523024075846285066", + "63939618300809642955595186791469087606784670571829713653845835699912542236890", "86053735591682774194975579114503968586279512235580103733301908436518209390431", + "5122795687848413562844721388906239555800746663412869434766561694926890035506", "72416287970040495904845848840097271982196882577755542859559982164302331967538", + "25592150659423186089498131482215515149945972818118152331811923694804097837245", "48512028243240927639359282555622288245076173355407277516552464946016499844879", + "14640933633096883717201831450180601910362737778424664233139559811524044905357", "12994589392467673739477172654171320685689485087647345153940461200869613426958", + "81508874465901722598228767433468250708616544087295985985697243710830501824232", "47659529838419038209476048304736643197459454865858494334141079875105444362810", + "115414965324252120173372023023979277449288749608499393214942895238747369162498", + "36711917433855321534498648936136448166070309843388892207500701676475234114051", "95771770123502489101696490464840071239028643612782209740644684745564541827236", + "82631256668766574046081800156573097087958004321198796794285587957917124981601", "75586312963820488348224415339251652095516290617990201455341601225968749005002", + "25372130203085382591578353831141355913766213050956177133045517095185628280262", "383828303415108570525025464701444598095469153596806594835898388221763138098", + "51373732614664234612376858325456745211304610888469428542445245616513882951351", "73943823089862276155664431364438466494780001367301198086781377647974016400499", + "16956915675087955017913222335756445146302826393136453346115517055173642848570", "67371107560744196346733556759572816907324474027190733991733442846671302416552", + "20551984528119244798312875339333795195689946114627164224045146001060988327175", "42408576336728431660461128779746899245946971897950636852378589772196101164500", + "101180724708669682362356775932539352096184238772578950342342332593494094064909", + "20806081481026592513199525013265338012797412758239116746226762633277222161867", "100328642183780781092939573306312833930517717940903105814151652368981050104464", + "25959739530855283575521780005190666991050337902496123077820112980136039393933", "73261863954590894133446814519259472545120726271305707528580213307484641719331", + "100790756354181532529084287371840424211220114526519758761581157701482238117277", + "12929539919893633210233814215711564244704904878840673701356639047442226355746", "71565303189793524976372395951138400177140894322189325786240971379292607397489", + "60156697697977918915643043944003302721136842965800749373415988733645792536352", "53382799338149438618690004338205099921036982050168630103020799478548442766809", + "37003423942127879672616246959007734016062869847373824476287544866740530157341", "26235946089785114485451859720127877941080394666817746682726515113293021532488", + "46691107598877201782303787224060627066550740062629908612190445987402007486283", "14654356107645078593699973646199102324391772981919578357864435537001076477929", + "53356472323344211704523566806232410401139609624439772230541460832467559434204", "5464450102251787942614883867448010105169315468144442958524117500939480758176", + "76748558827060140336704070552844227717052647789032569594245848342287691912571", "103392126386286862620278117734922964698573862940827912342296289013554615582550", + "56443031824883454599766762707952963435560641320868103694528893289776653228967", "72427296409444751173244390110788903116633640993494568707128522957781088188154", + "115440964459304665769003609760056092862831084711619088789892532790143407102106", + "5563033553480203797208393594719487453355755004525675304342155106890471868831", "86009854950276437941870796609585097508702209457509305987273932611751829592889", + "5697828863852549815854416913506690684653289391681185387092154447359580634068", "15745860899048507774378718698026435095785253722248629099797319141465648665522", + "45833695346829446144490339044206233024455936005792653908374948885105812701714", "102971901521074290780812835623367372704817732537633957843019425963485877121816", + "79674040288844295938896564128577211322956025770562895216701566964109470000501", "48940823115897437822994957952200781317694083028035555355059577803152727321199", + "89222953775870775492389646743008762603769372007224074801901283632874902231431", "92712806503365664847542447846034676373764823906431774125710023253552116176316", + "41063211060105578380064698824419405312328300379808364778820687914042905080177", "74939834459909259480969938486026052083203605728954056681539493684620141340432", + "11655064844825223965964103528005396788589697399402747563878591557430944109064", "76157253233852775047340222312544241145337706107936771909785793433168484927933", + "60134488340655892395072581976687277924003113711717838585305156333617213105850", "93435663967923525236479122307484397854521941538292115303625422583452727736770", + "84257822361509388396712446195142608630552442223612257576244038090724685456195", "34251657206300396948904834517713920773311114168471836191477984069826196064424", + "90979613469713683828582218027764717273646762104755984673493816457987783165285", "43666499207584761681651711958931070590808432402758975526255702364645031721469", + "33632588186140343561236019747855478428151424637075610313994326361241527946802", "18738594981270173185132162418122591447079425802122896950284979574111773063121", + "59043451528723637782236378033362245361448433840220533493886462053219706169616", "106023922317561014554352593261251714891280987319722086322716640720283948321531", + "31783217924438083905640009069715692268020691253894067769144095036727027147893", "91859937823520815756134061509357138369957984405307947510367475934092428829888", + "61330892674648304570531777747324103236272120222801752234016145468578274045051", "97597953622601710157952101492300491994175107075505720527461903885370829737600", + "41655139188123299942321174918089050342808719794150685468861634147496993964858", "80616655879978006930320103244423708155467811230059588405852790040917251892824", + "68511600908397582351655298830631214140889757444751938720296019961227090158644", "33520837953369197913533320525733647685260093919647796660075317794119727058167", + "91030652354915379359221914740441753822438860364974924074666064513812521663674", "51500955125367169368050780816246281198714418328586928399638379343708289657916", + "68018676018870931936045038776321420915738765407578296998378987277279792324661", "107639050222978536410323255390075262969251644381204334395149191684854897686911", + "72511473293613440266180168032525762142903398398123576889874943906444767881867", "6779195876158687815473322144111685447085048485733833624880888117500229361579", + "50677750559209168893499089869342101820415062767340010824752193273014705261321", "94943840237336824285202910164517315268931714252702189673949425924865146241766", + "78880021770824116698019173330210532996994446428706035746635915855905648331970", "8123451922259879539399680181706343955275627221424294790013124360341340487471", + "43165212930811345280943430540302929062035767187629862807310806565900616199756", "54528559633882306800967436172931771434923451611044406272652163606945706118239", + "87499956125899210088376825950412601995254333934505449433147887780641616058410", "70486819409675643818021176692765998294681026065956361866277652165272725575449", + "96798635478012745469691229672187136973879888341425368064821034038076216637094", "15941904796356485794317074139771700491990957126587002080364152958418948219360", + "100460010692476992367685062748418882243371227245485617012137947684711724074724", + "59440119611698466878117234048865290644926561639569820431742529932325494326492", "88970389210119231850201191479761779202564489199438076982696203443125619492605", + "86932055781613544220947339224286460968719447968046298210852168572563075787251", "90767643610428382004451225938349469539605325709939860156315408313275166038852", + "86902435901988470151844151881169327360353999484264446584224349956394373746025", "45571393350499234181062548274531913643346299440887889027306291873991378484752", + "82176670427599790460124979160296526582722143801437455698236265484992421662557", "78561157229111554482842150614615727571547872777414747272594855416493834260473", + "15211622496093699071636776502212680522507602511914827017104383541201727509380", "15159337356870159161987946061986520051418164150221143936359263177897542130469", + "29114088606567599435974147201354604217145443301199169882067101643178260813089", "74446870000913637347257899668353236890661505637111174852262619997121917945528", + "111501559245665639907540210226511045062631846733020073173867196979930841180057", + "108454902967601221349233743629306533939069747932442282381706402443455434674723", + "27379588840226817201811751118551363724121869265423181507591601369167883216686", "37658370800721182690779698203945280605804041980611903558652064321772793663623", + "78887132841165402501708420975536899354903730794115066523790938261062182044196", "100705829996891588935949242609399313939376471327873134474862649458085114637098", + "27388752338030170064113386438954680163477754412927979009175855903593523399000", "10058767254193004658532977309752570827816482233731381158519334782298703161722", + "61732692066834059217054723176647519931878273346065067606240688382502398024050", "75496107863661956968384388569738434327089255431289447371782551335503472746848", + "81534562101077104404377766629961899565476162622758237817674754936733962959288", "103541803197237809568873414824316503584210757311177792329535478122904305587853", + "63662122638294035353919242498341900620688996071030615757488863754390340515238", "28622787441288141302228037773104987460939714810735108279544025448674009344151", + "98121637788271086383968741091933891990625110948570561639335257917921626387683", "3697411828353431340973150258440049803875425571845153393716050924226492951762", + "22093186527091638450830117340287176537833769999128413659286913160730077421236", "60289573440588827104399247403559864699499886669390977440134919971521752462085", + "82224966437740967993978720654682798142807515115026691572912222779893563916320", "83373453046898958954764511898317583302401546421855634559070508921664763696712", + "42175894280550272572049886102502979244001314142135059756137375046696362600779", "104811613030875781533639282965198470158415726183416095101205270718217234596679", + "110763497366236380219680458568638630723842262709607414900759922109912642658111", + "49687194041692539124060659451388571016456419450177642099230726149202249896396", "25139101526053417312840040640717518943591361123484707184357408751796609583964", + "14888672585651317089510680605873465557150824237904420397514721002705374146562", "49615914791392895036975986056860691502307118210031690971110457983171635151182", + "91411115434724030036448524319999281564879342929618605306471957681341996925958", "71916345643243216460148912065385110819742808060992237859554580443442024726416", + "42025932416261646783963939937464179903559264009375299956306413869944026042922", "94540387665657804894184829461805798520461000440098126516814738000825420605847", + "73564315014020192095587925685395986966975663844502478501556565270430466708783", "92840044812216452142977909112414164505001656382888890984964285698036233572514", + "99763101871240341694444819428752690787735136532042830377328775816480220661594" + ], + "out" : "0x8b23dab5f5247b0086992986da968d2695c26f19d6eda3b02b848e1e0457443b0de424ad5fd8e4025da24031c3a94ef0d1f5434f5a907551c18a3e10a92d1eb1b4ccac8e22019fafb35e5328cd3c39c44b18b4e33b38f9c52715294188bc10cb8809c58b15b5786de64af691437b53c86ee420f21aa4d4af1231f93bc4b7f22b1bb0d8a88573a978a4a8c9d846a143084c7ccbf1eaf80313ff2cfd91192966cfaccb9e00fb72d490fe2606c1c2bbb38d5db0841f8de742ac70b9d7aa9a96cf7998458dd9e485d1c8eafedb2bd93fbb0fc912003598015af2c1bc3872ce00679ad4a885b86d44f8036d9141001a4277570e2743b4eb38468dbab044196dd1536a045855efea5972b73f6b80d411212a78d2d3c579a151f1e00e29e4a0a96ebba367a2761158ce33ecbd83e106a3ccfa5bbda9a7c154581c1140af95206004fb0ab0a526f9f634534597a6a8404ed88351ff586d42536038bcffcdd4db5fd439c9d9ca84ea3e68fe3260a199bd76dbe9a644c1674bf14a2f4b1c9fda6643ad5f0fef5c81968647c8efdd2b72d9cd68155d21030f9bd8612c452ba334b0700e0a2f7d5e7c73b53bf5dc433cc3f700a06e1d467944f989d5d0bf361731efd9e1ea7d2e637b2ddaf7d0dc7ab4fd20ac3b9ec946b5f1ed209c51b936d3bcf02ff86c79f3810817074753cb3897022705fc4618bc3f8f1cb5a234b92ac333c4b3b889fd8d5f77211214b0965da7297ece45b9c4e55001b2aa89c9697850c04d4c12622306126d4a3a435d85dcb18430ddd8b9c2a949c79c2684203a969b5e18084ff57cbcdf0a9285fcfc18cdcc71fed4914a5c7eb8c390ec783bf8e077a38e2cc4a8f7d36e4aef4b946b5772f287845a610b8daf84f13ea88c5efe97a095e0953b817aeca9a3b5e853e9c41e84900232289baeaf4a4661e13110819f1807419048b7d8f7e7cb412aa68e04346d354b3d84664b1d585fd9f09fb9bc5026ca4f376c48e360900f68e859ebf5a4077b6d0836ff9767db920d62fa18a3db9117dbb94a0495fe57154041493242074c8b122add65e6584f172af0bee1f3d3679d31c9acc4aa5e7b96654254fc39f1f1397ec5e6cfa7a0e2bd3a671da58f96b6fe36c02b9d5db67a964e00f58fd5f95480c106cabacbcc34762af476a7c8bc25d70e19a80bceef8158afb98cf4824705019782c1b5872137eda59b0b3b3dfab04722d141e661247cb196ce289cd73e49cd9a6f3e85037d9baf898694d2c43fa5229ec927525d75fff21691c06822386c8ecbb62e03063c990f1cb0b658d9396cb603e1924d5dfadb3df53523762db025f023bdb37c2ad056262d65867be806e508db34e83bc88543915b6c695d14c3e7e0ec03238aec8de2145d4a81fa45a855612170ff0630e25adc3d96c268ba1bfb74c50c8ab4771264367e01481309782e91616b53e7363a66369d4007da47c7ca9e6d4b6ad7c1fc5ecb598495f4b66e874b0dde4215d0f58c8c1b602a229278b32164d6c5acf6d3d5328f6b2971c35adfe378be8d88e86519c57915dde2c79354af862129713d4e4c8adfffb487651c51d32120762fd20d1335445bf5c78d94caaa0c5be09a7311c631b7bd0e919b39c3a9960ecd539ba0a84c2ea02d9c9b5cb76bce2d87a517e46d1aec6c81d84f2fe3943758693f09f3541cfc3de9c97b8c875af7c589010e23a430d717ee6a58cba1a029bc913dad62ada94a3138cfda9945fd403851de8fb56385d27ae2c37a2b6c251ee9460e70cce4ef7b2bb9e8981dbcdc3250c53021cd3d6dfa15812efa23e364a5ab03969f9e87ea2ecefb7253377e93c4dfbc6715e4bfd7c92fe616acdcb07159d165aee5b7c2b0b82fbf1312f51dbd91c342917d28348a7d3b309309622989c5d5475e543bf209282332f3d398a4eae0d03ee50fc4cbd6b3e5a9af51c4e44f2493ec1dc516289e65647df425ee84353cf1b9d27b992364e25a7b4716ed12c8e9aed33ccaf4232b1e389ec5e4494f1bd421ef82c65d179bd7813cac264a4e01868fef9cf0d132dda61565d42b0eb25787259822f1cb341daa1cba23e9edfb2bcf7ea5b65edaf1d55b4b3e304943769507dbbf34c7197139e7c4c40ddb61d7307495890c0f02fbe06b16a844f1b6b282c9eb5859ca9d6b8a28cd3b78431de2372fd706e0c1cf69bdf037dc7e574401c5d95cdbb83c0c2f8c4df2d5fb51edc9e82232ad9269b90d6256d9923902309c24bb8b5e5526f6fcd2a11aaffcdc60aa47e54ebd7dd2f2cdd7ea4a4ad4d6f4e3c799b48bb63e2c61b9588391f9927b7aa03f25bab3cd9d397e5f102348504d8b457ac5405b44110eaa01c4c280d517ae93bc16cecaa6c903d56632c0e0f0e727c244bb10b344495ed0aa2b5757a594bfe5ae34c34e4e0adbcd81f99a62c28555c0782d5ca576b257206c5986a8aa27aae6bcc2183a55b61c96a54b95354268ad8ece53852775532056d9e1b74ff10361fad1a1eb5c61e94f61cea1e9ea27aa83ae8fdc6a48db33a62676be2b4a5b9af5488408139b6ff3273488279a8133f97558fbc37b6c66fdaeab2c86d57dd624c527958b36c507adf2fdfe192662fc3ac9bea7ce2bc76d698d8b4c1737bdec4905d2dd9ae64cceca87ecce6b9c1903c5cd6f964338a2f186fccc9fa63aaf6e1d4bbe8390f355f9e85201d183ca23da848b3e06b7b4f1248e8c33579f946d573aa1c92c0a94f87fb204f6825d03a7635653593165918e399f10599671196083769554c6b7be2290c0e25d59aecedc1a6ec6b7805dfabbc602faa421cc41863fb7a9975ead89b7cb28c2d89096228d4973f454d2b6c500230b41ea79262ce4be4e2932baa9a508dd2fb065c6208b8cdff0c08837ba763653e69dffc91ccdb76a0538931e86bc3f886e37d0d6e7c3c0c89e5306299773423766fa650d855d8c77b196316ef28d53556ff51bd053c7df5b5840db18dc71380ac5c8b3621449a43cd241426703d76babdb7f2c8b32bb10141c99209e9006081c6ae3049daebd73af08d8ea11bf31d0c8cb195ce43d744222a457b9946285736fa3a1e69f84949808d64683c8e00252316fd366355ff63b5c4462b77dadf7173495eecde7bf631c3fd2248f8f6e184e6fab8ea36a58e86022b0226fad28135f2dcd3ac3af8bbbd639ef5bed8fbaa74b931ab428b376c7d89e468c7299efec83226da347ac4f9de50b6067f4b065ca41c7870e20b06d6f7198752da0cf1414cec5ff8dbc0028c8cc0b37bdbb92b3df7d1390ae61ee180c7bf1bac95e63977f7dd53550811a18a108442c5e135496ad411b1b8bc908072c6395210f902410dd0ff7fedcc5fe034b68e08d30b20c5537ee60bdad703c87e289ed118760867b7b51adada97f642273bccf384800493c27fbe8a9aba9d862d453e66dc860a6b84eb3cf02de5baeaefdeb4f5be2e1382ac30c9153b07e6f0effd4fcf66f0457b9bf51daa799dfb6a2a95d544e207136c9a44d8e18a00e2cfbe5a6d3865bf05490bad947ca79c52d561904528d0e3bbc4c9d906f4a2aa6399646b5288211dde626b66281882aee9994207ab60c894d4c17f02164ee597f3c8edcdbddfa33488cd0ed7c965e978f7c0c61490be8b8ad1a121693eba2dc86b0ad27f3b7aae8ab57cb1e81eaa7d66969c1627300a8fc8a7ec698614f7681c4ba06c7eaed3de955e6f3492ff844aee99aedf3c2977a0e05cd42da274cbd07faec906da7a1f25491727fb4c1ae8ed72b206db83df9da0cf5f8b07a667cbaed89a79e6c00304defccead67ad66944fa306474947067c27b5c703b118112e6bdfef0d6b0d724ac623412cdcdb3976d9bd94383f8498193626d406ef6dfc5ce49df3bc1288a8b1c2420a9ebd4a30fa7215bbd30933572307fbf2b9d95a6b7071f35664beaf4f71b743eb602656f03da995e0d7abca78bb2cb771f556fbf4fac3d7b8413b126b9bf070d305d254eaa2e031dab6704e65d818b28ea69e456840788e9201a003b4c56d2a9fb7035fbdf68fe2084289f4c9a3c6224321b6c72e193fe14d63182f5e2fe23009cb99f7cfc6f0449f117d7f34f357e10ee6d7caf6bc0f695b29e52bb15999aac195bdd236117afd0b8543072550a79c415f587b78f2880a5446d0f7684aa0bad83e570b479c91dfa242c9cb14f5dfcd143fd3fdcba52c5a0751ff7508e0cc7b482cfb8cf4db3a0f49c36032d52897887dad8d518a6e2506681e334e54c9c01e022f8ca7978e050c5ede07599f37457b7435bec359c91d3f6eb4e9d3cb50fd442035b4f790cb40fb8df8d4cbe49c20606b108623a50ada992f5d47feab9f1045af757cde865f07773a0f5a57ba3ea280958be93937c04a841512bcb0e6c2b129f0014698ded696ae3df0f1a93b7e60d399dee31a6bac6d63090a75be86fd13a720ff0b6cc2d74fbdef0e43f1bd30535fdbe495386dae9d6e3eadd73519a9d8cb8f0e616c376b55a79a021fe92106641ae4b7356450d347e7f090ee2e83a28ee8e44ee6621187ff807a033d9daae11265897ec9cf13d04603eec6294be3ab7ad626f042d35968b54d30431a4d78cecbb053f5a3f06ef61147fc65f6250c9d1b8950db33d5a2afd2052d3338ec166c1a439aaf2ee2b76cc9759845f96b011b3056561b0134b6911fb9fe8300aa4527f1d0d1a7749ddc7d959672d544bb92a43d59b982fc6c0901ade32b718930365e095f035de1a19e00da70d24fe68c17c2254aa90a43cb07c95265aa42db4533b534abfbc4fd48c84ab6b9d5072712cc8fa1602ed824cf2626ca0424d5c14ffa299d0f25f467f12d2cb5fdb9e84cd2a60cebefa3fe578bc0c2a136adceacf35f08c63d4a545700e4fd2ad89a79a094b0191064970b9945e798d94ec74c61386ab4f6c6f3fe30c70cfad6bd19f046a6e8507eb1b92fa0f9b016ccae02e82d831c950e2db894f5f39c1eb71d16f0a5b3c274116e3162f1d2153bf7ece6ae37a89fce169537012d4ba5a06abe4bde6de58a375c8c92fa570c77367e4fb0f603e433f20b7df42fab2e9fec5cbc14015cad4bb14137743e506e2b177d45e23609d0057885068e2598365fd21e43281912b4ae1342d7095e42e1f8796c5209a8ec1a7726cf548bec6b4c7ea36f99388e6e8e33d1f32f9b3d85490ac3f669db825bc85d38116a6b7667ab8413b55ecf080a08550c8773a3b8bbba71190fa6580514fed6269759cbd45492e20fec536a459395b21b67051eb516af71984c1207147b7657cb794437963f2bb8fdd29f427c89c83ebbb15d7756395c3f536c5ab764309720f9d3750dad880a08a338220b3169378ba68606b44aa10b5c15fd7ab9db3c139ca11f6c06e973c30a9f4f95c12ede8cfa92934271701d7dcb4e3769e33abbc63c9edac51cc87fcb5c8f100ec79271181287877c03bf5dd1d0587e19c0cb2860ea317dfc4fa3beca4194e81fb647ffcf3aa6227513e2caf24b9369dbd76b631dc06226eac4a9f73414712da7f68ec017b1046ff6452e8150c65e35baf8dd7f0de61e1d47cd5159f7d5292087018960e3745705b5c502261c914cfe2bf13ac8b05cf2abe02fe85cc1b92bc36dbd966b73c7ce70c9e9b5600fa53fd4a60de04455d97aab04608513a3e655351188c7937f429dbad3c94ec6783d0c4324119e561d2372f18b9cc1952e5d6992ed42af7e400073570b1caf3432343eb77980cb72fb60477bdc5fa65dfc9b268976c3ec9a6d724ba1658010ff6160d074f8c50c9064fa9aab56dd60c5df654e6b7f250eecf3f93ce69c4b127797495a76a150a87ed6cd8562a0963b625df319045376723c90883c1475fc2764aefb9f51df898704a1ab8fa7ce409523e135611055b2f37b110457123e2f1986c37fc1ecd1f4f182be7566c460f9020d91e78eb3bd3fe1ff35e969ccb16be2a7a401530d0d95ec22c204ec45f730f1f452d21930389ed7d5983c6120cb8db079e489136f5e8db0118767a2911e4a252949ac2f54eff5d805695c878df00553d9b09835acaaba4daabc17502c3e718c2a29b4a53c3d22d52db1e5efefe2e3c1810690f97f915c3c8a4a12addfca5f015e2b1482f5b0553aa220dd14af57aaf6bb2635c6441117bf562dfbbda25c0b0e56850dc05ab04d86e086e56480e801a06d7cf24b31108aaef867f0a16e2d6feb2851742d89448d7f1d5f5c3402af6350967484b6e4eb7bf27bf48aa897b54a2eed86ebbbb2d4a7fcdf65fb89c5ee6ed003a937a0914c19b7b48918f7ceb0716463208467cc0ea0f486eda130df10ff95ba81a1077a5fe78d9ef37c86556ef69f7c3c367afda14e0af05de0aa57625c22c92b5c6a42265df6a66fd665174da958653dd43f7ba3f02000d3039917ca91dededa6cd63a3cd14a55c4b3879da2093c9fb0508938f0aadd83f2e7166204432cf28faf4c33f89067048a98a9595868b03afb305aac27b655eba6570f494fe72b70069881c25346c9c8b1e8743695ae6775aecc2be4fdf377dab91f512894eff5452d61b4cfd06369b059da853b648bf7e0ac3cadd292383a26a50be66587bcda6cae8c078860f16a15ba4c1cb6b07bc95d3e7b612b01a2133c1924a063b781b7d921e1a6130f68a7ea4a4fe2d1982b892a72f889434513ef886a11fb6d6060a0af7377cdcc5a924920bfc5b3c88ec0b5e2e30eba364f9e6512a5e34265ef4beaf097f033ce3bd06a7c9a7b2af0a549f748b48e6f8ae95d3b6591f597b6a847151de10e4f968ad3e22404f1007c0bb237534c8e80b081cda6aac468a692ad4c083201a33dd69d1837b3a05c9578823245a911f3cc196b69038905e2c247bb613dcb7462d305332563d45a0b88e84896d160d1d130b316e9e8f9d4eed10d1d20b0dc2b1d4bec46e1ce25b7aeb09169f3a718f38674d4655032e4b50dea2f7ce9d96f4c1120acac36dbf59fa89322126471c0fcc75607dfff04933866cbd3ab32082f9064bf24f5ab801e53752d536a54709c718ef679d877671061641590dec18555568cdd7e88646e168270d2d22222b377e3f497a5627c5d39710b3464c7340def3edce767b6c13210d44f221702f8920ef91df025ddc59dc3cc2c574e29110441618c01b54c55684d3ea8c6366c0226a82efc256bb30b898bca50ee4e6ff71bc4dba1be2ed8137dea70ff87359608679a61da3e0facbbedfc5a8baabe9f79ab02f0dac0ca54e818fe36df9fe4041d1748de7d2159ab99474b209a1b667617067a2d14df5dae6173b66cd7f04fc718da055f16a35c105779c989299f6a998d12149a0f14a42dbd25f80ad199134fa3eb822969080d4b61b8b51bf0a8ddb8af056e9bfe0817fdd527303658ab0d74c87c4f7fde3d619bbd27cd64b7159fe13be39a31e141a9d8605a376f562a875dfa71de29468ce94a7a364bbf417463a0c10d770389bc0717dd2006e4c51275a8b6cd1587952516d299fa78155d4b8e6b87750692fd774c862bd8c4acc4adfc4b338a5e0f86cdea12d87a895aba3b91b9e78d4bcd217a0e9a8069eb2a3ede1f5b7927de931c6e9177d38df515ca7137544a38528740e83ef27aadbaf1fd78e0959a15c39d6d5223181024f0d8f08848f49a441493a98400e2f7dd95ac0c4cdc03e00370750e760df8e7e63c04db98f9565d8955f0adcf991ce7e63073b5c09e8422f44b5a0b9f127aaea1a901287ff2fe3a8f633585f8b3c6587e1ad49e9c4ff93daa70faf6a1874ed530f62cdd935cc538e71f9eb51776e6160fb23f19db03981d0845ae5fb5fe12648c2073c9e7771f9874d33ce1dc533fd7a59d1b1ab1eff1d4e5a0c960d2123671fb3bb1c17501bd287f6801a55c711e0b572a124dff0f40235b86383314c678f8a0f143a848bc4cd0fa5e17529396eb48edd3cbdd8ad5f4cf35cde9c49713f17093da63b898bdf90770ad8fb7f4cfb04b4b50c1f28bc54fd61eef38d454d9a00838fff763c99a211b97775dc2a79a5878d4209ae157d3ca27317bb548ec2633e4d9de264ed8b058c2a16691efd1260a2ebef38ada4bfdd6e07ff3ab50cb81232e043c85d628f9c83731b80276a76385701993687e16e253e3133609ff9438f119d2285e6930b52214bc38e454c53d915e4f7c8affe599ec05d7f65c82af5bcf918614ed965a2de7b9af5ebbea685bf6f6fb9a4980ace7fe49f41fae7963fd60941ff1bcc73a8c4aba2bab27be50a2638483c84c2fafdd3346478e3baa8b002c36c41a90d4255ce1278f147cdfe12b422ec781d23680314f5a8a5271959482ef21b6235dd76dbd7d0a9f91f2e328fd57c871fde98625462d0a3cf239e82537e9d2ab3f578e90de2f324cee417def93ded3c9858758b39fc106463f1f33ebc264e657ce220f62492069f690ecfb1ecbdf4fca98d5894aef0d94730cb7b3c9a1e235e2001eaae6ee14071b157a9d33ed4f8f026425a5f059ea832de7b15ff562d6123cd8bc517879f85ede0f6bd48e71f5a79307c2a68e86edfe81bc68fb338eb4171ca2eab5ec8b32d77565bfb1969223425fb5e7b18bd1ca14c5ed94d45844cffc0c21ede0c9f9d8dd9715ca42b9803e13d87b8eac8d37217cf50194381b0421eb5f45bedcfae763e601532bb8d7dd0e3dcd53382181b06d7bdad16948fe2dc0e431508f7c058fa77bd72156f6c769d97ab9115f3da3cf0cb5383ef876c85f10502a48d41f7bc651dc14dd9eb070c083d2808ca7a616ff476819a7cff860899ffc1f36d3dd899ef9efc9b4b625d9b72d1127d52e52b01cb7a611472f0abbdb356690148f6dd3a297576cf6c5751d3d7776d7aba71cbce1fbebe1717e980f4768b8f780270951a42c6ff528a4b76d7d0f93a02115d99d1339d503d6e1bf0e41e16968671c90345271c70c225481468683fd9d953f6ee74905dbe74eb501867c5772413edd60ac7c64908a47e0cae668d5755145f922b776bbbda4495979e04c2a53933660bc1c817e05f373a0e0ce023cfd6b58fe98cc3c07a77a3abc3156e26da312c9105be3b10982fd5f8946c592c514aea71f309913617594384efc6d61095bf1b12deb43c8d52e8a223f66a37faf9e2644ce834cb80c479bbeb972d6d8c3372464aa55b7a49be66c6154e886f8195daa70d02326d1d98b4f04c08e7d391aea8efb0fcb1545d2f564b72a92997851d659c73d41a0031b5d9048287264775d752b93b6ea00e236d6157b53922433e12d6c0b95f11bc010fb8c5ca951ec48a59a296e915c686a6f9a49952ce68a3f4548e4501c5ed0763186ba6bbff19e66a11abf0d02b084ddd8b30fbdcaed878a459e570bf7e27b7038463ac4f2dca86e7a49761f533ea2fbfc28f3d995944738c989482b5cf0960ba11b006343e83ea19d30be27a37ec11d0792004dc8965bc6f5407e4fa0e087cdf4e15b362c532f432e816380f5f7265928ebd32152fee114d2834e8d6250795b93b4b71210f7ae4c3c2a30c1fce11e543e8448cd2e4091c6738e5b207748e44ac028c0b1e51bd0ca4c41817faa637eebf0237b00d3680261e0c8c9d8893cb7dae58dd5e6fbba5075cbf23e7c1d5212f360cd2cc265f01b32330de3c34f509e0185a99ffa7c1cd5cd19bb55643c903d3115566b6641e4702076c660278bdf0834b84c461ad4b6eb65af9267451a9278be0835711a22df3a1ae33d1f3d79a93d03cf8ed60a7119d6cd18588fcbbca41136efd075a5157fb51ca73075cf522b82baf77796ab5416e5d8c3574e95b04277fab4a452ba16c1efc2db6a94f75a56658a5342209b03b4c8296e1b9aa7a4ad4fa2e444cc70beb91e1c4d403b11b3dce14327fa4bbd4ce2e9b0c2bb740ad558bd99e4c997c27a0b555897b6916675b223b6e95084f5e1cf331e4e6dcc3b1b3a273352157fdbfad69d8c8adf7beba444997f0fa097c8d034c1a6b258b75fcf74c6369889c6e675cf9bf9a4288961b151847704170cd6295df61f93074a47009931e42dce87c13f3897c61ab3cc43f1a2257a549e92301f897e493ed36ff41081fb56dcd9d802f6ea5ae4c72a28f1bf8709a62711e2e826ba30657e97a5d3d4ae6710abb5664d598e5c8cdc857f3b651fbab0b23f628e40534913303792639ffb8979dfc7a818b09078ad0753b2e47a1e0718f2818bfff55222295b43cd652eb3a4675a5d5c0ee3a5e846f69ee9a6f4ac4f3883a849d2c922dd459e884b72cc83062acd3ec11080b99fc343e4c459b1da61da8edb614ba57b679c9687f7f19820773fcbbfa1f379eddce49230526c7fb52d19688a9ba99749430d1400a3e9edd6a35787cdf46d7b7d1fd7a7ba595165e16e251f5c2af3358172911142126d384e62070dc953d326304e615aaee06416c7390d941d16347012de8cae0d33e344141e74fccd47b0d1cc52e8f4ff2228488e94ed9005b1b502cab39e60f270a483488807e06462a07ac725d3a56240d7892605d3d7cc578bbbbb03fa8609302ad5e4f0f3cba27c70dc6c9f0c99d5c9d45178862386b48cc7d53e123bed8a8de473f82b70a9e5d4131651ef71710a40e5c29828b644c61412066be3ae805b4516e6ca65960b04396f80c4dfb31c32fe77fede8f6baa9e9101090fde3cf448d700a317d550e3cbab1b991d9f71865e1f48f9c4e81a0262e3734fc0166522c18c2cdd0e98e99103dc94fdc2478d2d853b2758f750d4e7ba7797366b3c8242239aa0daed433b42f3a06d0a6799b151f4c05be1f1679979774235b7996533605c8715ebfc4c9009e2813022204f3419c1fed8733039ca7d9a35807b62f1680c61cbbe49acb2f00f11a2e6fbc1561fe5906bbba8384811eaea06f7ab45757fda4dfb9473c5fe63e114b01e89e454aeb8627bfdd27635d9864297191b8685320c9748983591613a692670676f653add21c90add19052633e38aca8de3805e9b4d0d002a75a21a708ddc03a64f3c6d912a38d98a5b50ba8d532068a1b0e529ddc6e0c208f7955d5a9f628c1b7e0e9be06a4ec023015735a404e8a10401a40856330d42569de9d9f7dc438847754e08306e29fd717dd491a95341d2cf17476538aa146b7892ef1ea4a8205e4d99c78c025986f0c7ca546170642ab03247f4ee3c89252b6003516d4f6aa328a8ee2ea599b66eea8ce8727871d146a7e0faa776ef26a40f4866cde45b577ccf18edf849a71ba1b70122be9a25c51f403ae6a4439f378229caf64083ca18e1603c1900db4f2081a6e88157bc2ed45f78350425fd3f69351598c9c499ace803c954d1f4667084406fbef5e15595001c7a9841b931139ae220e0adcbc1ec6e035d3dff4082c8155d1253005b1fd1e7dd559e5549c4188cf7bc74bf52b528b3db84218b24115e5815406578f8d211158a7d82efd00f7ee3c45933b00e20bc167b0dc74280fa4f80e775e4702aa07d8c675a90ddd2d7da6ad5704350bb130659acc4b56a69c5baf98895196bc411fb4f144026f1e96145f40f7abce65391b0ea22ffcbdc8232a77dd5d2cf680f7b731ae21b6b6dfbe13abd92d63a59411a1ed1d5d7429b852e68ab8f99b1bdf0e115046e0fc3fee3170b5c81fc8f165b63b796c3ae927de4fe192839021d966185e0e3588dc484547126d1be1abcec4e18653a6aab7bbc8bbb126d652539d98408ff590fc37941a2d30c6c95ef52bdf22f2cbc7ae37a23fc8ff714d605f8c8a798c881158ef7f094decfdc679ceb8334822ff13aea3b0ac98f83d2526fa6ffccbc280ad8911f4e8a92e1687dc6c03e0cd5ebdbacc942e721e87838c7aa7ad6e271e71ba08f2164e9956b3259a0fd50251c9c78669ddb9443ee1e397e18c6ac46cae40aea8f8fa52f40a1f455a0ea9350b4b316af573e6365408942e0ba42310a398944194eaab00714f2f4664b96ebaa8c5d281fbc70608e3588420b7681fa75e9dd9f25c51f7e0ac17ccc3b54afb4889698eb999568e9e75b9388198ba7d587d70db9f6177349e37f0c0123933f8a8c3d5afee8573343f4f3612494795763d3526556ab3f020b1a300e8a3008fdec10765f4df89bd25c2078979412851ce0290a5030608ed98857dc14acba941475537db295cf6027619fd33533159a2f8ac65a1bbfd44d4855d60c9a51c2188998b531ed422af03f7bc704c8668f846923b22a7933623102ce7dafdec574d74296aa3b374aefddb686148785cd27652be90d9ea2e5e5904ed941d65f7c2f44a2837f9e5c27a8c53f728369d4c60dfb1cf6c6069e39f4cc5205c86b652b84c561676e79c2441b978079922422c6f000f7ec33d6a28b2ba6834796a9d098a19deff397e56bbc1334d3effe4c69306854698280539835fe053c4d87ad9f6ad609358accd493a8c66d3b1913088dfdc233cb832bc69a093e5dc851679bbf9b3d019f116c62cb88f67104bec591ed9a6bc4772940f17ccffe00f343e901adfe2feffe4861d0caba9c416c0a44bb7c45644f3cfb1cda7815373bfb5a7a054f72824ee00535bd0d5b2729d1c257b0ec9a6a65d1f967a95cf91ebc51092f74d32e111548e776c4a4d59a83a9064875e604e17c06935960a853159654f7b88e9b32149e028d1f71aba6a2bf5db27aeaab7035f711f871ac9dd2ed3aa68713b27eee1ff8026605846a83ebd6660b032efde30b07a79c8a59953e9a8b72a4644bb323fbc97dfe77b96b52a679f305c75aa98f42f5b23dcd0d7bb512e77f9f4e74375073004f3d9358819619b215984a2e29061c592f11becf93e9a6f72bb587010eaf3782b1ed6c679d6845c33bd1babc399134edf7557da08456cffa1521a2902cd776f14c42a002e84a84bf48ee319604635f1809b6673c71b190de685f2485f74ab93a20f0be96dd784df96500407cf25c24cade437a51badf99ef307ddd37bb9d3456bb4a58d5641da92b05762d29d7ddd666a911d7d652bb3d91e716eee18744b6045eda3641f9fbe6eb019e04f3d330a1b1be98071862d96b0c6287c0bb2138a9fa03934256e330218febc252d83205b0177af451697bf9106c7e3980812bc6cade2c98e187dbf58422484eac081f22804d5a242d8668b20db3c2554b62f2a8957983ab38e28c6209aad010826b71e025b3c6a9edc6a924a2dade471bd10a3018671c76978aada31448873f8289111a9ae1a8009c8ac06ec1e657a149162b40bc94ed44e42f9702c7ad20557283e969ecbbc9d74d6053f96bbd896e30c3cb9ca94adcdcdeec7eb9dcea10c525a4fe07c0dde31922d3a7bc2410c360231aa5e4f8138f8be1c0b33f9754651ceb837c7a655f16265d7b91045bc5e51b3ea2753dd68d6f4288146edd64404062c8a59997d8e26968d173fc065810ab7b6ebefdec712c9fc48704356fae285f78db4e1a9913f444c676f35c664caa99aa3143249f8f9eb93357f194c68b791d36e28fe9a17f0cbc44f5cfd196efcce351d33ee2ac38796a143d6510831ed807e958ecba327ba05d0e74b6656c7595ca0a2fcf1beb391fa91b06e5f81d2e37cbd0d7a121397683319b13d6e947f126dabdf386c336bcc8dc764e842741053602a9748529f99c6d2c6e9daa2a9c3164ebd3bc67345a51f5b67838843daea78820b76c7c9ebae03a8671c4f5a785399caf72b1929593ffe4ad7eef990535faaf44f0d6a5b2dc555d04b59677bd6c3ce571d4d86a08b5a23cb8d940bccdffd94839305764ff138ac58e256b45c6eb1a1986876a25e38ebf4078f096c21567d430b5d54061aaffbcbe21ca6f92a11c5110a86897ccde9aba1558a8dcd76a1de7b4492453733c1e8c324d979e7fbbe279f80bff24dd9d91a9c2da5baa8860efa12b1773ed833c90ca3296982c5fb9b912d216568c180040e70015c3715623af5de6cc694e2dc0fa40637d9299501a7f188dd511d283c95d741bfe5dc2efe0d576e62793a9f914c57287a0cfb6185d3e3cd243f9c52140b5bb65b73d87776b12cf0af19f2b3a07d8f6afab7679b6ff18afa603575b52b7b4cc39d0035559a004e613939c7d868e158512d90c506989a03f65a158f6ad596384f8bae2f9c35dd1a3a52ec92338e2137b9869dc9c364909afbcbfacf94633a2a027c441441ade1d815481f2cddd3c414ee43cb37c70822a87747f0b16e2ec0606ba02ad480fd85b47f5b3b0f1d3730ee3a05cada900a5ef1cbde4a67eb24321c2ba3a90ca0b7a77e8f747f6b3d6e96805c3b58b93d18fc65a7c00ecf53f3cdd59a7cd260756131a3fbe85d6c29475f375afdf7771d276e61795a372297089048f53af3d7b9d172daa92d30fd327063b0483c551867f988729112ddf10e263fb762fc0d7b110aa19e72905d12bee9db5bd29462b786cce59053ee23c7f3fbfb2a8ebc9f90e60c0c17ae8e9e27a83da39c2fbf9a4fe9a3efeaf57a0fa1b4fbd16480fa6ab3a52ac559e1b134798c6a2893030d82e1b17ab42c9bc7e174f07df30ba27ef711f1d1f26c1243f8fdaec5bca696a3fca7b9fceb8e3a0ecfd719a7676b95b8509abe16761d3d55a324b2851428afe69b42091f07340a0f96ac7026e5f31faeb021e7f3a5d835edc645ff01a06e63a7ee62b7849586d5ce885852a3cfe913aa7c01f9e8906c1d4b0803d66e2c5eaa91806b1b431d08da59643af04198ab65ac8be63cbf210b0f4eed18e078057bb229284610fbe667ade574814f4c0944a5caa61863b6a0800e3b6ed79c4f3c217a9af532f6cc83adc6cd0697daa4f675f7222c33c554d6b0ffeb0b07891df18080af206bd2b37c14b889c954b134ce4fe105bb892a8c14a267ae2130a28b0f76b71f140f4590d1168bd7b060586609d8b89a2edf5d7fb489e93e2f029581b263f6328c774cf17ab9a6edad40339eddb73e205f5f0073905aac3100de60cf7a48966ac5c6b5c9e9c44af70a090dbd47e34eaf3d74082821c61baf16533f51a2a1036aa995c041d863480236ac86d2cb15f540fa4402a1b4519724bff4a9b2bd6a49559b7e5cff5e43d84934c0b481a8d84d4d5a588e39841fb7adf04f125e9ab04c9b023a264d38898f4c61841cf818cf2f05e2cc974ae952abfd8cd9f8749f90d78ca670ffd3a2cacf92c6ceb01d1b7bd2862ec0394134425a211481e9fac91e3d1de0f459877441a26e5e361f800e7e77070c41ce28c9830193245864aecb83a89bb75572bf05c138bb614d133c056a5421fe7970ec7bd02c730361b3fc2aef3000b8efe9398db9454ca115d466e14d0296788f15d6445a129eae0fe7dd124ae6e7bb0627d4f15c8333b91fedf818de1748c9e1553a064f153c11f4d7e98790ed817d52198cfe4dc38c9ac54b9844e746da95f751b357143540223f131d9b70ac066db95fbc20d8538ab3f3d4fc830ebac48df3f5f4817c50bb25ecc41b696a83bcf408187f2ed67ec06ad1a901d8bf59df2ef3d9f65f66b7f3b227139ef02a54a9cd8f42c6a8b354f97cc37faab8521b1824dbc27f8e3646c9bc7e600a11d31deda0bdc3c1f9ee525c5c99262c3b9a35e1deafc4912c195ad29b779f20a6a2f0d3a1499efd5fffe6d0dc65a10cda54a12c6475f86eaa415a0fc3034dc0e32e1dce12550603a815572d7411a733c45f07caf20926f0e48b79db3f58f90e4de513475081ea615e4133920d994f2b7c2e9818a0ee62660e4adc9883fef9329739f534b454a0e9b42401842f7e8b781db48fb918b25e8c3f062fb5b6c3a22da43ac481ec2112f2e8d16930ad8ce3bb8f0ae38cf36ee2fdc5107e562ffacf7b0f72b54aae2639dbc1aed864766fb2fce27c247fd04790c8bf64ab6e4e2090114a345444d4a021aa37fb90cb9cce7bc8532b3e8a1b37b84246b43d77a23a7224f4604aeb3bee3f64b8567d0277b73d4509ec8c69edc91f73471b852b40f334f411864fc6ca40ab4e34a24fdb99c87a866e7fd62d4f24ed0aac850f59a9b509319fb4be2505ca9ecb25126c7024b907a8117666103191acb6dc9a69dae553bc30cc912b3024d3e5a3694143f6fd6a69280ea7207b32288734239ff4ceeee2955be54192039ee3738610c029783ad7ee600f5650a3bf46c802093acb811496006613554369dce8df93d088b73800a97a03fbebdc7e0333a488187017715a75d1fd8cdb231f4d97a978c78359d9dc08e4a493319dadf81b696447a9e83aa1f0e669ac592df337ac502be025b1d2faf084dcbd26f436f5f93e6558b4470a50df42b9b03d490189281aa49c5edd713dc97813b17177abfaf5b6be116625696548714b81d168c6b14e5116377c6f9deca3ad1f43492867f50314b4be7d6f60e54e42d98efb4e89470d41362dacaf11d9559e36bf726aa8bd8fbd1d46750a5f3e54989df144be51272a47db0e6362029c73986635e3a1ad0d566b9acaf9fd045161360fc5fe7f0034b8155aed65fa6c3f7537c18a87b464c8d7d83f6813bd5aa0e0b01b8ea806bf489d0ed67607bfb6d2ae22bd70b3eb80555f475bd82544816b5b0f939934831c223703624cb8e8996d6cf96126d314f34a74046109e643ab5dde00fa69c6c36231af0e207ff6ac82cb1e5288c30020b6c54a1095df6ffd01307a247a6a22ced0a0ee8971a444c7d9bbba6fc52336ceef73e2db906ad7f384788dc57e655ff7f0b1f6872e5e0d9fd41ccbf6e63bf03eccf74b6b347521e57bf250d8ed7d0d833d8ef65b52eb134d1eb7b3c607432d0c384112f3a867250f71902964b02355aa50a0976921dad9648153bbfa00cd99227f69ef2978e0b931082ab20caddd6be8b1599bfc7eb1b47d6ad09ddb0bd79c582677bd6b27c4ea4af7eb759a6d78788063763e8880bd93bfda0b6845288a0cb27b6532445456cec7555936c281972b3bc3dd75ee06293abef9555a103148d3e757c6abe17bee31b5d511f087218df09bcb265b27cb9cebd04239ac6cdf2ffdb2bbe44da299ff2148146f209d60803954da77655f2992c3bc7ce8f2390a77dfdb31441a566e09641012d16b3fca7676247d4b2a5e440536bba5e96321dab01b5e16c6e36b5da5d3d2462621d1993d0f74b90f35f7296a5cbd9e8a5c8d5f0791a80f1ea7b7e4bc40da1365573a8712478fbfe4c666df63867635b040be3269e34a8a00d0b0b8529f8e9bb3ceecb0ceaa05fc44da796399a6bd4c66530b32f8cc8be0edf05dbd06f043a54681dcfce172213600ab670449f87b9f2a1aa0bd28ccf1b45148de1d7127c1fa9120e5965c7d888198b564ef813e5adaa494380fc754c0f2587b42f1d29acfb8049d91b348f953f288f50c8d2de86bbfd5406b8ddbc952cb70b40fab3178f608d384c8ea8c22974f82e2abe09d3ed68a795e200ed93815f6431e8bba52829182e7d0028a1bb70a52cf5bbe872a82004dadba1ce806de6d09981db2e354d7d46296c569fb10673ca681d053a9d0990b596334b43a7a3c5b3424f3b7cf1814025f62b5ac13bb2e904b6600ea84bec42784565e6902c7d232fe47dffea5cdd04c2372460e31729d56029c0e52453cf49e308e2aff03da43ac0a8837f3925a63eff0fbdc45fd45ffb23cf994e99dd6e97d7b352a51a4381a47cb7980e8d89e3f634e4d9ec476c4732cd6221a6c345b0d0ba4e6bcd361f3b06b907e1e72a3479ec060576593c7d9a00a704c01f40b068abf46a2afb6ca489ac896d6be313032142c9f1c4a24df783b5c6b6648ca62d9288849561ca7c635242de703162f2e241e49fad8accb3d19be5fe7e4dcbecab4a20de61d1838323202bda43a3a99c7b8ccdc2e95efd195902b690c08a42a3f76d109373dd900b78e8a88e28b3f71cf739be193719273634b0be1380d7ca0000b18fb9180947173bc3861667cdff727cde2015427900007e812de04a39ecfd6cf431a82b87aa33a896e5dad6c4b2f119bdb3287058fe53e9c73d3a4731c83f815ef2f2f467d25a8d8a588a5c1f9acd4bc0fb6227ee0939b4268ba258f6941feacea6d11b2f29407159e1524c22c712c1fdc1df08fb1ca198fa1bcfb1eb8fbbf429034d202702dd40d2b4937d558ca90d7aec6db25148798d70faa1b96c0550678a1e65167c25d0d2d6d9dea16a5cd2e95a8952a67cdc70d4dc4fae6c78a26f8ce3e34c042b2dfcb0d405f2c8ff8afaf051bdfc9da442fd00d8e5045042cb089e9e20226d3ff2d909ab5bf0551d4671bb23bbd3f02f47b96e2501a753af67c0e4a2fc8c6ffcfdd8daabd4823bde1b5ea7c6bbc7eafb64a9d4fed5e510f76c5b2d983611fb164392374902553e59d63030162189196e8cbaa56cb4a32467ad781a974e9dbbef8a19d05efdaaf3d6307ef6c23e4492d2ccf62272050eae73106602a8003e68bd5de221eb6b02fca837a078912894f016e274015509e1c0b53182d10dbf639dc951c71be0890b9291fc6b0f4ec174a30883c906f74343dd5e960603486acb386389e20e72c2e099aa3f1bad9f7c2b1a0c7aba3c9f569b52fdbf946845710fb7bff84d9dda9a1c5873b4fc9d1baa8a5eef36f6fcf3b10fd57fae90908b375fc9705761d97d581345fe6919e930150ffa51d9710d07bf432d7774d139f8bd31c32cf514851796f95bc50ccb5485676cd65ac536656f3eeded64775d90ca80dee04013a4b9face50c2b59f3360f96c5f727c56f4cc2244dcbdc78047cd7b2e1fa3a3a67e9cf534c46354f87e84ca34f1060697722e73489e214ab24c8f9a11656126620dcc7ec2720d51e313241a9135777b609795b134c52333fdcae9b123571b1f675a077f693d202c6e8d0e049953c3281bd72588bc3e066c78a6f83414be7c4140c7b95c5bca316b28de1530755f30d777e68f26403b9f42ea0eddfc7931825aea9567f82ef4a55a061f38d556f038deb4d297022387b9af643296a253fa7de95e4a75be7d5bcb8a914be2f1d7838f3d1316d8f8935dbea08d38cd54115b89fc97cfab62974950226faeaa918a5a71f364e4e29a7c2ca61e365eea91b32a56520a09a182c7966b89875455012c1b0cf3b97137f52d9b54fcd9ee8382d233a4539ff9f89626d2dc5b32ed668bec342473670d8a00170ef8e5aee7e9201bbbe904c0c395baca2551f54e60870bb3219ac303a81538988c9cbe56a33de52034eda27bed4fb1c195e12704dd3a4f8171022b2507313e65ba428cf8cdd1c75ac5adb980cb2134aec450ea77ce579fe6d47255f45f010b03a22f3292f9eb339f268d7cf22120238c966708edd63866c7cbd895b85abb429cb97abf8455aac55e4c6f3546518334ae166dbac9734f9abb0c3a3d866b7c2a1ff466a87f1cd4011b3e807a8e375e52e6c89fbc8f993a45c1735308a19520005e78bfb6a8289da1de5a2e825b06faa5503f018943882493e9f9d23a6177b092c11a7f1db471c5440363586336c8799bfd27ddd154823112b81346b109d9df264a2742970e8a8739347f96642c5bc951e5347626f3074e82f54b91ff2e28b76baaac2d18f7cdf723a4cc196f9cc7131ec0d1a21a1839c3176521d2b5879ddcdd51fc69f52075162aa4f2ef4c85a1027c54d16087cd8ee504a01ec99920ce7438efb044766c046d2171a7571aea5089282f5d6790793bca463179dc1f7cf4b3b116df4a9dca78ee642176e88c419bd8952fb27b383f2b40e72c0a6d289630a108cd78aa24697f9950825517a5fa8ba663470714675da0db5d55580025802ca9963b39a1dbcc673ff4c370ceaf284c2794fe90b5cf589e3fd050e57b64ccc80719b2090c9dbe8443477d532b692ce43236d66bb47145be01c6bc44b4356926ebd1eb37d06b3769342e877c93c48baa8c84ca3d97209b439aa9b701957ad914c63faa81cf60970249cf7ce3fc0b94b65850c7e2f8e865b91f45749472e34ed0be4d051a74d470f18fdb4b0eaa224c9fdb9442a0760eb54fc88dcb7663ba85f3db4d42bf82ac22efda4c965da5c8a60328ea2eb418515d1c2eeb9c60948d7140cfc4bb8e8c35994347ebca2cd5e5b4ad1f7165cad44894e4ba3054bb6adc5a2afdb833fda55180a3a6801993dab6d291069212febd0a7d6fe33df96a79bda0c21796d4b83c15c6616f27aaec7688982fb8a10741ca88050775a173903e377da269a00e185f240990a2a93cdd76967ea75a4f1cc78e69ff5f248e3a91f3df053051b133ab32bc5943bbcbf23f2a94446c0e4d399b37a4b16834581915c2e565f3efe6e655efc155e015b86c4dfe116cb7b6c81026d4222de2946076069becea5a1b4ba37bee8a0d0f4dd0b5c1b0e9887808e6ea007757c36ff9c41600f34ea5f8adbce04362ba9ce5100f0b6f27bc6d73a435b1a67f03051b6cf1d02e65845706b29c1a51251826a04ede0d728f9175c58a6c256a4a4f7a0d73b1385327aca8011f8a8eac7439aa205aaef6006693bb234649d89a27356e6eb6aa6eb8f05cbb2f53b814e144d7ef5f3d625d422317897f70cd624f2608298841601a3ce1eaaadd9c218f9ba65aabe627cda20371f1c4ababcdd1e039617644d6d904899e55399534a0498bc7df20c51c8ce28fc8541c93c6cfa9a214f60c8a8c223262c2da418a381d5afe84794129060422cf381dc7135e03d4a4fea1fe79644a3921e19026162cbd5e7cc8612f4d98a1382d23461967fb91341c5b7c2685253079046a34ef144b380d6c086cf1d66b888691f8bf9ed8b6a9fe27d976c4052bb34340b7ad08b2fe40a16b46037bdebdb5b5c1b0a50a0ab9fbaae1ff2c64ce11a939c27011dc21b6a0d5ed5d58624441cd7678ee3fc0e090beddcc6798b9db63ffdc5bb6474ddd940a5036cfae5c091ebafc520970a70e6426055b10de6fb6f5f2a9c5f53d281ea480243320f750c66163ac8294fe8d1c2cce8c7f699dc180ad25b5041411d37a4452a375cd6c518c542de2f9b8264ae2fff9239fdbc803876c4ef1dcde769cd9f313c19620458d9ffc83d59fab5f5114ceea32dc4086785e781bdd639071723d26f4d457734ab85157faafc0ca56e5f5f8c494c2b278afad929df31e518fcc806e582cd27dfb5b9e5893bd22f128e782a580a6a957ba2dceaa37a728f9958c79ff60a024cd74230226e7c785a3873c119571b193473e868992e38f1b25b9cc52a31c3584fc877274f37b6f74020d69ba6f66e85ee6733e27e8e0678399b2cb5b28fa461623f78807cf593ee0c1602d6e0610071b7ea3751ce312efb12cb790b565699f0f1ad422d6a8e413e61cc3e23e4c6653e7e74082f6f9c065081ab778048a52397c012fb1cc2452b96df591adedc044e87847a6dbe97e7ebfe5415a7178783d00e2310276856cbf29c5cea6983fd862b7017463ed5da2e7418d47e2cdb28f9c5357c5bf28290c54ddfac74b3c4f369122fcbeb39862d42082395042bbf77af173eae369d2608307bf8c7cc31c0441be560da7928d0f2d76a62a0a3216040b728a695701f4921e2cda16baaacc8690d06a0d7c0f7e04f68c56455e6139fe8f8062b963bcfdfa44be192210921c0103eb2c81d23a450c2e5517abfcae68650a230f845e14338bc45551c9d7ec0645d8fed694a8d4fed5d59c62317e1debaacdf591f58102769ace93feee158aeb5f94f08057cd89aa09d340e7b4d88acc1e708145bed99586d2ce050fe0b0ab0ad84d3f1d1b5be20cdf4bce76f18123991ec139bc3eb88b49978dc943e2579a121259bf7b4e7ca395c87b93abbb4d4725e403e82274234f2f0e6e5fca481e1832121d57f512f7a329b6e29a98cef9b9f1a52752820f137e591fa54b74f7dfd5d40b806877856b6e423c68b34956231948b45ad5cf7fc2208ae63c37211696f97a4996777b81500289031e288aceeacc09bd762fd9163ec852ba06311a765a583f6235245a3db4f954339f2327f066920bfffb6e43718f4a8d1adafa998bb4cc7ef2e2749325603ca272bd0cafb41f70ab78760cbcd5659678c25366c4b514c883c879020f5d0da75c7653fffc225d95f7603cea5cad6f45d479fcf30fdede141532402699f397f3aac5fa146640092e8a65502da45ec588c2973eb0972ef8868ae2a6bbb00af4ccb5e77ae1ad1734b480fe9aa7bd29969d11815117458d87aa5de5849eda19a329d009acc3653db89459cd90e7f3a1a45498655419a51067c8d3c7a69c62e2d42725c2b9c043722fad1e4f8d6c3ff02981e1f6e1b05ad7d0f3d16725987945bd17ac72b87796814fe1135b9539de3f5059cef2255c0202b777b8860e1e5e05811550b9fe38013368903bd44062bb7d079f4cfdb5797686448e9a6b879a95e80ba92c6383327a2a2461c60e979fce7662461131615a36340ed42b48dd6b8bb89f7ec7f1ad7dee6f43e520707b6fe9f17be3bded40980b97495eae4a6352ec67dfaf8b3a81125662edb720341fd2b1b46a8c0949e1fca8e087cbf8c97e834ffb84732ff8cd8470e1eb44e59624f54456bd81b08fefb3b4570ec473fe374fbd1256c43400325c286d8961aad1a2ec0b44a3d2a6faac96effffe0eed8d2ece21ee1e1ae1e42078b79ef34ae87adf7cda8fb47ef6a0d861af432a92c08b4deb11f7469ff826ef76f5726ba22593c30ddb55270bb687bd0b48be94cd83005f3dfef7b14ab55d79960257595a3b61e5f3c4a677fba07ea66124876b04a852000baa7a52e3d308088d65ac7e38dd72988ba2cad962dc81d26658288aec9b54896757d4a424859b660cfde0b20c88060708c0c2092737facb5c074c0b353b84b69e4ae9b9bce96534867fcb0cbbc7c54ab670ebb4c17a82de5f7c2d0b53e5d47c3b2239eeb09e8d4e31ed78f6b38e8412234add0699034419f0a2d4d45b9e73f9fea24307550982f162bd2b6c73179999c583f69152ff987746206f9eae1f4ccd1c14b74bbfc57565c64319dae29e6faadafafc5334ec219a89a7f89f4d96d5c8bab5ad943a51bf6847ba49170a8c6104f67aca7a33775d37b2c082c3a943702f0d3f0905721b9d5b404f73b1c5711bcb1113e3f312fc56a217d4da7b0ea204e814382cafff1945c02f248e81c21df015db72c3aa518babf528429d39cb16d0604fb26247691a10d8246a3c1d3509920771c5d8929bc58eb25e41d9cdb18ca90bf5e844eb83d1c7900b66c4c06fe852b4ae67c8990d16e40bde4f28b35ff9e2a12ea0aeefd464c90dae1cb088523cd1a6ace05141404636fd35511b6d5e95c97e99b3b9ef447587ee6789b69058f0a55c88c61d3dd5bd8e4d3a52d92f603d12f1550f424a0d894f1cfa7854daaad86f720d2f1142a7ffb701e0b3641eda3a2a2904ab00d92c06262a60be2bbb0fbd9071117c4303e6a7e42e1c6796c9a41cd5a4732d2889ea0c5adc3b710449c3ca2f252e6a06c321da91db27fb926ea8fdc" + }, + "vec_uint256_512_max": { + "inType" : "vector_uint256", + "in" : [ + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint256_1_random": { + "inType" : "vector_uint256", + "in" : ["110411883163066831417649792971609376509939065005115718815819225067206911575575"], + "out" : "0x17c6d9f04160f35fcee8d61ae6501923748ab9f8a5933ffc2919d15f49e91af4" + }, + "vec_uint256_16_random": { + "inType" : "vector_uint256", + "in" : [ + "60277518342638897559854679066047594051388887737828979733888047418504166323440", + "103245955041067506528978490498390301857314949633640470944761369330112961112532", + "8185227994008382311344999018506678880909470492369222800061424451761001032144", + "46120325962731282330126158301320326149441803307254163386455053207090514044769", + "113951646612674898542550463564799012853910258140361147207956054564195308736070", + "40871293505315724241005561176199504629471091285368878436370807619461264509502", + "59162576174430575403691818145324417043867048654287311133373688039763949726507", + "40813599006622860801414026590188839962714766547415345436519565344047932923953", + "38883538392854173498405557311975858309626161437894841451985840577096415176644", + "87149365198483260652532792110369044845647316442324615598980873461525268773881", + "44010239096660719297632118746135372379643598447144476597184464026283264390198", + "104439339981031885271970346801809898338995444403751990330460697555867165383997", + "56230373898349801728092537028028928184387353367384264967434108269452156315517", + "42164986371019221802847830854613047210757164832844089701271017317304616136488", + "113046839271155823243058041400503998622190004821612614464810164291903064779637", + "99913658902560611938976167869987886897732350269187835906630587742313313566635" + ], + "out" : "0xf0349d3e2152ba4c2b9ca1f13b1fe14ff76176fbea8a2f78817aced8c9dd4385d4e92a486d1e96a65804d085527dff24f95289fdd0caee8b597d20b8c22343e4d069955302b48cbfe925873982fc91474cad842ef9337a38e19e9833c4ac181261279bc44d109d2966fcd9abb844caea3fb707ddedcf31c9e1afa353ef2df765460ea56ea2b5a0ff6abaa4bf2ca9e4a9f89a296f4ff4999718db88f7ac58eefb3e0a6503191ab7b194d2fd9e09b6f7dee05dde2aa7ad4aefcfd48e9014555c5a2b2b65d60a9a724a13aa937c0b4617007d520b7947e6e896efe8fa5ddad4cc82316028e6ae1a1eb8379ad63e3ca1795c3bf62cba50c01c42ed85a9abacad3b5ac4e7cb0262c6aa29118c6df697ca38517aed83e2461a883298ea32ac854df755f9bb2dde41955d6c69cc6ec5ad516e5db495a3b5340559a923be283aeecaacc036346b4b2ea31cf1f3aca5cded76550daa07cddc8630338bd4aa6d819fe94c613ddd51412b7a27dfc110cf75bdff3ccb3f6fb15161f5772c610254505692e6e67da7b5b9b1b6189750a302f2a7e3c9d38862db40fba8fe3f241e2f318743517c28af18d671a3fd9d946abd662621c9bb209399e4dc8a578991370de95b89385d752b0eb482aa52284c6b766e0af660232c2b32c93d65f7242a8647675b3eeef9ab7fddc98b1fddb780913dd1175d19a46030d20154822c83213c00647d20e5dc" + }, + "vec_uint256_1_max": { + "inType" : "vector_uint256", + "in" : ["115792089237316195423570985008687907853269984665640564039457584007913129639935"], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint256_8_max": { + "inType" : "vector_uint256", + "in" : [ + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint256_5_zero": { + "inType" : "vector_uint256", + "in" : ["0", "0", "0", "0", "0"], + "out" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint256_3_random": { + "inType" : "vector_uint256", + "in" : [ + "20341632100042420469143763416189030956502435901778334142887957710221079352756", + "74516869731647569101500259464573063106458342126026892185768215601235430730235", + "60980676314400266124340689488737160913249590805411593115639422002336958969033" + ], + "out" : "0xb4156e0b8ccef732742a97f05f81b8910a3cab28784f89a345644601adf4f82cfbe99b849611645edb12d8b55110e3c1b61d6a1772f5ba24bb39d162bb0dbfa4c9f44e3a2737977e3fef972d20727291199a648e55cb5e277d3fa395f4d6d186" + }, + "vec_uint256_31_zero": { + "inType" : "vector_uint256", + "in" : [ + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0" + ], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint256_513_max": { + "inType" : "vector_uint256", + "in" : [ + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint256_4_zero": { + "inType" : "vector_uint256", + "in" : ["0", "0", "0", "0"], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint256_4_max": { + "inType" : "vector_uint256", + "in" : [ + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint256_5_random": { + "inType" : "vector_uint256", + "in" : [ + "72734399006119118177028218775566337356548012382613067822783747928678077830835", + "108476600626247725629182215816435582316033849153620779641810236040392469341337", + "85542455131709814229535394208672179518440250571646264912669264016435222716524", + "61686357484286387008896318634414673799391897251804768902994397151036703625603", + "31032751833985321431313880771484085190029459591363943483955275242934943263036" + ], + "out" : "0xb316c4814d9eb8a807647b5dc40b6875faa080f4587549b2576fba990136cea09964cf9d338d36861a22e2138520763071e6204f6fecfdede1dc437c8694d3ef6ca0a44e72d44fbefd8146a9732a05314b046f132e557752b1bbc43157501fbd83d1ed3a547dc3cad10cad22ee19015fcb4309eb8b95812be6c832f1b53d61883ca926f5bae4c1d083e280857dfda701343240563b68d2c8fe91f5c043ea9b44" + }, + "vec_uint256_2_zero": { + "inType" : "vector_uint256", + "in" : ["0", "0"], + "out" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint256_5_max": { + "inType" : "vector_uint256", + "in" : [ + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint256_16_max": { + "inType" : "vector_uint256", + "in" : [ + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint256_3_max": { + "inType" : "vector_uint256", + "in" : [ + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint256_2_random": { + "inType" : "vector_uint256", + "in" : [ + "66885311161735375237094658820114137114075144395667692405235809627433102633421", + "65247957590340865088396647027512505264788029094615441214247840486719806749191" + ], + "out" : "0xcd696aa698c254cadbe138a0440a9565848a7a8ac20b9c97e5767b849bbedf9307babfc007e697cfdc69b81f756e9ef4a756ade885e96bf0dd408b2308094190" + }, + "vec_uint256_16_zero": { + "inType" : "vector_uint256", + "in" : ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint256_8_zero": { + "inType" : "vector_uint256", + "in" : ["0", "0", "0", "0", "0", "0", "0", "0"], + "out" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint256_1_zero": { + "inType" : "vector_uint256", + "in" : ["0"], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000" + } +} diff --git a/SSZTests/vector/vec_uint32_valid.json b/SSZTests/vector/vec_uint32_valid.json new file mode 100644 index 00000000000..fa0aacb040e --- /dev/null +++ b/SSZTests/vector/vec_uint32_valid.json @@ -0,0 +1,516 @@ +{ + "vec_uint32_1_max": { + "inType" : "vector_uint32", + "in" : ["4294967295"], + "out" : "0xffffffff" + }, + "vec_uint32_513_random": { + "inType" : "vector_uint32", + "in" : [ + "1506286316", "3340455671", "2249197219", "1137228810", "3708188369", "1032790960", "2037375995", + "2165993127", "4279139643", "2878934835", "2234060784", "3341241397", "2832291162", "1862974295", + "2889755957", "716023347", "1781425995", "2766618165", "430694095", "1734393401", "3038286926", + "3255298884", "582239825", "4282855218", "4037619729", "4120262294", "3201356237", "2129479017", + "2298271168", "653701574", "4073339317", "753403713", "666458174", "601739694", "991606557", "498411397", + "913566211", "2843839713", "1248176716", "3173178403", "543145845", "1325723472", "1189806715", + "2611216111", "2540953507", "1759274002", "4096358814", "450494791", "2381579651", "665652591", + "1557892724", "4168366933", "2466073243", "3798260386", "1561520741", "3664263969", "1638137859", + "2167415852", "385021871", "1910306539", "1268079858", "438813197", "3745724194", "4085199927", + "2952778760", "2474423108", "3642524002", "1873853403", "4121767960", "480950318", "1831383191", + "66237295", "2959509997", "3246280272", "1333288321", "1206621475", "3346990117", "2638657967", + "2024365252", "840741523", "3914944712", "205708374", "1450434398", "2445220963", "3831582069", + "3465469049", "1018383524", "1117522544", "723038903", "1620185571", "1064668939", "576109385", + "2828800672", "2252340617", "2748600585", "3985166077", "2112758930", "2520322950", "1921186383", + "2034758722", "1857181222", "465190395", "3176726281", "3540283126", "1769857205", "358472846", + "518077754", "565062142", "2382811964", "1649966621", "2267265845", "3818128603", "2294250758", + "3613687380", "2592975730", "3287202364", "931524721", "3095974833", "1957121000", "2137051497", + "2686354159", "858594131", "2718934110", "971575805", "1367980273", "3276477567", "939318706", "1423831258", + "3750632431", "4103488232", "2463611651", "1774045082", "1068942028", "3900895791", "3357521548", + "1997636802", "1408745787", "1198080120", "4195633777", "3307995274", "802811736", "29479226", "1742888435", + "551237958", "1168518096", "3386124569", "3128826162", "2977548974", "1588907015", "707192585", + "2733838829", "1414430182", "2535485231", "2196633121", "2463541328", "812262923", "484565396", + "1622322609", "3101255187", "3134374185", "16503051", "285493324", "432140521", "1355563783", "38249683", + "4178611981", "1484297329", "3718934377", "4150643229", "3403499489", "731879685", "3517169620", + "2854266221", "3506230662", "1930958121", "4123949451", "900225876", "3091874489", "2698105599", + "2508004367", "2238398363", "1427390625", "2903189632", "3000028363", "571012530", "63175638", "59853690", + "1713147023", "3146249007", "3526181153", "1372883894", "1504561928", "2457118510", "1626985271", + "987978391", "143836281", "3789995858", "3252070375", "4132634261", "3221782718", "349567165", "3416784449", + "1727443970", "2430130758", "3594949372", "972991002", "3092618197", "1901637435", "3667090212", + "114128050", "804086554", "1093298018", "3933497340", "3389536209", "1367076373", "1495662617", + "3033503538", "598961572", "2925618706", "3016222921", "3591371655", "3748132815", "2009211793", + "3668211961", "4147806015", "1388741344", "1490496015", "3683837807", "2901683192", "1810619706", + "1495518881", "2776414283", "4109520767", "2840215364", "2518978058", "3160417324", "3775105752", + "489152240", "1978176050", "1198088809", "3537016245", "3876031109", "4040591353", "2864117648", + "154646669", "1034221632", "3322212787", "3952301773", "3710723473", "2891835090", "419231810", + "2089280376", "1985119198", "1402546590", "2728523506", "418516640", "4173335852", "1997416910", + "1711781512", "3229441913", "458702555", "3437685422", "2012224269", "8576837", "1289578171", "46388586", + "953564783", "4227283809", "1039808904", "73072792", "1074493689", "1364122679", "2145323461", "930933353", + "2409668532", "1634491673", "707031241", "3155394720", "1303817262", "3555872033", "3128202286", + "568159496", "552258584", "3973549089", "1060464717", "3140249670", "2430674601", "3363698437", + "1577485436", "2983698493", "1858777960", "3960906150", "519861347", "1767214457", "3384748076", + "4009704865", "3607502512", "2288460027", "949763013", "4048574249", "135230061", "800488137", "4033357964", + "2227166319", "3424631590", "3425238545", "1702015330", "3447556229", "2170689549", "497644257", + "4185223235", "2839954560", "1342812737", "1486113821", "231486973", "2681013696", "1838238458", + "1071749240", "889525611", "2099459701", "2183271852", "3621795461", "651464427", "1165461003", + "2584995600", "4236741445", "3566914702", "617066705", "306945100", "221558467", "205877939", "498620318", + "1220636744", "2084900749", "3341960165", "2017827827", "3139327527", "2593883084", "552652114", + "2177915392", "3598924413", "4005395602", "3396456091", "2549752221", "827357923", "2383403384", + "1355306673", "2066102692", "2454374990", "2185051248", "330410530", "944069661", "1799157665", + "1378364549", "1167099369", "1240179795", "1716793447", "1845918660", "1653459010", "737301750", + "171556112", "1142613921", "4002411749", "2710100149", "3293072449", "3355947151", "3318954054", + "3909933896", "2318026715", "3098628905", "82164764", "2112510872", "1622160195", "3601322957", + "1309662235", "116350522", "2944765264", "1798670043", "1355087853", "2114961922", "1475273625", + "3747013596", "1153638626", "947205157", "2674464284", "1524507392", "4285752117", "2201619328", + "2352035814", "3287902853", "651378914", "3181046705", "2660894372", "3541173450", "1581635980", + "885116129", "165540048", "1738547452", "2375458597", "216095626", "1686223374", "3466801601", "3536178351", + "142933408", "3134380789", "2700580797", "3580743180", "182034499", "2993168171", "3520956124", + "3187702160", "2099180929", "4277314162", "43671642", "1972002241", "2530400265", "2989038791", + "4033451152", "3166020882", "2830883087", "1848825694", "408689932", "3384769654", "781083988", + "636248491", "1967482400", "1172573031", "1439895523", "2488044060", "4065107509", "3715028207", + "2812954358", "4108359554", "3591793532", "1068128478", "1605736168", "2062217997", "2722331125", + "2614301416", "2516767397", "907111898", "1792625177", "3141205496", "4178269297", "3115197996", + "2338391639", "2451731357", "2634998417", "3648889870", "3373935617", "1145153742", "734057970", + "937333535", "3268493535", "2027372762", "1877116097", "1019941937", "1013534127", "2588864974", + "4206609071", "3484011851", "386496563", "2259806811", "2081546382", "1177459515", "1173797248", + "2823727885", "3065122614", "1446822518", "4081343003", "3981935143", "2258722366", "3182066297", + "1990687767", "2347506465", "1072240320", "2050296960", "1956416018", "2005655829", "100462876", + "51128402", "732387540", "123604188", "431055316", "1312308164", "1317552596", "735778923", "938916610", + "459366303", "4104152733", "2726288486", "2401227334", "2713354785", "2556762219", "1826807441", + "1522326161", "3897258428", "3478082366", "451761890", "1225089752", "1262376617", "3824933588", + "2227252992", "4015579077", "320045527", "579310834", "1762256425", "3585893227", "2476950437", + "1559797180", "1197444470", "3233215794", "682626811" + ], + "out" : "0xec1ac859f74e1bc7a30610860abcc843d17606ddb0238f3dfbe36f79a76e1a813b7d0eff330f99abf00f2985354c27c75a55d1a857bb0a6f352d3eac33a6ad2a4b672e6a353ee7a4cfdeab1939be60674e9418b544eb07c25146b422322f47ff1130a9f0963696f5cdd1d0be6945ed7ec0d5fc88c6b1f626b539caf24107e82c3e58b927aed1dd231db71a3b8527b51d03ea7336e18c81a94caa654a23dc22bd75bf5f2050ef044f7b02eb46effea39ba3df73971264dc689e7929f44701da1a8305f48d6f0dad27748edb5c553b74f89b4afd92a2da64e265ea125d213b68da0300a4612c243081aff7f216ebf6dc71f25c954b0dc2271a223743df37347ff308d4ffaf44b37c9362811cd9dbbbb06f1830adf52eb8aa1c97b0286d6fb3f203ed8966b0504e7ec1815d784f2395eb4725047fc7afb9469dc45ca97893b21c32c85059e956dc420c5edf7356631cbf91754d61e479dc8ecea44cb33c700a9c42b7b2182be31192600b8f753f49bb5622a0129ca889fd3f860951d4a3fdce88ed9224ee7d861339964ffa827242f447792656b26efb3dba1b09ff58bdf66e04d3b5e07d698edc5d153a3de11efe29ae213cd3068e1d7e586235bb2387db0494e3067dbf88547e64d772ab8d9a3cbaeec371f08537b1d388b8e84ba77469d1607fef821ea0531b2d335ea40fa2fd11e939f1b889517f144bc3b2ddfc37daf0dd54ef1b8edfe84296f403bbd7929ac7bd69ccc2b63f2ff282e88cb61fc8c28411773bc1f75378406947714a14fa8a002cc558efd92f3ad1c101f35de2674639db20d02ba6451929d4c932197ebaaeca79b107ccb45e09e7262aed11f3a2e67d4e542f6f209721f6ed8250a8d6920b266a3094e1e11cb1adb2601366d9b829c1d2ba0bd1fb004c480411e9f0c1190743cc50d3a447020d8f10f971947858696faadd1dca65f7e147ddca05999f2bd4bfa3d16da520aa86d5fcd0291518738b79cef5545ba835b9424ab8ffd2d1a00f1c7d959b3f6b85a140145580280badcbccd0b2b2f50822d6fbc3037a4b91038f8c1c662ff387bb21412dd2b68bd45108cbad592ea7749237d3f960975ae33a79c4920852bfe6e1e7a7d6c195fe52f6be8008c0bdf8d51441fea7cb02b4f66646dad890fc9246d61aaafe39d59b55b83baf5871245b93dab274cd061a63ed2f62672a41fc6774ead13708ca15ee7b51190026593297cfb4a46db323126661aec9e8c7b387fb0fd6cff767df9123c277f978a4da3f7f3af7e082c6520f2ad7586fe792dbf82bf4ac3addeb6ba1ce23594bb87ca57f4ff2f4443f4aa90a8e24962c2460bcd88a03e1f0de271d3292e87569626947b595d2d2858a07e7f987d6f090f7b6aa8db8370940f8a43db3f104c6cd5693eb91252dddd2e65dac42f8fc1878e3877cde8352769e299953f2f6a1a2a00ef2182c0dc0f8ce290e7788b60766795f7dc0db3e571baeeae6cc0d1bf07745df8200bb66dd4c6ad5c3026f3ed638613bf7fb8839fa3d98005b04f9780b4037dc4e51c509df7f69ea7c37b49fa08f195d6c61c970242aa08013bc2eacb64d214df2d32e9474ba086ddd2118ccea20218cd7ec4d68353f46682cbba926e19005f77dc87c84065e3da0d7b168b3ca6ea6a116ec6374fc1e798d55692c28bfc9a13dffeeb01e06d7fb206788c53b9c38295750f16d720f08c97ab62f8c2868f06fdcbf8426bb1fcc11fe28cc62b1726585887dcd0d186281e172a91d437075f9804446a941b209501d4c9458fd35cc0dc005cd9ffa4a916d7898e13f6b1505357536237dac1522828536e0d7eb8ed4260b86774510e7139a458b87fc8ecc9ad4d1b0c7244c9c4b12c3b6340db372450c9e57b81d4870c1488d0f457ce54332c7f39b457827561ebbcc839b9a52cdf020005ad0817d3a83d6927cbdee9bce71ca9d21fa97e37a503178d90f8eb156c850a439267b4eca4a92703c3d8222aab1131d5c4538a1f73c6b852c2852e985904553a4eb4967305466c47b066e42c88d62f654f22b10bd390aa1e71a44e5f48feeb5d888a1414c48c48fb007c84638d3c548db0ce9db472a8a2953b1b81cbce504985bea7d4333b060cdd3a7d61bdc0f4e3a5eef06508d85afdb86356bedffc45002c20f7e99e3ee57dce356dfe220c344253475381c16699f0023de5a356373ff800b3a83e637318c856af9c3e240d326b1eb9abda4069a9eca0412d38cd9455ee1ccc134d0f0dd09fc20a067259f968d8a5be10c0eba8164c131a3ceafccc5d2a0fd8408f5dad2babd97f7a00cce6dd543a0d90a2b1f68b2dc86ddd1907900be81f51e7d72a2f2fe5a609a02c15d8a7509d8d296c71c29b2909469f012a5b5bc0fd9bba85ed7326e0c1d5c18767cbfc954658e2eab61ec2520664575670be445e30fd3551c8a4c94359e4cf2efd46eddf646aaa78297e0f47c6b16d6de58aa3fe896b55f0df3ea7af57943a2e812d39ba5d20296da6d1136194ad96af8fd3abb71540bf92c26aeb95706618b9d73229291e20e9d0ea47dd9012c1ac9cea84144f2d5c02b1f93de37df40d1c2da40d778c184e26f3114cb3caf4d693ccef14e9aafc2bbfa4bcda9cf337809175beab1868ee0117c3b9b2e4680b9f6450dab4ea8360fb2b676c23c561b5a44f3278257ed3e5ea186797aaabd177ca776211bec8bc016e93f800c357a128a9c7415e18b771cf1fc0552280c03d458a72bdc0c5e07d461b119c43b384ed441884e6b18db2b02bbf6379f5f611b9d66a0f466dc7fa246d21f8f2182baa16b18659891dee26c91dabc5abc714be83e534fcfe256ed1ad8620549a9563e4bd4dafbe3002fc184c5df58efd7811313f294872229e609696b63bcd5a543a393bc9df85c768d5f4732f5b6c0fb0eb028" + }, + "vec_uint32_4_zero": { + "inType" : "vector_uint32", + "in" : ["0", "0", "0", "0"], + "out" : "0x00000000000000000000000000000000" + }, + "vec_uint32_16_zero": { + "inType" : "vector_uint32", + "in" : ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], + "out" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint32_3_zero": { + "inType" : "vector_uint32", + "in" : ["0", "0", "0"], + "out" : "0x000000000000000000000000" + }, + "vec_uint32_3_max": { + "inType" : "vector_uint32", + "in" : ["4294967295", "4294967295", "4294967295"], + "out" : "0xffffffffffffffffffffffff" + }, + "vec_uint32_5_random": { + "inType" : "vector_uint32", + "in" : ["1051503312", "1875702585", "3338068896", "1062162289", "44280150"], + "out" : "0xd0aaac3e39f3cc6fa0e3f6c6714f4f3f56a9a302" + }, + "vec_uint32_513_zero": { + "inType" : "vector_uint32", + "in" : [ + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0" + ], + "out" : "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint32_512_zero": { + "inType" : "vector_uint32", + "in" : [ + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0" + ], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint32_8_zero": { + "inType" : "vector_uint32", + "in" : ["0", "0", "0", "0", "0", "0", "0", "0"], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint32_2_max": { + "inType" : "vector_uint32", + "in" : ["4294967295", "4294967295"], + "out" : "0xffffffffffffffff" + }, + "vec_uint32_4_max": { + "inType" : "vector_uint32", + "in" : ["4294967295", "4294967295", "4294967295", "4294967295"], + "out" : "0xffffffffffffffffffffffffffffffff" + }, + "vec_uint32_512_random": { + "inType" : "vector_uint32", + "in" : [ + "3535294352", "2244578171", "32943704", "3015817426", "2456157102", "219351158", "2006999311", + "1996972550", "2838712831", "1656769757", "3318502982", "4213769932", "2050078503", "4292367497", + "4290313471", "1262779699", "4083724714", "1323361645", "974092343", "710698434", "2984936844", + "2709051461", "793048327", "2740605131", "4271720468", "1239230976", "737431578", "3362943983", + "918617091", "2606153556", "388763806", "2502078683", "3378874323", "2355187203", "157263768", "1750398229", + "1726973279", "1685332809", "2492836426", "1734731691", "3216588585", "19605804", "1079902211", + "752009555", "1313141487", "2557096315", "3782998189", "1055732267", "1012020811", "3323197044", + "4054145370", "4138435231", "2069952128", "306530649", "1494565330", "3753105050", "1360186424", + "2380191177", "3271137983", "2853578005", "1966300545", "2445678985", "1722906387", "1568386585", + "500870613", "1339987259", "3268820798", "3981291882", "933156616", "3775563964", "1596013155", + "741998234", "268068699", "2563970862", "1804695176", "3982648303", "2655461544", "2734449043", + "738208464", "3745411901", "99361025", "2741088555", "4201353158", "3348783183", "2054886505", "4084856832", + "3508954061", "498624123", "2117203264", "3745504180", "3062233877", "3074639656", "2386643714", + "1332975315", "3901865235", "1858598116", "2599471745", "859192293", "1322827830", "2027021532", + "2694401832", "3990078534", "2974308187", "3968735550", "4206014803", "2971436541", "3774373948", + "2846923396", "3578470527", "3654481937", "3353460878", "4075675716", "3799520987", "4120838021", + "2158786311", "403313196", "2508911367", "10900908", "3028221190", "342848224", "3529437045", "359980750", + "1781538672", "1604481683", "674127897", "37035551", "2695472569", "496109305", "3159798786", "2419165439", + "663646611", "874882601", "1646773349", "3622039566", "1046420945", "3665303103", "678740365", "685087413", + "526677619", "2275681050", "1032960777", "3429497003", "1417114643", "3172213549", "1404837023", + "1325283518", "3893270408", "602238145", "3914985577", "3975382686", "2601748675", "2356353894", + "3153873749", "526408453", "2640845379", "3926620605", "1258444490", "986708388", "3975693528", + "299605420", "104768804", "444965549", "4065545249", "490166175", "657757140", "2768701878", "3813333597", + "3455406501", "2504511478", "355414935", "4015633969", "2880420128", "2359983044", "3197597614", + "212209564", "3888226910", "3951085813", "401264663", "3792922719", "1420661438", "2254844891", + "580834507", "3364803238", "2203604914", "2615046504", "1115697783", "392870589", "311935107", "1442208749", + "1209298478", "1013593249", "2053215367", "3412394840", "4030116388", "142371070", "1950874224", + "3042396528", "3018316910", "3697727630", "1998412466", "1565816659", "841459056", "4030754272", + "1312053095", "2455378572", "1731126608", "2845452582", "3953375723", "3822263095", "252824003", + "3630660489", "1739260497", "1803576050", "1912944999", "2601986289", "2541404050", "4215070596", + "1061521796", "1754148457", "3255336258", "3582596520", "514105160", "2980764780", "3130695110", + "1253698669", "3004166864", "3824662942", "3246231229", "460259310", "4089129029", "4114996050", + "3534152197", "2122530116", "865630905", "968035546", "2199557573", "1958771466", "773581354", "370339735", + "614529460", "3234242989", "3517297738", "830368230", "2173424325", "3013280028", "427969949", "2679037354", + "908067850", "2821401428", "603844792", "71983645", "4161931391", "3067792552", "1418037527", "4463265", + "84316272", "950745375", "3964187759", "1501489365", "2988654540", "2292636560", "3945907452", "502636829", + "1574346912", "3281827256", "2787880690", "1499982341", "847934911", "610690502", "163824992", "777259958", + "2781566187", "3615351968", "3708981020", "976054856", "100913786", "4090496589", "300612182", "2030010945", + "4173694335", "3969615050", "2415563", "991623807", "3310316394", "2251061732", "1305042197", "3465256011", + "3395953082", "2513468668", "1354005343", "1632604415", "216263825", "3076011258", "3746999400", + "1117079550", "2295596376", "883106176", "2361055599", "3258628962", "3945266859", "3860808418", + "846352371", "1399590686", "772378354", "1588875802", "3343689110", "2082989732", "3408728540", + "1076495583", "1680687149", "291855826", "726487704", "799970947", "3551790903", "2742915380", "1890091834", + "2507392407", "1727482428", "3096669669", "2909223385", "1635977177", "2089470236", "981557541", + "2342237733", "2363710558", "2696327208", "2986914419", "292191546", "1107478332", "2959391739", + "378566732", "1118392952", "973862178", "1031998503", "1820508723", "3075483448", "3249413162", + "2076796467", "545866968", "3457667772", "1385917415", "2606276828", "437737244", "2540365289", + "728331253", "2258686738", "470639768", "4189510907", "3916947153", "2585918050", "565375584", "3686965793", + "1007880761", "2413669839", "1063127889", "825859952", "3139645345", "3186620248", "578211014", + "2693981046", "3057114146", "1493741110", "458566123", "2468827650", "4140026266", "894690154", + "523145548", "3726228913", "1831559042", "2679193135", "4072981159", "3190351894", "2550794351", + "1938105959", "4245338721", "3988907142", "2457209373", "3975700772", "144892689", "3811184202", + "425355055", "1855911656", "3474887805", "203251995", "1787895772", "3172519209", "962544690", "3629109328", + "345813322", "150915150", "2893137764", "2618891532", "1625475391", "2029336085", "1263731842", + "1911894423", "3894118586", "1363971621", "960015382", "192449136", "67552855", "1294879004", "2591718910", + "1736825353", "3490063644", "2128190458", "1972629089", "2399260128", "17379262", "161281455", "1709561484", + "2933730946", "3225981600", "2543293831", "1978452738", "3008899847", "3118751066", "1254469678", + "1023053771", "3193145277", "3070133883", "2941828171", "1001485872", "1869687394", "2769560579", + "4142957345", "3319210633", "1455429722", "2614932657", "4245078534", "994863755", "3143378383", + "199381130", "661298469", "2452039343", "2031879050", "2729949360", "2235242867", "2996710365", + "2227030039", "1405749267", "3825028104", "848321069", "1458715752", "2000071960", "3126188701", + "106644335", "2050139015", "4236278138", "1131957322", "1005264630", "3652645946", "3343357510", + "3773188712", "271071174", "3557746887", "317450074", "1545562146", "193974785", "3599222840", "879189109", + "4092020238", "3841666085", "2197870115", "182750812", "2605303221", "2012863450", "3219471627", + "918483864", "53850912", "2530136267", "1612901225", "743481088", "613878693", "2916861685", "971257519", + "3236860384", "3379284124", "2519555053", "366466546", "1686741245", "2943106452", "1199737384", + "4035650276", "3529673426", "2114328522", "2416026204", "2731819303", "2314409199", "3516208253", + "1107875552", "2938755457", "3081337177", "2481720773", "387862847", "3668943239", "2471366547", + "3042011515", "1291823301", "3478236734", "4266051645", "1225358750", "2712399533", "3151898487", + "2747576291", "2815685304", "2442136584", "2977848056", "1605903903", "2992868241", "2668529965", + "1279750435" + ], + "out" : "0x904fb8d27b8bc98558aef601d2b8c1b3aefb65927608130d0f61a07706620777ff5133a9dd4cc0624656ccc5cc0629fb27b7317a8954d8fffffcb8ff337d444baab168f36de5e04e37780f3ac2655c2a8c85eab145d878a107f5442fcb505aa314489dfe002add491a50f42bef7372c803fcc03654bf569b9e102c17dbb02295d38765c9034e618c98a75f0915f554685f85ef66492374644aaa9594abe76567293fb9bf2c292b0103005e4053c1d22ceff2444e7b316a98adf87be12b32ed3e4b36523c74f613c65a59a5f19f82abf680f6607b59494512d24115599ad6b3df38cc1251c9d5de8dbf9af9c2152516aa815d33758919c6911377b16619ae7b5dd5adda1d3b95de4f3e3fd6c26ab14ded08d79e37bc880ae1633a215f9afe392c5b67fa0f2e17d3988876916bef6362eda820479e9361fca2d02a002c3d733edf0121ec052bb161a3c68f6bfa4f609ac769147b7a00f879f3cd6326d17b66b81d40f5317eb4db3fdf15fb85b6284743b7024b418ed396734f13bd91e8e4f4c76e81caf09ae53b363336c0d84edce4d178284f99a046c4d3ed5b5748b13e198eec53b1b2fafd851cb13c60f8e0849ab0a97f204bd511f8d2d98ec0e1c744e0edf2db1678e285ff9ef50777ac802c120a1807f38a95ac55a60006fd7eb4e0726f1475ef5ed2cede7415701f306a9372a25f19602e281f1e3502b9a5a9a0f906921d02b456bcff88319093718e2729a6253465c427620ef0e3d7d11d5f3e3f1678da8dc17428b59ad5287376641f1a23a48709bb913dabf869cc137477542d2314bd9f1cbc53be38fe4e88970ee8c16ce52369f059e99e86f3ecc388139b661b738c554bfcbb055b601f431a689dbd790beaca56024ba4f9cf3ad844f8ecac9ddb1124a53e06ada2851a214c53f29f57371dd4933427b60907a55dda4ae3a551f5cdf6cf479597332f1531b659ef20b9afabc47baa8cae7797be9c0fa60c5ea2c1e7f5c880eb17d0ea175f6813e2be92ad54db336686cbd49e22a6d28ec8b25758836871de9b77328042bdba6a1783c09712ed5bf6552e6e1448a1346a3c8794617a580365cb24b236f0fe687c0870fa4774704957b56edce7b38ed866dcb25a1d775377545d70a52732e06d40f06757344e8c1a5a9250e52e6726299aa9ebb9a3eb371bd3e3c3c9110f897b67d85102ab67f262806b67390572f128179b92bf7a9784df3cfb8489453f692e8e68427d08c2a8158ad5489fa41e6cdcaab1c69d9aba6decb94ad0f20fb39eb9f7e3bd8e7dc1eeff6e1b4528bbf352db45f505e2a6d2443d837eb97a9833da0cb339c5951a830a7bc0742aea1b2e97ef1216b4f9a024ada1c6c04ab4a5d1e6697e31c5d28b811c019bb39d4d8219aaddae9f0a042036542b2ba8b8f0fd231d624a047f0812f8a8ccdab617898554a11a4400709006051f39ab386fb448ecd5e87e59cc3f23b290dba688fcc431eb1da1f51da0a0d65db8b59cc3f2ae2ba605ea6759bf758a32c665662460c5c309b60b542eeb54cba5a0e47dd71c8f12dd486a2d3a7ad203064d06d0f356faea114182ff787f85c5f8ca849beccbdb24007ffa1a3b6a6b4fc5e4792c86155dc94d4b9c8bceba216acafc7cd0955f7bb450ff904f6191ece30cfa3458b768ac56dffe4795425805d4888021a3346fd9ba8c62bb3ac2abfe27ebe2421fe6f34f72321e0f6c53f28e092e1a52b45e96a54cc7a4e6277cdc112dcbdf042a402d402d64d25d651198524d2b8396ae2f3707b4d334917da33a83a87097c573953c4af766e56d93b8d93967add90783611cc98a7c2561813a25b69b8b5e5ce38c28b0b6a073b208b23a7d6a113cc70242fbbb64b04c7890167852a94222f50b3a270c833d33c2826c382750b72a1caec13366c97bd8448920bcd217cee76b9b52dca0589b1c57171ae9e56a97f573692b12d3a08698640d1cfbdcb6f9d1de77e962fa219a60f2b22121a2c2db390a133ccfaddd8f510b5e3f709f3931a12f23bb58f7efbdc6cc762276e392a022dc37b636ae0859eb29551b025227939ac9c3f66ae353354c912e1fb1bd19de825f2b6d2f3eb19fa7c2c4f216e828be6f080a986726857361ba0afd86e4c1ed1d0a76922461f8ec11e3a2084a0e2ae32f675a19e8f69e6e7d941ecf1b611d0cdc1f916a29cd18bd32445f3950d04fd84ab19c144ec8fe0864c771ac0c1d199c3fc9e2601536f5788204534b9731f571ba881be8258e4c5116ac3839708a780b57c606041c492e4dfe7d7a9a09da85671c2506d0fa9bd97e61ee9375e0cd018fbe2f0901aff59c098cd6e565822eddaea09248c08795979702cbec75072b58b35a5de4b92eb0c54acb8ffa3cbd8753be7b86feb64bbc58af3076b13b622a716f032414a52183f0f68922d7c55a18c056b1b4dc9b06c206fd8b6a4c3bcf255cbb8a50e20b259d6a27af2627928a031c79b0b8b7a273193b85dd2b9eb217c8bd841308ca53084cfde32d5a9032683cf25618ad36779dda55ba6f435b0687a3327a7a7980fc4a4c7843f61eeb3b3af4b6d9469647c7684ae6e0c6372810c7e80ed45ae7eb1222681f5c01d28f0b38c887d6755c67340e46e7f3252cfbe423d600835c8ee40ab5c5499bdadbf9770b3de5bf98f3be3620b33503cbd0ce9669eb2260009f502ca50b9724f5c6dbadaf36e439e091eec09cc86bc9ed5b2d96f2d5d715fda08964943d6caf288a8247e4228bf0d28a62d2ca17067e5ca201902741d4a2ef14f3897d1495d1e0d6084281d929af5979a9b7c50dec933f511e1787a1afda930f4e937b6951b5c5a8ff4c3eae51cf3dc846fe9e7d0949adeeaba17727debbe3afc4a3b8f2d3a7080c9091f85a7eb11f26b85f918b63b22d890e9f2371474c" + }, + "vec_uint32_16_max": { + "inType" : "vector_uint32", + "in" : [ + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint32_31_max": { + "inType" : "vector_uint32", + "in" : [ + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint32_2_zero": { + "inType" : "vector_uint32", + "in" : ["0", "0"], + "out" : "0x0000000000000000" + }, + "vec_uint32_3_random": { + "inType" : "vector_uint32", + "in" : ["414721764", "1396444802", "4099449558"], + "out" : "0xe426b818820e3c53d6a258f4" + }, + "vec_uint32_16_random": { + "inType" : "vector_uint32", + "in" : [ + "1381494992", "3456058494", "3316673465", "2895863808", "3039979229", "2658482247", "324065072", + "1118337861", "3690875953", "98201721", "1227056475", "2365715743", "1634445540", "616917765", "1742195761", + "2632010539" + ], + "out" : "0xd0f057527e44ffcdb96bb0c500609bacdd6632b54738759e30d75013457ba842314cfedb7970da055b6523491ff5018de4a86b61056bc52431ccd7672b4be19c" + }, + "vec_uint32_8_max": { + "inType" : "vector_uint32", + "in" : [ + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint32_5_zero": { + "inType" : "vector_uint32", + "in" : ["0", "0", "0", "0", "0"], + "out" : "0x0000000000000000000000000000000000000000" + }, + "vec_uint32_512_max": { + "inType" : "vector_uint32", + "in" : [ + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint32_1_zero": { + "inType" : "vector_uint32", + "in" : ["0"], + "out" : "0x00000000" + }, + "vec_uint32_31_random": { + "inType" : "vector_uint32", + "in" : [ + "508235682", "2308341395", "1525766118", "4136650562", "3621852454", "1567937308", "3269584467", + "1320546218", "2077416840", "739946730", "1282600407", "3203298029", "942979653", "497143087", "933745505", + "3794525861", "2714083317", "1289423485", "3524519556", "3497991789", "3711737680", "3061871525", + "2306867877", "4238440987", "945702953", "3720141995", "3191674143", "2674649049", "543916394", + "2875606851", "3068061043" + ], + "out" : "0xa20f4b1e937e9689e657f15a424790f62615e1d71cd3745d53e6e1c2aaefb54e88ddd27beab01a2cd7ed724ced72eebe45ba34382fcda11d61d3a737a5de2be2f59fc5a17d0adb4c84e613d26d1e7fd0509f3cdda57380b6a50280891b7aa1fc29485e38abdcbcdd1f153dbed9e76b9f6a816b20434766ab73e5deb6" + }, + "vec_uint32_513_max": { + "inType" : "vector_uint32", + "in" : [ + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", "4294967295", + "4294967295", "4294967295" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint32_4_random": { + "inType" : "vector_uint32", + "in" : ["2599571881", "2754953818", "2448479820", "3973051506"], + "out" : "0xa951f29a5a4235a44cd6f09172f4cfec" + }, + "vec_uint32_2_random": { + "inType" : "vector_uint32", + "in" : ["2286406229", "3289673013"], + "out" : "0x55ca4788356d14c4" + }, + "vec_uint32_8_random": { + "inType" : "vector_uint32", + "in" : [ + "2255247108", "883929842", "2722841916", "3289001244", "3428769191", "4039771928", "1073577161", + "1629830620" + ], + "out" : "0x04576c86f2b2af343c454ba21c2d0ac4a7dd5ecc1807caf0c97cfd3fdc3d2561" + }, + "vec_uint32_31_zero": { + "inType" : "vector_uint32", + "in" : [ + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0" + ], + "out" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint32_1_random": { + "inType" : "vector_uint32", + "in" : ["1797257601"], + "out" : "0x81f91f6b" + }, + "vec_uint32_5_max": { + "inType" : "vector_uint32", + "in" : ["4294967295", "4294967295", "4294967295", "4294967295", "4294967295"], + "out" : "0xffffffffffffffffffffffffffffffffffffffff" + } +} diff --git a/SSZTests/vector/vec_uint64_valid.json b/SSZTests/vector/vec_uint64_valid.json new file mode 100644 index 00000000000..2957365dc78 --- /dev/null +++ b/SSZTests/vector/vec_uint64_valid.json @@ -0,0 +1,752 @@ +{ + "vec_uint64_3_random": { + "inType" : "vector_uint64", + "in" : ["6167802979638570618", "1670982671822494120", "2649190588485934153"], + "out" : "0x7aeef3ad21709855a819d003e3853017491c03e1cdd0c324" + }, + "vec_uint64_4_max": { + "inType" : "vector_uint64", + "in" : ["18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615"], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint64_3_max": { + "inType" : "vector_uint64", + "in" : ["18446744073709551615", "18446744073709551615", "18446744073709551615"], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint64_8_max": { + "inType" : "vector_uint64", + "in" : [ + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint64_1_max": { + "inType" : "vector_uint64", + "in" : ["18446744073709551615"], + "out" : "0xffffffffffffffff" + }, + "vec_uint64_31_random": { + "inType" : "vector_uint64", + "in" : [ + "3052724393868548387", "3810693530679841654", "12585541796688525245", "7797619408698423071", + "17300603542735752207", "1500042191375799293", "15730311807639243063", "4896003536604206404", + "11052623568709729964", "7620613587987365317", "14725846845076244548", "8277023605973026738", + "17826368043195852359", "3128829880034264486", "3473891868744927914", "18343612133879937169", + "11117133942831612242", "15989397465635862691", "7217156999682606300", "11356562156743016218", + "8285094276436873719", "1589676644942788053", "4169250114160504621", "558291410544594398", + "15615879608970573885", "9651926789184060127", "7687155892063378437", "17756836253102770925", + "5291345685353917916", "15829036281687984180", "4874883508035225879" + ], + "out" : "0x2359b485a9745d2a76130d84934de234bd77734195d3a8ae1f3729e589b5366c0f0ca174421718f0fd930ded6c38d1143749780c3f4b4dda449559c24619f243acbe0d9193ce6299c57d80baaedbc16944889349afb75cccb2878bb71de5dd724766108249fb63f7a60512da32d66b2baacaa8c83fbe3530917875110c9a91fe5281ea7e6bfe479aa3b8c18f47c0e5dddc444e960d7e28641abf4fa61c9d9a9df751a41d5991fa72d5b58c717caa0f162d2f4ba2e326dc39de8da9761473bf073df8f493c4bfb6d8df7a64d34688f285051c7d378e43ae6aed0af8107ef46cf6dced50b7dda26e493448c8e2a108acdb1789d9e9b810a743" + }, + "vec_uint64_512_zero": { + "inType" : "vector_uint64", + "in" : [ + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0" + ], + "out" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint64_513_random": { + "inType" : "vector_uint64", + "in" : [ + "977103724348450572", "16638432304304789571", "12981575418293692183", "17859366747050231130", + "1662188454432232370", "12352759710061780267", "3234183931608500270", "12266557138542509930", + "18199525626158707669", "5038972670114315769", "240056978730606423", "2299934165864924530", + "12922065155132691865", "18441095095944811941", "10547737433159558699", "3164040834623204831", + "8252904268285025382", "11157110078015893423", "14697827361463508405", "2962665335592765897", + "1074194440157433128", "10073361041261425891", "7896847460035987796", "1010194339988494562", + "10364684437029658170", "15960287444316904761", "1570304858216343206", "12985069376921160054", + "10916134868048390423", "17069946255720410243", "4869242683969811141", "2129015309923850593", + "10476304318490304096", "13339042352261771329", "5941049901647385193", "9942080628048200013", + "6345441787934907564", "8819300459248380270", "1252881971507668822", "15855629560153214387", + "14880830346892594844", "1604107670465918491", "5862926247889560120", "8834826465942384487", + "15431618807287173213", "4626830461960455797", "17948599707814642865", "6052719615078921178", + "14941482303404072695", "8532564245082819179", "3629561283757400391", "8070439397851215541", + "2397438750926008647", "4520474401805166454", "9068468324028717470", "12949472848189146366", + "7353773373764974969", "115413469786052923", "9272589064902772418", "1596199742278885123", + "1657968880462860703", "11305867595369271879", "2026428676385444947", "722155380768152563", + "17926384892494548427", "17411947881045756476", "18171495979452969890", "10271912908915521427", + "18444072933594399825", "16254972903105040221", "16630667709769063357", "2116026815894303745", + "4454480130719606956", "6185770977174465258", "6461058098288351768", "2407546369850650362", + "1736253749300089891", "8326379031142126451", "15245139458704920030", "7800865543378848579", + "13250382195738629619", "14706068740585648306", "3850128657021269084", "12450415049153406078", + "15183617305060454899", "6080880139738469099", "17142733175562698278", "14813917226429878668", + "6350636848342992140", "1292272255182616335", "2951801177775582325", "14929861678113850638", + "15303809795567306110", "13429354516284496764", "10468402811529773529", "16517481984463469354", + "2600473578641855538", "1172476548310435807", "17153780428535628975", "10876715679105180607", + "16230772551522009395", "8981785852487886878", "5606395164467263395", "6439970286716300739", + "9613025542977167084", "16643379267038893448", "10461597085246760395", "361898406582954478", + "13656085897097645900", "12142103879289021746", "11902174243844765091", "1076884863364074785", + "13395343138273787165", "4685197415037034828", "4624403585813928935", "14688164166482407520", + "5009148445009422684", "10426995946049637526", "17067659258237820077", "16151196628372992833", + "16020756694471742510", "16740341963836231169", "957815390429969771", "307380283991785680", + "17932005890976886049", "4028332519112066145", "4249494472044475262", "8332863645066922792", + "8936342202372523962", "1242708572808694348", "17098362380836494452", "1543788437703937461", + "7628293118361326122", "15951591927402662895", "4769943789829437756", "3784493926891439957", + "11578978942430627002", "9820097252214369557", "8497943326456914922", "7128030052475419650", + "13640155228270433438", "17294254210312748542", "1832312825995144470", "16757292153262371961", + "1345969373415803643", "5613875569429700617", "15991574966279976095", "12416500008980030839", + "3474778905885400974", "14867920376097183102", "10746928886674173074", "10823804150798926770", + "10046429162186511432", "11646991899814770941", "3514522824795561720", "7404260138859596894", + "14087090359193136834", "11596826265225316278", "10247673722282781753", "4583832196746093885", + "7959694153170389028", "15795016839667219313", "17981803593641625078", "18070641334068719064", + "4311609789340170678", "2416446175340911328", "18294510219067021080", "2563518867903100564", + "12116293250618016997", "15001919653874834954", "8670797458928043964", "14658334131481750297", + "3032226661314458659", "3575308331709676815", "17194522325603676865", "12812753547866815303", + "1464259543470389484", "8538898544879404648", "17741557292068894607", "14100540531974802206", + "15162561447461089425", "8408299487882720227", "9757114783876767806", "10822680141219423323", + "6210502447799521273", "16873406633514314324", "10492750123568636676", "4996088035508255892", + "15733011781169482494", "3153702619890365756", "12214074507108402521", "8191953044963906350", + "849479552785829818", "7973602689523079172", "18223031247497777078", "14707408569419421818", + "7590245971377371921", "8386046059632801067", "16591942872509859227", "8932989759840508647", + "17251041534594728489", "12752242752429514898", "18312462689682074020", "14849438105100578428", + "16531378619225387711", "1049785817727824518", "3438403429400108241", "13622440129624493177", + "7294142514636142063", "1050694307207084724", "17325982763132519005", "11066261219747154337", + "424964219897196415", "10358465959164754750", "16191343281145831123", "14706859925053900711", + "9478076136206631038", "10082121966792968232", "7176331980659839893", "6038551199436888163", + "6371204431702843692", "537491328086380327", "16600166063353322009", "12864254759985040499", + "3002736687134609946", "5288999767166849061", "2332742758978117360", "6171323241928474", "7733075660885415939", + "2715096982413586706", "16450244688735888882", "12766080316604434908", "14044177173031951324", + "1234750501368857859", "6550455764232392489", "5733753751399645241", "16130569834633669506", + "4828186682330495528", "11603964233003828709", "6713001560240990145", "14153300493346514016", + "9757862045754467156", "14740760692203577561", "6449251713716628687", "7608429398130067000", + "5779499436536925057", "8715043935646495998", "16743941371017494056", "3682930293052520590", + "3386541564944628427", "8186901106527813310", "12735231512082683134", "11837887129224817067", + "6076782378255021260", "13849184223622479739", "9513926526814577025", "15078142390208687667", + "5670138880896722148", "2193840338817769788", "9888762987601666526", "6332746795305001355", + "6744409690485399655", "11828170087867954940", "9134569966268024468", "15631517117588702918", + "1010311973990396199", "9062597867739511222", "10320051759361653705", "18323714258898391913", + "11079524985228536617", "6368937473401999288", "2879603048802106960", "8939067638791907710", + "4229678228821803932", "10629034884544094180", "17507651088536253562", "13296551257710456166", + "12803831624491391283", "10270687523255168200", "6253853071066629327", "697752467825601686", + "2374050714609293898", "1809288210864145063", "2104073316659238077", "2914216662232695089", + "5398331114487347354", "1569386377584900982", "7334483225068371110", "4824659887469262759", + "3245634556868106884", "1361264426983855281", "17393225238243551898", "1944614949879069374", + "6847888877919501984", "16329253065361864824", "1692705332873723200", "12299901941561016988", + "5054879646520189683", "14022166108677490513", "14629113922582673047", "13773351236750348147", + "4506033799782911264", "10628113952037505275", "12133574253433656820", "18045568604286587962", + "13943129714931790827", "5842093147356500465", "1315246979481186379", "374454881891939684", + "12241430376051190206", "12729067699042087835", "672556044508046680", "4334232478421652829", + "13908528131000165365", "5817499316291993042", "14351326725043769812", "2736455887209948757", + "10650629294131740542", "5785008207263882914", "12226476774917316421", "4014347991071999874", + "7728289174859199950", "15538338060773092868", "11938966179942889829", "10848679102949447944", + "6111923947390495248", "15247664056630173200", "15300856881812248354", "6369652789083940966", + "5267369261604710236", "16116013964712795961", "3450064078342642600", "11873895928188173827", + "5319706518863945301", "5727522113200389041", "12235018433862143859", "14105021369386995746", + "6809721757885222124", "219793605388017465", "1737427988309027437", "5348070613335793074", + "4402147530811830975", "4946302330849414821", "2931386982768685636", "11491254244483457891", + "9623225613231124028", "1332916429573567880", "15018399817416344729", "895553669500251501", + "3049833949269508848", "17578277292605907349", "3320299650964482870", "15529564204577842217", + "10253503409753905547", "17946160060674602599", "2778391689585994379", "966527544871518158", + "6452185034020868010", "18331297442979147000", "17861976450934949620", "54699698327791804", + "11015745203556648688", "15649759510379865866", "14475322353305104147", "6452670999954384386", + "9379803429761113190", "4018971747352677006", "6194252225890704721", "17075544086244763299", + "12583732346440517628", "4324424376762449703", "18002399391480954229", "8222793074863915373", + "18015083723550436228", "8873468665691630237", "17231868237387851994", "9041041672007772543", + "14818629517089198288", "15590173423697766104", "6843740596887981317", "13259987630375850076", + "7699755765774032302", "13422256548837971492", "8669873132979216565", "3823007466124039052", + "14652563368254494460", "18305490524504221085", "10913443855133380803", "5291226702304588380", + "12214992447837551799", "15778609592348634039", "7600972396487000732", "698539533044532156", + "13120948962532282029", "5699215972050925426", "5075841750027968518", "15262773747255503300", + "15566599214790639916", "12371787164596265490", "13282825495803648690", "17354901350188778814", + "5393804799168207484", "1658012233555177836", "7008802881421935423", "15146509193444214835", + "3831917034374232498", "13492473966674058897", "2021648133239835330", "10253891712204393862", + "2568016909369634744", "2746673888555437756", "8489663429555171900", "12352885808510789615", + "4628406709145564472", "10616284371183379835", "1792470448096092442", "12969377839355295351", + "12649473032902760982", "2880918724927640543", "9344632906478757395", "1358865706731397851", + "17899596571558459306", "16620734700046590241", "12193385508172480413", "1250612460394093914", + "18190619839367729848", "182750353813862475", "10437850624401527963", "3607259500979184922", + "6092379119613403121", "7113427661520026968", "9124330741577613322", "16827474614344379080", + "6634522662935610896", "16994161811317559262", "6711559979544000908", "8431679369065294341", + "11113214940512732966", "18321766918334997737", "18017973113951139343", "17346984676911965647", + "15467477095917285803", "7117902076001873222", "3976174878934683116", "248158050053846300", + "10396635844709392606", "9494618202303821304", "13348262414313478018", "11144131154075977938", + "11137833590274629751", "4000328585646465772", "12992270891286918959", "12787006879032673005", + "2114620623129741975", "6567601661678006642", "1894933664218880020", "5468223335964910829", + "11344781676272244938", "18110784953789556264", "9560655331156861916", "3391443475888987649", + "5653897762071313825", "13376924772586631532", "1416473301212112754", "4289309093816947364", + "13118549440340121725", "18081352111142950390", "11875105283670334127", "14794076995797171607", + "12768052566344648509", "9261473835921339636", "12996329951128155184", "10275206396656299692", + "35687255015005293", "6849475506285714222", "4962513261041768844", "832767074499705168", "3373266155223823379", + "17232294947068512856", "15720827646424143898", "3339680257007613233", "3999179047115322394", + "17532391346520134224", "3941488948321551104", "1032506466133652731", "983172949831851205", + "4074965048585363814", "13755543591888407947", "3870779899516715030", "9750580635403444034", + "12535323561517976624", "12758885831344876897", "5939426750581532694", "2317731676631631068", + "7904436366116719169", "18052442318159734840", "15560263424525297839", "17727671056821725508", + "17102954599136982273", "16412839837776152599", "13935598261994724923", "16017613144876653411", + "18208311262234999095", "13854945983761605132", "5895148453236540642", "2653976566142290933", + "4085465542295721804", "7377022203015075797", "5172591284434077144", "5793742294252119682", + "10847189400170229879", "15461835451771729183", "5109845722067874472" + ], + "out" : "0x0c27800ea95e8f0d439878cd0696e7e617a7564810d227b45a455af76e37d9f7b25330b8974711172b5dfd3182d16dab2e08cd7d2621e22c6abfdbfbb9903baad5f3cebb21b491fcf9bd1023f206ee45575f17df8cda540372c52933f001eb1f99152368cb6554b3a515fdde48eeebff2be690a74f176192dfed8b1260eee82b661c6fccb4348872af6f11c88004d69ab59d0ce21c2cf9cbc9c95e046d801d29288d48e9264ee80ee374a5fe7ec4cb8b5409e4f4ec3c976de2d81f6566ee040e3a1e2cbe94c1d68f39dda28fde547edda6260edff2d7ca15764930ebcc3b34b417a9478ad3e67d97836c39dbada1e4ecc5b230376c069343611961f524c88b1d605e8196454f63914130749a58cc1db969d28f9468d972524d011be3a75df989ac9cc7c0af890f586e69f0800a73647a56a734d983216311b38d1d0714830adc9cce62c55b5483ce1bb699676def42163862c5fd5b4c5d51672fb7a2dc9b9b7a5dd096858b1f28d675061c89cacd3540b1c4f8a7563c16f9da73d1d56b94ff53f75e2fd8fdce5acf6b4a5c33f9c1697647e1dee0c1ca5e32b5363d92dff5ff6f4771b37fd769452176e7d79784f3bb3e9e199dd6e4abd97dfe44e138f2c4b5b379b9fce5ebd90d663b99e474f0079a01c286b351a0daae80035f1a6535d726169f11a498e949021747d2954bad82e69c53949e0a25521f1cf39b521f7e9c050acb0d11e81450c7f83c0a596958aaa3f1a2b3bb0c511f2efc93b7a8235e2a8d8e51844aba9c82f6ff5d0f2d9bbb4395e1bd1b58422b00cce601b494882da35d1dace893fa137ed13deaaa671cee45d855185aa3b51b4aaa59faae3aebaa52692123d4f8fe9569181873d37c209d3d8d73decd65c3909d91d3434bae85e13d426cf355294b67d0e2b7b270157d9a7316cc5cf44d5d9d676e357e64f7a685c2c8acf3319a217e0bb7d2ebd2d6ea44a0635426feb740ff38e7ed8c9164dd3a9b95cd0c85fd0291fe21580fb740f3c412ef1175ace42888e7f6280e85b12d188631cf7ec5ee0eed0d62d47cdbece1c7a65ebad9c1eea2e43c47912afbdbfb59e239e53294bc1ef1bc1624df07856935794510af04ea456a780eeebf63fc6748dbf1963341a12ba4493fe11e682b32a5b6a57ca3f789b8b2eacd4dc3adcbf7da5e5f59ec1ee9a1cc5368858855f4514329f9e6cb2565011f0f2f91ee2928f1aeb805054c0fba36c52984bd3225ea86256b81a8a3b52b136a042da5218dcfe013ddf10e1d7d46d99cd1e5b94c61dcc9392a0541e75b7b668f2e2d406030cef97cd7d6cb5ca9fc9bf8118445960cba7e9121b490ad1cacc2aa81dcec41b3a8c3c29324e02e14f3fe542955de010e066d52a451e86bfdfada05d84a0dd0004a5ebd08440421ade3995948dbf86144d4461583e7377e733221b53cf93a280bfbf55547a473ba07bfe3e243047c4c4a98e1dcfc3e11745ca98efe9549edb5cdb29d67a36c152ad27bba2c24dd69ef0bd3c257705fdd3c395dc79a3e324255c7fce62c398534ba444e0500ccb0a015ed06fa6bfe4788eaa3dd6e6ec2ee75023c1b1a91d9eb629e143f56e9904bbdfebdfe4c938801f0162dd5a6ceae6d1979f4a4f06ddc8de8fb0a018d03d8ad1209e01939167ee84d9fb42570b47ceddd77a5e304f94450ac8edf513601e538307e9510f6ce7655ce922c99fce1c22495b2c3c43687e035964894404118166c8bfdb84faa6c6da2a1f81ef16ee317c6305e8c4fe95d37c166c26e898a0b667fc3b6c7acac0b34f0a0392cc5b6f40c378e3da50cc5180b9d3f248879f8a883766e717bad4d212c33dbf605dac318338cf9d82da80c8dd0c7fab6b9b76f42ead53be0da0b5cfef0882118573ea31d28e3fd94366008d4729323e5c48c3d84b825a80a1e290e718631d0bc07c45a59dc5478192bf4b93add6ccb23f41d4215a2142a0fbd0c22fc0b9e31c1722164f4369fee473b3a87770bd0b1ec3887fb4b1852146806a34cfc4280768ff701bc5bac36f61e0b5bede72eafc39170f3404d3d6cd2e33359ccd547b0743ee0af55333c68875be40e573fe23196f9cfc85512233056542a571def612aea04a33ef8a4bc9d91947c0c0f99ab5545fe8aa49fdbe256da3cb5c8e1d233c42b59c559200d1c81a92ed3c03de4a9af71bacfc10b27f5c90b04581f7166eda76eb6cff2ad5e36e5fc7ad8c7b22b361bcc11bbc9017ff855692b357ac6753861749b458679226c42e6e7da7e89db5af87b29420733e00268ef92601c143811f9b0a42918edcaef22fe7c6eabe847cd13cebfb26a6644416be586f2e8a3a396910ed1dce09bb3a9b72f794c4b841fa10cbdef35f695f8ff3965b47a9ad4e7d0940e5d020ead864172f0a1c9b5a2f24193997f2f39d9b4c6e5053ebbfd89e8a9c08fd3de1ac5ed34b3e0a707447a2e4319cc7e00b46407e488832888dbec82e4ea8b95538121ea73976363d87180523ecd532ce10aafac106b58270f71e0838d7507195aab4a15a35fe6734c09e58b0387b21a12b1961bddab2925901a13444d6649f05e410d2e915f201a17a129c9ec150003584b8c5767516b12317fff51f6ad25f2e55b2463024be4dc49500d693a2ab1dc1b38c9baf0e6c2038553fc09b72211294ffbcfcfe4e75a3940bd7da862924f82abf819cd4bdbdf28ba94ed342a0143e505884efd8f09a1c1a7ce1e5a5f295d60a447b1cf9f6ac4542376ccd4e36a87d9e0d5e9bfb391cccfac28974358805938862ef639929669818b5ace1de83450feb42102490ef27828fe76b7f66d5ee88eb8eba996651c33cbba9e539c69ff2ebebed7292eb79d71fe940c0a96a1bcb0ab299dcc9f9f48a4cc743e79601155547b3ff6ddac2f32c081e1f2e9c441088433ee25d19d5240d1e4e4fa3e4561b04e3ce127292a16721ede2107588bf13b898be1a572a86fe25767a0154de1f4985dfc3645ce061a26a494865bbffc82c47ec60650c6ff4deed8277105326359050eb679d3b8bed0c47dc97b65ac6530388f6913660709e94afe29ab9cb04561c299b8cfcc52e3026358503efb51b767f6277ea96101a8f20d7c9c832077f0d5b23ae45f7c96e9ea81937a34afcfe7abf7f266ed9ab5ebd686b833d9b85d0659b0b1c82ca9cee2cf888ecf8469da3b26ca5696ace5312ceaae094a9a0cf38b52f220a702dcb00ae21b19bd14da9c882b331d3181e7369d6071289af8f40a8cb9ea4a76fb486f9894c715a6fc4229a251c965a777ae029ba2f442841adbf06ecf0a2db194bfb7c82ee4129aaadd6f332661f1beba7470fea8fc1aa07ebd1da796085f78385a9825299de240fd582b88b27d179cc2e1eea507b2aaf32230b1418a264651473e81c8bd98c297f642ae9a0d05cb730f31b9f9c524bf20cdf6eddda5883efb88914754a57e93f415bd3f7f1d63a83a94713c09bd6efaebf3b3139af27fc1f191edc8c34813514bb0e1cb28b240126475942bbb543205be2935b3114ce2a99b734d7ba1bba6b058a571bc286655095d9548b27949263cf5e3ca04a50405c1d27da944cee8bb50d4d1cdad9e272ac755e6ac8c21d8f9257e7f17dfe9a2ce93a2deae70507a4850459f821fd92bada98247a69c3ad4b537ceb5faec0e66406b04ee4f002444a3d765f9e53c7cbaafa5085981552a408e9610ea69a272ead15410deee85ac959ad32297823f449057d466a8ecbb768d65585ca7c28a6f74194939dff0895095a7dfa8dbf2010017e12f03fe9ca36f8dc8a4551e37d6e464d349b1fb8028043f7c4f738fb5127184cba922109b2f341abfc3ec4cfffddbfd805e391f0e9d1edd0c036d2afbd18c951c18b2dd9535e329384abff2e60edb91173da54ef765c3cba44444b221ffed60ae2863e32222da22799f3cee148eb5908c8588b5033c6e787f129984e42310136cd06d2ddc4b51a56d0cf0c22272d12f532a9521175d1096f2f3366b97dbf012142e29e47b6a5d1884d78b59a39906c34b8e67f6cf0a7e910df98baaab6885d48e26ce7fb261aecb690daacfe7711ac48a59f86ccca8e6d965fef4c65e00f27ce2f7bc2826f81555c200f0063512e6c9df980aa77bd45b1d2fd913af059efcace2c802e6be34167e8c5966dce6e585c12b828e8a49c38241c637515d63b59467f655a3262457e084f8ecfc072ecae565a2ae273ff7120f71033c753deea1dd5ed5f96d41ce40bc3a1d72842b25d5326f02fa9dea1be0bce4247bdae8d611dde423ef7fe986cb7f3b787dd05038880859a6cdd8a63dea206c5bd8058d6d2cd0d9f95e5c50a0d27ef004b8ae1d3aec1207db6a24d6a58d376f45bab5e0edf2ad9351788c53fd07090d0e35fcd6b535c05c58cb9d655a38a52a0afec31065455d5774975c32edd0a6366e49b7bc6fdbe95e84a9b7eb8259d3e1f8da9c4228781f147c69bcc3af1801b6b109ad4ec44b90f916b672f75318bbae174f06a083be2d037146c4695284db43d0d32c8178ae82ab07d812627faee06ab1abb2dae0ba691356b83e05f3e9d3fed8f07cda3722e3a4da4a6cf14e86577102173f83e31f1645446133486e9edc3533d2b2f9a48a3db42d35911ed02496e53ebbc28a971a44560e1c86cd434f2f244d8eb86f2cecc56da323bc0e306159251e263cb242b5e857d175efe73fc731446eab38f5a72e61673b407ba5ea5a639e54931a2127296022e018777698206e7cfcb3165a0d22b4f48bafdf53150a5114fb2713a617531eceae81db622f2329a9db12aab78ae63e2468f82121493626b6a8e69d3f0430849b37a95a9d771d68115b11b8d2afa95d1072fc4bf8a6817a4289029bd40a3ed7b1da901a658470678f0f32f15f90cd877a8c5458bd5604c5f8b7620a00e9787722a07ec86ae686013387e910468ef2358f125cde8f17e32064d7eb8cb972f53d40245d056a2095b65703752647d3a91b123a9ae964dc78f0fd43fe0fb6987515b30cfacf657bc7a7debcf0abf1a3f17784a7d6466d1bd239dec762eccdbb57fc352e371cf59c856ea27103de20ff8e37454890f8f5464af3a8c3838257da95f18d3eb9d20810913de8a79a77a0bbbba388919aec624c6ca70584372ff7cd248ad14db4ed02380d029374b1970a5dc440a4581d72319526eace245b1418b2b820284c1aeda4b0f42608e34bca5891ccd3c2709d28a61ddef56e56fbdca38c815e45ae8401de2d68dfd3102fa1fda2180fae764e6c3126e93462a4b972a79270f652a813a4d2cf24e5af863b7d58dfff35730eb6f6556f2bf2ddedfaafda88a756d9cca497bd4432a51e4fcd3dc77c3a293c31b1f474aa66625d87803074c3a83b3d5cb4ac2e8502c7dd988e6d9c2d8e5ec97e002e1be6d1ae390e5f8c598fb58463de44503932f83d958e0b13b4f622b23fd02e580ac728f46825ef1a5840b073992bda31f552d67fed582e1a747ea027f07f37501277000a914ff30083d5ca50fbb236fbb430162933540ec51c80bb96eea40d662110211f2f8d388bcde84e0482e5be16806a72cfc5b735425f06576d055187300cdd3c5d6af6ad616d136b10ab10b11668dd4529156d52dc844c16ae3c2a20410a11d8fe32b26d38e82376a42887faaf68558e2429f1d74429d5a4e65605f6017531b397e659ed1708079edf1ec6e33b1ebf0ac93065c1631b00524afe49de37f942099feab0fc0ce25530f7a746c0e2845bcd48c6cf51f54b1f23a0d1d4244c97a2d6437db238d517e2c69b726066d885f91c5ebcc84782e60d89eb816750777087e049f588961f35654e6c7993d6a8b2e7709cd1e946" + }, + "vec_uint64_2_random": { + "inType" : "vector_uint64", + "in" : ["16527226978582771838", "7558561043290308816"], + "out" : "0x7eb8ad3c5f815ce5d0c06cce3867e568" + }, + "vec_uint64_8_random": { + "inType" : "vector_uint64", + "in" : [ + "598083651574187315", "16261093746939895763", "11288686854153899408", "4845075573469762221", + "17314674068189149066", "14806780961068871529", "11182945185590657296", "10120249242423179797" + ], + "out" : "0x33450c8ee9d14c08d39fad9d9b02abe1900d7742e278a99cad529652902a3d438af714f453144af069ef869bd5407ccd10c1cb8165cd319b15ba0c0d1159728c" + }, + "vec_uint64_513_max": { + "inType" : "vector_uint64", + "in" : [ + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint64_4_random": { + "inType" : "vector_uint64", + "in" : ["7900660817174063737", "6533979385570669156", "4271747397033668748", "3517156834185333722"], + "out" : "0x79ea815a27c9a46d6432aaf6a15bad5a8c3064fa9f4b483bda4bf4888173cf30" + }, + "vec_uint64_16_random": { + "inType" : "vector_uint64", + "in" : [ + "14973315493487554254", "14609512114016110986", "10032323568597029119", "15153216164748753291", + "10355457468023345721", "2367705310487571285", "16938628278728286031", "549797285436435601", + "13256773041589582886", "5207050997383557932", "8672288948259042494", "17841422853058231140", + "14461294523448768516", "15336235419586149355", "16699880407387000672", "10919772420411846664" + ], + "out" : "0xceae2dfb1be7cbcf8a49b2f9dc69bfcaff5001d221f9398b8b798e10d1094bd23992329cb3f9b58f55eb6a6c6fc7db204f5ffcbfac1812eb91ace9d8b745a10726fceb0bd884f9b72cf363424b294348beb486c6d9285a78647b12948e7799f7043877f6bfd6b0c8eb3b32f8db40d5d460cfce31c0e4c1e70870c13229d38a97" + }, + "vec_uint64_16_zero": { + "inType" : "vector_uint64", + "in" : ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint64_5_random": { + "inType" : "vector_uint64", + "in" : [ + "5828194763697002133", "3153164540286514337", "17780602567657386724", "14508245260957717736", + "17433120455160158885" + ], + "out" : "0x9596f32b42e8e150a1b42276714ac22be4f29d61d463c1f6e814a16532a457c9a5da6a78b0e2eef1" + }, + "vec_uint64_512_max": { + "inType" : "vector_uint64", + "in" : [ + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint64_5_max": { + "inType" : "vector_uint64", + "in" : [ + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint64_2_max": { + "inType" : "vector_uint64", + "in" : ["18446744073709551615", "18446744073709551615"], + "out" : "0xffffffffffffffffffffffffffffffff" + }, + "vec_uint64_5_zero": { + "inType" : "vector_uint64", + "in" : ["0", "0", "0", "0", "0"], + "out" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint64_8_zero": { + "inType" : "vector_uint64", + "in" : ["0", "0", "0", "0", "0", "0", "0", "0"], + "out" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint64_513_zero": { + "inType" : "vector_uint64", + "in" : [ + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0" + ], + "out" : "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint64_1_zero": { + "inType" : "vector_uint64", + "in" : ["0"], + "out" : "0x0000000000000000" + }, + "vec_uint64_512_random": { + "inType" : "vector_uint64", + "in" : [ + "17241722399186003656", "4508348299491693172", "6390266777275510888", "7713446915618301827", + "3550195828120217512", "5302692434353415902", "15673077652530784987", "14832124852888348945", + "1753911173413660973", "1075815492117229518", "11241194954592044759", "1281488023918797583", + "599453714058194419", "3735940553373052238", "9886605999730343926", "13894876080851666743", + "13766153765073927061", "13296635374888364831", "6339360142116274942", "7079501668842920010", + "1372060629282321776", "10179341093532542329", "1086554926191249476", "51310827223246976", + "15101027843973281037", "17264578345840941884", "2895091660111282452", "11259336413260264993", + "4468757979379698791", "4035715919530899261", "1025181016203009511", "4752313924109113596", + "3100904083213969471", "13356428012977393122", "13337157767310759285", "6011642549773058850", + "2679491627697271076", "5774685149971234157", "2664236705892336475", "9484694635352631218", + "8438500221004822688", "12226477678261729015", "13972420747356812790", "17778471074937523903", + "5538186573400162679", "15307566472736657798", "16874304098913023531", "10496412146825823418", + "13345309971802243453", "1979576016101362527", "8341772102581541009", "14795818846096597535", + "12063527766864817109", "933932265033871243", "15495519375337801800", "11004710052413938247", + "11376911068644489062", "11274078372000306369", "16024899649062489895", "12527901368166666644", + "9167851986810971607", "7639250520330553670", "12175943369748294703", "11433296979460156398", + "3289776498715737894", "1975424119365053845", "14132559792450940331", "14175906319092989077", + "6568938907366052985", "2884247324734735147", "2783865510701722067", "11614104864990869776", + "15118413830640886550", "7303142987856320849", "7350383677278671339", "17161093046890865875", + "13881597113642395285", "17216341447778575131", "15420211816188792653", "5931271727769086795", + "1396380889137055954", "7995627627154630275", "15046964727593040364", "4118119230448789621", + "15056492579684120378", "149696359103794600", "6436401256916666699", "14485664388021798587", + "6672484247361041213", "9369412990468149472", "7387583474326038300", "7717994733169550446", + "9657668808183836845", "10881287544527265224", "7740144991257366388", "16603284103914164383", + "16909852972644451977", "16190034088261681620", "975044726690203640", "14921330866560914651", + "14204365217829969646", "9321249052168994969", "2855218731091338846", "5158761002360057888", + "16323423960645790248", "7080249016278350233", "8163639944976994831", "17246584292805788030", + "14912918418824322447", "17879238257254559006", "1687439776959916951", "11897214710284854188", + "5467428801567803790", "99939598953289243", "6254316951401486413", "3298325683893392646", + "17416546930489226544", "554984695726970825", "16591273569279856590", "3646260786662757445", + "1143846323617756527", "14409176393006675924", "7239332693029023530", "17868549094480882513", + "12840141672683914763", "4534589331587855663", "2502683457403019267", "10800894965932499723", + "10354517057987210350", "9865920798843503314", "9251910129262137493", "17882979680984287028", + "14107283363256701260", "11692608695634569721", "10404876596311847319", "15653715697997658202", + "737432608457339476", "4069276128116235638", "8927027426406681578", "17926639373548099222", + "7103551943313900801", "15649961668578718108", "12934290109134082792", "6863348590517809611", + "12968390131768490626", "1813459423434256197", "12668413937093358467", "18164297446852058700", + "2361054352696138093", "1931608926296492116", "7156709574881923459", "17414374383363939762", + "16925444688267625456", "9817277035217745369", "17419060459670714038", "12548530771652298825", + "6679019902374202760", "1456389206725541843", "11025118668108218210", "14381508088579879882", + "6672488383267110341", "2069008514071114127", "375615829666888739", "17475793861017636857", + "9764959397083686100", "2162908909818681181", "686763681868282441", "14954144079718712321", + "14023152835952446281", "10956840285030854795", "968529128027547872", "16829138398656711526", + "3774482904287025835", "11015064706022367165", "16034423873709308150", "6691021874340720961", + "12761653061143385413", "6659399105571997969", "3902872516376264569", "1125151405377440558", + "17273330492149640622", "5799030435078732763", "2198324642423143817", "6528472560914593134", + "8451870605828010870", "2382190313510954831", "14730209600129330038", "2448602058301590244", + "14566501270120547011", "8731226846157349505", "3279979957310511818", "354206126376205686", + "13060104378643099", "1621375492784137385", "16156576380725138571", "18230451966841522836", + "4826352740080314192", "1385642393553235938", "7702346681028068046", "3597340335513122046", + "6920454437688751391", "13212641535644769927", "13474321152608180520", "7122465017198914852", + "2076529986563788945", "18185243652560053090", "7247909942712927990", "17373481430258691575", + "578260744966406347", "9604568488809600873", "7632328430249421415", "13289660263410606318", + "5099372283166947112", "4593996339337045664", "17329648525261830085", "3190782261622312396", + "2317071425599680242", "7839477342383709997", "8830064471720011612", "4935917348189041693", + "7522538888948218485", "161979932831419853", "16605791947526161933", "6463361861324507966", + "11227535428784196574", "10708235948126784567", "4857188858792470471", "3157426922187774434", + "7354764536444748080", "3979744032003108424", "774859249809097223", "10372920160473634757", + "16148538034702494412", "2746169823755237631", "8980950585885599888", "9709513013684378042", + "12820761045193447371", "7028688630663578368", "2473765168274632097", "7273118918852980263", + "16516712058817110821", "11553173586727302804", "3798037895425309735", "13992046615457199640", + "11593443416242926054", "10297285135538651727", "4866184542985161209", "5953625941386431602", + "3345497314112634183", "8692704381884788155", "14726779239607691362", "8840938638741323896", + "13052642178125456935", "14281744265389672379", "3883817754981417505", "9068025905541002631", + "8669504042795297506", "12449821616841197193", "4358765626989477747", "16185339260913121928", + "834698172944353232", "17560780797103206462", "7379088181189580616", "6252577659364551190", + "10379497994576507399", "4863537630105322954", "3622080541464128084", "10278693032601993774", + "646216505689449031", "13154727716280167247", "11022966720835280344", "1333489268512260275", + "18416204524378066806", "6021358009616251340", "5630802006144228962", "6715341222990751325", + "12774374200825138789", "12478372084698311441", "12535156747957729405", "5568221094604683128", + "3832184545619069473", "4829721335720239211", "8675483737039685518", "18096220140071845889", + "7758924104409419884", "6987409562154010085", "3982701214569520462", "15988008153987428106", + "17587242640044375138", "16997122468007091171", "6026215816746994292", "626302505356232489", + "10720773851086879225", "8305236194016240889", "3932713913640377117", "15625103590455174694", + "4580669710577487901", "6866237510051473022", "12212213730682288456", "5062868727576835576", + "170359117255568983", "7865884378855248982", "10534773481478953675", "7155487624278265633", + "14322180520475197393", "10152560118405481876", "12859010522967556226", "11580159338152390386", + "10120064097538469230", "10252023360644551151", "10535138147795043367", "930800106376199373", + "1834152388430370434", "15494849906342347764", "11048427263420736996", "17123619240272148459", + "2435176304313737242", "2712294746328953176", "620886735287380312", "16165773538072642751", + "2566257083841881550", "16966310957240506672", "5269284092913405441", "13850945224454864398", + "11756810020960481125", "16633183927649591555", "17904509870569615842", "17841513380636906897", + "11158352805905199905", "11623989538410805355", "17099577066103607969", "1772399243014015990", + "10998257534549811529", "2143822019277250880", "7922903718853209313", "6314476190438146449", + "4761921651499062130", "15890283794832641365", "15139824976495038536", "16607998068638793448", + "8341363592175266184", "14808349981901859745", "11158007797666491729", "17408069133989053727", + "5837648777950419528", "14576625808490734979", "15216293341699376739", "13756024116819966193", + "5028816035998365766", "6492677005645834691", "3951252210874442859", "119058755059473364", + "13744925311900968661", "3982786882072158769", "3122752589341001230", "10504208486203158071", + "6652408325547086747", "5967474466344967961", "12539121297600626407", "1831163339347427376", + "7868114814755902815", "7729102434867955318", "10792601863845520542", "15327711596842879013", + "14730808801359957011", "13121948649095597837", "10291034340260237520", "13562186750934916778", + "11893124589482900772", "4216614846885738542", "5380991314915788387", "7588567317617226717", + "11763275040999342292", "14721824372618256217", "3814744527349517609", "6669444972815830915", + "4453311070294464051", "17150678754265386723", "3180479219182529655", "13753406126426600702", + "18039519803161735191", "16978087054732732497", "4753587762321157187", "16349090300908904091", + "1719914446282977460", "10497110735814996482", "7729768539088985149", "4890671606572480113", + "12893970054684446229", "896141493801635325", "4064723958976488956", "1084645415411900279", + "5769119770770455245", "16575323795449897482", "14885646597978204918", "2420851202774840493", + "15271173362913424904", "18047310131733227355", "17384678802650177216", "5464172276830829655", + "14818089207220879262", "231881840306745236", "9319876150797849115", "10353447138996405490", + "7770214348921122165", "7553287734467352768", "4040307014012336414", "11980970108428985587", + "8063764240108738475", "14749321943128113691", "10264000127073918304", "537540237453590564", + "10243753712644813004", "10956195294627753220", "15141991952122893673", "2849514475226491629", + "614081310301071834", "11964704847203999018", "8078388910864765979", "14454341332910612932", + "6052796197188009711", "14386023744813843551", "13257904575195033026", "11501125974282942918", + "6783395893226430540", "9832175631847610406", "6577082661209438489", "283012575285651246", + "5517723887933788175", "10439741863153267001", "8687763311968593313", "8205782270208761212", + "7025841073662323682", "10387229734518108058", "142617070939414579", "13803827233078255887", + "11777533550195138143", "7183961127473715685", "853017645937610837", "3598424427347891859", + "49634819974482811", "2038404877488800279", "13483271778583008643", "15157533314308187849", + "2918541179210384126", "13794139156355354544", "151841964911089355", "13570552526060823977", + "10158219054306749755", "1060253014266168405", "1112115383996279390", "12520016191611191326", + "8781870202542488753", "4975835405302382437", "5705904694736107550", "3758725711421399923", + "1925159567569233306", "499896115393088959", "11899025888433791825", "15682408163367139445", + "6563481322991136312", "9129687374050668767", "2378242382723489419", "11419698217704485491", + "18303363177605120951", "119097852652391841", "207784874726242248", "14216165769960901462", + "8604181500446787430", "16926535962794786424", "8783378487370317368", "852504826686441867", + "17553104900546318147", "9030694207409821712", "13352020686711684464", "3791043664537127126", + "4301579124652776915", "9305794633316854866", "1004979148389846188", "12610028657407783693", + "1942677164820237066", "12000529508553989685", "8814874170978082399", "12359219626082016813", + "9645287674288360205", "7128934259613174656", "13295583807902059405", "544030423271756204", + "2501598784155156254", "13384179086790650846", "5758795200590176989", "8907312125745157390", + "5736422272745975136", "16346141694478899689", "17089056999711466723", "15362835914937497208", + "5882116093858791798", "8165449238502268942", "17958972839213318217", "9265641795985317271", + "9170235597135942008", "1826393314748018190", "13996528346981171162", "12099397881246726994", + "17935337810234220217", "6426419383251358429", "5476057065032524981", "16076021385039656340", + "2510196106676515353", "2704501097220025208", "16058110628056241513", "6507984389564325741" + ], + "out" : "0xc8a660e72be746ef7452f062e4de903e68b07cdfc6c9ae5883e742271aab0b6ba8e72dc24bd44431de66c996acf29649dbea35e015f581d91129a740f84ad6cd2de9e86aeb245718ce6f827b7d10ee0ed7465fb740bf009c0fe3987191c2c811f32dba15faaf51084eedc6b123bad833f63f2c78c647348937473c652d84d4c0953ba3c2e9330bbf1f2b1dc46c2387b8fe421c3e76eef9574ad82a4e42713f6270f5ab72df890a1379258bc7ca48448d448894d4f237140f80e8c5edec4ab6000d754fbfd0a091d13c1bc0ac881a98ef140121a9866e2d2821b6ff36d032419c678c1eacb437043e3d3707263fbe0138e71d41ddb32c3a0efc98aacb559cf3413fe8869ad59f082be20d982d83905bb97555e679531a17b922c3d8470ca56d532471875770772f256d3dc25d8ccd23505b0345142b45f924b2273fcf8467a083a0380cee3d931b75f7760873ab2cada9f6358002a402e8c1bf4e358f3fd1b9f677c15a8f5897db4c86d1259f9a666fd42bf6a08f2c922deaba04a6333cbfaa917d41c07eb61034b95fcb9afde5dd781b91d8a2db87edc3731f229e52d94e55cdd5eb09b296426aa78baf9e6572fef50c484831e9c5240bd7479a4dba7c95b89866b7c3e756e8e29dc114fef48b92759c27cfa6c753e163de9451b42eeb0bdcadd7253a03cfc03a7f464985aedf11046a2fac1edffba3f9a8eeeb44d0063bab9e263f61ac4ba2a72d952d7e33c51d6a1babad01f440f020c495bcc0a6b0efbac479d4cbec218f295b2b432f13a9e70628d369d6b3ee46a22610b9ea2dd7962da116e3b3364765cfd151990f8fdaf95965eb5106af02cf0166d3245be9337328ee9526bee90657a5c01b23ada654bbecee4dcf3671f298ffd54b6bfe0f361c5052d288283405f1601383e6d9d8f62cf66eecf90390b28ed1d075e89a119f7f26393a77607f3a68f3d0a80d8da40bd413024b496576d7b05259bbc69037036b07c93d335815126d995ce0d0c83a79d706821ce7bf5f07f885666e24e87051d31b6badf02ace9cee0686c81d6ec65e190297740fea49dc846a6b9f90b1aeecb66ae689468eb6afddabead4814d8c398eaee0f8c77c4e030e880ddb546fd55d3713cfee5eab5ce80a20c599c07a79a0ba5b815ea6bdee4ec69f272030cfa2cc999747286a64649b7388e2997994b0f71842620f128bf246134b717e4185b9092d58ef8f5d67364a54f5ce1e6d3b7a77d01ff8976b8f6589fd6a17aca314afbe651ba58e4930008735e04b1b169b26890e63014d58fd6821cccb56065503f6bb01c62d30f5ba0d2801b4f1c99795eca3b3b307cecf402c680b40e6455478e3dd1e9a326f75dfc42bc2df0fd4771b1b96adf7c72aefdd8aba467764512b29d4bad6f9f70bc60342d25831b22ff591c7f818ee3e03e0c03f5851bb220b23b6f4be7ce4956eec0c5667a2b28fd28234d5b1caea889510826c3e63658034c79892451b2df84c91b1ac7923c7c3f929f198a87d44a29771f10e238c65905a381b8a7d2b3dd954b2e3e00ce33b0a765d581d14f97838eacb239b252ce37b9696dde48737c8f801c5c230dbe294629c311d7438d52fd9e812c95053d47fb3cbf17df32d833f5f82fabd881dfaf8b3452f62ccbcb32a1983b30e0c5b3fcfaf4cde26124a8c14fc6dd9d7a36c26c4205448e0981574ce1a835179c370bd5163b2dd11823c49acf1f0c3b6e54442e3ead9f5c00973f93d88b6b6b9ab32efbcf149c86479405625ae884dc7d836a5b05cd3bf966944223614623f1edb03170199caf335fa686195c7c57d8e0cd570995c8fb1770e4898b61c23fc4e639b743605f98fe805ed7d86f2d42449add51a84875d1745a33132041e49fa6516eedf87090104a55fcfca87cf490bf5d9343f9cc28b30f4f92f840e98e068b3461ce8700d66cbd17f351c8de9ab1ad01034a86134bddf6764fd5edd98f6787c228fb785de417172b4f148db5c45553a50d87f1ab111492c1934f06a5c79ff3d16e0c929362ecb0dec3d579d0faead80889032b7efdbfb8bc4744b7a50897d9e749d04821e6ef5326f34cb995a76b3f13b89134b754f673200783d0f2176ebc15a96376ccce44a5b49992efb21c3c2cf81ba9b26ca8122907a8e8c2b79cadae4a164d4842d76bdeb639864ea049bf2378218662e00a924ec966b4880168b9496f79db037e0940a698a7993fffc506738f93ea6fa42e26f765d6aca3a13ce4296637f3be46afeb471c2f951ec311fb5b61aa5640a60879ead1c79bb5cb72819bec2b267feba24ad495b3214d86291d094560551d11c62e3c4a0c0f65efcf6066d1bb1bf9564f72d6aea4f011bf1cb804673156506086917684427484a8567aa21fe447aeb69eea03612995b6eb82877a3eb129cc446a026a1a15427c13fc5779a6e84477ff0cc8d9dbb8fef472cf2ae136a2fe427202d1f81891b6bcb6c5c27ab74dab08a7a1df47e33ade67f4475fad16c436d6568cd8d2805e4773f020dc65686cb9f73e63e0b0e575e79b259de8bcb87fc37d09b374c2a33dc4b9b94c7674f5788336843e2d941950e6fd12b30016ef1605f116648ae868c1ce43a370702ccdf61dac00ac5d78488ed03f48fccaa53b0c8211be0fff8d3a5e75a1c2690280c89f9bea27cba99b08aa41ebf86cbd7eb483e7eecb1008387eb11eb8a61a16dbe605094542227ae673f1f4fef64256334b31b2637e594764e712a1e55a0273c4cd05757b5341876088343bc2dc2e631c0c45c2fe4a04f02b1fe454ee78ef98920480f298843728ce30140879f5247fdb4fc14986d2ebb6db95394b0a27862e8694eb10760cc78c033c3d952b17a27e672b7e74c24b5bb0786cfbdf232c621c205baab17e63587b5cf418419d87de26aa071fe4350788986cc6ccca6c6ac73ffe3773e727d3c88fae8df4de09de0d00704dd9071950b3e70d60d186db4f3489716ce9ac9676616aaf7ec409ec55607b29ce16e620b90ca452cdab4c17e4354ead2d50f3744322e4286b3da40a58e47229df57cd2f7084f6bdd4529fb8eb6d8dd5696d471f998b30078b16c818112760f7f12718093ffcc39a10c35299053629ec86097a0244e5da6e64d43af315d65ce1874a7b147b111eb973b4c152cad7d78dceda5d2f5ad78b7bf76954b464d21ca5d5b8aa72e356be0ba43f79d06438ec7ed807e826578018040ea56b022fb6c108a4a5d3cad6be5855bd4f943f8604eddee44a76545370a2f783cb5d0e0dd62bc72faff6f12f4e39b5f7dd4e8e1eb748a0b695b6ba1532907b271cf12b108f979543704d7c794f9240ec0502042731d5bc5d177ce933626e6c21fee84d7d81dd05c14d5ce913f7ea614f2a2c6495f4839775aaf7f7aa9f8b5a69348ec4246576e44ecb63c5d025614f6d52a3c296dcb1ac270aa083392214fcf3715664d63d17ff11b4d9bc2c694455b1aa323e58c82c07dd0f06174b2f2eefe5090fdb4a06eedf6a5adb0718cef9139d0ed80468e2784fdee53543492cdfc72e1c3ddea0c82965328e1377419f4c38703e5c308d7e425ef1a0fe65399eb377765f950a3ed1aa01158f27bcb2158711891b301a42558698e3632d59d08bfc43a08625d58e0cea5b99c382d9d233059239bec7174eb014eb8f2f64120490e7e06d34b7138c0652f1a7f6c9428a303614ae3a7f0d4e6e2f1c678dd9879f891d53d2ce4c999f7217376eac16eda9a6b38d50de6b450a1a1928582bee64dedf68b0590b8d3981849e11ad7f4a8a1984061aea0c462c01de1ecdd77f4cef36d9141bac1a386a15772d3d72583be1542554d25cbeba085dc48d092159a761bd2e8be961f40767be688a9fb1dfe79c273a12becbcd9d381cd512df36cf934d99a1f05dc3ca5e295f1485a3a65a27e035183a5e14af1934aca630622c62c222bd3f1b8c23c0d37e7be4678787a8af1c945c3e9dd42569f1a5a6be4257ff3aad536d45bb8924efba601d5e62158bfc8bfbe3122ff4991b345370e061a59ef3e562b376ec8eaf671c6919bd31549201a525c199fb4fc68bad052e73e059362e803ae308085ef5a9969195f9583a9bc28316d7646e9c6b649436b9e24bba83606c795258874d57cf8b6d4130c42c38e586ecc0d8f42f6c5861ab6d0d08e4e3519d18eaa1efc92fe9036bc247d9739cddd0ca52e3843d7dc6c843a63860459171fad4addb3b6f8c4015069d400fc45538c3fa3595f996f446d4ecc298d88adefb1f03483cfb3d5dda08e5c335637e3d256cd3de3ced374757303ee77ece2baff54232cfeb456d900eaddbe177014faae3f59fa51a800f738489eeb43eccb5de222f8419b9e75ea01a3e3e2b470c28e135dde1702323120993aad913d9c634088a7456b7176d70eea27df43158efd157395f0b2fdcd88cef0bb6f0cfc25d0a4e7cc683877dfe134426f0d0fcdba748bdd0710500ae2de102c6107e6f62a7e9cb67094ceadb478bb5797982108b6dc6f431beed35b674431f2ec74fac01e3a5643c942f157fc0940bca3d44b9e3f73d69f6da4cd94ef58214ecf37031bd2f0f6fad95681f244aa6851d5ae8f752d1630c858d56bc0d83deb2cabd2681e79b9a1d20d1238f3a47bf1d5f444a6abd72d4cda3ee86f1b82067a291eb0cc601dce0cbc0d718e2480e679ffb97507cc70c858ba1f298e04ed177292390c9869d51b6a742923d2ed6a355e51828b27daa9b3bbb2a785082a1dfdb3aa2b0ba61b948ccde9331c70c4216222dc2298c8effe397f12daff535fc4f61f606ca5c7c2ad86bef789fdb7c639275623359c9f4ce09afa9f76235e265887e1a4e7728819f9c45fd57d465b2ea7de107076ed030f10fb54a4e4924c39710694e969e190a1258fd6b32291787cddfda77fcbe071e2ebfd633bcd80619aaf53de68da26903320406c78adfa010f217e90bb0b91bf5f5ea0255d3472a3e519494b958eb2635550408d0787d60b93d6288ff32bf0317bcb11159b56b00017c224a76fde491c83557dc43e341ebbc9267dc63d605ad2fe422f49bdbd8028b00fde6c7aa06ebfcbd6856c76731b02a9a5a2619f4954bc3bed8eca683ef98c55445fbf7fc6b60e5e6a58ac0c076f0f1ec01f736408c0adb1fc21be6b78df79653fdc21f0b70d451eb8fab316722f4f736366b51ead29349aa5e8406d8ab71abf4d9a4edefcef0651e3457500d521a575382fb8221ba3d9382ecc0a7d2b165bdfb0a8a84b2ab37e8b1e03bcd836012173f26f5c06eb7a9eb7431eacd59b02fea18ddbb0dd1ea701c8b7c11f3e33e202564b968272f749c566471edd7c31687778fe410cc722e7ea38fe83ab32d4e4798b89f3839fb4d40b434f3b1ee82799f31018d7f38878537d70fd1d9112e84bb9d608bb88207e9c34d31d2a526c47b23b526c962fead22481ac8c73fa3567f20d0d7349cc40d2ffae0a8b5fb296c6f51a351ef4a901728aa65f1eeaf45ab9547a2d9ea799c4c484ab0d4b696e09f2da85800b5b3bf00fef628d0b70bf076783b8ac511e9ec9c88c071eff1d14d776b722de6b5e8ef727beb9dde26639b959eb4f0ed591762f219d7b60ada908aadd9b4fe9d99dfb4329d9e2e36434aecc8628ed7876766cdec133d576c10f2e6c79a1510e6069ecd180517149c03284a5163bf9979db7391f2c96807811ee89b038437f0e2eb4090ba75819da7f7ff25fa83dc2523bd38344b2e9a7b99ea481b61ee7f8ddd26164613a2f59b5240823e3dcfe4b9435df78468019df19b205370f02d622782b743a6b5188256995376589ded9de6ddfc44f5201515a" + }, + "vec_uint64_2_zero": { + "inType" : "vector_uint64", + "in" : ["0", "0"], + "out" : "0x00000000000000000000000000000000" + }, + "vec_uint64_16_max": { + "inType" : "vector_uint64", + "in" : [ + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint64_4_zero": { + "inType" : "vector_uint64", + "in" : ["0", "0", "0", "0"], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint64_31_max": { + "inType" : "vector_uint64", + "in" : [ + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615", "18446744073709551615", + "18446744073709551615", "18446744073709551615", "18446744073709551615" + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint64_1_random": { + "inType" : "vector_uint64", + "in" : ["8914067055681793591"], + "out" : "0x37eeec25c220b57b" + }, + "vec_uint64_3_zero": { + "inType" : "vector_uint64", + "in" : ["0", "0", "0"], + "out" : "0x000000000000000000000000000000000000000000000000" + }, + "vec_uint64_31_zero": { + "inType" : "vector_uint64", + "in" : [ + "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", + "0", "0", "0", "0" + ], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } +} diff --git a/SSZTests/vector/vec_uint8_valid.json b/SSZTests/vector/vec_uint8_valid.json new file mode 100644 index 00000000000..fd7e16cea1f --- /dev/null +++ b/SSZTests/vector/vec_uint8_valid.json @@ -0,0 +1,325 @@ +{ + "vec_uint8_512_zero": { + "inType" : "vector_uint8", + "in" : [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0 + ], + "out" : "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint8_2_random": { + "inType" : "vector_uint8", + "in" : [59, 3], + "out" : "0x3b03" + }, + "vec_uint8_1_max": { + "inType" : "vector_uint8", + "in" : [255], + "out" : "0xff" + }, + "vec_uint8_4_max": { + "inType" : "vector_uint8", + "in" : [255, 255, 255, 255], + "out" : "0xffffffff" + }, + "vec_uint8_8_random": { + "inType" : "vector_uint8", + "in" : [76, 46, 93, 58, 7, 249, 127, 33], + "out" : "0x4c2e5d3a07f97f21" + }, + "vec_uint8_2_zero": { + "inType" : "vector_uint8", + "in" : [0, 0], + "out" : "0x0000" + }, + "vec_uint8_31_max": { + "inType" : "vector_uint8", + "in" : [ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint8_3_zero": { + "inType" : "vector_uint8", + "in" : [0, 0, 0], + "out" : "0x000000" + }, + "vec_uint8_1_random": { + "inType" : "vector_uint8", + "in" : [225], + "out" : "0xe1" + }, + "vec_uint8_4_random": { + "inType" : "vector_uint8", + "in" : [50, 181, 121, 8], + "out" : "0x32b57908" + }, + "vec_uint8_16_zero": { + "inType" : "vector_uint8", + "in" : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + "out" : "0x00000000000000000000000000000000" + }, + "vec_uint8_513_zero": { + "inType" : "vector_uint8", + "in" : [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + ], + "out" : "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint8_512_random": { + "inType" : "vector_uint8", + "in" : [ + 253, 174, 239, 243, 23, 241, 87, 225, 224, 151, 140, 63, 95, 213, 223, 61, 52, 248, + 192, 130, 98, 176, 55, 80, 137, 79, 165, 228, 36, 40, 202, 109, 24, 146, 19, 112, + 44, 162, 156, 235, 33, 131, 37, 218, 103, 51, 203, 99, 235, 120, 184, 105, 215, 89, + 104, 154, 30, 180, 78, 255, 241, 170, 71, 67, 24, 84, 74, 35, 166, 87, 0, 31, 44, + 75, 111, 20, 221, 200, 166, 106, 195, 143, 155, 216, 163, 77, 47, 133, 142, 210, 204, + 141, 58, 192, 140, 109, 152, 203, 26, 178, 225, 119, 251, 84, 194, 157, 1, 37, 245, + 202, 152, 219, 245, 95, 205, 244, 80, 144, 189, 177, 105, 86, 234, 242, 14, 239, 53, + 13, 187, 243, 33, 71, 169, 178, 148, 152, 169, 150, 99, 142, 37, 104, 173, 171, 164, + 234, 136, 43, 61, 125, 131, 190, 70, 14, 202, 19, 22, 106, 79, 160, 181, 222, 35, + 156, 133, 248, 112, 178, 42, 9, 169, 117, 83, 244, 255, 71, 34, 74, 124, 84, 201, + 167, 66, 228, 20, 190, 35, 188, 209, 22, 36, 160, 116, 101, 177, 194, 252, 26, 15, + 229, 41, 150, 218, 174, 75, 248, 123, 15, 182, 190, 212, 89, 38, 9, 108, 100, 72, + 67, 130, 25, 239, 185, 190, 147, 203, 208, 188, 119, 146, 4, 160, 136, 61, 18, 111, + 189, 94, 164, 149, 185, 139, 90, 233, 86, 1, 209, 122, 98, 227, 139, 89, 181, 209, + 248, 246, 245, 227, 190, 52, 205, 65, 54, 240, 249, 49, 67, 131, 122, 36, 171, 200, + 150, 181, 207, 96, 242, 238, 163, 226, 55, 237, 43, 38, 101, 90, 171, 88, 193, 139, + 102, 135, 15, 80, 161, 51, 23, 28, 133, 217, 165, 174, 157, 222, 85, 192, 202, 4, + 148, 145, 162, 127, 79, 99, 231, 227, 213, 172, 137, 222, 200, 132, 252, 161, 126, + 146, 80, 83, 210, 80, 17, 119, 181, 105, 220, 227, 12, 207, 35, 32, 36, 125, 195, + 248, 194, 121, 154, 167, 231, 32, 155, 13, 92, 73, 75, 192, 219, 90, 70, 154, 48, + 250, 171, 68, 136, 220, 241, 142, 161, 85, 33, 224, 117, 226, 127, 34, 136, 79, 140, + 74, 201, 111, 102, 74, 108, 175, 211, 0, 177, 97, 114, 8, 9, 185, 225, 121, 5, 212, + 216, 254, 215, 169, 127, 248, 156, 240, 8, 10, 149, 63, 231, 125, 202, 214, 107, 21, + 220, 200, 57, 211, 91, 89, 37, 188, 87, 117, 32, 194, 16, 65, 137, 14, 176, 30, 140, + 9, 23, 210, 246, 15, 147, 93, 118, 250, 31, 150, 124, 228, 234, 89, 134, 82, 213, + 159, 4, 149, 166, 105, 94, 16, 157, 255, 9, 217, 83, 222, 173, 146, 48, 40, 214, 171, + 19, 209, 226, 93, 207, 54, 169, 97, 51, 202, 45, 162, 64, 37, 169, 246, 134, 39, 32, + 230, 5, 180, 18, 110, 55, 228, 91, 21, 136, 204, 158, 16, 172, 175, 108, 44, 124, + 50, 153, 8, 34 + ], + "out" : "0xfdaeeff317f157e1e0978c3f5fd5df3d34f8c08262b03750894fa5e42428ca6d189213702ca29ceb218325da6733cb63eb78b869d759689a1eb44efff1aa474318544a23a657001f2c4b6f14ddc8a66ac38f9bd8a34d2f858ed2cc8d3ac08c6d98cb1ab2e177fb54c29d0125f5ca98dbf55fcdf45090bdb16956eaf20eef350dbbf32147a9b29498a996638e2568adaba4ea882b3d7d83be460eca13166a4fa0b5de239c85f870b22a09a97553f4ff47224a7c54c9a742e414be23bcd11624a07465b1c2fc1a0fe52996daae4bf87b0fb6bed45926096c6448438219efb9be93cbd0bc779204a0883d126fbd5ea495b98b5ae95601d17a62e38b59b5d1f8f6f5e3be34cd4136f0f93143837a24abc896b5cf60f2eea3e237ed2b26655aab58c18b66870f50a133171c85d9a5ae9dde55c0ca049491a27f4f63e7e3d5ac89dec884fca17e925053d2501177b569dce30ccf2320247dc3f8c2799aa7e7209b0d5c494bc0db5a469a30faab4488dcf18ea15521e075e27f22884f8c4ac96f664a6cafd300b161720809b9e17905d4d8fed7a97ff89cf0080a953fe77dcad66b15dcc839d35b5925bc577520c21041890eb01e8c0917d2f60f935d76fa1f967ce4ea598652d59f0495a6695e109dff09d953dead923028d6ab13d1e25dcf36a96133ca2da24025a9f6862720e605b4126e37e45b1588cc9e10acaf6c2c7c32990822" + }, + "vec_uint8_3_random": { + "inType" : "vector_uint8", + "in" : [46, 17, 42], + "out" : "0x2e112a" + }, + "vec_uint8_8_zero": { + "inType" : "vector_uint8", + "in" : [0, 0, 0, 0, 0, 0, 0, 0], + "out" : "0x0000000000000000" + }, + "vec_uint8_5_max": { + "inType" : "vector_uint8", + "in" : [255, 255, 255, 255, 255], + "out" : "0xffffffffff" + }, + "vec_uint8_513_random": { + "inType" : "vector_uint8", + "in" : [ + 43, 14, 152, 176, 220, 9, 200, 233, 44, 111, 40, 178, 171, 180, 198, 181, 48, 15, + 66, 68, 230, 183, 64, 49, 31, 136, 81, 16, 173, 252, 42, 222, 184, 9, 215, 161, 98, + 84, 117, 216, 87, 221, 255, 71, 194, 243, 197, 156, 141, 132, 73, 183, 67, 133, 159, + 127, 151, 85, 79, 233, 29, 133, 214, 188, 25, 178, 4, 19, 101, 156, 97, 243, 198, + 144, 161, 196, 212, 139, 228, 28, 171, 131, 99, 161, 48, 206, 186, 186, 218, 151, + 199, 209, 144, 131, 86, 232, 183, 102, 93, 31, 193, 232, 67, 121, 192, 155, 190, 210, + 130, 114, 167, 226, 160, 63, 84, 128, 90, 207, 230, 133, 141, 230, 46, 84, 233, 251, + 24, 29, 154, 108, 194, 67, 210, 36, 96, 78, 148, 190, 149, 92, 223, 240, 26, 123, + 244, 200, 49, 81, 27, 58, 49, 75, 66, 63, 241, 189, 53, 10, 41, 105, 69, 160, 193, + 131, 216, 150, 184, 229, 117, 32, 160, 24, 104, 153, 205, 191, 252, 156, 131, 85, + 94, 162, 10, 20, 175, 168, 184, 232, 62, 223, 41, 150, 213, 54, 165, 69, 201, 137, + 246, 21, 192, 3, 208, 14, 113, 32, 32, 190, 186, 250, 20, 30, 0, 9, 112, 61, 197, + 142, 118, 130, 152, 32, 38, 149, 170, 175, 217, 243, 19, 233, 213, 166, 108, 106, + 102, 139, 6, 210, 15, 239, 3, 139, 221, 7, 27, 208, 216, 85, 45, 228, 120, 19, 116, + 48, 134, 4, 107, 204, 196, 13, 96, 73, 49, 173, 52, 41, 47, 59, 231, 16, 103, 206, + 203, 102, 168, 172, 29, 31, 214, 209, 227, 114, 227, 231, 185, 167, 146, 249, 56, + 137, 251, 184, 239, 166, 53, 74, 94, 54, 140, 210, 149, 233, 137, 139, 45, 23, 244, + 165, 227, 51, 28, 126, 16, 106, 46, 49, 204, 203, 187, 169, 48, 139, 100, 71, 178, + 186, 142, 247, 20, 238, 21, 217, 13, 100, 56, 152, 92, 135, 219, 81, 149, 252, 35, + 39, 100, 175, 233, 49, 236, 57, 250, 254, 200, 144, 149, 37, 214, 114, 17, 157, 77, + 254, 132, 255, 166, 123, 126, 228, 52, 204, 60, 42, 103, 31, 198, 155, 125, 203, 94, + 97, 99, 69, 126, 63, 7, 154, 141, 105, 66, 31, 151, 199, 161, 230, 121, 86, 74, 222, + 252, 68, 162, 86, 70, 252, 231, 169, 176, 89, 116, 107, 57, 132, 184, 246, 145, 106, + 200, 41, 185, 202, 203, 199, 115, 98, 183, 130, 84, 69, 70, 222, 128, 233, 139, 223, + 126, 201, 200, 40, 35, 160, 157, 27, 23, 48, 11, 34, 247, 132, 117, 131, 95, 49, 39, + 56, 174, 15, 187, 155, 71, 238, 228, 50, 217, 225, 56, 244, 84, 228, 71, 179, 11, + 105, 120, 12, 65, 177, 182, 83, 0, 120, 23, 76, 109, 41, 159, 173, 200, 184, 33, 131, + 140, 182, 199, 67, 42, 16, 125, 127, 18, 77, 49, 218, 239, 181, 171, 203, 25, 223, + 154, 160, 91, 41, 183 + ], + "out" : "0x2b0e98b0dc09c8e92c6f28b2abb4c6b5300f4244e6b740311f885110adfc2adeb809d7a1625475d857ddff47c2f3c59c8d8449b743859f7f97554fe91d85d6bc19b20413659c61f3c690a1c4d48be41cab8363a130cebabada97c7d1908356e8b7665d1fc1e84379c09bbed28272a7e2a03f54805acfe6858de62e54e9fb181d9a6cc243d224604e94be955cdff01a7bf4c831511b3a314b423ff1bd350a296945a0c183d896b8e57520a0186899cdbffc9c83555ea20a14afa8b8e83edf2996d536a545c989f615c003d00e712020bebafa141e0009703dc58e768298202695aaafd9f313e9d5a66c6a668b06d20fef038bdd071bd0d8552de47813743086046bccc40d604931ad34292f3be71067cecb66a8ac1d1fd6d1e372e3e7b9a792f93889fbb8efa6354a5e368cd295e9898b2d17f4a5e3331c7e106a2e31cccbbba9308b6447b2ba8ef714ee15d90d6438985c87db5195fc232764afe931ec39fafec8909525d672119d4dfe84ffa67b7ee434cc3c2a671fc69b7dcb5e6163457e3f079a8d69421f97c7a1e679564adefc44a25646fce7a9b059746b3984b8f6916ac829b9cacbc77362b782544546de80e98bdf7ec9c82823a09d1b17300b22f78475835f312738ae0fbb9b47eee432d9e138f454e447b30b69780c41b1b6530078174c6d299fadc8b821838cb6c7432a107d7f124d31daefb5abcb19df9aa05b29b7" + }, + "vec_uint8_512_max": { + "inType" : "vector_uint8", + "in" : [ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255 + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint8_1_zero": { + "inType" : "vector_uint8", + "in" : [0], + "out" : "0x00" + }, + "vec_uint8_8_max": { + "inType" : "vector_uint8", + "in" : [255, 255, 255, 255, 255, 255, 255, 255], + "out" : "0xffffffffffffffff" + }, + "vec_uint8_31_random": { + "inType" : "vector_uint8", + "in" : [ + 170, 73, 242, 193, 85, 27, 39, 254, 83, 38, 110, 73, 13, 177, 56, 72, 156, 232, 20, + 213, 141, 20, 90, 139, 79, 153, 79, 237, 21, 197, 178 + ], + "out" : "0xaa49f2c1551b27fe53266e490db138489ce814d58d145a8b4f994fed15c5b2" + }, + "vec_uint8_16_random": { + "inType" : "vector_uint8", + "in" : [238, 35, 45, 23, 138, 32, 154, 246, 181, 136, 127, 102, 232, 9, 36, 2], + "out" : "0xee232d178a209af6b5887f66e8092402" + }, + "vec_uint8_31_zero": { + "inType" : "vector_uint8", + "in" : [ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0 + ], + "out" : "0x00000000000000000000000000000000000000000000000000000000000000" + }, + "vec_uint8_5_random": { + "inType" : "vector_uint8", + "in" : [15, 8, 177, 247, 237], + "out" : "0x0f08b1f7ed" + }, + "vec_uint8_2_max": { + "inType" : "vector_uint8", + "in" : [255, 255], + "out" : "0xffff" + }, + "vec_uint8_16_max": { + "inType" : "vector_uint8", + "in" : [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], + "out" : "0xffffffffffffffffffffffffffffffff" + }, + "vec_uint8_513_max": { + "inType" : "vector_uint8", + "in" : [ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255 + ], + "out" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + "vec_uint8_5_zero": { + "inType" : "vector_uint8", + "in" : [0, 0, 0, 0, 0], + "out" : "0x0000000000" + }, + "vec_uint8_4_zero": { + "inType" : "vector_uint8", + "in" : [0, 0, 0, 0], + "out" : "0x00000000" + }, + "vec_uint8_3_max": { + "inType" : "vector_uint8", + "in" : [255, 255, 255], + "out" : "0xffffff" + } +} From cf21816815d43a9f2bf36aa99afe839726b94d17 Mon Sep 17 00:00:00 2001 From: Dimitry Kh Date: Wed, 17 May 2023 16:33:44 +0200 Subject: [PATCH 2/2] bitlist empty --- SSZTests/bitlist/bitlist.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/SSZTests/bitlist/bitlist.json b/SSZTests/bitlist/bitlist.json index 809bab54c2e..374e7265c75 100644 --- a/SSZTests/bitlist/bitlist.json +++ b/SSZTests/bitlist/bitlist.json @@ -1,4 +1,9 @@ { + "bitlist_empty": { + "inType" : "Bitlist[0]", + "in": [], + "out": "0x01" + }, "bitlist_1_max": { "inType" : "Bitlist[1]", "in": [