authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-01-28 16:23:01-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2022-02-02 22:00:55-07:00
loge2f36c292ef05c6daaa083249e578776a9c82617
tree547b820991bf7b7654121eb8d37240c410015628
parente9d916571a5eedd4784951d2840ea206107f30e6

std: break up some long lines

This makes packaging Zig for Debian slightly easier since it will no longer trigger a Lintian warning for long lines.

4 files changed, 356 insertions(+), 10 deletions(-)

lib/std/crypto/aes.zig+20-3
......@@ -126,12 +126,29 @@ test "expand 128-bit key" {
126126}
127127
128128test "expand 256-bit key" {
129 const key = [_]u8{ 0x60, 0x3d, 0xeb, 0x10, 0x15, 0xca, 0x71, 0xbe, 0x2b, 0x73, 0xae, 0xf0, 0x85, 0x7d, 0x77, 0x81, 0x1f, 0x35, 0x2c, 0x07, 0x3b, 0x61, 0x08, 0xd7, 0x2d, 0x98, 0x10, 0xa3, 0x09, 0x14, 0xdf, 0xf4 };
129 const key = [_]u8{
130 0x60, 0x3d, 0xeb, 0x10,
131 0x15, 0xca, 0x71, 0xbe,
132 0x2b, 0x73, 0xae, 0xf0,
133 0x85, 0x7d, 0x77, 0x81,
134 0x1f, 0x35, 0x2c, 0x07,
135 0x3b, 0x61, 0x08, 0xd7,
136 0x2d, 0x98, 0x10, 0xa3,
137 0x09, 0x14, 0xdf, 0xf4,
138 };
130139 const exp_enc = [_]*const [32:0]u8{
131 "603deb1015ca71be2b73aef0857d7781", "1f352c073b6108d72d9810a30914dff4", "9ba354118e6925afa51a8b5f2067fcde", "a8b09c1a93d194cdbe49846eb75d5b9a", "d59aecb85bf3c917fee94248de8ebe96", "b5a9328a2678a647983122292f6c79b3", "812c81addadf48ba24360af2fab8b464", "98c5bfc9bebd198e268c3ba709e04214", "68007bacb2df331696e939e46c518d80", "c814e20476a9fb8a5025c02d59c58239", "de1369676ccc5a71fa2563959674ee15", "5886ca5d2e2f31d77e0af1fa27cf73c3", "749c47ab18501ddae2757e4f7401905a", "cafaaae3e4d59b349adf6acebd10190d", "fe4890d1e6188d0b046df344706c631e",
140 "603deb1015ca71be2b73aef0857d7781", "1f352c073b6108d72d9810a30914dff4", "9ba354118e6925afa51a8b5f2067fcde",
141 "a8b09c1a93d194cdbe49846eb75d5b9a", "d59aecb85bf3c917fee94248de8ebe96", "b5a9328a2678a647983122292f6c79b3",
142 "812c81addadf48ba24360af2fab8b464", "98c5bfc9bebd198e268c3ba709e04214", "68007bacb2df331696e939e46c518d80",
143 "c814e20476a9fb8a5025c02d59c58239", "de1369676ccc5a71fa2563959674ee15", "5886ca5d2e2f31d77e0af1fa27cf73c3",
144 "749c47ab18501ddae2757e4f7401905a", "cafaaae3e4d59b349adf6acebd10190d", "fe4890d1e6188d0b046df344706c631e",
132145 };
133146 const exp_dec = [_]*const [32:0]u8{
134 "fe4890d1e6188d0b046df344706c631e", "ada23f4963e23b2455427c8a5c709104", "57c96cf6074f07c0706abb07137f9241", "b668b621ce40046d36a047ae0932ed8e", "34ad1e4450866b367725bcc763152946", "32526c367828b24cf8e043c33f92aa20", "c440b289642b757227a3d7f114309581", "d669a7334a7ade7a80c8f18fc772e9e3", "25ba3c22a06bc7fb4388a28333934270", "54fb808b9c137949cab22ff547ba186c", "6c3d632985d1fbd9e3e36578701be0f3", "4a7459f9c8e8f9c256a156bc8d083799", "42107758e9ec98f066329ea193f8858b", "8ec6bff6829ca03b9e49af7edba96125", "603deb1015ca71be2b73aef0857d7781",
147 "fe4890d1e6188d0b046df344706c631e", "ada23f4963e23b2455427c8a5c709104", "57c96cf6074f07c0706abb07137f9241",
148 "b668b621ce40046d36a047ae0932ed8e", "34ad1e4450866b367725bcc763152946", "32526c367828b24cf8e043c33f92aa20",
149 "c440b289642b757227a3d7f114309581", "d669a7334a7ade7a80c8f18fc772e9e3", "25ba3c22a06bc7fb4388a28333934270",
150 "54fb808b9c137949cab22ff547ba186c", "6c3d632985d1fbd9e3e36578701be0f3", "4a7459f9c8e8f9c256a156bc8d083799",
151 "42107758e9ec98f066329ea193f8858b", "8ec6bff6829ca03b9e49af7edba96125", "603deb1015ca71be2b73aef0857d7781",
135152 };
136153 const enc = Aes256.initEnc(key);
137154 const dec = Aes256.initDec(key);
lib/std/crypto/bcrypt.zig+272-5
......@@ -26,12 +26,279 @@ pub const hash_length: usize = 60;
2626
2727const State = struct {
2828 sboxes: [4][256]u32 = [4][256]u32{
29 .{ 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99, 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e, 0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee, 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013, 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef, 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e, 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60, 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440, 0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce, 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a, 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e, 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677, 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193, 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032, 0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88, 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239, 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e, 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0, 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3, 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98, 0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88, 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe, 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6, 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d, 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b, 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7, 0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba, 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463, 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09, 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3, 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb, 0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279, 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8, 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab, 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82, 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db, 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573, 0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0, 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b, 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790, 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8, 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4, 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0, 0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7, 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c, 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad, 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1, 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299, 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9, 0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477, 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf, 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49, 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af, 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa, 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5, 0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41, 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915, 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915, 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664, 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a },
30 .{ 0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623, 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266, 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e, 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6, 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1, 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e, 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1, 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737, 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8, 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff, 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd, 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701, 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7, 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41, 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331, 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf, 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af, 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e, 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87, 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c, 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2, 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16, 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd, 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b, 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509, 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3, 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f, 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a, 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4, 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960, 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66, 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28, 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802, 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84, 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510, 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf, 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14, 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e, 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50, 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7, 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8, 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281, 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99, 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696, 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128, 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73, 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0, 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0, 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105, 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250, 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3, 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285, 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00, 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061, 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e, 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735, 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc, 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9, 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340, 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7 },
31 .{ 0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934, 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068, 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af, 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840, 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45, 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504, 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a, 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb, 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee, 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6, 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42, 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b, 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2, 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb, 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527, 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b, 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33, 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c, 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3, 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc, 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17, 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564, 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b, 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115, 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922, 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728, 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0, 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e, 0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37, 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d, 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804, 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b, 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3, 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb, 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d, 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c, 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350, 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9, 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a, 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe, 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d, 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc, 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f, 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61, 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2, 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9, 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2, 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c, 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e, 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633, 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10, 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169, 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52, 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027, 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5, 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62, 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634, 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76, 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24, 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc, 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4, 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c, 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837, 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0 },
32 .{ 0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe, 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b, 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4, 0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8, 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6, 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304, 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22, 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4, 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6, 0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9, 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59, 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593, 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51, 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28, 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c, 0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b, 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28, 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd, 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a, 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319, 0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb, 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f, 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991, 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32, 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680, 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166, 0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae, 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb, 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5, 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47, 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370, 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d, 0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84, 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048, 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8, 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd, 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9, 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7, 0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38, 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f, 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c, 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525, 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1, 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442, 0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964, 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e, 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d, 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f, 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299, 0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02, 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc, 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614, 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a, 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6, 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b, 0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0, 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060, 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9, 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f, 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6 },
29 .{
30 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7,
31 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99,
32 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16,
33 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e,
34 0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee,
35 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013,
36 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef,
37 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e,
38 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60,
39 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440,
40 0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce,
41 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a,
42 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e,
43 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677,
44 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193,
45 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032,
46 0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88,
47 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239,
48 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e,
49 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0,
50 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3,
51 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98,
52 0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88,
53 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe,
54 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6,
55 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d,
56 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b,
57 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7,
58 0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba,
59 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463,
60 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f,
61 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09,
62 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3,
63 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb,
64 0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279,
65 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8,
66 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab,
67 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82,
68 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db,
69 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573,
70 0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0,
71 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b,
72 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790,
73 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8,
74 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4,
75 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0,
76 0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7,
77 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c,
78 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad,
79 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1,
80 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299,
81 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9,
82 0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477,
83 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf,
84 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49,
85 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af,
86 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa,
87 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5,
88 0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41,
89 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915,
90 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400,
91 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915,
92 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664,
93 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a,
94 },
95 .{
96 0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623,
97 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266,
98 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1,
99 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e,
100 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6,
101 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1,
102 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e,
103 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1,
104 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737,
105 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8,
106 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff,
107 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd,
108 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701,
109 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7,
110 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41,
111 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331,
112 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf,
113 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af,
114 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e,
115 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87,
116 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c,
117 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2,
118 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16,
119 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd,
120 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b,
121 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509,
122 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e,
123 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3,
124 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f,
125 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a,
126 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4,
127 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960,
128 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66,
129 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28,
130 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802,
131 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84,
132 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510,
133 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf,
134 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14,
135 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e,
136 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50,
137 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7,
138 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8,
139 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281,
140 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99,
141 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696,
142 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128,
143 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73,
144 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0,
145 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0,
146 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105,
147 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250,
148 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3,
149 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285,
150 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00,
151 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061,
152 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb,
153 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e,
154 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735,
155 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc,
156 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9,
157 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340,
158 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20,
159 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7,
160 },
161 .{
162 0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934,
163 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068,
164 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af,
165 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840,
166 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45,
167 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504,
168 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a,
169 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb,
170 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee,
171 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6,
172 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42,
173 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b,
174 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2,
175 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb,
176 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527,
177 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b,
178 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33,
179 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c,
180 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3,
181 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc,
182 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17,
183 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564,
184 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b,
185 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115,
186 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922,
187 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728,
188 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0,
189 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e,
190 0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37,
191 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d,
192 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804,
193 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b,
194 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3,
195 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb,
196 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d,
197 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c,
198 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350,
199 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9,
200 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a,
201 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe,
202 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d,
203 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc,
204 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f,
205 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61,
206 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2,
207 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9,
208 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2,
209 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c,
210 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e,
211 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633,
212 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10,
213 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169,
214 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52,
215 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027,
216 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5,
217 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62,
218 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634,
219 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76,
220 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24,
221 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc,
222 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4,
223 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c,
224 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837,
225 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0,
226 },
227 .{
228 0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b,
229 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe,
230 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b,
231 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4,
232 0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8,
233 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6,
234 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304,
235 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22,
236 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4,
237 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6,
238 0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9,
239 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59,
240 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593,
241 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51,
242 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28,
243 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c,
244 0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b,
245 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28,
246 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c,
247 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd,
248 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a,
249 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319,
250 0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb,
251 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f,
252 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991,
253 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32,
254 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680,
255 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166,
256 0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae,
257 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb,
258 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5,
259 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47,
260 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370,
261 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d,
262 0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84,
263 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048,
264 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8,
265 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd,
266 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9,
267 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7,
268 0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38,
269 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f,
270 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c,
271 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525,
272 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1,
273 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442,
274 0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964,
275 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e,
276 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8,
277 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d,
278 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f,
279 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299,
280 0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02,
281 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc,
282 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614,
283 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a,
284 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6,
285 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b,
286 0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0,
287 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060,
288 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e,
289 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9,
290 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f,
291 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6,
292 },
293 },
294 subkeys: [18]u32 = [18]u32{
295 0x243f6a88, 0x85a308d3, 0x13198a2e,
296 0x03707344, 0xa4093822, 0x299f31d0,
297 0x082efa98, 0xec4e6c89, 0x452821e6,
298 0x38d01377, 0xbe5466cf, 0x34e90c6c,
299 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5,
300 0xb5470917, 0x9216d5d9, 0x8979fb1b,
33301 },
34 subkeys: [18]u32 = [18]u32{ 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89, 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, 0x9216d5d9, 0x8979fb1b },
35302
36303 fn toWord(data: []const u8, current: *usize) u32 {
37304 var t: u32 = 0;
lib/std/crypto/pcurves/p256/p256_64.zig+32-1
......@@ -13,7 +13,38 @@
1313//
1414// Computed values:
1515// eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192)
16// bytes_eval z = z[0] + (z[1] << 8) + (z[2] << 16) + (z[3] << 24) + (z[4] << 32) + (z[5] << 40) + (z[6] << 48) + (z[7] << 56) + (z[8] << 64) + (z[9] << 72) + (z[10] << 80) + (z[11] << 88) + (z[12] << 96) + (z[13] << 104) + (z[14] << 112) + (z[15] << 120) + (z[16] << 128) + (z[17] << 136) + (z[18] << 144) + (z[19] << 152) + (z[20] << 160) + (z[21] << 168) + (z[22] << 176) + (z[23] << 184) + (z[24] << 192) + (z[25] << 200) + (z[26] << 208) + (z[27] << 216) + (z[28] << 224) + (z[29] << 232) + (z[30] << 240) + (z[31] << 248)
16// bytes_eval z = z[0]
17// + (z[1] << 8)
18// + (z[2] << 16)
19// + (z[3] << 24)
20// + (z[4] << 32)
21// + (z[5] << 40)
22// + (z[6] << 48)
23// + (z[7] << 56)
24// + (z[8] << 64)
25// + (z[9] << 72)
26// + (z[10] << 80)
27// + (z[11] << 88)
28// + (z[12] << 96)
29// + (z[13] << 104)
30// + (z[14] << 112)
31// + (z[15] << 120)
32// + (z[16] << 128)
33// + (z[17] << 136)
34// + (z[18] << 144)
35// + (z[19] << 152)
36// + (z[20] << 160)
37// + (z[21] << 168)
38// + (z[22] << 176)
39// + (z[23] << 184)
40// + (z[24] << 192)
41// + (z[25] << 200)
42// + (z[26] << 208)
43// + (z[27] << 216)
44// + (z[28] << 224)
45// + (z[29] << 232)
46// + (z[30] << 240)
47// + (z[31] << 248)
1748// twos_complement_eval z = let x1 := z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) in
1849// if x1 & (2^256-1) < 2^255 then x1 & (2^256-1) else (x1 & (2^256-1)) - 2^256
1950
lib/std/crypto/pcurves/p256/p256_scalar_64.zig+32-1
......@@ -13,7 +13,38 @@
1313//
1414// Computed values:
1515// eval z = z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192)
16// bytes_eval z = z[0] + (z[1] << 8) + (z[2] << 16) + (z[3] << 24) + (z[4] << 32) + (z[5] << 40) + (z[6] << 48) + (z[7] << 56) + (z[8] << 64) + (z[9] << 72) + (z[10] << 80) + (z[11] << 88) + (z[12] << 96) + (z[13] << 104) + (z[14] << 112) + (z[15] << 120) + (z[16] << 128) + (z[17] << 136) + (z[18] << 144) + (z[19] << 152) + (z[20] << 160) + (z[21] << 168) + (z[22] << 176) + (z[23] << 184) + (z[24] << 192) + (z[25] << 200) + (z[26] << 208) + (z[27] << 216) + (z[28] << 224) + (z[29] << 232) + (z[30] << 240) + (z[31] << 248)
16// bytes_eval z = z[0]
17// + (z[1] << 8)
18// + (z[2] << 16)
19// + (z[3] << 24)
20// + (z[4] << 32)
21// + (z[5] << 40)
22// + (z[6] << 48)
23// + (z[7] << 56)
24// + (z[8] << 64)
25// + (z[9] << 72)
26// + (z[10] << 80)
27// + (z[11] << 88)
28// + (z[12] << 96)
29// + (z[13] << 104)
30// + (z[14] << 112)
31// + (z[15] << 120)
32// + (z[16] << 128)
33// + (z[17] << 136)
34// + (z[18] << 144)
35// + (z[19] << 152)
36// + (z[20] << 160)
37// + (z[21] << 168)
38// + (z[22] << 176)
39// + (z[23] << 184)
40// + (z[24] << 192)
41// + (z[25] << 200)
42// + (z[26] << 208)
43// + (z[27] << 216)
44// + (z[28] << 224)
45// + (z[29] << 232)
46// + (z[30] << 240)
47// + (z[31] << 248)
1748// twos_complement_eval z = let x1 := z[0] + (z[1] << 64) + (z[2] << 128) + (z[3] << 192) in
1849// if x1 & (2^256-1) < 2^255 then x1 & (2^256-1) else (x1 & (2^256-1)) - 2^256
1950