From 47356f191ced88f08eef70ac9971fd236705efbd Mon Sep 17 00:00:00 2001 Message-Id: <47356f191ced88f08eef70ac9971fd236705efbd.1713409486.git.mdw@distorted.org.uk> From: Mark Wooding Date: Mon, 19 Jun 2017 12:37:26 +0100 Subject: [PATCH] storin.{tests,debug}-ref: Ancient versions of the test output. Organization: Straylight/Edgeware From: Mark Wooding Now published for reference, to guard against regressions. --- storin.debug-ref | 420 +++++++++++++++++++++++++++++++++++++++++++++++ storin.tests-ref | 342 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 762 insertions(+) create mode 100644 storin.debug-ref create mode 100644 storin.tests-ref diff --git a/storin.debug-ref b/storin.debug-ref new file mode 100644 index 0000000..a1bd06f --- /dev/null +++ b/storin.debug-ref @@ -0,0 +1,420 @@ +Key schedule... + +Constant initial array contents: +83686a 682c30 5b957a a5b34b +418212 9ea919 442f6e a398b8 +453e19 b7b4c6 10997a aac838 +a6f06e eed1f2 e32c5f 5ce4b8 +8f191e e3d40b aaf7b3 5b6941 +ec01ab cccad8 da044d 2d133d +87bac7 a99b03 6ff3a0 cf9c6f +09a53b 409571 5c01cf 9aecb6 +f84668 80e8d2 1dd41d 0fa426 + +Array after mixing in key material: +83686b 682c32 5b9579 a5b34f +418217 9ea918 442f6c a398bb +453e1d b7b4c3 10997b aac83a +a6f06d eed1f6 e32c5a 5ce4b9 +8f191c e3d408 aaf7b7 5b6944 +ec01aa cccada da044e 2d1339 +87bac2 a99b02 6ff3a2 cf9c6c +09a53f 409574 5c01ce 9aecb4 +f8466b 80e8d6 1dd418 0fa427 + +Encryption... + plaintext: 000000 000000 000000 000000 +round 0 + mix key: 83686b 682c32 5b9579 a5b34f + matrix: 0e9b7a 9d1849 465742 cf4cd6 + lin trans: 0e9b93 9d1198 465327 cf4022 +round 1 + mix key: 4f1984 03b880 027c4b 6cd899 + matrix: 24735d ce3994 4357b7 f68b1e + lin trans: 24711a ce3577 435382 f68476 +round 2 + mix key: 614f07 7981b4 53caf9 5c4c4c + matrix: 07c5b5 e2cf98 d549de 3705c5 + lin trans: 07c5c9 e2c1b4 d5448a 3706b5 +round 3 + mix key: a135a4 0c1042 3668d0 6be20c + matrix: 376cda 5fc390 1fcaf6 a5a9de + lin trans: 376fac 5fc66c 1fcb0a a5a384 +round 4 + mix key: b876b0 bc1264 b53cbd fecac0 + matrix: 0ed444 be030f a39bc7 3209ef + lin trans: 0ed4a9 be08ef a391fe 320acf +round 5 + mix key: e2d503 72c235 7995b0 1f19f6 + matrix: bfaf14 fe0be7 3e2f44 984815 + lin trans: bfa4ee fe0407 3e2ca6 984191 +round 6 + mix key: 381e2c 579f05 51df04 57ddfd + matrix: bf462e 0d9183 b2f237 646b02 + lin trans: bf4dda 0d915a b2f918 646d44 +round 7 + mix key: b6e8e5 4d042e eef8d6 fe81f0 + matrix: 1c6c7d d7d775 5a0461 e6b7a2 + lin trans: 1c6dbb d7da08 5a01c1 e6b9c9 +ciphertext: e42bd0 5732de 47d5d9 e91dee +Encryption... + plaintext: e42bd0 5732de 47d5d9 e91dee +round 0 + mix key: 000000 000000 000000 000000 + matrix: 000000 000000 000000 000000 + lin trans: 000000 000000 000000 000000 +round 1 + mix key: 418217 9ea918 442f6c a398bb + matrix: 36b7e0 8bb192 858851 7c669d + lin trans: 36b48b 8bb929 858009 7c615b +round 2 + mix key: 738a96 3c0dea 951972 d6a961 + matrix: ba4455 30a047 2697fc 9301bd + lin trans: ba4ff1 30a34d 269595 93088d +round 3 + mix key: 1cbf9c de72bb c5b9cf cfec34 + matrix: 13de53 81286d e5a5bc d74414 + lin trans: 13df6e 81207f e5abe6 d74960 +round 4 + mix key: 9cc672 62f477 4f5c51 8c2024 + matrix: 036601 c366cd 7e3484 fa81ba + lin trans: 036637 c36afb 7e3367 fa8e12 +round 5 + mix key: ef679d 0fa021 a43729 d79d2b + matrix: 07895b 38adf3 a5f76f e4c4e9 + lin trans: 078923 38ae79 a5fd30 e4caa5 +round 6 + mix key: 8033e1 91357b ca0e92 2b56c9 + matrix: 102a9f ce3394 d4daa0 53d5d0 + lin trans: 102b9d ce3f77 d4d7ed 53d0ed +round 7 + mix key: 198ea2 8eaa03 88d623 c93c59 + matrix: f503da dbbb86 d91514 758ae9 + lin trans: f50c8a dbb63d d91885 758db1 +ciphertext: 0d4ae1 5b5eeb c4cc9d 7a2996 +Encryption... + plaintext: 0d4ae1 5b5eeb c4cc9d 7a2996 +round 0 + mix key: e96131 0c6c35 831944 933478 + matrix: 6c11d0 6373b3 adcc22 2ce44f + lin trans: 6c1711 637584 adc6fe 2ce681 +round 1 + mix key: 615df0 382b6f 690a63 56cf17 + matrix: 4d363e 349d5a 313f8a 23c2cf + lin trans: 4d32ed 349e13 313c99 23c0f3 +round 2 + mix key: 080cf0 832ad0 21a5e2 8908c9 + matrix: 62de91 d46b15 8503ec 339de7 + lin trans: 62d8bc d46653 850bbc 339ede +round 3 + mix key: c428d1 3ab7a5 6627e6 6f7a67 + matrix: d21fe7 bac3c2 13f952 0989dc + lin trans: d212c6 bac86e 13f86d 098944 +round 4 + mix key: 5d0bda 591c66 b90fda 52e000 + matrix: 499cb4 1d3a04 235196 48fcc8 + lin trans: 49982d 1d3bd7 2353a3 48f847 +round 5 + mix key: a59987 d1f10d f957ed 65eb7e + matrix: 195b90 7291da 728343 5d79f8 + lin trans: 195a05 7296f3 72846b 5d7c2f +round 6 + mix key: 9ee0c7 db0df1 1d77c9 92e043 + matrix: 152921 4865a1 466271 23ab35 + lin trans: 152873 486127 466617 23a90f +round 7 + mix key: 1c8d4c 08f453 1a67d9 b945bb + matrix: 11c09a 573c4c 6bb2ec c6eeb9 + lin trans: 11c186 57393f 6bb457 c6e2d7 +ciphertext: e987ed d7d1e9 76604f c946f0 +Encryption... + plaintext: e987ed d7d1e9 76604f c946f0 +round 0 + mix key: 0dac3d 80e337 31b596 205b1e + matrix: a236ac 45ee87 d5d8ea f78a85 + lin trans: a23c8f 45ead9 d5d5b7 f785fd +round 1 + mix key: af766e 1eb432 11192a 8dac6b + matrix: b79eff 421fbd fbccd0 3cff27 + lin trans: b79586 421b9c fbc36c 3cfce8 +round 2 + mix key: 5e126b 95ca75 8da323 f5ba18 + matrix: e2baae 2e827e de1635 09111c + lin trans: e2b485 2e8096 de1bd4 09118d +round 3 + mix key: 4444e8 c05160 3d378e 55f534 + matrix: 389ccc ffb59e 470372 4e1fe6 + lin trans: 389f45 ffba65 470702 4e1b07 +round 4 + mix key: b78659 1c6e6d edf0b5 157243 + matrix: d36d33 9ce0a3 df81fb 949549 + lin trans: d36005 9ce96d df8c03 949c00 +round 5 + mix key: 3f61af 5023b7 05884d b98f39 + matrix: 233a85 6a466f 2c5667 c453c5 + lin trans: 2338b6 6a40cb 2c54a2 c45f80 +round 6 + mix key: a48274 c3dbc9 43a700 0bc3ec + matrix: 8de231 ec8d28 4bd6f9 29e039 + lin trans: 8deaef ec83e0 4bd244 29e2a7 +round 7 + mix key: 844fd0 ac1694 17d38a b30e13 + matrix: 170d8f abceb3 76e6a4 10c2fd + lin trans: 170cff abc40f 76e1ca 10c3f1 +ciphertext: ef4a94 2b2cd9 6b35d2 1f67d6 +Encryption... + plaintext: ef4a94 2b2cd9 6b35d2 1f67d6 +round 0 + mix key: 0b6144 7c1e07 2ce00b f67a38 + matrix: a4d8fb c89755 7acbfc c96aa8 + lin trans: a4d2b6 c89bdc 7acc50 c9663e +round 1 + mix key: a99857 93c537 be00cd b34fa8 + matrix: 0f4e24 8aacc0 628bb1 acb164 + lin trans: 0f4ed0 8aa46a 628d99 acbbaf +round 2 + mix key: e6c93d 5d7583 14edd6 65fd5f + matrix: d58e81 2b983e 647b84 4eb302 + lin trans: d583d9 2b9a87 647dc3 4eb7e9 +round 3 + mix key: 3ac94d 00b65e 0f4811 51d03f + matrix: 14f85c 8cc2ef 217540 f01d5e + lin trans: 14f913 8cca23 217757 f0125f +round 4 + mix key: 9be00f 6f1e2b 8b80e0 ab7b1b + matrix: 711c7b c2280e 299ed4 141e80 + lin trans: 711b6a c2242c 299c4d 141fc1 +round 5 + mix key: 9d1ac0 0eeef6 f39803 390cf8 + matrix: d976de 123c99 35a5fb ea551b + lin trans: d97b49 123dba 35a6a1 ea5bbe +round 6 + mix key: 5ec18b bba6b8 5a5503 25c7d2 + matrix: 0ff6db d59acc b6ab50 5b2b4d + lin trans: 0ff624 d59795 b6a03a 5b2eff +round 7 + mix key: 06531b 9502e1 eaa1f4 c1c24b + matrix: 857b05 af3a3e 91ed4a 9e0dd2 + lin trans: 857352 af30cd 91e454 9e0432 +ciphertext: 7d3539 2fd81b 8c304c 91a015 +Encryption... + plaintext: 7d3539 2fd81b 8c304c 91a015 +round 0 + mix key: 991ee9 78eac5 cbe595 78bdfb + matrix: 01fdb3 75787b b68eb3 c3fcb9 + lin trans: 01fdac 757f2c b685db c3f086 +round 1 + mix key: 0cb74d 2e21c7 724946 b9d910 + matrix: 87e86e d66945 53ceb6 d17af7 + lin trans: 87e010 d66423 53cb8a d177e0 +round 2 + mix key: 6e67fd 01b5ca 25abc5 183110 + matrix: be7cb1 eca162 a0c456 9f3a57 + lin trans: be7756 ecafa8 a0ce5a 9f33a4 +round 3 + mix key: 513dc2 c78371 cbfb88 805472 + matrix: d5a559 26caec 619fc3 398b2b + lin trans: d5a803 26c880 6199da 3988b3 +round 4 + mix key: a89d3a 09109b eda996 a828a6 + matrix: 9adc9f cee44a 51bc77 042093 + lin trans: 9ad532 cee8a4 51b96c 0420d1 +round 5 + mix key: 76d498 02227e 8bbd22 2933e8 + matrix: 52a08e 5a06e6 4ea87c 20d62c + lin trans: 52a5a4 5a0346 4eac96 20d421 +round 6 + mix key: d51f66 f39844 215f34 ef484d + matrix: b6310b 8318d1 8a75f4 eecd69 + lin trans: b63a68 8310e0 8a7d53 eec385 +round 7 + mix key: bf9f57 c38594 d67c9d 742f31 + matrix: 1a4e12 99bb27 4868c0 927b46 + lin trans: 1a4fb6 99b2bc 486c46 927261 +ciphertext: e209dd 195a6a 55b85e 9dd646 +Encryption... + plaintext: e209dd 195a6a 55b85e 9dd646 +round 0 + mix key: 06220d 4e68b4 126d87 74cba8 + matrix: 1b21c3 cab0a0 bb0086 efe0ff + lin trans: 1b2071 cabc0b bb0b36 efee01 +round 1 + mix key: 166a90 91e2e0 7fc7ab 95c797 + matrix: 1f6e0f 30785a 0140d7 734c14 + lin trans: 1f6ff9 307b5d 0140c3 734b20 +round 2 + mix key: f6e814 e7aab4 77208c ba0dd0 + matrix: 534a40 68f6e0 dc521c 8c13d0 + lin trans: 534f74 68f06f dc5fd9 8c1b11 +round 3 + mix key: bc05e0 43dcb6 b76a0b 937cc7 + matrix: d52085 9718aa 7e1ad5 6614c2 + lin trans: d52dd7 9711db 7e1d34 6612a3 +round 4 + mix key: a818ee b8c9c0 f22d78 f7b2b6 + matrix: df16d0 096e84 5ddf12 75d1aa + lin trans: df1b21 096e12 5ddacf 75d6f7 +round 5 + mix key: 3d12fc 103478 086291 e800b1 + matrix: f229f5 db5546 2d0c71 05f7c8 + lin trans: f226d7 db58f3 2d0ea1 05f797 +round 6 + mix key: 759c15 72c3f1 42fd03 ca6bfb + matrix: 569983 b97849 81ccdd 50770f + lin trans: 569cea b973de 81c4c1 507208 +round 7 + mix key: 5f39d5 f9e6aa ddc50f ca9ebc + matrix: 301fc5 6f526c e75c4c 5af579 + lin trans: 301cc4 6f5499 e75239 5af0d6 +ciphertext: c85aaf efbc4f fa8621 5554f1 +Encryption... + plaintext: c85aaf efbc4f fa8621 5554f1 +round 0 + mix key: 2c717f b88e91 bd53f8 bc491f + matrix: c857d5 3667b2 975d62 b2eb9a + lin trans: c85b50 3664d4 975417 b2e0b4 +round 1 + mix key: c511b1 6d3a3f 53988a c8c922 + matrix: 7eb0b4 4e6bcb 177d3a 4c05a5 + lin trans: 7eb75f 4e6f2d 177c4d 4c0165 +round 2 + mix key: 9730b2 99bec4 611c02 854795 + matrix: e62217 2a44b7 51fa72 3b226b + lin trans: e62c75 2a4613 51ff6d 3b21d9 +round 3 + mix key: 0966e1 016aca 3acabf 24460f + matrix: 315574 970f05 8ac292 849d14 + lin trans: 315661 970675 8aca3e 84955d +round 4 + mix key: 4c6358 b8de6e 06fa72 153548 + matrix: 86ba1e f5fbb6 0fc1dc 0c236c + lin trans: 86b275 f5f4e9 0fc120 0c23ae +round 5 + mix key: 64bba8 ecae83 5a797e 91f5e8 + matrix: 2d8103 cd04f2 aa1ec9 cb48e1 + lin trans: 2d83db cd0822 aa1468 cb4455 +round 6 + mix key: e5d974 22b46d 509249 9e10a4 + matrix: 063a1d fa1cb3 5dcd14 6d2114 + lin trans: 063a7e fa1312 5dc8c8 6d27c6 +round 7 + mix key: 0f9f41 ba8666 01c906 f7cb72 + matrix: dc589b 3797f7 c4a471 ebc8e4 + lin trans: dc555e 37948e c4a83b ebc658 +ciphertext: 241335 b77c58 d97c23 e4627f +Encryption... + plaintext: 241335 b77c58 d97c23 e4627f +round 0 + mix key: c038e5 e04e86 9ea9fa 0d7f91 + matrix: 79b0fe 9a52f8 e0e413 8b2257 + lin trans: 79b765 9a5b5d e0ea1d 8b2ae5 +round 1 + mix key: 74fd84 c105b6 242680 f10373 + matrix: bcaf4d 109961 c9e03c 095019 + lin trans: bca487 109868 c9eca2 09508c +round 2 + mix key: 55236a c74981 bf8ced c0167c + matrix: c7844b 69d881 b81382 37aae8 + lin trans: c78833 69de1c b81803 37a992 +round 3 + mix key: 28c2a7 42f2c5 d32dd1 28ce44 + matrix: 11ec5e 23bd90 79e0cb ce0692 + lin trans: 11ed40 23bfab 79e755 ce0a72 +round 4 + mix key: 6cd879 0c67b0 f5d719 5faa67 + matrix: f75cda 285fa3 2446fe 0f1580 + lin trans: f753af 285d26 2444ba 0f1571 +round 5 + mix key: 155a72 31074c 71fce4 92c337 + matrix: cd09b1 375b7b c3a4b4 0e6b03 + lin trans: cd0561 37580e c3a88e 0e6be5 +round 6 + mix key: 055fce d8e441 392eaf 5b3f14 + matrix: 0df46f 74e7bb a741e4 6970d6 + lin trans: 0df4b0 74e0f5 a74b90 697641 +round 7 + mix key: 29e785 c39cad 7e37b3 8d143e + matrix: 9183aa 491b0e dffda3 811d6e + lin trans: 918ab2 491f9f dff05c 81157f +ciphertext: 69ccd9 c9f749 c22444 8eb158 +Final round subkeys: +e42bd0 5732de 47d5d9 e91dee +0d4ae1 5b5eeb c4cc9d 7a2996 +e987ed d7d1e9 76604f c946f0 +ef4a94 2b2cd9 6b35d2 1f67d6 +7d3539 2fd81b 8c304c 91a015 +e209dd 195a6a 55b85e 9dd646 +c85aaf efbc4f fa8621 5554f1 +241335 b77c58 d97c23 e4627f +69ccd9 c9f749 c22444 8eb158 + +Encryption... + plaintext: 000006 000007 000008 000009 +round 0 + mix key: e42bd6 5732d9 47d5d1 e91de7 + matrix: 60666a 82e0de c771dc ea1e5f + lin trans: 60606c 82e8f0 c77dab ea10fe +round 1 + mix key: 6d2a8d d9b61b 03b136 903968 + matrix: df3c9a 45f5dd f985fa d271e3 + lin trans: df3169 45f182 f98a62 d27cc4 +round 2 + mix key: 36b684 92206b 8fea2d 1b3a34 + matrix: fe989b 511acf 3ce2d6 0ea706 + lin trans: fe9772 511fde 3ce118 0ea7ec +round 3 + mix key: 11dde6 7a3307 57d4ca 11c03a + matrix: 30bb43 5a67e6 f056b3 3cb007 + lin trans: 30b848 5a6240 f059b6 3cb3cc +round 4 + mix key: 4d8d71 75ba5b 7c69fa ad13d9 + matrix: a8a73f d6496c 0d71c8 a18d38 + lin trans: a8adb5 d64408 0d711f a18720 +round 5 + mix key: 4aa468 cf1e62 58c941 3c5166 + matrix: 936480 54e41d e37705 8277a7 + lin trans: 936db6 54e153 e37932 827f80 +round 6 + mix key: 5b3719 bb5d1c 19ff13 d72b71 + matrix: bb7e20 073007 8fdc2c 3bdb3c + lin trans: bb7597 073074 8fd4d1 3bd881 +round 7 + mix key: 9f66a2 b04c2c 56a8f2 dfbafe + matrix: 727440 1f5806 8584c8 d7886c + lin trans: 727367 1f59f3 858c90 d78514 +ciphertext: 1bbfbe d6aeba 47a8d4 59344c +Decryption... +ciphertext: 1bbfbe d6aeba 47a8d4 59344c +round 0 + mix key: 727367 1f59f3 858c90 d78514 + lin trans: 1bbfbe d6aeba 47a8d4 59344c + matrix: 9f66a2 b04c2c 56a8f2 dfbafe +round 1 + mix key: bb7597 073074 8fd4d1 3bd881 + lin trans: 9f66a2 b04c2c 56a8f2 dfbafe + matrix: 5b3719 bb5d1c 19ff13 d72b71 +round 2 + mix key: 936db6 54e153 e37932 827f80 + lin trans: 5b3719 bb5d1c 19ff13 d72b71 + matrix: 4aa468 cf1e62 58c941 3c5166 +round 3 + mix key: a8adb5 d64408 0d711f a18720 + lin trans: 4aa468 cf1e62 58c941 3c5166 + matrix: 4d8d71 75ba5b 7c69fa ad13d9 +round 4 + mix key: 30b848 5a6240 f059b6 3cb3cc + lin trans: 4d8d71 75ba5b 7c69fa ad13d9 + matrix: 11dde6 7a3307 57d4ca 11c03a +round 5 + mix key: fe9772 511fde 3ce118 0ea7ec + lin trans: 11dde6 7a3307 57d4ca 11c03a + matrix: 36b684 92206b 8fea2d 1b3a34 +round 6 + mix key: df3169 45f182 f98a62 d27cc4 + lin trans: 36b684 92206b 8fea2d 1b3a34 + matrix: 6d2a8d d9b61b 03b136 903968 +round 7 + mix key: 60606c 82e8f0 c77dab ea10fe + lin trans: 6d2a8d d9b61b 03b136 903968 + matrix: e42bd6 5732d9 47d5d1 e91de7 + plaintext: 000006 000007 000008 000009 diff --git a/storin.tests-ref b/storin.tests-ref new file mode 100644 index 0000000..098a18d --- /dev/null +++ b/storin.tests-ref @@ -0,0 +1,342 @@ +# Test vectors for Storin [generated] +# +# In each entry, the key comes first, followed by the plaintext and +# ciphertext. + +storin { + 000001 + 000002000003000004000005 5d63b073561392cfaede1500; + + 4576cd + 5f99e45dc7bed33df2139960 12cc2db86bc73179965017e7; + + 7aa9d7 + ef12bc06d7da13111665e335 31cb9ce1d60ffec5ccecdf4b; + + b23347 + 24ccd3462b48d604b7cc4555 de051e596af1fae783e5c2bf; + + ffd411 + 905e954fafe7195f706fec22 12f48e84fd1fb648ffa3256a; + + cd0890 + 81b27db623d12df9df8410f7 8710d71154aa3fc8bbe72d69; + + eb92da + 0810c5caf8c910359496d91d 0be18be133eadbe792cbd05d; + + 5c9e26 + 1889d01054c627fdebb24514 c74a1d3fd8727cb7ef3cfecf; + + 95f3ad + a1e9564d238feab186ec99ed 69d5dddd6a5a1575bc5c5df5; + + f2cfd1 + b8d4dcc48792a963687eccee 686031ced272540ea9245da2; + + 7024ee + cb5353a1c432372d85c3d1a6 ddbe647b89a0e6e82b19d0ff; + + f57eed + 17ab815c080c58a09b7f0168 03e4d5783b32fe4eb83f79ab; + + 5e009d + 6feeaa85c5a9858306a98d0d bd29481fbb3671aaee954550; + + 1c932d + 3c364bf18960ffab0358b306 557b79eca56b1d32c0193133; + + 6b0823 + e95465ef8eb054d1a53c6a43 00080a595581d4ab93e3ba94; + + cb2764 + 3222c786dd6cdd3116656b0f 0707a1833f20b723d7155c37; + + 000001000002 + 000003000004000005000006 ff6f7cd2829138629144cba1; + + e4b411ddba89 + 0ec46cacfb47e211945b8184 e4ba777ffc6882321a1f0780; + + 8dd66e507bcf + b9c2a1b36c4a98d4710a1330 6c5d766275bdbab2a5cfdd59; + + 0fffc980b0f1 + 1d4d377f4812917806a1f534 4077c685b430b04af638ad8c; + + 271bc9b7c151 + 24f2983fb248a1b8a80ece77 b71ec738a7de1870a9c642cc; + + 6380ff4ddf77 + da17bf4ebf79193f191f532a 4764809d30c142dc5b815d7c; + + 83555b682750 + 15caad0c0ce517d5d96813cd 3525ff74be4b8d47f3bb36c9; + + 7fee7306769a + a2d03d28d51fae0b33de2b7f 1d33963743148296abf079cd; + + 18a529b76c54 + 7da59eaaba6b8b0d0dfe5d27 0ee09379f12c7465158c8a5c; + + b852a48a49ba + a53f2380e240a01c85fc8440 56dd633b3c44f6a9b645c1cb; + + e8c06a4cdb61 + f385361ad151c4d1204a2561 f8c83c4f04dafce2947c96bd; + + db6ff7944d08 + f34c0ce297c061777d76fff0 8f3189e88da2eced7aaa621e; + + 22b859c76c1d + fe568fc807a20a551f8fd52d 85acc695d2404ca20ff9bd30; + + 5a47d8b16583 + 5d0074a5d4d8dfcecd9e3ce8 b4808d767aad8ddfb8d0dc5c; + + f78ee1b05c60 + 4164adf4e91013909963647a a219267d7c9f35614fa49fbc; + + fac32117a263 + 5b735cf8626d6d84628ed5c9 ca0957f53d7cfade32ed620d; + + 000001000002000003 + 000004000005000006000007 374dd76d4e1b99beaba59358; + + 8acc26475a9004cd29 + 6ad7df332a3e3de060387357 4d7a85a888126297fe313a4c; + + ca0aac146cc8237a76 + 8a89382949f5f5ec0868af04 cee03baa97ae3e512af9081e; + + cbae679a28339472d9 + 0380fff747610062cda84ebd fb3896d13ebaea610444c433; + + ebe7a38855b353a6e9 + d4f18722ca87991a315e23eb cc6eabb8a6c4e2d78ee22a17; + + 15c1fe9f57ddaf7347 + ecc305dbd8e521d1055290da 24e34f75effdb455c357a60b; + + 339f1485c135c2f6dc + 7d13eaf728a73a47b1e34fcc 5bc3b496effbed9269a70765; + + 958449f7f1ae58ab1d + 2d4c507d3ec3673782385601 d306c759743eb3134d39543c; + + 1d8da8b0bc94b99747 + 0e246b0cdc3f3e4910778f2b 068cf7d92f7bfc12586309eb; + + 233375269e2ebd68b9 + 66c952c3a195fb6a33471e96 39d766c76f89db68578d98cc; + + 0b956f5dc2276dd904 + bece3eedddb6c15a21f8fab7 89f2b06150984f81290a7a10; + + 1766f6fbaa5b3bd700 + 14d509b11f6161e604fa0c0e ea0302e31a2d51a078177931; + + 9531f291eff94c80b2 + 45fdfcbfb85f1b8ca47c8b50 20def9eb159aec9046eaa7b7; + + 62f972aadd7a33e19b + e76e547f932cc069def26d52 581ef939855aa5de9ab73545; + + 739eeb8450fd760ea1 + 0e8f9d35f20c1f26ccaa5952 bd4aa4fbb94b2704e689e195; + + a9110fba912127585e + 1270b5f9277b84d6b3638ba4 c43fb444935faf884c831897; + + 000001000002000003000004 + 000005000006000007000008 f41a6bb016c1906993439781; + + 7074f3d523eb8aafbb6fd5b1 + e9268aab70c60aa1c9a6315a f66d669994916511ce070bec; + + 7dd2975936a43740807fbb30 + bd2d371a250c93b4338cffd0 932dab5bb050973190618cdd; + + 69279096eec57beb42205315 + 29d7abf4d1d6c0adb37860ad 45d368d47be04059a267f8f7; + + 2194543709ef84bbc90507a3 + 7b1683f7f178509fc565e9b9 540280d12895db3094cc1fbc; + + 995f3bd5c1f49a39f22a98aa + f10ed201936013475f4d69ae 32453689c31456694a958d8a; + + 5b94e20a8db0003c3f9661b6 + 3867482ac3e2dfd47f22b9ff 959d27fa29c9cb4e12b0e393; + + caa563f19b10ac1427177858 + 743dfe7cc82bb42b69d65eac 1eded9bc990edce2c10c40c6; + + 6e83266071af0a0fa313bf34 + 9c7f980c3529b978b9cb3c45 7be86341d91f67226119b65e; + + b4cb8641ce307ff76f538eed + 528c54be78156cd44f8be18f 647bb94ceb4056cbb82dc32c; + + 6194286d8652cc673c415003 + 690fd43d75de2c8c16f7f300 5826551decbbc5bf5a61b69c; + + a58d15e52d780f17468ed5b7 + 9471105cd4ee1f6272649b80 a0d19596a43b23abda11811c; + + 8a8d7adc0822aa9019449dbf + 541fb4d1bf74ba3dfde77671 2ea25fd3af21b3f62679a535; + + 6c21d86dc29162c8f279b74b + 93d3b61d4a5d4f4615c29863 41e68e1bd5c0bc21de78cb33; + + 97282591419f268f9e0313b5 + 11393b110057f5c11ed31ea6 38d8d2198ce7a84f77493491; + + eaff29e617c5be4f4de11d57 + 6054dd8b382d857a429c41f7 8d04bfb8e4ef41578d76f6a3; + + 000001000002000003000004000005 + 000006000007000008000009 1bbfbed6aeba47a8d459344c; + + adf008edba00b657dfcc439f524bcb + 8a1eacdb27a4242c8b04ae77 4fde1bcb83dbdcdacbd15f15; + + 5da8db67dfa16c23894eaf193d8c6d + edb41e78abbbd02ca1f52f0b dfc162fc61496361f8660e0a; + + 4d2504758e67bd29cbaa9a9fea15c2 + 26cf7189f82a984a19faf59e 1bf4939c3f087fb23d99e6f3; + + 206353240b3f445ca9c29e15904e63 + 727108c071cde196ecfff73f f30b764e1a6e210aef3da8e5; + + 6bf9768cd282b04c810fd3e0616e40 + 1bbea95038b986c7a2ce2a22 cbbfca6e6ad07dd2d5710ed1; + + a05bbdbd346811ce9a700fef569966 + dc12f580b830af436cc9d6eb 25c89ffc9c788ade93bd9b61; + + 5ee00c3e3e6b602b0876c9acadda8b + 52430af6182267fa26d4790c f4ecacb06f5c024bf4454664; + + 148257bf171b839e4abc5c42d576bb + 0bb68f8e0fdb35e023e1fb3b 3367c336a2a1555efeeadfe6; + + 653efaa3be6a51a15c3de1fb59de0b + b3ecad85af7dc83695f87521 420141ad1f09730c9bcacd82; + + 71bf4ace3dde764e493a74cb2a983b + 64c76f86f35f7f88e8653536 c9ae6be4a33c9a91a938c3ac; + + bc53814170319889113e5c5c45b403 + 43697b80fda3f3f723d868fe 82ea0efa9ce782ae762c7c3c; + + 0c0c1dfa39c8712115977e17384684 + 4f0e874dd23f4ef60e2591b5 3e5b47c21ca9655f02561d2d; + + 044bb6897847a305dae71e67f65294 + 130fc10e968b378853008337 e941aa7bcc42ab9c29203bed; + + 12d5685a365a028096049bedb05365 + addfb917c2ac8849a3a70138 14218c45c66d9e89e52ab83d; + + 7979529d857ef2ccf19f739b8cd809 + 7f6fc0b838630f27c46b3c6f 6820774a9d1ef0236497eaf5; + + 000001000002000003000004000005000006 + 00000700000800000900000a 707e2d3d3b1a889822209f66; + + df93886811dee14d9f84e4d471fd1e2b1b72 + 779cd7e129b982097e69d123 6a526f890329cfa9de0d264f; + + 6ca6e6ef4feab04bbdc6a5ffecb53bbce2cd + 1e8321e6c41477dc9998e426 23e96079978df0d384c01988; + + 79a988295978a6a5dba382f32ea20fb5e41d + 3043adaa76897648d4b493b9 587f02f5047b790efd96c5b8; + + 1aa2b1c84820785c127ce0e47b3d7126d83d + b0cef4d97b6746eb95bf6363 d1e9de4f9fe564b0dbaacb87; + + 231f0e97177925bc52b0a6d201f32bd05ab0 + 201f2d410871216f005557b8 d62ec7d3341330881a75bc87; + + bd1bb629e6492e8137c3bb7d85df20a7dba8 + e06df05e2e8300224598d55b e0aa2d0607004938558219cf; + + dbea6651183e28154e416ce18cf03103be5f + 150c3c60f28fc8992abd0feb 26c18312a5e01404f899fa85; + + dd01fa5f8b92083314cd345155ffdca38fd1 + 57daaf6a6158296213d67db7 fa4693ab5cc20519a86b757c; + + 96520d8e7230aa98ce0f1e2f907e1f6bbaef + f05d6eb9c8f309d1157efbd0 17a4508d47efb1b467102969; + + 3be47911c183a2149103fb809c655d82aaa0 + 9f4a8df2f0a306a6aea582fc daa7f08e4513c7edc7672ab7; + + 28355f8a80856a6a84f7ecb7eba9c54b8de6 + d47f173d9f6654399cf19a0f c8a01474f9d7b12e6f1fad64; + + 9839169a36e367ff987f1e15d4b9d4edabe9 + f32ccf2c10ceddd23e0f9ad1 c73dcfbef2019590faf7db3e; + + a308ec07fcdf67993d6e1c26e5454a67827f + c9f616001fcbb8de16a18dc2 56f5f4d0ce4b46c227f2f9d8; + + 780ee8957a15be9af41afc226eb6cd3088f0 + f671c829b6e3e3d8037e2a08 8c8ca064d9ca7bb094bcba57; + + 5ee7be1c6e3c979b31196be62204bc43e158 + 795ac01030b7e940ca03e7dc f1d3257b165ca7b8cdea37d0; + + 000001000002000003000004000005000006000007 + 00000800000900000a00000b 929d77b724c95fba379514d2; + + 4ca0b69f6a58abceb9a834701d91e4bdaf74491b79 + 8566a666a3841c32b541ffae b4e9dab9753610dd347759db; + + fe35fa217769d263a45081cdb4a75231d214816b7e + a122d1189b2c6706a9035d86 3ea243073eb9edb79963b808; + + 155198e1ba1a5c3b87427344b3cb980fcdad8bae0a + a2f4beb09df84f5cbc66c34f 27c80ffa750df23c92733e78; + + d510cbe38d707644e2b6f17e90fe986b7def235e1f + 625b0477dd46cad9b4fc732f db48b7ab4dd9cd4a572f572f; + + e530b162454431bfd479554b75a76d647800f7acf0 + 89286d9bdec18c3588b485d4 7ea4bcfe0558fb28030ad3de; + + 9bfd72062da780df848bc1e093d6c674a0f2da1a11 + f0e4958a01a37e8db9b9dcf4 3b31efcee455e159c96f0fa5; + + c90fae1dea98b79455b2c711e66726ab275ff712eb + 059ad110481cf02f169f3c47 11b552a3363e0e38cc3f17b7; + + a18720963feef838f948a0eb34ab1c9b8f8d1f84d0 + 1795b08ab809404151f0c4f2 e90037aa4b86e708029ee86a; + + 539e849d6a643f5490d4dc164892ed1e450009c545 + 0d82636ef031d074850cbb4b 0ef13bd3180a6b8e3b3ec6a6; + + d55fc701818bd346f40f95396de066ad18eb2c580c + 24b7fabb6391a3cb383f3ddd b2ba4dc7ccd32ef0316792e7; + + dc3ec3f6f299d47e08292c44d32b56497d0822acfe + 0f299593c6e88c101c28cd25 3725547ed120ffd5888bfad1; + + 9984332aa5e38cf41cb4489cb9ae1ababc9864f351 + b2b3bc3ca02814e7105a9fd8 c3cf3e37eefcb8f725b864e6; + + 455258d57dcbd477bc3f9384092924c4bbd1f2b026 + 6112b8ad65074f6ae6848bda f6aa9d9181951ee081b5d80b; + + dfaea0c63789d8d8c3ff81f9d58709d28d9cc3735f + c83efbd3e382832841495b73 75fedad0eb203930ddf764b3; + + ea46d75c216318994ce51304425822ecac6f358130 + e973cbae13b704ddf0eca2e4 3abf342b45a6e1368e1e6659; +} -- [mdw]