quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

aead_chacha20poly13052.c (65406B)


      1 
      2 #define TEST_NAME "aead_chacha20poly13052"
      3 #include "cmptest.h"
      4 
      5 static struct {
      6     const char *key_hex;
      7     const char  nonce_hex[crypto_aead_chacha20poly1305_ietf_NPUBBYTES * 2 + 1];
      8     const char *ad_hex;
      9     const char *message_hex;
     10     const char *detached_ciphertext_hex;
     11     const char  mac_hex[crypto_aead_chacha20poly1305_ietf_ABYTES * 2 + 1];
     12     const char *outcome;
     13 } tests[] = {
     14     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
     15       "070000004041424344454647", "50515253c0c1c2c3c4c5c6c7",
     16       "4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66"
     17       "202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e6520"
     18       "74697020666f7220746865206675747572652c2073756e73637265656e20776f756c6420"
     19       "62652069742e",
     20       "d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e"
     21       "8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c"
     22       "9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d265"
     23       "86cec64b6116",
     24       "1ae10b594f09e26a7e902ecbd0600691", "valid" },
     25     { "80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0",
     26       "4da5bf8dfd5852c1ea12379d", "", "", "",
     27       "76acb342cf3166a5b63c0c0ea1383c8d", "valid" },
     28     { "7a4cd759172e02eb204db2c3f5c746227df584fc1345196391dbb9577a250742",
     29       "a92ef0ac991dd516a3c6f689", "bd506764f2d2c410", "", "",
     30       "906fa6284b52f87b7359cbaa7563c709", "valid" },
     31     { "cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273",
     32       "99e23ec48985bccdeeab60f1", "", "2a", "3a",
     33       "cac27dec0968801e9f6eded69d807522", "valid" },
     34     { "46f0254965f769d52bdb4a70b443199f8ef207520d1220c55e4b70f0fda620ee",
     35       "ab0dca716ee051d2782f4403", "91ca6c592cbcca53", "51", "c4",
     36       "168310ca45b1f7c66cad4e99e43f72b9", "valid" },
     37     { "2f7f7e4f592bb389194989743507bf3ee9cbde1786b6695fe6c025fd9ba4c100",
     38       "461af122e9f2e0347e03f2db", "", "5c60", "4d13",
     39       "91e8b61efb39c122195453077b22e5e2", "valid" },
     40     { "c8833dce5ea9f248aa2030eacfe72bffe69a620caf793344e5718fe0d7ab1a58",
     41       "61546ba5f1720590b6040ac6", "88364fc8060518bf", "ddf2", "b60d",
     42       "ead0fd4697ec2e5558237719d02437a2", "valid" },
     43     { "55568158d3a6483f1f7021eab69b703f614251cadc1af5d34a374fdbfc5adac7",
     44       "3c4e654d663fa4596dc55bb7", "", "ab85e9c1571731", "5dfe3440dbb3c3",
     45       "ed7a434e2602d394281e0afa9fb7aa42", "valid" },
     46     { "e3c09e7fab1aefb516da6a33022a1dd4eb272c80d540c5da52a730f34d840d7f",
     47       "58389375c69ee398de948396", "84e46be8c0919053", "4ee5cda20d4290",
     48       "4bd47212941ce3", "185f1408ee7fbf18f5abad6e2253a1ba", "valid" },
     49     { "51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152",
     50       "4f07afedfdc3b6c2361823d3", "", "be3308f72a2c6aed", "8e9439a56eeec817",
     51       "fbe8a6ed8fabb1937539dd6c00e90021", "valid" },
     52     { "1131c1418577a054de7a4ac551950f1a053f9ae46e5b75fe4abd5608d7cddadd",
     53       "b4ea666ee119563366484a78", "66c0ae70076cb14d", "a4c9c2801b71f7df",
     54       "b9b910433af052b0", "4530f51aeee024e0a445a6328fa67a18", "valid" },
     55     { "99b62bd5afbe3fb015bde93f0abf483957a1c3eb3ca59cb50b39f7f8a9cc51be",
     56       "9a59fce26df0005e07538656", "", "42baae5978feaf5c368d14e0",
     57       "ff7dc203b26c467a6b50db33", "578c0f2758c2e14e36d4fc106dcb29b4", "valid" },
     58     { "85f35b6282cff440bc1020c8136ff27031110fa63ec16f1e825118b006b91257",
     59       "58dbd4ad2c4ad35dd906e9ce", "a506e1a5c69093f9",
     60       "fdc85b94a4b2a6b759b1a0da", "9f8816de0994e938d9e53f95",
     61       "d086fc6c9d8fa915fd8423a7cf05072f", "valid" },
     62     { "67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb",
     63       "68ab7fdbf61901dad461d23c", "", "51f8c1f731ea14acdb210a6d973e07",
     64       "0b29638e1fbdd6df53970be2210042", "2a9134087d67a46e79178d0a93f5e1d2",
     65       "valid" },
     66     { "e6f1118d41e4b43fb58221b7ed79673834e0d8ac5c4fa60bbc8bc4893a58894d",
     67       "d95b3243afaef714c5035b6a", "6453a53384632212",
     68       "97469da667d6110f9cbda1d1a20673", "32db66c4a3819d81557455e5980fed",
     69       "feae30dec94e6ad3a9eea06a0d703917", "valid" },
     70     { "59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a",
     71       "2fcb1b38a99e71b84740ad9b", "", "549b365af913f3b081131ccb6b825588",
     72       "e9110e9f56ab3ca483500ceabab67a13", "836ccabf15a6a22a51c1071cfa68fa0c",
     73       "valid" },
     74     { "b907a45075513fe8a8019edee3f2591487b2a030b03c6e1d771c862571d2ea1e",
     75       "118a6964c2d3e380071f5266", "034585621af8d7ff",
     76       "55a465644f5b650928cbee7c063214d6", "e4b113cb775945f3d3a8ae9ec141c00c",
     77       "7c43f16ce096d0dc27c95849dc383b7d", "valid" },
     78     { "3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011",
     79       "45aaa3e5d16d2d42dc03445d", "", "3ff1514b1c503915918f0c0c31094a6e1f",
     80       "02cc3acb5ee1fcdd12a03bb857976474d3", "d83b7463a2c3800fe958c28eaa290813",
     81       "valid" },
     82     { "f60c6a1b625725f76c7037b48fe3577fa7f7b87b1bd5a982176d182306ffb870",
     83       "f0384fb876121410633d993d", "9aaf299eeea78f79",
     84       "63858ca3e2ce69887b578a3c167b421c9c",
     85       "35766488d2bc7c2b8d17cbbb9abfad9e6d", "1f391e657b2738dda08448cba2811ceb",
     86       "valid" },
     87     { "0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7",
     88       "e6b1adf2fd58a8762c65f31b", "",
     89       "10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111",
     90       "42f26c56cb4be21d9d8d0c80fc99dde00d75f38074bfe764",
     91       "54aa7e13d48fff7d7557039457040a3a", "valid" },
     92     { "c5bc09565646e7edda954f1f739223dada20b95c44ab033d0fae4b0283d18be3",
     93       "6b282ebecc541bcd7834ed55", "3e8bc5ade182ff08",
     94       "9222f9018e54fd6de1200806a9ee8e4cc904d29f25cba193",
     95       "123032437b4bfd6920e8f7e7e0087ae4889ebe7a0ad0e900",
     96       "3cf68f179550da63d3b96c2d55411865", "valid" },
     97     { "2eb51c469aa8eb9e6c54a8349bae50a20f0e382711bba1152c424f03b6671d71",
     98       "04a9be03508a5f31371a6fd2", "",
     99       "b053999286a2824f42cc8c203ab24e2c97a685adcc2ad32662558e55a5c729",
    100       "45c7d6b53acad4abb68876a6e96a48fb59524d2c92c9d8a189c9fd2db91746",
    101       "566d3ca10e311b695f3eae1551652493", "valid" },
    102     { "7f5b74c07ed1b40fd14358fe2ff2a740c116c7706510e6a437f19ea49911cec4",
    103       "470a339ecb3219b8b81a1f8b", "374618a06ea98a48",
    104       "f45206abc25552b2abc9ab7fa243035fedaaddc3b2293956f1ea6e7156e7eb",
    105       "46a80c4187024720084627580080dde5a3f4a11093a7076ed6f3d326bc7b70",
    106       "534d4aa2835a52e72d14df0e4f47f25f", "valid" },
    107     { "e1731d5854e1b70cb3ffe8b786a2b3ebf0994370954757b9dc8c7bc5354634a3",
    108       "72cfd90ef3026ca22b7e6e6a", "",
    109       "b9c554cbc36ac18ae897df7beecac1dbeb4eafa156bb60ce2e5d48f05715e678",
    110       "ea29afa49d36e8760f5fe19723b9811ed5d519934a440f5081ac430b953b0e21",
    111       "222541af46b86533c6b68d2ff108a7ea", "valid" },
    112     { "27d860631b0485a410702fea61bc873f3442260caded4abde25b786a2d97f145",
    113       "262880d475f3dac5340dd1b8", "2333e5ce0f93b059",
    114       "6b2604996cd30c14a13a5257ed6cffd3bc5e29d6b97eb1799eb335e281ea451e",
    115       "6dad637897544d8bf6be9507ed4d1bb2e954bc427e5de729daf50762846ff2f4",
    116       "7b997d93c982189d7095dc794c746232", "valid" },
    117     { "cf0d40a4644e5f51815165d5301b22631f4544c49a1878e3a0a5e8e1aae0f264",
    118       "e74a515e7e2102b90bef55d2", "",
    119       "973d0c753826bae466cf9abb3493152e9de7819e2bd0c71171346b4d2cebf8041aa3cedc"
    120       "0dfd7b467e26228bc86c9a",
    121       "fba78ae4f9d808a62e3da40be2cb7700c3613d9eb2c529c652e76a432c658d27095f0eb8"
    122       "f940c324981ea935e507f9",
    123       "8f046956db3a512908bd7afc8f2ab0a9", "valid" },
    124     { "6cbfd71c645d184cf5d23c402bdb0d25ec54898c8a0273d42eb5be109fdcb2ac",
    125       "d4d807341683825b31cd4d95", "b3e4064683b02d84",
    126       "a98995504df16f748bfb7785ff91eeb3b660ea9ed3450c3d5e7b0e79ef653659a9978d75"
    127       "542ef91c456762215640b9",
    128       "a1ffed80761829ecce242e0e88b138049016bca018da2b6e19986b3e318cae8d806198fb"
    129       "4c527cc39350ebddeac573",
    130       "c4cbf0befda0b70242c640d7cd02d7a3", "valid" },
    131     { "5b1d1035c0b17ee0b0444767f80a25b8c1b741f4b50a4d3052226baa1c6fb701",
    132       "d61040a313ed492823cc065b", "",
    133       "d096803181beef9e008ff85d5ddc38ddacf0f09ee5f7e07f1e4079cb64d0dc8f5e6711cd"
    134       "4921a7887de76e2678fdc67618f1185586bfea9d4c685d50e4bb9a82",
    135       "9a4ef22b181677b5755c08f747c0f8d8e8d4c18a9cc2405c12bb51bb1872c8e8b877678b"
    136       "ec442cfcbb0ff464a64b74332cf072898c7e0eddf6232ea6e27efe50",
    137       "9ff3427a0f32fa566d9ca0a78aefc013", "valid" },
    138     { "97d635c4f47574d9998a90875da1d3a284b755b2d39297a5725235190e10a97e",
    139       "d31c21aba175b70de4ebb19c", "7193f623663321a2",
    140       "94ee166d6d6ecf8832437136b4ae805d428864359586d9193a25016293edba443c58e07e"
    141       "7b7195ec5bd84582a9d56c8d4a108c7d7ce34e6c6f8ea1bec0567317",
    142       "5fbbdecc34be201614f636031eeb42f1cace3c79a12cffd871ee8e73820c829749f1abb4"
    143       "294367849fb6c2aa56bda8a3078f723d7c1c852024b017b58973fb1e",
    144       "09263da7b4cb921452f97dca40f580ec", "valid" },
    145     { "fe6e55bdaed1f7284ca5fc0f8c5f2b8df56dc0f49e8ca66a41995e783351f901",
    146       "17c86a8abbb7e003acde2799", "",
    147       "b429eb80fb8fe8baeda0c85b9c333458e7c2992e558475069d12d45c2221756412158803"
    148       "2297eff56783742a5fc22d7410ffb29d66098661d76f126c3c27689e43b37267cac5a3a6"
    149       "d3ab49e391da29cd3054a5692e2807e4c3ea46c8761d50f592",
    150       "d0102f6c258bf49742cec34cf2d0fedf23d105fb4c84cf98515e1bc9a64f8ad5be8f0721"
    151       "bde50645d00083c3a263a31053b760245f52ae2866a5ec83b19f61be1d30d5c5d9fecc4c"
    152       "bbe08fd385813a2aa39a00ff9c10f7f23702add1e4b2ffa31c",
    153       "41865fc71de12b19612127ce49993bb0", "valid" },
    154     { "aabc063474e65c4c3e9bdc480dea97b45110c8618846ff6b15bdd2a4a5682c4e",
    155       "46362f45d6379e63e5229460", "a11c40b603767330",
    156       "ceb534ce50dc23ff638ace3ef63ab2cc2973eeada80785fc165d06c2f5100ff5e8ab2882"
    157       "c475afcd05ccd49f2e7d8f55ef3a72e3dc51d6852b8e6b9e7aece57be6556b0b6d9413e3"
    158       "3fc5fc24a9a205ad59574bb39d944a92dc47970d84a6ad3176",
    159       "7545391b51de01d5c53dfaca777909063e58edee4bb1227e7110ac4d2620c2aec2f848f5"
    160       "6deeb037a8dced75afa8a6c890e2dee42f950bb33d9e2424d08a505d899563973ed38870"
    161       "f3de6ee2adc7fe072c366c14e2cf7ca62fb3d36bee11685461",
    162       "b70d44ef8c66c5c7bbf10dcadd7facf6", "valid" },
    163     { "7d00b48095adfa3272050607b264185002ba99957c498be022770f2ce2f3143c",
    164       "87345f1055fd9e2102d50656", "02", "e5ccaa441bc814688f8f6e8f28b500b2",
    165       "7e72f5a185af16a611921b438f749f0b", "1242c670732334029adfe1c5001651e4",
    166       "valid" },
    167     { "6432717f1db85e41ac7836bce25185a080d5762b9e2b18444b6ec72c3bd8e4dc",
    168       "87a3163ec0598ad95b3aa713", "b648", "02cde168fba3f544bbd0332f7adeada8",
    169       "85f29a719557cdd14d1f8fffab6d9e60", "732ca32becd515a1ed353f542e999858",
    170       "valid" },
    171     { "8e34cf73d245a1082a920b86364eb896c4946467bcb3d58929fcb36690e6394f",
    172       "6f573aa86baa492ba46596df", "bd4cd02fc7502bbdbdf6c9a3cbe8f0",
    173       "16ddd23ff53f3d23c06334487040eb47", "c1b295936d56fadac03e5f742bff73a1",
    174       "39c457dbab66382babb3b55800cda5b8", "valid" },
    175     { "cb5575f5c7c45c91cf320b139fb594237560d0a3e6f865a67d4f633f2c08f016",
    176       "1a6518f02ede1da6809266d9", "89cce9fb47441d07e0245a66fe8b778b",
    177       "623b7850c321e2cf0c6fbcc8dfd1aff2", "c84c9bb7c61c1bcb17772a1c500c5095",
    178       "dbadf7a5138ca03459a2cd65831e092f", "valid" },
    179     { "a5569e729a69b24ba6e0ff15c4627897436824c941e9d00b2e93fddc4ba77657",
    180       "564dee49ab00d240fc1068c3", "d19f2d989095f7ab03a5fde84416e00c0e",
    181       "87b3a4d7b26d8d3203a0de1d64ef82e3", "94bc80621ed1e71b1fd2b5c3a15e3568",
    182       "333511861796978401598b963722f5b3", "valid" },
    183     { "56207465b4e48e6d04630f4a42f35cfc163ab289c22a2b4784f6f9290330bee0",
    184       "df8713e87ec3dbcfad14d53e",
    185       "5e6470facd99c1d81e37cd44015fe19480a2a4d3352a4ff560c0640fdbda",
    186       "e601b38557797da2f8a4106a089d1da6", "299b5d3f3d03c087209a16e285143111",
    187       "4b454ed198de117e83ec49fa8d8508d6", "valid" },
    188     { "3937986af86dafc1ba0c4672d8abc46c207062682d9c264ab06d6c5807205130",
    189       "8df4b15a888c33286a7b7651",
    190       "ba446f6f9a0ced22450feb10737d9007fd69abc19b1d4d9049a5551e86ec2b37",
    191       "dc9e9eaf11e314182df6a4eba17aec9c", "605bbf90aeb974f6602bc778056f0dca",
    192       "38ea23d99054b46b42ffe004129d2204", "valid" },
    193     { "36372abcdb78e0279646ac3d176b9674e9154eecf0d5469c651ec7e16b4c1199",
    194       "be40e5f1a11817a0a8fa8949",
    195       "d41a828d5e71829247021905402ea257dccbc3b80fcd5675056b68bb59e62e8873",
    196       "81ce84ede9b35859cc8c49a8f6be7dc6", "7b7ce0d824809a70de32562ccf2c2bbd",
    197       "15d44a00ce0d19b4231f921e22bc0a43", "valid" },
    198     { "9f1479ed097d7fe529c11f2f5add9aaff4a1ca0b68997a2cb7f79749bd90aaf4",
    199       "84c87dae4eee27730ec35d12",
    200       "3f2dd49bbf09d69a78a3d80ea2566614fc379474196c1aae84583da73d7ff85c6f42ca42"
    201       "056a9792cc1b9fb3c7d261",
    202       "a66747c89e857af3a18e2c79500087ed", "ca82bff3e2f310ccc976672c4415e69b",
    203       "57638c62a5d85ded774f913c813ea032", "valid" },
    204     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    205       "000000000000000001ee3200", "00000000000000000000000000000000",
    206       "256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329be",
    207       "0000000000000000000000000000000000000000000000000000000000000000",
    208       "e6d3d7324a1cbba777bbb0ecdda37807", "valid" },
    209     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    210       "000000000000000001ee3200", "00000000000000000000000000000000",
    211       "256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329bee3bcdb5b"
    212       "1edefcfe8bcda1b6a15c8c2b0869ffd2ec5e26e553b7b227fe87fdbd",
    213       "000000000000000000000000000000000000000000000000000000000000000000000000"
    214       "00000000000000000000000000000000000000000000000000000000",
    215       "062de6795f274fd2a305d76980bc9cce", "valid" },
    216     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    217       "000000000000000001ee3200", "00000000000000000000000000000000",
    218       "256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329bee3bcdb5b"
    219       "1edefcfe8bcda1b6a15c8c2b0869ffd2ec5e26e553b7b227fe87fdbd7ada44424269bffa"
    220       "5527f270acf68502b74c5ae2e60c0580981a4938459392c49bb2f284b646efc7f3f0b136"
    221       "1dc348ed77d30bc57692ed38fbac0188380488c7",
    222       "000000000000000000000000000000000000000000000000000000000000000000000000"
    223       "000000000000000000000000000000000000000000000000000000000000000000000000"
    224       "000000000000000000000000000000000000000000000000000000000000000000000000"
    225       "0000000000000000000000000000000000000000",
    226       "d8b47902baaeafb34203051529af282e", "valid" },
    227     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    228       "000000000000000001ee3200", "ffffffffffffffffffffffffffffffff",
    229       "da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd641",
    230       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    231       "b3891c849cb52c27747edfcf31213bb6", "valid" },
    232     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    233       "000000000000000001ee3200", "ffffffffffffffffffffffffffffffff",
    234       "da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd6411c4324a4"
    235       "e121030174325e495ea373d4f796002d13a1d91aac484dd801780242",
    236       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    237       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    238       "f0c12d26ef03029b62c008da27c5dc68", "valid" },
    239     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    240       "000000000000000001ee3200", "ffffffffffffffffffffffffffffffff",
    241       "da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd6411c4324a4"
    242       "e121030174325e495ea373d4f796002d13a1d91aac484dd8017802428525bbbdbd964005"
    243       "aad80d8f53097afd48b3a51d19f3fa7f67e5b6c7ba6c6d3b644d0d7b49b910380c0f4ec9"
    244       "e23cb712882cf43a896d12c70453fe77c7fb7738",
    245       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    246       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    247       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    248       "ffffffffffffffffffffffffffffffffffffffff",
    249       "ee65783001c25691fa28d0f5f1c1d762", "valid" },
    250     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    251       "000000000000000001ee3200", "00000080000000800000008000000080",
    252       "256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293e",
    253       "0000008000000080000000800000008000000080000000800000008000000080",
    254       "79ba7a29f5a7bb75797af87a610129a4", "valid" },
    255     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    256       "000000000000000001ee3200", "00000080000000800000008000000080",
    257       "256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293ee3bcdbdb"
    258       "1edefc7e8bcda136a15c8cab0869ff52ec5e266553b7b2a7fe87fd3d",
    259       "000000800000008000000080000000800000008000000080000000800000008000000080"
    260       "00000080000000800000008000000080000000800000008000000080",
    261       "36b1743819e1b9ba1551e8ed922a959a", "valid" },
    262     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    263       "000000000000000001ee3200", "00000080000000800000008000000080",
    264       "256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293ee3bcdbdb"
    265       "1edefc7e8bcda136a15c8cab0869ff52ec5e266553b7b2a7fe87fd3d7ada44c24269bf7a"
    266       "5527f2f0acf68582b74c5a62e60c0500981a49b8459392449bb2f204b646ef47f3f0b1b6"
    267       "1dc3486d77d30b457692edb8fbac010838048847",
    268       "000000800000008000000080000000800000008000000080000000800000008000000080"
    269       "000000800000008000000080000000800000008000000080000000800000008000000080"
    270       "000000800000008000000080000000800000008000000080000000800000008000000080"
    271       "0000008000000080000000800000008000000080",
    272       "feac4955554e806f3a1902e24432c08a", "valid" },
    273     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    274       "000000000000000001ee3200", "ffffff7fffffff7fffffff7fffffff7f",
    275       "da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c1",
    276       "ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f",
    277       "20a3798df1292c5972bf9741aec38a19", "valid" },
    278     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    279       "000000000000000001ee3200", "ffffff7fffffff7fffffff7fffffff7f",
    280       "da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c11c432424"
    281       "e121038174325ec95ea37354f79600ad13a1d99aac484d58017802c2",
    282       "ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f"
    283       "ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f",
    284       "c03d9f67354a97b2f074f7551557e49c", "valid" },
    285     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    286       "000000000000000001ee3200", "ffffff7fffffff7fffffff7fffffff7f",
    287       "da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c11c432424"
    288       "e121038174325ec95ea37354f79600ad13a1d99aac484d58017802c28525bb3dbd964085"
    289       "aad80d0f53097a7d48b3a59d19f3faff67e5b647ba6c6dbb644d0dfb49b910b80c0f4e49"
    290       "e23cb792882cf4ba896d12470453fef7c7fb77b8",
    291       "ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f"
    292       "ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f"
    293       "ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f"
    294       "ffffff7fffffff7fffffff7fffffff7fffffff7f",
    295       "c86da8dd652286d50213d328d63e4006", "valid" },
    296     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    297       "000000000000000001ee3200", "7fffffff7fffffff7fffffff7fffffff",
    298       "5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd641",
    299       "7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff",
    300       "bede9083ceb36ddfe5fa811f95471c67", "valid" },
    301     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    302       "000000000000000001ee3200", "7fffffff7fffffff7fffffff7fffffff",
    303       "5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd6419c4324a4"
    304       "61210301f4325e49dea373d47796002d93a1d91a2c484dd881780242",
    305       "7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff"
    306       "7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff",
    307       "300874bb0692b689dead9ae15b067390", "valid" },
    308     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    309       "000000000000000001ee3200", "7fffffff7fffffff7fffffff7fffffff",
    310       "5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd6419c4324a4"
    311       "61210301f4325e49dea373d47796002d93a1d91a2c484dd8817802420525bbbd3d964005"
    312       "2ad80d8fd3097afdc8b3a51d99f3fa7fe7e5b6c73a6c6d3be44d0d7bc9b910388c0f4ec9"
    313       "623cb712082cf43a096d12c78453fe7747fb7738",
    314       "7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff"
    315       "7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff"
    316       "7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff"
    317       "7fffffff7fffffff7fffffff7fffffff7fffffff",
    318       "99cad85f45ca40942d0d4d5e950ade22", "valid" },
    319     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    320       "000000000000000001ee3200", "00000000ffffffff00000000ffffffff",
    321       "256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641",
    322       "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
    323       "8bbe145272e7c2d9a1891a3ab0983d9d", "valid" },
    324     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    325       "000000000000000001ee3200", "00000000ffffffff00000000ffffffff",
    326       "256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641e3bcdb5b"
    327       "e12103018bcda1b65ea373d40869ffd213a1d91a53b7b22701780242",
    328       "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000"
    329       "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
    330       "3b41861913a8f6de7f61e225631bc382", "valid" },
    331     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    332       "000000000000000001ee3200", "00000000ffffffff00000000ffffffff",
    333       "256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641e3bcdb5b"
    334       "e12103018bcda1b65ea373d40869ffd213a1d91a53b7b227017802427ada4442bd964005"
    335       "5527f27053097afdb74c5ae219f3fa7f981a4938ba6c6d3b9bb2f28449b91038f3f0b136"
    336       "e23cb71277d30bc5896d12c7fbac0188c7fb7738",
    337       "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000"
    338       "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff"
    339       "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000"
    340       "ffffffff00000000ffffffff00000000ffffffff",
    341       "8428bcf023ec6bf31fd9efb203ff0871", "valid" },
    342     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    343       "000000000000000001ee3200", "ffffffff00000000ffffffff00000000",
    344       "da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be",
    345       "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000",
    346       "139fdf6474ea24f549b075825f2c7620", "valid" },
    347     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    348       "000000000000000001ee3200", "ffffffff00000000ffffffff00000000",
    349       "da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be1c4324a4"
    350       "1edefcfe74325e49a15c8c2bf796002dec5e26e5ac484dd8fe87fdbd",
    351       "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff"
    352       "00000000ffffffff00000000ffffffff00000000ffffffff00000000",
    353       "bbad8d863b835a8e8664fd1d4566b6b4", "valid" },
    354     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    355       "000000000000000001ee3200", "ffffffff00000000ffffffff00000000",
    356       "da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be1c4324a4"
    357       "1edefcfe74325e49a15c8c2bf796002dec5e26e5ac484dd8fe87fdbd8525bbbd4269bffa"
    358       "aad80d8facf6850248b3a51de60c058067e5b6c7459392c4644d0d7bb646efc70c0f4ec9"
    359       "1dc348ed882cf43a7692ed380453fe77380488c7",
    360       "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff"
    361       "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000"
    362       "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff"
    363       "00000000ffffffff00000000ffffffff00000000",
    364       "42f2354297849a511d53e5571772f71f", "valid" },
    365     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    366       "000102030405060708090a0b", "616164", "", "",
    367       "a2e3fdf9fba6861b5ad2607f40b7f447", "invalid" },
    368     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    369       "000102030405060708090a0b", "616164", "", "",
    370       "a1e3fdf9fba6861b5ad2607f40b7f447", "invalid" },
    371     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    372       "000102030405060708090a0b", "616164", "", "",
    373       "23e3fdf9fba6861b5ad2607f40b7f447", "invalid" },
    374     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    375       "000102030405060708090a0b", "616164", "", "",
    376       "a3e2fdf9fba6861b5ad2607f40b7f447", "invalid" },
    377     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    378       "000102030405060708090a0b", "616164", "", "",
    379       "a3e3fd79fba6861b5ad2607f40b7f447", "invalid" },
    380     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    381       "000102030405060708090a0b", "616164", "", "",
    382       "a3e3fdf9faa6861b5ad2607f40b7f447", "invalid" },
    383     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    384       "000102030405060708090a0b", "616164", "", "",
    385       "a3e3fdf9f9a6861b5ad2607f40b7f447", "invalid" },
    386     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    387       "000102030405060708090a0b", "616164", "", "",
    388       "a3e3fdf9fba6869b5ad2607f40b7f447", "invalid" },
    389     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    390       "000102030405060708090a0b", "616164", "", "",
    391       "a3e3fdf9fba6861b5bd2607f40b7f447", "invalid" },
    392     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    393       "000102030405060708090a0b", "616164", "", "",
    394       "a3e3fdf9fba6861b5af2607f40b7f447", "invalid" },
    395     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    396       "000102030405060708090a0b", "616164", "", "",
    397       "a3e3fdf9fba6861b5ad2617f40b7f447", "invalid" },
    398     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    399       "000102030405060708090a0b", "616164", "", "",
    400       "a3e3fdf9fba6861b5ad2607f41b7f447", "invalid" },
    401     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    402       "000102030405060708090a0b", "616164", "", "",
    403       "a3e3fdf9fba6861b5ad2607f42b7f447", "invalid" },
    404     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    405       "000102030405060708090a0b", "616164", "", "",
    406       "a3e3fdf9fba6861b5ad2607f40b7f446", "invalid" },
    407     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    408       "000102030405060708090a0b", "616164", "", "",
    409       "a3e3fdf9fba6861b5ad2607f40b7f445", "invalid" },
    410     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    411       "000102030405060708090a0b", "616164", "", "",
    412       "a3e3fdf9fba6861b5ad2607f40b7f407", "invalid" },
    413     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    414       "000102030405060708090a0b", "616164", "", "",
    415       "a3e3fdf9fba6861b5ad2607f40b7f4c7", "invalid" },
    416     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    417       "000102030405060708090a0b", "616164", "", "",
    418       "a3e3fdf9fba6869b5ad2607f40b7f4c7", "invalid" },
    419     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    420       "000102030405060708090a0b", "616164", "", "",
    421       "00000000000000000000000000000000", "invalid" },
    422     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    423       "000102030405060708090a0b", "616164", "", "",
    424       "ffffffffffffffffffffffffffffffff", "invalid" },
    425     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    426       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    427       "2cf8ae525fc86025268a4e1d88bead19", "26da374f17b7f1b23844a5490bfc4001",
    428       "invalid" },
    429     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    430       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    431       "2cf8ae525fc86025268a4e1d88bead19", "25da374f17b7f1b23844a5490bfc4001",
    432       "invalid" },
    433     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    434       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    435       "2cf8ae525fc86025268a4e1d88bead19", "a7da374f17b7f1b23844a5490bfc4001",
    436       "invalid" },
    437     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    438       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    439       "2cf8ae525fc86025268a4e1d88bead19", "27db374f17b7f1b23844a5490bfc4001",
    440       "invalid" },
    441     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    442       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    443       "2cf8ae525fc86025268a4e1d88bead19", "27da37cf17b7f1b23844a5490bfc4001",
    444       "invalid" },
    445     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    446       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    447       "2cf8ae525fc86025268a4e1d88bead19", "27da374f16b7f1b23844a5490bfc4001",
    448       "invalid" },
    449     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    450       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    451       "2cf8ae525fc86025268a4e1d88bead19", "27da374f15b7f1b23844a5490bfc4001",
    452       "invalid" },
    453     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    454       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    455       "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1323844a5490bfc4001",
    456       "invalid" },
    457     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    458       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    459       "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23944a5490bfc4001",
    460       "invalid" },
    461     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    462       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    463       "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23864a5490bfc4001",
    464       "invalid" },
    465     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    466       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    467       "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23844a4490bfc4001",
    468       "invalid" },
    469     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    470       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    471       "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23844a5490afc4001",
    472       "invalid" },
    473     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    474       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    475       "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23844a54909fc4001",
    476       "invalid" },
    477     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    478       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    479       "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23844a5490bfc4000",
    480       "invalid" },
    481     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    482       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    483       "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23844a5490bfc4003",
    484       "invalid" },
    485     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    486       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    487       "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23844a5490bfc4041",
    488       "invalid" },
    489     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    490       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    491       "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1b23844a5490bfc4081",
    492       "invalid" },
    493     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    494       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    495       "2cf8ae525fc86025268a4e1d88bead19", "27da374f17b7f1323844a5490bfc4081",
    496       "invalid" },
    497     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    498       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    499       "2cf8ae525fc86025268a4e1d88bead19", "00000000000000000000000000000000",
    500       "invalid" },
    501     { "00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff",
    502       "000102030405060708090a0b", "616164", "00000000000000000000000000000000",
    503       "2cf8ae525fc86025268a4e1d88bead19", "ffffffffffffffffffffffffffffffff",
    504       "invalid" },
    505     { "3030303030303030303030303030303030303030303030303030303030303030",
    506       "30303030303030300002506e",
    507       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    508       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    509       "d4500bf009493551c380adf52c573a69df7e8b762463330facc16a5726be7190c63c5a1c"
    510       "926584a096756828dcdc64acdf963d931bf1dae238f3f157224ac4b542d785b0dd84db6b"
    511       "e3bc5a3663e84149ffbed09e54f78f16a8223b24cb019f58b21b0e551e7aa07327629551"
    512       "376ccbc3937671a0629bd95c9915c78555771e7a",
    513       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    514       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    515       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    516       "ffffffffffffffffffffffffffffffffffffffff",
    517       "0b300d8da56c2185755279553c4c82ca", "valid" },
    518     { "3030303030303030303030303030303030303030303030303030303030303030",
    519       "3030303030303030000318a5",
    520       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    521       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    522       "7de87f6729945275d0655da4c7fde4569e16f111b5eb26c22d859e3ff822eced3a6dd9a6"
    523       "0f22957f7b7c857e8822eb9fe0b8d7022141f2d0b48f4b5612d322a88dd0fe0b4d917932"
    524       "4f7c6c9e990efbd80e5ed6775826498b1efe0f71a0f3ec5b29cb28c2540a7dcd51b7daae"
    525       "e0ff4a7f3ac1ee54c29ee4c170de408f66692194",
    526       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    527       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    528       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    529       "ffffffffffffffffffffffffffffffffffffffff",
    530       "c578e2aa44d309b7b6a5193bdc6118f5", "valid" },
    531     { "3030303030303030303030303030303030303030303030303030303030303030",
    532       "00000000000000000007b4f0",
    533       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    534       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    535       "1b996f9a3ccc6785de22ff5b8add9502ce03a0faf5992a09522cdd1206d220b8f8bd07d1"
    536       "f1f5a1bd9a71d11c7f579b855818c08d4de036393183b7f590b335aed8de5b57b13c5fed"
    537       "e2441c3e184aa9d46e61598506b3e11c43c62cbcaceced33190875b012218b1930fb7c38"
    538       "ec45ac11c353d0cf938dccb9efad8fedbe46daa5",
    539       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    540       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    541       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    542       "ffffffffffffffffffffffffffffffffffffffff",
    543       "4b0bda8ad043830d8319ab82c50c7663", "valid" },
    544     { "3030303030303030303030303030303030303030303030303030303030303030",
    545       "00000000000000000020fb66",
    546       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    547       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    548       "86cbacae4d3f74ae01213e0551cc15160ea1be8408e3d5d74f01464995a69e6176cb9e02"
    549       "b2247ed299892f9182a45caf4c69405611766edfafdc285519ea30480c44f05e781eacf8"
    550       "fcecc7090abb28fa5fd585ac8cda7e8772e594e4ce6c883281932e0f89f877a1f04d9c32"
    551       "b06cf90b0e762b430c4d517c97107068f498ef7f",
    552       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    553       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    554       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    555       "ffffffffffffffffffffffffffffffffffffffff",
    556       "4bc98f72c494c2a43c2b15a1043f1cfa", "valid" },
    557     { "3030303030303030303030303030303030303030303030303030303030303030",
    558       "00000000000000000038bb90",
    559       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    560       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    561       "fab1cddf4fe198ef63add881d6ead6c57637bbe92018ca7c0b96fba0871e932db1fbf907"
    562       "61be25df8dfaf931ce5757e617b3d7a9f0bf0ffe5d591a33c143b8f53fd0b5a19609fd62"
    563       "e5c251a4281a200cfdc34f281710406f4e37625446ff6ef224913deb0d89af337128e3d1"
    564       "55d16d3ec3246041432143e9ab3a6d2ccc2f4d62",
    565       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    566       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    567       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    568       "ffffffffffffffffffffffffffffffffffffffff",
    569       "f7e9e151b02533c74658bfc7737c680d", "valid" },
    570     { "3030303030303030303030303030303030303030303030303030303030303030",
    571       "00000000000000000070484a",
    572       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    573       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    574       "227202be7f3515e9d1c02eea2f1950b6481b048a4c91506cb40d504e6c949f82d197c25a"
    575       "d17dc721651125782ac7a71247feaef32f1f250ce4bb8f79acaa179d45a7b0545f092432"
    576       "5efa87d5e441d28478c61f2223ee67c3b41f4394535e2a24369a2e16613c459490c14fb1"
    577       "d755fe53fbe1ee45b1b21f7162e2fcaa742abefd",
    578       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    579       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    580       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    581       "ffffffffffffffffffffffffffffffffffffffff",
    582       "795bcff647c553c2e4eb6e0eafd9e04e", "valid" },
    583     { "3030303030303030303030303030303030303030303030303030303030303030",
    584       "000000000000000000932f40",
    585       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    586       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    587       "fae58345c16cb0f5cc537f2b1b3469c969463b3ea71bcf6b98d669a8e60e04fc08d5fd06"
    588       "9c362638e3400ef4cb242e27e2245e68cb9ec583da5340b12edf423b7326ad20feeb57da"
    589       "ca2e0467a32899b42df8e56d84e006bc8a7acc731e7c1f6becb5719f7077f0d4f4c61ab1"
    590       "1ebac1001801ce33c4e4a77d831d3ce34e8410e1",
    591       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    592       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    593       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    594       "ffffffffffffffffffffffffffffffffffffffff",
    595       "1946d653960f947a74d3e8093cf48502", "valid" },
    596     { "3030303030303030303030303030303030303030303030303030303030303030",
    597       "000000000000000000e29335",
    598       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    599       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    600       "ebb216ddd7ca709215f503df9ce63c5cd2194e7d9099e8a90b2afaad5eba35069925a603"
    601       "fdbc341aaed41505b10941fa3856a7e247b1040709746cfc2096caa631b2fff41c250506"
    602       "d889c1c90671ade853ee6394c19192a5cf3710d1073099e5bc946582fc0fab9f543c716a"
    603       "e2486a8683fdca39d2e14f23d00a582664f4ecb1",
    604       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    605       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    606       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    607       "ffffffffffffffffffffffffffffffffffffffff",
    608       "36c3002985dd21baf895d633573f12c0", "valid" },
    609     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    610       "0000000000000000000ef7d5",
    611       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    612       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    613       "408ae6ef1c7ef0fb2c2d610816fc7849efa58f78273f5f166ea65f81b575747d035b3040"
    614       "fede1eb9459788669788408e00413b3e376d152d204aa2b7a83558fcd48a0ef7a26b1cd6"
    615       "d35d23b3f5dfe0ca77a4ce32b94abf83da2aefcaf068380879e89fb0a3829595cf44c385"
    616       "2ae2cc662b689f9355d9c183801f6acc313f8907",
    617       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    618       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    619       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    620       "ffffffffffffffffffffffffffffffffffffffff",
    621       "6514518e0a264142e0b7351f967fc2ae", "valid" },
    622     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    623       "0000000000000000003dfce4",
    624       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    625       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    626       "0a0a24499bcade58cf1576c312aca984718cb4cc7e0153f5a9015810859644dfc021174e"
    627       "0b060a397448de8b484a8603be680a6934c0906f30dd17eae2d4c5faa777f8ca53370e08"
    628       "331b88c342bac959787bbb33930e3b56be86da7f2a6eb1f94089d1d181074d4302f8e055"
    629       "2d0de1fab306a21b42d4c3ba6e6f0cbcc81e877a",
    630       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    631       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    632       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    633       "ffffffffffffffffffffffffffffffffffffffff",
    634       "4c194da6a99fd65b40e9cad798f44b19", "valid" },
    635     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    636       "0000000000000000018486a8",
    637       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    638       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    639       "4a0aaff8494729188691701340f3ce2b8a78eed3a0f065994b72484e7991d25c29aa075e"
    640       "b1fc16de93fe069058112ab284a3ed18780326d1258a47222fa633d8b29f3bd9150b239b"
    641       "1546c2bb9b9f410febead396000ee477701532c3d0f5fbf895d280196d2f737c5e9fec50"
    642       "d92bb0df5d7e513be5b8ea971310d5bf16ba7aee",
    643       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    644       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    645       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    646       "ffffffffffffffffffffffffffffffffffffffff",
    647       "c8ae7788cd2874abc138541e11fd0587", "valid" },
    648     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    649       "0000000000000000064c2d52",
    650       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    651       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    652       "ff9428d079351f665cd001354319875c783d35f613e6d9093d38e975c38fe3b89f7aed35"
    653       "cb5a2fcaa0346efb936554649cf6378171eae4396ea15dc240d1abf4472d9096524fa1b2"
    654       "b023b8b288222773d4d206616f9293f65b45dbbc74e7c2edfbcbbf1cfb679bb739a5862d"
    655       "e2bcb937f74d5bf8671c5a8a5092f61d54c9aa5b",
    656       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    657       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    658       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    659       "ffffffffffffffffffffffffffffffffffffffff",
    660       "933a5163c7f62368327b3fbc1036c943", "valid" },
    661     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    662       "000102030405060708090a0b",
    663       "85ffffffffffffffffffffffffffffffa6902fcbc883bbc180b256ae34ad7f00",
    664       "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd01"
    665       "76704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d",
    666       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    667       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    668       "000102030405060708090a0b0c0d0e0f", "valid" },
    669     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    670       "000102030405060708090a0b",
    671       "ffffffffffffffffffffffffffffffff247e50642a1c0a2f8f77219609dba958",
    672       "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd01"
    673       "76704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d",
    674       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    675       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    676       "00000000000000000000000000000000", "valid" },
    677     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    678       "000102030405060708090a0b",
    679       "7cffffffffffffffffffffffffffffffd9e72c064ac8961f3fa585e0e2abd600",
    680       "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd01"
    681       "76704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d",
    682       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    683       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    684       "ffffffffffffffffffffffffffffffff", "valid" },
    685     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    686       "000102030405060708090a0b",
    687       "65ffffffffffffffffffffffffffffff95af0f4d0b686eaeccca4307d596f502",
    688       "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd01"
    689       "76704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d",
    690       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    691       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    692       "00000080000000800000008000000080", "valid" },
    693     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    694       "000102030405060708090a0b",
    695       "ffffffffffffffffffffffffffffffff8540b464357707be3a39d55c34f8bcb3",
    696       "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd01"
    697       "76704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d",
    698       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    699       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    700       "ffffff7fffffff7fffffff7fffffff7f", "valid" },
    701     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    702       "000102030405060708090a0b",
    703       "4fffffffffffffffffffffffffffffff6623d990b898d830d212af2383330701",
    704       "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd01"
    705       "76704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d",
    706       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    707       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    708       "01000000010000000100000001000000", "valid" },
    709     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    710       "000102030405060708090a0b",
    711       "83ffffffffffffffffffffffffffffff5f16d09f17787211b7d484e024f89701",
    712       "9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd01"
    713       "76704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d",
    714       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
    715       "ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
    716       "ffffffff000000000000000000000000", "valid" },
    717     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    718       "0000000000000000064c2d52", "ffffffff",
    719       "005235d2a919f28d3db7664a34ae6b444d3d35f613e6d9093d38e975c38fe3b85b8b9450"
    720       "9e2b74a36d346e33d572659ba9f6378171eae4396ea15dc240d1abf483dce9f3073efadb"
    721       "7d23b87ace35168c",
    722       "0039e2fd2fd312149e989880884813e7caffffffffffffffffffffffffffffff3b0e869a"
    723       "aa8ea49632ffff37b9e8ce00caffffffffffffffffffffffffffffff3b0e869aaa8ea496"
    724       "32ffff37b9e8ce00",
    725       "a519ac1a35b4a57787510af78d8d200a", "valid" },
    726     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    727       "0000000000000000064c2d52", "ffffffff",
    728       "d39428d079351f665cd001354319875ce5da78766fa19290c031f75208506745ae7aed35"
    729       "cb5a2fcaa0346efb93655464496ddeb05509c6efffab75eb2df4ab09762d9096524fa1b2"
    730       "b023b8b2882227730149ef504b71b120ca4ff39519c2c210",
    731       "d3ffffffffffffffffffffffffffffff6218b27f83b8b46602f6e1d834207b02ceffffff"
    732       "ffffffffffffffffffffffff2a6416cedb1cdd296ef5d7d692daff02ceffffffffffffff"
    733       "ffffffffffffffff2a6416cedb1cdd296ef5d7d692daff02",
    734       "302fe82ab0a09af64400d015ae83d9cc", "valid" },
    735     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    736       "0000000000000000064c2d52", "ffffffff",
    737       "e99428d079351f665cd001354319875c6df1394edc539b5b3a0957be0fb85946807aed35"
    738       "cb5a2fcaa0346efb93655464d1769fe806bbfeb6f590950f2eac9e0a582d9096524fa1b2"
    739       "b023b8b2882227739952ae0818c38979c07413711a9af713",
    740       "e9ffffffffffffffffffffffffffffffea33f347304abdadf8ce413433c84501e0ffffff"
    741       "ffffffffffffffffffffffffb27f579688aee57064ce37329182ca01e0ffffffffffffff"
    742       "ffffffffffffffffb27f579688aee57064ce37329182ca01",
    743       "98a7e836e0ee4d023500d0557ec2cbe0", "valid" },
    744     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    745       "0000000000000000064c2d52", "ffffffff",
    746       "ff9428d079351f665cd001354319875c64f90f5b2692b860d4596ff4b3402c5c00b9bb53"
    747       "707aa667d356fe50c7199694033561e7caca6d941dc3cd6914ad6904",
    748       "ffffffffffffffffffffffffffffffffe33bc552ca8b9e96169e797e8f30301b603ca999"
    749       "44df76528c9d6f54ab833d0f603ca99944df76528c9d6f54ab833d0f",
    750       "6ab8dce2c59da4737130b0252f68a8d8", "valid" },
    751     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    752       "0000000000000000064c2d52", "ffffffff",
    753       "689428d079351f665cd001354319875cb08f25675b9bcbf6e38407de2ec75a479f7aed35"
    754       "cb5a2fcaa0346efb936554642d2af7cd6b080501d31ba54fb2eb7596472d9096524fa1b2"
    755       "b023b8b288222773650ec62d757072cee6ff233186dd1c8f",
    756       "68ffffffffffffffffffffffffffffff374def6eb782ed002143115412b74600ffffffff"
    757       "ffffffffffffffffffffffff4e233fb3e51d1ec7424507720dc5219dffffffffffffffff"
    758       "ffffffffffffffff4e233fb3e51d1ec7424507720dc5219d",
    759       "044dea608880412bfdffcf35579e9b26", "valid" },
    760     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    761       "0000000000000000064c2d52", "ffffffff",
    762       "6d9428d079351f665cd001354319875ca161b5ab040900629efeff78d7d86b459f7aed35"
    763       "cb5a2fcaa0346efb93655464c6f8078cc8ef12a0ff657d6d08db10b8472d9096524fa1b2"
    764       "b023b8b2882227738edc366cd697656fca81fb133ced79a1",
    765       "6dffffffffffffffffffffffffffffff26a37fa2e81026945c39e9f2eba87702ffffffff"
    766       "ffffffffffffffffffffffffa5f1cff246fa09666e3bdf50b7f544b3ffffffffffffffff"
    767       "ffffffffffffffffa5f1cff246fa09666e3bdf50b7f544b3",
    768       "1e6bea6314542e2ef9ffcf450b2e982b", "valid" },
    769     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    770       "0000000000000000064c2d52", "ffffffff",
    771       "ff9428d079351f665cd001354319875cfc01b891e5f0f9128d7d1c579192b69863414415"
    772       "b69968959a7291b7a5af134860cd9ea10c29a36654e7a28e761becd8",
    773       "ffffffffffffffffffffffffffffffff7bc3729809e9dfe44fba0addade2aadf03c456df"
    774       "823cb8a0c5b900b3c935b8d303c456df823cb8a0c5b900b3c935b8d3",
    775       "ed2017c8dba4775629049d786e3bceb1", "valid" },
    776     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    777       "0000000000000000064c2d52", "ffffffff",
    778       "ff9428d079351f665cd001354319875c6b6dc9d21a819e70b577f44137d3d6bd1335f5eb"
    779       "44494077b26449a54b6c7c7510b92f5ffef98b847cf17a9c98d883e5",
    780       "ffffffffffffffffffffffffffffffffecaf03dbf698b88677b0e2cb0ba3cafa73b0e721"
    781       "70ec9042edafd8a127f6d7ee73b0e72170ec9042edafd8a127f6d7ee",
    782       "073f17cb6778645925049d8822cbcab6", "valid" },
    783     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    784       "0000000000000000064c2d52", "ffffffff",
    785       "ffcb2b1106f8234c5e99d4db4c7048de323d35f613e6d9093d38e975c38fe3b816e9884a"
    786       "114f0e9266cea3885fe36b9fd6f6378171eae4396ea15dc240d1abf4cebef5e9885a80ea"
    787       "76d975c144a41888",
    788       "ffa0fc3e8032c3d5fdb62a11f096307db5ffffffffffffffffffffffffffffff766c9a80"
    789       "25eadea73905328c3379c004b5ffffffffffffffffffffffffffffff766c9a8025eadea7"
    790       "3905328c3379c004",
    791       "8b9bb4b4861289658c696a8340150405", "valid" },
    792     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    793       "0000000000000000064c2d52", "ffffffff",
    794       "6f9e70ed3b8baca026e46a5a0943158d213d35f613e6d9093d38e975c38fe3b80c612c5e"
    795       "8d89a873dbcaad5b7346429bc5f6378171eae4396ea15dc240d1abf4d43651fd149c260b"
    796       "cbdd7b126801318c",
    797       "6ff5a7c2bd414c3985cb9490b5a56d2ea6ffffffffffffffffffffffffffffff6ce43e94"
    798       "b92c784684013c5f1fdce900a6ffffffffffffffffffffffffffffff6ce43e94b92c7846"
    799       "84013c5f1fdce900",
    800       "8b3bbd51644459568d81ca1fa72ce404", "valid" },
    801     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    802       "0000000000000000064c2d52", "ffffffff",
    803       "412b080a3e19c10d44a1af1eabdeb4ce353d35f613e6d9093d38e975c38fe3b86b839433"
    804       "0921486ca11d291c3e97ee9ad1f6378171eae4396ea15dc240d1abf4b3d4e9909034c614"
    805       "b10aff5525d09d8d",
    806       "4140df25b8d32194e78e51d41738cc6db2ffffffffffffffffffffffffffffff0b0686f9"
    807       "3d849859fed6b818520d4501b2ffffffffffffffffffffffffffffff0b0686f93d849859"
    808       "fed6b818520d4501",
    809       "86fbab2b4a94f47aa56f0aea65d11008", "valid" },
    810     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    811       "0000000000000000064c2d52", "ffffffff",
    812       "b247a74723491aacacaad709c91e932b313d35f613e6d9093d38e975c38fe3b89ade04e7"
    813       "5bb701d9660601b34765de98d5f6378171eae4396ea15dc240d1abf442897944c2a28fa1"
    814       "7611d7fa5c22ad8f",
    815       "b22c7068a583fa350f8529c375f8eb88b6fffffffffffffffffffffffffffffffa5b162d"
    816       "6f12d1ec39cd90b72bff7503b6fffffffffffffffffffffffffffffffa5b162d6f12d1ec"
    817       "39cd90b72bff7503",
    818       "a019ac2ed667e17da16f0afa19610d0d", "valid" },
    819     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    820       "0000000000000000064c2d52", "ffffffff",
    821       "740f9e49f610efa585b659ca6ed8b4992d3d35f613e6d9093d38e975c38fe3b8412d96af"
    822       "be80ec3e79d451b00a2db29ac9f6378171eae4396ea15dc240d1abf4997aeb0c27956246"
    823       "69c387f9116ac18d",
    824       "7464496670da0f3c2699a700d23ecc3aaaffffffffffffffffffffffffffffff21a88465"
    825       "8a253c0b261fc0b466b71901aaffffffffffffffffffffffffffffff21a884658a253c0b"
    826       "261fc0b466b71901",
    827       "736e18181696a5889c3159faabab20fd", "valid" },
    828     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    829       "0000000000000000064c2d52", "ffffffff",
    830       "adba5d105bc8aa062c2336cb889ddbd5373d35f613e6d9093d38e975c38fe3b8177c5ffe"
    831       "2875f468f6c2965748f3599ad3f6378171eae4396ea15dc240d1abf4cf2b225db1607a10"
    832       "e6d5401e53b42a8d",
    833       "add18a3fdd024a9f8f0cc801347ba376b0ffffffffffffffffffffffffffffff77f94d34"
    834       "1cd0245da90907532469f201b0ffffffffffffffffffffffffffffff77f94d341cd0245d"
    835       "a90907532469f201",
    836       "bad58f10a91e6a889aba32fd17d8331a", "valid" },
    837     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    838       "0000000000000000064c2d52", "ffffffff",
    839       "fe9428d079351f665cd001354319875cc001edc5da442e719bce9abe273af144b47aed35"
    840       "cb5a2fcaa0346efb9365546448025f41fa4e336c786957a2a7c4930a6c2d9096524fa1b2"
    841       "b023b8b28822277300266ea1e43644a34d8dd1dc93f2fa13",
    842       "feffffffffffffffffffffffffffffff47c327cc365d088759098c341b4aed03d4ffffff"
    843       "ffffffffffffffffffffffff2b0b973f745b28aae937f59f18eac701d4ffffffffffffff"
    844       "ffffffffffffffff2b0b973f745b28aae937f59f18eac701",
    845       "d68ce174079add028dd05cf814630488", "valid" },
    846     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    847       "0000000000000000064c2d52", "ffffffff",
    848       "b513b06ab9ac14435acb8aa3a37afdb6543d35f613e6d9093d38e975c38fe3b861950193"
    849       "b1bf0311ff117989aed9a999b0f6378171eae4396ea15dc240d1abf4b9c27c3028aa8d69"
    850       "ef06afc0b59eda8e",
    851       "b57867453f66f4daf9e474691f9c8515d3ffffffffffffffffffffffffffffff01101359"
    852       "851ad324a0dae88dc2430202d3ffffffffffffffffffffffffffffff01101359851ad324"
    853       "a0dae88dc2430202",
    854       "aa48a3887d4b059699c2fdf9c6787e0a", "valid" },
    855     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    856       "0000000000000000064c2d52", "ffffffff",
    857       "ff9428d079351f665cd001354319875cd4f109e814cea85a08c011d850dd1dcbcf7aed35"
    858       "cb5a2fcaa0346efb936554645340b85a9aa08296b77a5fc3961f660f172d9096524fa1b2"
    859       "b023b8b2882227731b6489ba84d8f559829ed9bda2290f16",
    860       "ffffffffffffffffffffffffffffffff5333c3e1f8d78eacca0707526cad018cafffffff"
    861       "ffffffffffffffffffffffff3049702414b599502624fdfe29313204afffffffffffffff"
    862       "ffffffffffffffff3049702414b599502624fdfe29313204",
    863       "b936a817f2211af129e2cf160fd42bcb", "valid" },
    864     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    865       "0000000000000000064c2d52", "ffffffff",
    866       "ff9428d079351f665cd001354319875cdf4c62032d4119b588477e99925a56d9d67aed35"
    867       "cb5a2fcaa0346efb93655464fa84f0645536421b2bb9246ec219ed0b0e2d9096524fa1b2"
    868       "b023b8b288222773b2a0c1844b4e35d41e5da210f62f8412",
    869       "ffffffffffffffffffffffffffffffff588ea80ac1583f434a806813ae2a4a9eb6ffffff"
    870       "ffffffffffffffffffffffff998d381adb2359ddbae786537d37b900b6ffffffffffffff"
    871       "ffffffffffffffff998d381adb2359ddbae786537d37b900",
    872       "9f7ac4351f6b91e63097a713115d05be", "valid" },
    873     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    874       "0000000000000000064c2d52", "ffffffff",
    875       "ff9428d079351f665cd001354319875c13f80a006dc1bbdad639a92fc7eca655f77aed35"
    876       "cb5a2fcaa0346efb936554646348b8fd29bf96d563a517e27d7bfc0f2f2d9096524fa1b2"
    877       "b023b8b2882227732b6c891d37c7e11a5641919c494d9516",
    878       "ffffffffffffffffffffffffffffffff943ac00981d89d2c14febfa5fb9cba1297ffffff"
    879       "ffffffffffffffffffffffff00417083a7aa8d13f2fbb5dfc255a80497ffffffffffffff"
    880       "ffffffffffffffff00417083a7aa8d13f2fbb5dfc255a804",
    881       "9a18a828070269f44700d009e7171cc9", "valid" },
    882     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    883       "0000000000000000064c2d52", "ffffffff",
    884       "ff9428d079351f665cd001354319875c82e59b4582915038f933811e652dc66afc7aed35"
    885       "cb5a2fcaa0346efb93655464b671c8cac270c265a0ac2f535799880a242d9096524fa1b2"
    886       "b023b8b288222773fe55f92adc08b5aa9548a92d63afe113",
    887       "ffffffffffffffffffffffffffffffff0527514c6e8876ce3bf49794595dda2d9cffffff"
    888       "ffffffffffffffffffffffffd57800b44c65d9a331f28d6ee8b7dc019cffffffffffffff"
    889       "ffffffffffffffffd57800b44c65d9a331f28d6ee8b7dc01",
    890       "b436a82b93d555f74300d0199ba718ce", "valid" },
    891     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    892       "0000000000000000064c2d52", "ffffffff",
    893       "ff9428d079351f665cd001354319875cf1d12887b7216986a12d79098b6de60fc07aed35"
    894       "cb5a2fcaa0346efb93655464a7c75899f3e60af1fcb6c7307d87590f182d9096524fa1b2"
    895       "b023b8b288222773efe36979ed9e7d3ec952414e49b13016",
    896       "ffffffffffffffffffffffffffffffff7613e28e5b384f7063ea6f83b71dfa48a0ffffff"
    897       "ffffffffffffffffffffffffc4ce90e77df311376de8650dc2a90d04a0ffffffffffffff"
    898       "ffffffffffffffffc4ce90e77df311376de8650dc2a90d04",
    899       "ce54a82e1fa942fa3f00d0294f3715d3", "valid" },
    900     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    901       "0000000000000000064c2d52", "ffffffff",
    902       "cbf1da9e0ba9377374e69e1c0e600cfc343d35f613e6d9093d38e975c38fe3b8be3fa66b"
    903       "6ce7808aa3e45949f944649fd0f6378171eae4396ea15dc240d1abf46668dbc8f5f20ef2"
    904       "b3f38f00e2031788",
    905       "cb9a0db18d63d7ead7c960d6b286745fb3ffffffffffffffffffffffffffffffdebab4a1"
    906       "584250bffc2fc84d95decf04b3ffffffffffffffffffffffffffffffdebab4a1584250bf"
    907       "fc2fc84d95decf04",
    908       "2383ab0b799205699b510aa709bf31f1", "valid" },
    909     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    910       "0000000000000000064c2d52", "ffffffff",
    911       "8f278694c4e9daebd58d3e5b966e8b68423d35f613e6d9093d38e975c38fe3b80653e7a3"
    912       "31718833acc3b9adff1c3198a6f6378171eae4396ea15dc240d1abf4de049a00a864064b"
    913       "bcd46fe4e45b428f",
    914       "8f4c51bb42233a7276a2c0912a88f3cbc5ffffffffffffffffffffffffffffff66d6f569"
    915       "05d45806f30828a993869a03c5ffffffffffffffffffffffffffffff66d6f56905d45806"
    916       "f30828a993869a03",
    917       "8bfbab17a9e0b8748b510ae7d9fd2305", "valid" },
    918     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    919       "0000000000000000064c2d52", "ffffffff",
    920       "d59428d079351f665cd001354319875c9a22d70a48e24fddcdd4419de64c8f44fc7aed35"
    921       "cb5a2fcaa0346efb9365546477b5c907d9c9e1ea51851a204aad9f0a242d9096524fa1b2"
    922       "b023b8b2882227733f91f8e7c7b1962564619c5e7e9bf613",
    923       "d5ffffffffffffffffffffffffffffff1de01d03a4fb692b0f135717da3c93039cffffff"
    924       "ffffffffffffffffffffffff14bc017957dcfa2cc0dbb81df583cb019cffffffffffffff"
    925       "ffffffffffffffff14bc017957dcfa2cc0dbb81df583cb01",
    926       "49bc6e9fc51c4d503036644d842773d2", "valid" },
    927     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    928       "0000000000000000064c2d52", "ffffffff",
    929       "db9428d079351f665cd001354319875c75d5643aa5af934d8cce392cc3eedb47c07aed35"
    930       "cb5a2fcaa0346efb93655464601b5ad2067f28066a8f3281715ba808182d9096524fa1b2"
    931       "b023b8b288222773283f6b3218075fc95f6bb4ff456dc111",
    932       "dbfffffffffffffffffffffffffffffff217ae3349b6b5bb4e092fa6ff9ec700a0ffffff"
    933       "ffffffffffffffffffffffff031292ac886a33c0fbd190bcce75fc03a0ffffffffffffff"
    934       "ffffffffffffffff031292ac886a33c0fbd190bcce75fc03",
    935       "63da6ea251f039532c36645d38b76fd7", "valid" },
    936     { "808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f",
    937       "0000000000000000064c2d52", "ffffffff",
    938       "939428d079351f665cd001354319875c624839604216e403ebcc6af559ec8b43977aed35"
    939       "cb5a2fcaa0346efb93655464d8c8c3fa1a9e474abe52d02c8187e90f4f2d9096524fa1b2"
    940       "b023b8b28822277390ecf21a04e630858bb65652b5b18016",
    941       "93ffffffffffffffffffffffffffffffe58af369ae0fc2f5290b7c7f659c9704f7ffffff"
    942       "ffffffffffffffffffffffffbbc10b84948b5c8c2f0c72113ea9bd04f7ffffffffffffff"
    943       "ffffffffffffffffbbc10b84948b5c8c2f0c72113ea9bd04",
    944       "73eb2724b5c405f04d00d0f15840a1c1", "valid" }
    945 };
    946 
    947 static int
    948 tv(void)
    949 {
    950     unsigned char *ad;
    951     unsigned char *decrypted;
    952     unsigned char *detached_ciphertext;
    953     unsigned char *key;
    954     unsigned char *message;
    955     unsigned char *mac;
    956     unsigned char *nonce;
    957     size_t         ad_len;
    958     size_t         detached_ciphertext_len;
    959     size_t         message_len;
    960     unsigned int   i;
    961 
    962     key = (unsigned char *) sodium_malloc(
    963         crypto_aead_chacha20poly1305_ietf_KEYBYTES);
    964     nonce = (unsigned char *) sodium_malloc(
    965         crypto_aead_chacha20poly1305_ietf_NPUBBYTES);
    966     mac = (unsigned char *) sodium_malloc(
    967         crypto_aead_chacha20poly1305_ietf_ABYTES);
    968 
    969     for (i = 0U; i < (sizeof tests) / (sizeof tests[0]); i++) {
    970         assert(strlen(tests[i].key_hex) ==
    971                2 * crypto_aead_chacha20poly1305_ietf_KEYBYTES);
    972         sodium_hex2bin(key, crypto_aead_chacha20poly1305_ietf_KEYBYTES,
    973                        tests[i].key_hex, strlen(tests[i].key_hex), NULL, NULL,
    974                        NULL);
    975 
    976         assert(strlen(tests[i].nonce_hex) ==
    977                2 * crypto_aead_chacha20poly1305_ietf_NPUBBYTES);
    978         sodium_hex2bin(nonce, crypto_aead_chacha20poly1305_ietf_NPUBBYTES,
    979                        tests[i].nonce_hex, strlen(tests[i].nonce_hex), NULL,
    980                        NULL, NULL);
    981 
    982         message_len = strlen(tests[i].message_hex) / 2;
    983         message     = (unsigned char *) sodium_malloc(message_len);
    984         sodium_hex2bin(message, message_len, tests[i].message_hex,
    985                        strlen(tests[i].message_hex), NULL, NULL, NULL);
    986 
    987         ad_len = strlen(tests[i].ad_hex) / 2;
    988         ad     = (unsigned char *) sodium_malloc(ad_len);
    989         sodium_hex2bin(ad, ad_len, tests[i].ad_hex, strlen(tests[i].ad_hex),
    990                        NULL, NULL, NULL);
    991 
    992         detached_ciphertext_len = message_len;
    993         assert(strlen(tests[i].detached_ciphertext_hex) == 2 * message_len);
    994         assert(strlen(tests[i].mac_hex) ==
    995                2 * crypto_aead_chacha20poly1305_ietf_ABYTES);
    996         sodium_hex2bin(mac, crypto_aead_chacha20poly1305_ietf_ABYTES,
    997                        tests[i].mac_hex, strlen(tests[i].mac_hex), NULL, NULL,
    998                        NULL);
    999 
   1000         detached_ciphertext =
   1001             (unsigned char *) sodium_malloc(detached_ciphertext_len);
   1002         sodium_hex2bin(detached_ciphertext, detached_ciphertext_len,
   1003                        tests[i].detached_ciphertext_hex,
   1004                        strlen(tests[i].detached_ciphertext_hex), NULL, NULL,
   1005                        NULL);
   1006 
   1007         decrypted = (unsigned char *) sodium_malloc(message_len);
   1008         if (crypto_aead_chacha20poly1305_ietf_decrypt_detached(
   1009                 decrypted, NULL, detached_ciphertext, detached_ciphertext_len,
   1010                 mac, ad, ad_len, nonce, key) == 0) {
   1011             if (strcmp(tests[i].outcome, "valid") != 0) {
   1012                 printf("*** test case %u succeeded, was supposed to be %s\n", i,
   1013                        tests[i].outcome);
   1014             }
   1015             if (memcmp(decrypted, message, message_len) != 0) {
   1016                 printf("Incorrect decryption of test vector #%u\n",
   1017                        (unsigned int) i);
   1018             }
   1019         } else {
   1020             if (strcmp(tests[i].outcome, "invalid") != 0) {
   1021                 printf("*** test case %u failed, was supposed to be %s\n", i,
   1022                        tests[i].outcome);
   1023             }
   1024         }
   1025 
   1026         sodium_free(message);
   1027         sodium_free(ad);
   1028         sodium_free(decrypted);
   1029         sodium_free(detached_ciphertext);
   1030     }
   1031 
   1032     sodium_free(key);
   1033     sodium_free(mac);
   1034     sodium_free(nonce);
   1035 
   1036     return 0;
   1037 }
   1038 
   1039 int
   1040 main(void)
   1041 {
   1042     tv();
   1043     printf("OK\n");
   1044 
   1045     return 0;
   1046 }