// SM4 合成 T 表:把「S 盒字节替换 + 线性变换 L / L'」合并为按字节查表,
// 由国标附录 A 的 S 盒派生,轮函数只需 4 次查表异或。
// 正确性由国标标准向量测试兜底。

///|
/// 加密轮合成表主表:te0[b] = L(S[b] << 24)。
let sm4_te0 : FixedArray[UInt] = {
  let a : FixedArray[UInt] = FixedArray::make(256, 0U)
  a[0] = 0x8ed55b5bU
  a[1] = 0xd0924242U
  a[2] = 0x4deaa7a7U
  a[3] = 0x06fdfbfbU
  a[4] = 0xfccf3333U
  a[5] = 0x65e28787U
  a[6] = 0xc93df4f4U
  a[7] = 0x6bb5dedeU
  a[8] = 0x4e165858U
  a[9] = 0x6eb4dadaU
  a[10] = 0x44145050U
  a[11] = 0xcac10b0bU
  a[12] = 0x8828a0a0U
  a[13] = 0x17f8efefU
  a[14] = 0x9c2cb0b0U
  a[15] = 0x11051414U
  a[16] = 0x872bacacU
  a[17] = 0xfb669d9dU
  a[18] = 0xf2986a6aU
  a[19] = 0xae77d9d9U
  a[20] = 0x822aa8a8U
  a[21] = 0x46bcfafaU
  a[22] = 0x14041010U
  a[23] = 0xcfc00f0fU
  a[24] = 0x02a8aaaaU
  a[25] = 0x54451111U
  a[26] = 0x5f134c4cU
  a[27] = 0xbe269898U
  a[28] = 0x6d482525U
  a[29] = 0x9e841a1aU
  a[30] = 0x1e061818U
  a[31] = 0xfd9b6666U
  a[32] = 0xec9e7272U
  a[33] = 0x4a430909U
  a[34] = 0x10514141U
  a[35] = 0x24f7d3d3U
  a[36] = 0xd5934646U
  a[37] = 0x53ecbfbfU
  a[38] = 0xf89a6262U
  a[39] = 0x927be9e9U
  a[40] = 0xff33ccccU
  a[41] = 0x04555151U
  a[42] = 0x270b2c2cU
  a[43] = 0x4f420d0dU
  a[44] = 0x59eeb7b7U
  a[45] = 0xf3cc3f3fU
  a[46] = 0x1caeb2b2U
  a[47] = 0xea638989U
  a[48] = 0x74e79393U
  a[49] = 0x7fb1ceceU
  a[50] = 0x6c1c7070U
  a[51] = 0x0daba6a6U
  a[52] = 0xedca2727U
  a[53] = 0x28082020U
  a[54] = 0x48eba3a3U
  a[55] = 0xc1975656U
  a[56] = 0x80820202U
  a[57] = 0xa3dc7f7fU
  a[58] = 0xc4965252U
  a[59] = 0x12f9ebebU
  a[60] = 0xa174d5d5U
  a[61] = 0xb38d3e3eU
  a[62] = 0xc33ffcfcU
  a[63] = 0x3ea49a9aU
  a[64] = 0x5b461d1dU
  a[65] = 0x1b071c1cU
  a[66] = 0x3ba59e9eU
  a[67] = 0x0cfff3f3U
  a[68] = 0x3ff0cfcfU
  a[69] = 0xbf72cdcdU
  a[70] = 0x4b175c5cU
  a[71] = 0x52b8eaeaU
  a[72] = 0x8f810e0eU
  a[73] = 0x3d586565U
  a[74] = 0xcc3cf0f0U
  a[75] = 0x7d196464U
  a[76] = 0x7ee59b9bU
  a[77] = 0x91871616U
  a[78] = 0x734e3d3dU
  a[79] = 0x08aaa2a2U
  a[80] = 0xc869a1a1U
  a[81] = 0xc76aadadU
  a[82] = 0x85830606U
  a[83] = 0x7ab0cacaU
  a[84] = 0xb570c5c5U
  a[85] = 0xf4659191U
  a[86] = 0xb2d96b6bU
  a[87] = 0xa7892e2eU
  a[88] = 0x18fbe3e3U
  a[89] = 0x47e8afafU
  a[90] = 0x330f3c3cU
  a[91] = 0x674a2d2dU
  a[92] = 0xb071c1c1U
  a[93] = 0x0e575959U
  a[94] = 0xe99f7676U
  a[95] = 0xe135d4d4U
  a[96] = 0x661e7878U
  a[97] = 0xb4249090U
  a[98] = 0x360e3838U
  a[99] = 0x265f7979U
  a[100] = 0xef628d8dU
  a[101] = 0x38596161U
  a[102] = 0x95d24747U
  a[103] = 0x2aa08a8aU
  a[104] = 0xb1259494U
  a[105] = 0xaa228888U
  a[106] = 0x8c7df1f1U
  a[107] = 0xd73bececU
  a[108] = 0x05010404U
  a[109] = 0xa5218484U
  a[110] = 0x9879e1e1U
  a[111] = 0x9b851e1eU
  a[112] = 0x84d75353U
  a[113] = 0x00000000U
  a[114] = 0x5e471919U
  a[115] = 0x0b565d5dU
  a[116] = 0xe39d7e7eU
  a[117] = 0x9fd04f4fU
  a[118] = 0xbb279c9cU
  a[119] = 0x1a534949U
  a[120] = 0x7c4d3131U
  a[121] = 0xee36d8d8U
  a[122] = 0x0a020808U
  a[123] = 0x7be49f9fU
  a[124] = 0x20a28282U
  a[125] = 0xd4c71313U
  a[126] = 0xe8cb2323U
  a[127] = 0xe69c7a7aU
  a[128] = 0x42e9ababU
  a[129] = 0x43bdfefeU
  a[130] = 0xa2882a2aU
  a[131] = 0x9ad14b4bU
  a[132] = 0x40410101U
  a[133] = 0xdbc41f1fU
  a[134] = 0xd838e0e0U
  a[135] = 0x61b7d6d6U
  a[136] = 0x2fa18e8eU
  a[137] = 0x2bf4dfdfU
  a[138] = 0x3af1cbcbU
  a[139] = 0xf6cd3b3bU
  a[140] = 0x1dfae7e7U
  a[141] = 0xe5608585U
  a[142] = 0x41155454U
  a[143] = 0x25a38686U
  a[144] = 0x60e38383U
  a[145] = 0x16acbabaU
  a[146] = 0x295c7575U
  a[147] = 0x34a69292U
  a[148] = 0xf7996e6eU
  a[149] = 0xe434d0d0U
  a[150] = 0x721a6868U
  a[151] = 0x01545555U
  a[152] = 0x19afb6b6U
  a[153] = 0xdf914e4eU
  a[154] = 0xfa32c8c8U
  a[155] = 0xf030c0c0U
  a[156] = 0x21f6d7d7U
  a[157] = 0xbc8e3232U
  a[158] = 0x75b3c6c6U
  a[159] = 0x6fe08f8fU
  a[160] = 0x691d7474U
  a[161] = 0x2ef5dbdbU
  a[162] = 0x6ae18b8bU
  a[163] = 0x962eb8b8U
  a[164] = 0x8a800a0aU
  a[165] = 0xfe679999U
  a[166] = 0xe2c92b2bU
  a[167] = 0xe0618181U
  a[168] = 0xc0c30303U
  a[169] = 0x8d29a4a4U
  a[170] = 0xaf238c8cU
  a[171] = 0x07a9aeaeU
  a[172] = 0x390d3434U
  a[173] = 0x1f524d4dU
  a[174] = 0x764f3939U
  a[175] = 0xd36ebdbdU
  a[176] = 0x81d65757U
  a[177] = 0xb7d86f6fU
  a[178] = 0xeb37dcdcU
  a[179] = 0x51441515U
  a[180] = 0xa6dd7b7bU
  a[181] = 0x09fef7f7U
  a[182] = 0xb68c3a3aU
  a[183] = 0x932fbcbcU
  a[184] = 0x0f030c0cU
  a[185] = 0x03fcffffU
  a[186] = 0xc26ba9a9U
  a[187] = 0xba73c9c9U
  a[188] = 0xd96cb5b5U
  a[189] = 0xdc6db1b1U
  a[190] = 0x375a6d6dU
  a[191] = 0x15504545U
  a[192] = 0xb98f3636U
  a[193] = 0x771b6c6cU
  a[194] = 0x13adbebeU
  a[195] = 0xda904a4aU
  a[196] = 0x57b9eeeeU
  a[197] = 0xa9de7777U
  a[198] = 0x4cbef2f2U
  a[199] = 0x837efdfdU
  a[200] = 0x55114444U
  a[201] = 0xbdda6767U
  a[202] = 0x2c5d7171U
  a[203] = 0x45400505U
  a[204] = 0x631f7c7cU
  a[205] = 0x50104040U
  a[206] = 0x325b6969U
  a[207] = 0xb8db6363U
  a[208] = 0x220a2828U
  a[209] = 0xc5c20707U
  a[210] = 0xf531c4c4U
  a[211] = 0xa88a2222U
  a[212] = 0x31a79696U
  a[213] = 0xf9ce3737U
  a[214] = 0x977aededU
  a[215] = 0x49bff6f6U
  a[216] = 0x992db4b4U
  a[217] = 0xa475d1d1U
  a[218] = 0x90d34343U
  a[219] = 0x5a124848U
  a[220] = 0x58bae2e2U
  a[221] = 0x71e69797U
  a[222] = 0x64b6d2d2U
  a[223] = 0x70b2c2c2U
  a[224] = 0xad8b2626U
  a[225] = 0xcd68a5a5U
  a[226] = 0xcb955e5eU
  a[227] = 0x624b2929U
  a[228] = 0x3c0c3030U
  a[229] = 0xce945a5aU
  a[230] = 0xab76ddddU
  a[231] = 0x867ff9f9U
  a[232] = 0xf1649595U
  a[233] = 0x5dbbe6e6U
  a[234] = 0x35f2c7c7U
  a[235] = 0x2d092424U
  a[236] = 0xd1c61717U
  a[237] = 0xd66fb9b9U
  a[238] = 0xdec51b1bU
  a[239] = 0x94861212U
  a[240] = 0x78186060U
  a[241] = 0x30f3c3c3U
  a[242] = 0x897cf5f5U
  a[243] = 0x5cefb3b3U
  a[244] = 0xd23ae8e8U
  a[245] = 0xacdf7373U
  a[246] = 0x794c3535U
  a[247] = 0xa0208080U
  a[248] = 0x9d78e5e5U
  a[249] = 0x56edbbbbU
  a[250] = 0x235e7d7dU
  a[251] = 0xc63ef8f8U
  a[252] = 0x8bd45f5fU
  a[253] = 0xe7c82f2fU
  a[254] = 0xdd39e4e4U
  a[255] = 0x68492121U
  a
}

///|
/// 加密轮合成表:te1/te2/te3 为主表按字节位置的旋转变体。
let sm4_te1 : FixedArray[UInt] = {
  let a : FixedArray[UInt] = FixedArray::make(256, 0U)
  a[0] = 0xd55b5b8eU
  a[1] = 0x924242d0U
  a[2] = 0xeaa7a74dU
  a[3] = 0xfdfbfb06U
  a[4] = 0xcf3333fcU
  a[5] = 0xe2878765U
  a[6] = 0x3df4f4c9U
  a[7] = 0xb5dede6bU
  a[8] = 0x1658584eU
  a[9] = 0xb4dada6eU
  a[10] = 0x14505044U
  a[11] = 0xc10b0bcaU
  a[12] = 0x28a0a088U
  a[13] = 0xf8efef17U
  a[14] = 0x2cb0b09cU
  a[15] = 0x05141411U
  a[16] = 0x2bacac87U
  a[17] = 0x669d9dfbU
  a[18] = 0x986a6af2U
  a[19] = 0x77d9d9aeU
  a[20] = 0x2aa8a882U
  a[21] = 0xbcfafa46U
  a[22] = 0x04101014U
  a[23] = 0xc00f0fcfU
  a[24] = 0xa8aaaa02U
  a[25] = 0x45111154U
  a[26] = 0x134c4c5fU
  a[27] = 0x269898beU
  a[28] = 0x4825256dU
  a[29] = 0x841a1a9eU
  a[30] = 0x0618181eU
  a[31] = 0x9b6666fdU
  a[32] = 0x9e7272ecU
  a[33] = 0x4309094aU
  a[34] = 0x51414110U
  a[35] = 0xf7d3d324U
  a[36] = 0x934646d5U
  a[37] = 0xecbfbf53U
  a[38] = 0x9a6262f8U
  a[39] = 0x7be9e992U
  a[40] = 0x33ccccffU
  a[41] = 0x55515104U
  a[42] = 0x0b2c2c27U
  a[43] = 0x420d0d4fU
  a[44] = 0xeeb7b759U
  a[45] = 0xcc3f3ff3U
  a[46] = 0xaeb2b21cU
  a[47] = 0x638989eaU
  a[48] = 0xe7939374U
  a[49] = 0xb1cece7fU
  a[50] = 0x1c70706cU
  a[51] = 0xaba6a60dU
  a[52] = 0xca2727edU
  a[53] = 0x08202028U
  a[54] = 0xeba3a348U
  a[55] = 0x975656c1U
  a[56] = 0x82020280U
  a[57] = 0xdc7f7fa3U
  a[58] = 0x965252c4U
  a[59] = 0xf9ebeb12U
  a[60] = 0x74d5d5a1U
  a[61] = 0x8d3e3eb3U
  a[62] = 0x3ffcfcc3U
  a[63] = 0xa49a9a3eU
  a[64] = 0x461d1d5bU
  a[65] = 0x071c1c1bU
  a[66] = 0xa59e9e3bU
  a[67] = 0xfff3f30cU
  a[68] = 0xf0cfcf3fU
  a[69] = 0x72cdcdbfU
  a[70] = 0x175c5c4bU
  a[71] = 0xb8eaea52U
  a[72] = 0x810e0e8fU
  a[73] = 0x5865653dU
  a[74] = 0x3cf0f0ccU
  a[75] = 0x1964647dU
  a[76] = 0xe59b9b7eU
  a[77] = 0x87161691U
  a[78] = 0x4e3d3d73U
  a[79] = 0xaaa2a208U
  a[80] = 0x69a1a1c8U
  a[81] = 0x6aadadc7U
  a[82] = 0x83060685U
  a[83] = 0xb0caca7aU
  a[84] = 0x70c5c5b5U
  a[85] = 0x659191f4U
  a[86] = 0xd96b6bb2U
  a[87] = 0x892e2ea7U
  a[88] = 0xfbe3e318U
  a[89] = 0xe8afaf47U
  a[90] = 0x0f3c3c33U
  a[91] = 0x4a2d2d67U
  a[92] = 0x71c1c1b0U
  a[93] = 0x5759590eU
  a[94] = 0x9f7676e9U
  a[95] = 0x35d4d4e1U
  a[96] = 0x1e787866U
  a[97] = 0x249090b4U
  a[98] = 0x0e383836U
  a[99] = 0x5f797926U
  a[100] = 0x628d8defU
  a[101] = 0x59616138U
  a[102] = 0xd2474795U
  a[103] = 0xa08a8a2aU
  a[104] = 0x259494b1U
  a[105] = 0x228888aaU
  a[106] = 0x7df1f18cU
  a[107] = 0x3bececd7U
  a[108] = 0x01040405U
  a[109] = 0x218484a5U
  a[110] = 0x79e1e198U
  a[111] = 0x851e1e9bU
  a[112] = 0xd7535384U
  a[113] = 0x00000000U
  a[114] = 0x4719195eU
  a[115] = 0x565d5d0bU
  a[116] = 0x9d7e7ee3U
  a[117] = 0xd04f4f9fU
  a[118] = 0x279c9cbbU
  a[119] = 0x5349491aU
  a[120] = 0x4d31317cU
  a[121] = 0x36d8d8eeU
  a[122] = 0x0208080aU
  a[123] = 0xe49f9f7bU
  a[124] = 0xa2828220U
  a[125] = 0xc71313d4U
  a[126] = 0xcb2323e8U
  a[127] = 0x9c7a7ae6U
  a[128] = 0xe9abab42U
  a[129] = 0xbdfefe43U
  a[130] = 0x882a2aa2U
  a[131] = 0xd14b4b9aU
  a[132] = 0x41010140U
  a[133] = 0xc41f1fdbU
  a[134] = 0x38e0e0d8U
  a[135] = 0xb7d6d661U
  a[136] = 0xa18e8e2fU
  a[137] = 0xf4dfdf2bU
  a[138] = 0xf1cbcb3aU
  a[139] = 0xcd3b3bf6U
  a[140] = 0xfae7e71dU
  a[141] = 0x608585e5U
  a[142] = 0x15545441U
  a[143] = 0xa3868625U
  a[144] = 0xe3838360U
  a[145] = 0xacbaba16U
  a[146] = 0x5c757529U
  a[147] = 0xa6929234U
  a[148] = 0x996e6ef7U
  a[149] = 0x34d0d0e4U
  a[150] = 0x1a686872U
  a[151] = 0x54555501U
  a[152] = 0xafb6b619U
  a[153] = 0x914e4edfU
  a[154] = 0x32c8c8faU
  a[155] = 0x30c0c0f0U
  a[156] = 0xf6d7d721U
  a[157] = 0x8e3232bcU
  a[158] = 0xb3c6c675U
  a[159] = 0xe08f8f6fU
  a[160] = 0x1d747469U
  a[161] = 0xf5dbdb2eU
  a[162] = 0xe18b8b6aU
  a[163] = 0x2eb8b896U
  a[164] = 0x800a0a8aU
  a[165] = 0x679999feU
  a[166] = 0xc92b2be2U
  a[167] = 0x618181e0U
  a[168] = 0xc30303c0U
  a[169] = 0x29a4a48dU
  a[170] = 0x238c8cafU
  a[171] = 0xa9aeae07U
  a[172] = 0x0d343439U
  a[173] = 0x524d4d1fU
  a[174] = 0x4f393976U
  a[175] = 0x6ebdbdd3U
  a[176] = 0xd6575781U
  a[177] = 0xd86f6fb7U
  a[178] = 0x37dcdcebU
  a[179] = 0x44151551U
  a[180] = 0xdd7b7ba6U
  a[181] = 0xfef7f709U
  a[182] = 0x8c3a3ab6U
  a[183] = 0x2fbcbc93U
  a[184] = 0x030c0c0fU
  a[185] = 0xfcffff03U
  a[186] = 0x6ba9a9c2U
  a[187] = 0x73c9c9baU
  a[188] = 0x6cb5b5d9U
  a[189] = 0x6db1b1dcU
  a[190] = 0x5a6d6d37U
  a[191] = 0x50454515U
  a[192] = 0x8f3636b9U
  a[193] = 0x1b6c6c77U
  a[194] = 0xadbebe13U
  a[195] = 0x904a4adaU
  a[196] = 0xb9eeee57U
  a[197] = 0xde7777a9U
  a[198] = 0xbef2f24cU
  a[199] = 0x7efdfd83U
  a[200] = 0x11444455U
  a[201] = 0xda6767bdU
  a[202] = 0x5d71712cU
  a[203] = 0x40050545U
  a[204] = 0x1f7c7c63U
  a[205] = 0x10404050U
  a[206] = 0x5b696932U
  a[207] = 0xdb6363b8U
  a[208] = 0x0a282822U
  a[209] = 0xc20707c5U
  a[210] = 0x31c4c4f5U
  a[211] = 0x8a2222a8U
  a[212] = 0xa7969631U
  a[213] = 0xce3737f9U
  a[214] = 0x7aeded97U
  a[215] = 0xbff6f649U
  a[216] = 0x2db4b499U
  a[217] = 0x75d1d1a4U
  a[218] = 0xd3434390U
  a[219] = 0x1248485aU
  a[220] = 0xbae2e258U
  a[221] = 0xe6979771U
  a[222] = 0xb6d2d264U
  a[223] = 0xb2c2c270U
  a[224] = 0x8b2626adU
  a[225] = 0x68a5a5cdU
  a[226] = 0x955e5ecbU
  a[227] = 0x4b292962U
  a[228] = 0x0c30303cU
  a[229] = 0x945a5aceU
  a[230] = 0x76ddddabU
  a[231] = 0x7ff9f986U
  a[232] = 0x649595f1U
  a[233] = 0xbbe6e65dU
  a[234] = 0xf2c7c735U
  a[235] = 0x0924242dU
  a[236] = 0xc61717d1U
  a[237] = 0x6fb9b9d6U
  a[238] = 0xc51b1bdeU
  a[239] = 0x86121294U
  a[240] = 0x18606078U
  a[241] = 0xf3c3c330U
  a[242] = 0x7cf5f589U
  a[243] = 0xefb3b35cU
  a[244] = 0x3ae8e8d2U
  a[245] = 0xdf7373acU
  a[246] = 0x4c353579U
  a[247] = 0x208080a0U
  a[248] = 0x78e5e59dU
  a[249] = 0xedbbbb56U
  a[250] = 0x5e7d7d23U
  a[251] = 0x3ef8f8c6U
  a[252] = 0xd45f5f8bU
  a[253] = 0xc82f2fe7U
  a[254] = 0x39e4e4ddU
  a[255] = 0x49212168U
  a
}

///|
let sm4_te2 : FixedArray[UInt] = {
  let a : FixedArray[UInt] = FixedArray::make(256, 0U)
  a[0] = 0x5b5b8ed5U
  a[1] = 0x4242d092U
  a[2] = 0xa7a74deaU
  a[3] = 0xfbfb06fdU
  a[4] = 0x3333fccfU
  a[5] = 0x878765e2U
  a[6] = 0xf4f4c93dU
  a[7] = 0xdede6bb5U
  a[8] = 0x58584e16U
  a[9] = 0xdada6eb4U
  a[10] = 0x50504414U
  a[11] = 0x0b0bcac1U
  a[12] = 0xa0a08828U
  a[13] = 0xefef17f8U
  a[14] = 0xb0b09c2cU
  a[15] = 0x14141105U
  a[16] = 0xacac872bU
  a[17] = 0x9d9dfb66U
  a[18] = 0x6a6af298U
  a[19] = 0xd9d9ae77U
  a[20] = 0xa8a8822aU
  a[21] = 0xfafa46bcU
  a[22] = 0x10101404U
  a[23] = 0x0f0fcfc0U
  a[24] = 0xaaaa02a8U
  a[25] = 0x11115445U
  a[26] = 0x4c4c5f13U
  a[27] = 0x9898be26U
  a[28] = 0x25256d48U
  a[29] = 0x1a1a9e84U
  a[30] = 0x18181e06U
  a[31] = 0x6666fd9bU
  a[32] = 0x7272ec9eU
  a[33] = 0x09094a43U
  a[34] = 0x41411051U
  a[35] = 0xd3d324f7U
  a[36] = 0x4646d593U
  a[37] = 0xbfbf53ecU
  a[38] = 0x6262f89aU
  a[39] = 0xe9e9927bU
  a[40] = 0xccccff33U
  a[41] = 0x51510455U
  a[42] = 0x2c2c270bU
  a[43] = 0x0d0d4f42U
  a[44] = 0xb7b759eeU
  a[45] = 0x3f3ff3ccU
  a[46] = 0xb2b21caeU
  a[47] = 0x8989ea63U
  a[48] = 0x939374e7U
  a[49] = 0xcece7fb1U
  a[50] = 0x70706c1cU
  a[51] = 0xa6a60dabU
  a[52] = 0x2727edcaU
  a[53] = 0x20202808U
  a[54] = 0xa3a348ebU
  a[55] = 0x5656c197U
  a[56] = 0x02028082U
  a[57] = 0x7f7fa3dcU
  a[58] = 0x5252c496U
  a[59] = 0xebeb12f9U
  a[60] = 0xd5d5a174U
  a[61] = 0x3e3eb38dU
  a[62] = 0xfcfcc33fU
  a[63] = 0x9a9a3ea4U
  a[64] = 0x1d1d5b46U
  a[65] = 0x1c1c1b07U
  a[66] = 0x9e9e3ba5U
  a[67] = 0xf3f30cffU
  a[68] = 0xcfcf3ff0U
  a[69] = 0xcdcdbf72U
  a[70] = 0x5c5c4b17U
  a[71] = 0xeaea52b8U
  a[72] = 0x0e0e8f81U
  a[73] = 0x65653d58U
  a[74] = 0xf0f0cc3cU
  a[75] = 0x64647d19U
  a[76] = 0x9b9b7ee5U
  a[77] = 0x16169187U
  a[78] = 0x3d3d734eU
  a[79] = 0xa2a208aaU
  a[80] = 0xa1a1c869U
  a[81] = 0xadadc76aU
  a[82] = 0x06068583U
  a[83] = 0xcaca7ab0U
  a[84] = 0xc5c5b570U
  a[85] = 0x9191f465U
  a[86] = 0x6b6bb2d9U
  a[87] = 0x2e2ea789U
  a[88] = 0xe3e318fbU
  a[89] = 0xafaf47e8U
  a[90] = 0x3c3c330fU
  a[91] = 0x2d2d674aU
  a[92] = 0xc1c1b071U
  a[93] = 0x59590e57U
  a[94] = 0x7676e99fU
  a[95] = 0xd4d4e135U
  a[96] = 0x7878661eU
  a[97] = 0x9090b424U
  a[98] = 0x3838360eU
  a[99] = 0x7979265fU
  a[100] = 0x8d8def62U
  a[101] = 0x61613859U
  a[102] = 0x474795d2U
  a[103] = 0x8a8a2aa0U
  a[104] = 0x9494b125U
  a[105] = 0x8888aa22U
  a[106] = 0xf1f18c7dU
  a[107] = 0xececd73bU
  a[108] = 0x04040501U
  a[109] = 0x8484a521U
  a[110] = 0xe1e19879U
  a[111] = 0x1e1e9b85U
  a[112] = 0x535384d7U
  a[113] = 0x00000000U
  a[114] = 0x19195e47U
  a[115] = 0x5d5d0b56U
  a[116] = 0x7e7ee39dU
  a[117] = 0x4f4f9fd0U
  a[118] = 0x9c9cbb27U
  a[119] = 0x49491a53U
  a[120] = 0x31317c4dU
  a[121] = 0xd8d8ee36U
  a[122] = 0x08080a02U
  a[123] = 0x9f9f7be4U
  a[124] = 0x828220a2U
  a[125] = 0x1313d4c7U
  a[126] = 0x2323e8cbU
  a[127] = 0x7a7ae69cU
  a[128] = 0xabab42e9U
  a[129] = 0xfefe43bdU
  a[130] = 0x2a2aa288U
  a[131] = 0x4b4b9ad1U
  a[132] = 0x01014041U
  a[133] = 0x1f1fdbc4U
  a[134] = 0xe0e0d838U
  a[135] = 0xd6d661b7U
  a[136] = 0x8e8e2fa1U
  a[137] = 0xdfdf2bf4U
  a[138] = 0xcbcb3af1U
  a[139] = 0x3b3bf6cdU
  a[140] = 0xe7e71dfaU
  a[141] = 0x8585e560U
  a[142] = 0x54544115U
  a[143] = 0x868625a3U
  a[144] = 0x838360e3U
  a[145] = 0xbaba16acU
  a[146] = 0x7575295cU
  a[147] = 0x929234a6U
  a[148] = 0x6e6ef799U
  a[149] = 0xd0d0e434U
  a[150] = 0x6868721aU
  a[151] = 0x55550154U
  a[152] = 0xb6b619afU
  a[153] = 0x4e4edf91U
  a[154] = 0xc8c8fa32U
  a[155] = 0xc0c0f030U
  a[156] = 0xd7d721f6U
  a[157] = 0x3232bc8eU
  a[158] = 0xc6c675b3U
  a[159] = 0x8f8f6fe0U
  a[160] = 0x7474691dU
  a[161] = 0xdbdb2ef5U
  a[162] = 0x8b8b6ae1U
  a[163] = 0xb8b8962eU
  a[164] = 0x0a0a8a80U
  a[165] = 0x9999fe67U
  a[166] = 0x2b2be2c9U
  a[167] = 0x8181e061U
  a[168] = 0x0303c0c3U
  a[169] = 0xa4a48d29U
  a[170] = 0x8c8caf23U
  a[171] = 0xaeae07a9U
  a[172] = 0x3434390dU
  a[173] = 0x4d4d1f52U
  a[174] = 0x3939764fU
  a[175] = 0xbdbdd36eU
  a[176] = 0x575781d6U
  a[177] = 0x6f6fb7d8U
  a[178] = 0xdcdceb37U
  a[179] = 0x15155144U
  a[180] = 0x7b7ba6ddU
  a[181] = 0xf7f709feU
  a[182] = 0x3a3ab68cU
  a[183] = 0xbcbc932fU
  a[184] = 0x0c0c0f03U
  a[185] = 0xffff03fcU
  a[186] = 0xa9a9c26bU
  a[187] = 0xc9c9ba73U
  a[188] = 0xb5b5d96cU
  a[189] = 0xb1b1dc6dU
  a[190] = 0x6d6d375aU
  a[191] = 0x45451550U
  a[192] = 0x3636b98fU
  a[193] = 0x6c6c771bU
  a[194] = 0xbebe13adU
  a[195] = 0x4a4ada90U
  a[196] = 0xeeee57b9U
  a[197] = 0x7777a9deU
  a[198] = 0xf2f24cbeU
  a[199] = 0xfdfd837eU
  a[200] = 0x44445511U
  a[201] = 0x6767bddaU
  a[202] = 0x71712c5dU
  a[203] = 0x05054540U
  a[204] = 0x7c7c631fU
  a[205] = 0x40405010U
  a[206] = 0x6969325bU
  a[207] = 0x6363b8dbU
  a[208] = 0x2828220aU
  a[209] = 0x0707c5c2U
  a[210] = 0xc4c4f531U
  a[211] = 0x2222a88aU
  a[212] = 0x969631a7U
  a[213] = 0x3737f9ceU
  a[214] = 0xeded977aU
  a[215] = 0xf6f649bfU
  a[216] = 0xb4b4992dU
  a[217] = 0xd1d1a475U
  a[218] = 0x434390d3U
  a[219] = 0x48485a12U
  a[220] = 0xe2e258baU
  a[221] = 0x979771e6U
  a[222] = 0xd2d264b6U
  a[223] = 0xc2c270b2U
  a[224] = 0x2626ad8bU
  a[225] = 0xa5a5cd68U
  a[226] = 0x5e5ecb95U
  a[227] = 0x2929624bU
  a[228] = 0x30303c0cU
  a[229] = 0x5a5ace94U
  a[230] = 0xddddab76U
  a[231] = 0xf9f9867fU
  a[232] = 0x9595f164U
  a[233] = 0xe6e65dbbU
  a[234] = 0xc7c735f2U
  a[235] = 0x24242d09U
  a[236] = 0x1717d1c6U
  a[237] = 0xb9b9d66fU
  a[238] = 0x1b1bdec5U
  a[239] = 0x12129486U
  a[240] = 0x60607818U
  a[241] = 0xc3c330f3U
  a[242] = 0xf5f5897cU
  a[243] = 0xb3b35cefU
  a[244] = 0xe8e8d23aU
  a[245] = 0x7373acdfU
  a[246] = 0x3535794cU
  a[247] = 0x8080a020U
  a[248] = 0xe5e59d78U
  a[249] = 0xbbbb56edU
  a[250] = 0x7d7d235eU
  a[251] = 0xf8f8c63eU
  a[252] = 0x5f5f8bd4U
  a[253] = 0x2f2fe7c8U
  a[254] = 0xe4e4dd39U
  a[255] = 0x21216849U
  a
}

///|
let sm4_te3 : FixedArray[UInt] = {
  let a : FixedArray[UInt] = FixedArray::make(256, 0U)
  a[0] = 0x5b8ed55bU
  a[1] = 0x42d09242U
  a[2] = 0xa74deaa7U
  a[3] = 0xfb06fdfbU
  a[4] = 0x33fccf33U
  a[5] = 0x8765e287U
  a[6] = 0xf4c93df4U
  a[7] = 0xde6bb5deU
  a[8] = 0x584e1658U
  a[9] = 0xda6eb4daU
  a[10] = 0x50441450U
  a[11] = 0x0bcac10bU
  a[12] = 0xa08828a0U
  a[13] = 0xef17f8efU
  a[14] = 0xb09c2cb0U
  a[15] = 0x14110514U
  a[16] = 0xac872bacU
  a[17] = 0x9dfb669dU
  a[18] = 0x6af2986aU
  a[19] = 0xd9ae77d9U
  a[20] = 0xa8822aa8U
  a[21] = 0xfa46bcfaU
  a[22] = 0x10140410U
  a[23] = 0x0fcfc00fU
  a[24] = 0xaa02a8aaU
  a[25] = 0x11544511U
  a[26] = 0x4c5f134cU
  a[27] = 0x98be2698U
  a[28] = 0x256d4825U
  a[29] = 0x1a9e841aU
  a[30] = 0x181e0618U
  a[31] = 0x66fd9b66U
  a[32] = 0x72ec9e72U
  a[33] = 0x094a4309U
  a[34] = 0x41105141U
  a[35] = 0xd324f7d3U
  a[36] = 0x46d59346U
  a[37] = 0xbf53ecbfU
  a[38] = 0x62f89a62U
  a[39] = 0xe9927be9U
  a[40] = 0xccff33ccU
  a[41] = 0x51045551U
  a[42] = 0x2c270b2cU
  a[43] = 0x0d4f420dU
  a[44] = 0xb759eeb7U
  a[45] = 0x3ff3cc3fU
  a[46] = 0xb21caeb2U
  a[47] = 0x89ea6389U
  a[48] = 0x9374e793U
  a[49] = 0xce7fb1ceU
  a[50] = 0x706c1c70U
  a[51] = 0xa60daba6U
  a[52] = 0x27edca27U
  a[53] = 0x20280820U
  a[54] = 0xa348eba3U
  a[55] = 0x56c19756U
  a[56] = 0x02808202U
  a[57] = 0x7fa3dc7fU
  a[58] = 0x52c49652U
  a[59] = 0xeb12f9ebU
  a[60] = 0xd5a174d5U
  a[61] = 0x3eb38d3eU
  a[62] = 0xfcc33ffcU
  a[63] = 0x9a3ea49aU
  a[64] = 0x1d5b461dU
  a[65] = 0x1c1b071cU
  a[66] = 0x9e3ba59eU
  a[67] = 0xf30cfff3U
  a[68] = 0xcf3ff0cfU
  a[69] = 0xcdbf72cdU
  a[70] = 0x5c4b175cU
  a[71] = 0xea52b8eaU
  a[72] = 0x0e8f810eU
  a[73] = 0x653d5865U
  a[74] = 0xf0cc3cf0U
  a[75] = 0x647d1964U
  a[76] = 0x9b7ee59bU
  a[77] = 0x16918716U
  a[78] = 0x3d734e3dU
  a[79] = 0xa208aaa2U
  a[80] = 0xa1c869a1U
  a[81] = 0xadc76aadU
  a[82] = 0x06858306U
  a[83] = 0xca7ab0caU
  a[84] = 0xc5b570c5U
  a[85] = 0x91f46591U
  a[86] = 0x6bb2d96bU
  a[87] = 0x2ea7892eU
  a[88] = 0xe318fbe3U
  a[89] = 0xaf47e8afU
  a[90] = 0x3c330f3cU
  a[91] = 0x2d674a2dU
  a[92] = 0xc1b071c1U
  a[93] = 0x590e5759U
  a[94] = 0x76e99f76U
  a[95] = 0xd4e135d4U
  a[96] = 0x78661e78U
  a[97] = 0x90b42490U
  a[98] = 0x38360e38U
  a[99] = 0x79265f79U
  a[100] = 0x8def628dU
  a[101] = 0x61385961U
  a[102] = 0x4795d247U
  a[103] = 0x8a2aa08aU
  a[104] = 0x94b12594U
  a[105] = 0x88aa2288U
  a[106] = 0xf18c7df1U
  a[107] = 0xecd73becU
  a[108] = 0x04050104U
  a[109] = 0x84a52184U
  a[110] = 0xe19879e1U
  a[111] = 0x1e9b851eU
  a[112] = 0x5384d753U
  a[113] = 0x00000000U
  a[114] = 0x195e4719U
  a[115] = 0x5d0b565dU
  a[116] = 0x7ee39d7eU
  a[117] = 0x4f9fd04fU
  a[118] = 0x9cbb279cU
  a[119] = 0x491a5349U
  a[120] = 0x317c4d31U
  a[121] = 0xd8ee36d8U
  a[122] = 0x080a0208U
  a[123] = 0x9f7be49fU
  a[124] = 0x8220a282U
  a[125] = 0x13d4c713U
  a[126] = 0x23e8cb23U
  a[127] = 0x7ae69c7aU
  a[128] = 0xab42e9abU
  a[129] = 0xfe43bdfeU
  a[130] = 0x2aa2882aU
  a[131] = 0x4b9ad14bU
  a[132] = 0x01404101U
  a[133] = 0x1fdbc41fU
  a[134] = 0xe0d838e0U
  a[135] = 0xd661b7d6U
  a[136] = 0x8e2fa18eU
  a[137] = 0xdf2bf4dfU
  a[138] = 0xcb3af1cbU
  a[139] = 0x3bf6cd3bU
  a[140] = 0xe71dfae7U
  a[141] = 0x85e56085U
  a[142] = 0x54411554U
  a[143] = 0x8625a386U
  a[144] = 0x8360e383U
  a[145] = 0xba16acbaU
  a[146] = 0x75295c75U
  a[147] = 0x9234a692U
  a[148] = 0x6ef7996eU
  a[149] = 0xd0e434d0U
  a[150] = 0x68721a68U
  a[151] = 0x55015455U
  a[152] = 0xb619afb6U
  a[153] = 0x4edf914eU
  a[154] = 0xc8fa32c8U
  a[155] = 0xc0f030c0U
  a[156] = 0xd721f6d7U
  a[157] = 0x32bc8e32U
  a[158] = 0xc675b3c6U
  a[159] = 0x8f6fe08fU
  a[160] = 0x74691d74U
  a[161] = 0xdb2ef5dbU
  a[162] = 0x8b6ae18bU
  a[163] = 0xb8962eb8U
  a[164] = 0x0a8a800aU
  a[165] = 0x99fe6799U
  a[166] = 0x2be2c92bU
  a[167] = 0x81e06181U
  a[168] = 0x03c0c303U
  a[169] = 0xa48d29a4U
  a[170] = 0x8caf238cU
  a[171] = 0xae07a9aeU
  a[172] = 0x34390d34U
  a[173] = 0x4d1f524dU
  a[174] = 0x39764f39U
  a[175] = 0xbdd36ebdU
  a[176] = 0x5781d657U
  a[177] = 0x6fb7d86fU
  a[178] = 0xdceb37dcU
  a[179] = 0x15514415U
  a[180] = 0x7ba6dd7bU
  a[181] = 0xf709fef7U
  a[182] = 0x3ab68c3aU
  a[183] = 0xbc932fbcU
  a[184] = 0x0c0f030cU
  a[185] = 0xff03fcffU
  a[186] = 0xa9c26ba9U
  a[187] = 0xc9ba73c9U
  a[188] = 0xb5d96cb5U
  a[189] = 0xb1dc6db1U
  a[190] = 0x6d375a6dU
  a[191] = 0x45155045U
  a[192] = 0x36b98f36U
  a[193] = 0x6c771b6cU
  a[194] = 0xbe13adbeU
  a[195] = 0x4ada904aU
  a[196] = 0xee57b9eeU
  a[197] = 0x77a9de77U
  a[198] = 0xf24cbef2U
  a[199] = 0xfd837efdU
  a[200] = 0x44551144U
  a[201] = 0x67bdda67U
  a[202] = 0x712c5d71U
  a[203] = 0x05454005U
  a[204] = 0x7c631f7cU
  a[205] = 0x40501040U
  a[206] = 0x69325b69U
  a[207] = 0x63b8db63U
  a[208] = 0x28220a28U
  a[209] = 0x07c5c207U
  a[210] = 0xc4f531c4U
  a[211] = 0x22a88a22U
  a[212] = 0x9631a796U
  a[213] = 0x37f9ce37U
  a[214] = 0xed977aedU
  a[215] = 0xf649bff6U
  a[216] = 0xb4992db4U
  a[217] = 0xd1a475d1U
  a[218] = 0x4390d343U
  a[219] = 0x485a1248U
  a[220] = 0xe258bae2U
  a[221] = 0x9771e697U
  a[222] = 0xd264b6d2U
  a[223] = 0xc270b2c2U
  a[224] = 0x26ad8b26U
  a[225] = 0xa5cd68a5U
  a[226] = 0x5ecb955eU
  a[227] = 0x29624b29U
  a[228] = 0x303c0c30U
  a[229] = 0x5ace945aU
  a[230] = 0xddab76ddU
  a[231] = 0xf9867ff9U
  a[232] = 0x95f16495U
  a[233] = 0xe65dbbe6U
  a[234] = 0xc735f2c7U
  a[235] = 0x242d0924U
  a[236] = 0x17d1c617U
  a[237] = 0xb9d66fb9U
  a[238] = 0x1bdec51bU
  a[239] = 0x12948612U
  a[240] = 0x60781860U
  a[241] = 0xc330f3c3U
  a[242] = 0xf5897cf5U
  a[243] = 0xb35cefb3U
  a[244] = 0xe8d23ae8U
  a[245] = 0x73acdf73U
  a[246] = 0x35794c35U
  a[247] = 0x80a02080U
  a[248] = 0xe59d78e5U
  a[249] = 0xbb56edbbU
  a[250] = 0x7d235e7dU
  a[251] = 0xf8c63ef8U
  a[252] = 0x5f8bd45fU
  a[253] = 0x2fe7c82fU
  a[254] = 0xe4dd39e4U
  a[255] = 0x21684921U
  a
}

///|
/// 密钥扩展合成表主表:td0[b] = L'(S[b] << 24)。
let sm4_td0 : FixedArray[UInt] = {
  let a : FixedArray[UInt] = FixedArray::make(256, 0U)
  a[0] = 0xd66b1ac0U
  a[1] = 0x90481200U
  a[2] = 0xe9749d20U
  a[3] = 0xfe7f1fc0U
  a[4] = 0xcc661980U
  a[5] = 0xe1709c20U
  a[6] = 0x3d1e87a0U
  a[7] = 0xb75b96e0U
  a[8] = 0x160b02c0U
  a[9] = 0xb65b16c0U
  a[10] = 0x140a0280U
  a[11] = 0xc2611840U
  a[12] = 0x28140500U
  a[13] = 0xfb7d9f60U
  a[14] = 0x2c160580U
  a[15] = 0x050280a0U
  a[16] = 0x2b158560U
  a[17] = 0x67338ce0U
  a[18] = 0x9a4d1340U
  a[19] = 0x763b0ec0U
  a[20] = 0x2a150540U
  a[21] = 0xbe5f17c0U
  a[22] = 0x04020080U
  a[23] = 0xc3619860U
  a[24] = 0xaa551540U
  a[25] = 0x44220880U
  a[26] = 0x13098260U
  a[27] = 0x261304c0U
  a[28] = 0x49248920U
  a[29] = 0x864310c0U
  a[30] = 0x060300c0U
  a[31] = 0x994c9320U
  a[32] = 0x9c4e1380U
  a[33] = 0x42210840U
  a[34] = 0x50280a00U
  a[35] = 0xf47a1e80U
  a[36] = 0x91489220U
  a[37] = 0xef779de0U
  a[38] = 0x984c1300U
  a[39] = 0x7a3d0f40U
  a[40] = 0x33198660U
  a[41] = 0x542a0a80U
  a[42] = 0x0b058160U
  a[43] = 0x43218860U
  a[44] = 0xed769da0U
  a[45] = 0xcf6799e0U
  a[46] = 0xac561580U
  a[47] = 0x62310c40U
  a[48] = 0xe4721c80U
  a[49] = 0xb3599660U
  a[50] = 0x1c0e0380U
  a[51] = 0xa9549520U
  a[52] = 0xc9649920U
  a[53] = 0x08040100U
  a[54] = 0xe8741d00U
  a[55] = 0x954a92a0U
  a[56] = 0x80401000U
  a[57] = 0xdf6f9be0U
  a[58] = 0x944a1280U
  a[59] = 0xfa7d1f40U
  a[60] = 0x753a8ea0U
  a[61] = 0x8f4791e0U
  a[62] = 0x3f1f87e0U
  a[63] = 0xa65314c0U
  a[64] = 0x472388e0U
  a[65] = 0x070380e0U
  a[66] = 0xa75394e0U
  a[67] = 0xfc7e1f80U
  a[68] = 0xf3799e60U
  a[69] = 0x73398e60U
  a[70] = 0x170b82e0U
  a[71] = 0xba5d1740U
  a[72] = 0x83419060U
  a[73] = 0x592c8b20U
  a[74] = 0x3c1e0780U
  a[75] = 0x190c8320U
  a[76] = 0xe6731cc0U
  a[77] = 0x854290a0U
  a[78] = 0x4f2789e0U
  a[79] = 0xa8541500U
  a[80] = 0x68340d00U
  a[81] = 0x6b358d60U
  a[82] = 0x81409020U
  a[83] = 0xb2591640U
  a[84] = 0x71388e20U
  a[85] = 0x64320c80U
  a[86] = 0xda6d1b40U
  a[87] = 0x8b459160U
  a[88] = 0xf87c1f00U
  a[89] = 0xeb759d60U
  a[90] = 0x0f0781e0U
  a[91] = 0x4b258960U
  a[92] = 0x70380e00U
  a[93] = 0x562b0ac0U
  a[94] = 0x9d4e93a0U
  a[95] = 0x351a86a0U
  a[96] = 0x1e0f03c0U
  a[97] = 0x24120480U
  a[98] = 0x0e0701c0U
  a[99] = 0x5e2f0bc0U
  a[100] = 0x63318c60U
  a[101] = 0x582c0b00U
  a[102] = 0xd1689a20U
  a[103] = 0xa2511440U
  a[104] = 0x251284a0U
  a[105] = 0x22110440U
  a[106] = 0x7c3e0f80U
  a[107] = 0x3b1d8760U
  a[108] = 0x01008020U
  a[109] = 0x21108420U
  a[110] = 0x783c0f00U
  a[111] = 0x874390e0U
  a[112] = 0xd46a1a80U
  a[113] = 0x00000000U
  a[114] = 0x462308c0U
  a[115] = 0x572b8ae0U
  a[116] = 0x9f4f93e0U
  a[117] = 0xd3699a60U
  a[118] = 0x271384e0U
  a[119] = 0x52290a40U
  a[120] = 0x4c260980U
  a[121] = 0x361b06c0U
  a[122] = 0x02010040U
  a[123] = 0xe7739ce0U
  a[124] = 0xa0501400U
  a[125] = 0xc4621880U
  a[126] = 0xc8641900U
  a[127] = 0x9e4f13c0U
  a[128] = 0xea751d40U
  a[129] = 0xbf5f97e0U
  a[130] = 0x8a451140U
  a[131] = 0xd2691a40U
  a[132] = 0x40200800U
  a[133] = 0xc76398e0U
  a[134] = 0x381c0700U
  a[135] = 0xb55a96a0U
  a[136] = 0xa3519460U
  a[137] = 0xf77b9ee0U
  a[138] = 0xf2791e40U
  a[139] = 0xce6719c0U
  a[140] = 0xf97c9f20U
  a[141] = 0x61308c20U
  a[142] = 0x150a82a0U
  a[143] = 0xa1509420U
  a[144] = 0xe0701c00U
  a[145] = 0xae5715c0U
  a[146] = 0x5d2e8ba0U
  a[147] = 0xa4521480U
  a[148] = 0x9b4d9360U
  a[149] = 0x341a0680U
  a[150] = 0x1a0d0340U
  a[151] = 0x552a8aa0U
  a[152] = 0xad5695a0U
  a[153] = 0x93499260U
  a[154] = 0x32190640U
  a[155] = 0x30180600U
  a[156] = 0xf57a9ea0U
  a[157] = 0x8c461180U
  a[158] = 0xb1589620U
  a[159] = 0xe3719c60U
  a[160] = 0x1d0e83a0U
  a[161] = 0xf67b1ec0U
  a[162] = 0xe2711c40U
  a[163] = 0x2e1705c0U
  a[164] = 0x82411040U
  a[165] = 0x66330cc0U
  a[166] = 0xca651940U
  a[167] = 0x60300c00U
  a[168] = 0xc0601800U
  a[169] = 0x29148520U
  a[170] = 0x23118460U
  a[171] = 0xab559560U
  a[172] = 0x0d0681a0U
  a[173] = 0x53298a60U
  a[174] = 0x4e2709c0U
  a[175] = 0x6f378de0U
  a[176] = 0xd56a9aa0U
  a[177] = 0xdb6d9b60U
  a[178] = 0x371b86e0U
  a[179] = 0x452288a0U
  a[180] = 0xde6f1bc0U
  a[181] = 0xfd7e9fa0U
  a[182] = 0x8e4711c0U
  a[183] = 0x2f1785e0U
  a[184] = 0x03018060U
  a[185] = 0xff7f9fe0U
  a[186] = 0x6a350d40U
  a[187] = 0x72390e40U
  a[188] = 0x6d368da0U
  a[189] = 0x6c360d80U
  a[190] = 0x5b2d8b60U
  a[191] = 0x51288a20U
  a[192] = 0x8d4691a0U
  a[193] = 0x1b0d8360U
  a[194] = 0xaf5795e0U
  a[195] = 0x92491240U
  a[196] = 0xbb5d9760U
  a[197] = 0xdd6e9ba0U
  a[198] = 0xbc5e1780U
  a[199] = 0x7f3f8fe0U
  a[200] = 0x11088220U
  a[201] = 0xd96c9b20U
  a[202] = 0x5c2e0b80U
  a[203] = 0x41208820U
  a[204] = 0x1f0f83e0U
  a[205] = 0x10080200U
  a[206] = 0x5a2d0b40U
  a[207] = 0xd86c1b00U
  a[208] = 0x0a050140U
  a[209] = 0xc1609820U
  a[210] = 0x31188620U
  a[211] = 0x88441100U
  a[212] = 0xa55294a0U
  a[213] = 0xcd6699a0U
  a[214] = 0x7b3d8f60U
  a[215] = 0xbd5e97a0U
  a[216] = 0x2d1685a0U
  a[217] = 0x743a0e80U
  a[218] = 0xd0681a00U
  a[219] = 0x12090240U
  a[220] = 0xb85c1700U
  a[221] = 0xe5729ca0U
  a[222] = 0xb45a1680U
  a[223] = 0xb0581600U
  a[224] = 0x89449120U
  a[225] = 0x69348d20U
  a[226] = 0x974b92e0U
  a[227] = 0x4a250940U
  a[228] = 0x0c060180U
  a[229] = 0x964b12c0U
  a[230] = 0x773b8ee0U
  a[231] = 0x7e3f0fc0U
  a[232] = 0x65328ca0U
  a[233] = 0xb95c9720U
  a[234] = 0xf1789e20U
  a[235] = 0x09048120U
  a[236] = 0xc56298a0U
  a[237] = 0x6e370dc0U
  a[238] = 0xc66318c0U
  a[239] = 0x84421080U
  a[240] = 0x180c0300U
  a[241] = 0xf0781e00U
  a[242] = 0x7d3e8fa0U
  a[243] = 0xec761d80U
  a[244] = 0x3a1d0740U
  a[245] = 0xdc6e1b80U
  a[246] = 0x4d2689a0U
  a[247] = 0x20100400U
  a[248] = 0x793c8f20U
  a[249] = 0xee771dc0U
  a[250] = 0x5f2f8be0U
  a[251] = 0x3e1f07c0U
  a[252] = 0xd76b9ae0U
  a[253] = 0xcb659960U
  a[254] = 0x391c8720U
  a[255] = 0x48240900U
  a
}

///|
/// 密钥扩展合成表:td1/td2/td3 为主表按字节位置的旋转变体。
let sm4_td1 : FixedArray[UInt] = {
  let a : FixedArray[UInt] = FixedArray::make(256, 0U)
  a[0] = 0x6b1ac0d6U
  a[1] = 0x48120090U
  a[2] = 0x749d20e9U
  a[3] = 0x7f1fc0feU
  a[4] = 0x661980ccU
  a[5] = 0x709c20e1U
  a[6] = 0x1e87a03dU
  a[7] = 0x5b96e0b7U
  a[8] = 0x0b02c016U
  a[9] = 0x5b16c0b6U
  a[10] = 0x0a028014U
  a[11] = 0x611840c2U
  a[12] = 0x14050028U
  a[13] = 0x7d9f60fbU
  a[14] = 0x1605802cU
  a[15] = 0x0280a005U
  a[16] = 0x1585602bU
  a[17] = 0x338ce067U
  a[18] = 0x4d13409aU
  a[19] = 0x3b0ec076U
  a[20] = 0x1505402aU
  a[21] = 0x5f17c0beU
  a[22] = 0x02008004U
  a[23] = 0x619860c3U
  a[24] = 0x551540aaU
  a[25] = 0x22088044U
  a[26] = 0x09826013U
  a[27] = 0x1304c026U
  a[28] = 0x24892049U
  a[29] = 0x4310c086U
  a[30] = 0x0300c006U
  a[31] = 0x4c932099U
  a[32] = 0x4e13809cU
  a[33] = 0x21084042U
  a[34] = 0x280a0050U
  a[35] = 0x7a1e80f4U
  a[36] = 0x48922091U
  a[37] = 0x779de0efU
  a[38] = 0x4c130098U
  a[39] = 0x3d0f407aU
  a[40] = 0x19866033U
  a[41] = 0x2a0a8054U
  a[42] = 0x0581600bU
  a[43] = 0x21886043U
  a[44] = 0x769da0edU
  a[45] = 0x6799e0cfU
  a[46] = 0x561580acU
  a[47] = 0x310c4062U
  a[48] = 0x721c80e4U
  a[49] = 0x599660b3U
  a[50] = 0x0e03801cU
  a[51] = 0x549520a9U
  a[52] = 0x649920c9U
  a[53] = 0x04010008U
  a[54] = 0x741d00e8U
  a[55] = 0x4a92a095U
  a[56] = 0x40100080U
  a[57] = 0x6f9be0dfU
  a[58] = 0x4a128094U
  a[59] = 0x7d1f40faU
  a[60] = 0x3a8ea075U
  a[61] = 0x4791e08fU
  a[62] = 0x1f87e03fU
  a[63] = 0x5314c0a6U
  a[64] = 0x2388e047U
  a[65] = 0x0380e007U
  a[66] = 0x5394e0a7U
  a[67] = 0x7e1f80fcU
  a[68] = 0x799e60f3U
  a[69] = 0x398e6073U
  a[70] = 0x0b82e017U
  a[71] = 0x5d1740baU
  a[72] = 0x41906083U
  a[73] = 0x2c8b2059U
  a[74] = 0x1e07803cU
  a[75] = 0x0c832019U
  a[76] = 0x731cc0e6U
  a[77] = 0x4290a085U
  a[78] = 0x2789e04fU
  a[79] = 0x541500a8U
  a[80] = 0x340d0068U
  a[81] = 0x358d606bU
  a[82] = 0x40902081U
  a[83] = 0x591640b2U
  a[84] = 0x388e2071U
  a[85] = 0x320c8064U
  a[86] = 0x6d1b40daU
  a[87] = 0x4591608bU
  a[88] = 0x7c1f00f8U
  a[89] = 0x759d60ebU
  a[90] = 0x0781e00fU
  a[91] = 0x2589604bU
  a[92] = 0x380e0070U
  a[93] = 0x2b0ac056U
  a[94] = 0x4e93a09dU
  a[95] = 0x1a86a035U
  a[96] = 0x0f03c01eU
  a[97] = 0x12048024U
  a[98] = 0x0701c00eU
  a[99] = 0x2f0bc05eU
  a[100] = 0x318c6063U
  a[101] = 0x2c0b0058U
  a[102] = 0x689a20d1U
  a[103] = 0x511440a2U
  a[104] = 0x1284a025U
  a[105] = 0x11044022U
  a[106] = 0x3e0f807cU
  a[107] = 0x1d87603bU
  a[108] = 0x00802001U
  a[109] = 0x10842021U
  a[110] = 0x3c0f0078U
  a[111] = 0x4390e087U
  a[112] = 0x6a1a80d4U
  a[113] = 0x00000000U
  a[114] = 0x2308c046U
  a[115] = 0x2b8ae057U
  a[116] = 0x4f93e09fU
  a[117] = 0x699a60d3U
  a[118] = 0x1384e027U
  a[119] = 0x290a4052U
  a[120] = 0x2609804cU
  a[121] = 0x1b06c036U
  a[122] = 0x01004002U
  a[123] = 0x739ce0e7U
  a[124] = 0x501400a0U
  a[125] = 0x621880c4U
  a[126] = 0x641900c8U
  a[127] = 0x4f13c09eU
  a[128] = 0x751d40eaU
  a[129] = 0x5f97e0bfU
  a[130] = 0x4511408aU
  a[131] = 0x691a40d2U
  a[132] = 0x20080040U
  a[133] = 0x6398e0c7U
  a[134] = 0x1c070038U
  a[135] = 0x5a96a0b5U
  a[136] = 0x519460a3U
  a[137] = 0x7b9ee0f7U
  a[138] = 0x791e40f2U
  a[139] = 0x6719c0ceU
  a[140] = 0x7c9f20f9U
  a[141] = 0x308c2061U
  a[142] = 0x0a82a015U
  a[143] = 0x509420a1U
  a[144] = 0x701c00e0U
  a[145] = 0x5715c0aeU
  a[146] = 0x2e8ba05dU
  a[147] = 0x521480a4U
  a[148] = 0x4d93609bU
  a[149] = 0x1a068034U
  a[150] = 0x0d03401aU
  a[151] = 0x2a8aa055U
  a[152] = 0x5695a0adU
  a[153] = 0x49926093U
  a[154] = 0x19064032U
  a[155] = 0x18060030U
  a[156] = 0x7a9ea0f5U
  a[157] = 0x4611808cU
  a[158] = 0x589620b1U
  a[159] = 0x719c60e3U
  a[160] = 0x0e83a01dU
  a[161] = 0x7b1ec0f6U
  a[162] = 0x711c40e2U
  a[163] = 0x1705c02eU
  a[164] = 0x41104082U
  a[165] = 0x330cc066U
  a[166] = 0x651940caU
  a[167] = 0x300c0060U
  a[168] = 0x601800c0U
  a[169] = 0x14852029U
  a[170] = 0x11846023U
  a[171] = 0x559560abU
  a[172] = 0x0681a00dU
  a[173] = 0x298a6053U
  a[174] = 0x2709c04eU
  a[175] = 0x378de06fU
  a[176] = 0x6a9aa0d5U
  a[177] = 0x6d9b60dbU
  a[178] = 0x1b86e037U
  a[179] = 0x2288a045U
  a[180] = 0x6f1bc0deU
  a[181] = 0x7e9fa0fdU
  a[182] = 0x4711c08eU
  a[183] = 0x1785e02fU
  a[184] = 0x01806003U
  a[185] = 0x7f9fe0ffU
  a[186] = 0x350d406aU
  a[187] = 0x390e4072U
  a[188] = 0x368da06dU
  a[189] = 0x360d806cU
  a[190] = 0x2d8b605bU
  a[191] = 0x288a2051U
  a[192] = 0x4691a08dU
  a[193] = 0x0d83601bU
  a[194] = 0x5795e0afU
  a[195] = 0x49124092U
  a[196] = 0x5d9760bbU
  a[197] = 0x6e9ba0ddU
  a[198] = 0x5e1780bcU
  a[199] = 0x3f8fe07fU
  a[200] = 0x08822011U
  a[201] = 0x6c9b20d9U
  a[202] = 0x2e0b805cU
  a[203] = 0x20882041U
  a[204] = 0x0f83e01fU
  a[205] = 0x08020010U
  a[206] = 0x2d0b405aU
  a[207] = 0x6c1b00d8U
  a[208] = 0x0501400aU
  a[209] = 0x609820c1U
  a[210] = 0x18862031U
  a[211] = 0x44110088U
  a[212] = 0x5294a0a5U
  a[213] = 0x6699a0cdU
  a[214] = 0x3d8f607bU
  a[215] = 0x5e97a0bdU
  a[216] = 0x1685a02dU
  a[217] = 0x3a0e8074U
  a[218] = 0x681a00d0U
  a[219] = 0x09024012U
  a[220] = 0x5c1700b8U
  a[221] = 0x729ca0e5U
  a[222] = 0x5a1680b4U
  a[223] = 0x581600b0U
  a[224] = 0x44912089U
  a[225] = 0x348d2069U
  a[226] = 0x4b92e097U
  a[227] = 0x2509404aU
  a[228] = 0x0601800cU
  a[229] = 0x4b12c096U
  a[230] = 0x3b8ee077U
  a[231] = 0x3f0fc07eU
  a[232] = 0x328ca065U
  a[233] = 0x5c9720b9U
  a[234] = 0x789e20f1U
  a[235] = 0x04812009U
  a[236] = 0x6298a0c5U
  a[237] = 0x370dc06eU
  a[238] = 0x6318c0c6U
  a[239] = 0x42108084U
  a[240] = 0x0c030018U
  a[241] = 0x781e00f0U
  a[242] = 0x3e8fa07dU
  a[243] = 0x761d80ecU
  a[244] = 0x1d07403aU
  a[245] = 0x6e1b80dcU
  a[246] = 0x2689a04dU
  a[247] = 0x10040020U
  a[248] = 0x3c8f2079U
  a[249] = 0x771dc0eeU
  a[250] = 0x2f8be05fU
  a[251] = 0x1f07c03eU
  a[252] = 0x6b9ae0d7U
  a[253] = 0x659960cbU
  a[254] = 0x1c872039U
  a[255] = 0x24090048U
  a
}

///|
let sm4_td2 : FixedArray[UInt] = {
  let a : FixedArray[UInt] = FixedArray::make(256, 0U)
  a[0] = 0x1ac0d66bU
  a[1] = 0x12009048U
  a[2] = 0x9d20e974U
  a[3] = 0x1fc0fe7fU
  a[4] = 0x1980cc66U
  a[5] = 0x9c20e170U
  a[6] = 0x87a03d1eU
  a[7] = 0x96e0b75bU
  a[8] = 0x02c0160bU
  a[9] = 0x16c0b65bU
  a[10] = 0x0280140aU
  a[11] = 0x1840c261U
  a[12] = 0x05002814U
  a[13] = 0x9f60fb7dU
  a[14] = 0x05802c16U
  a[15] = 0x80a00502U
  a[16] = 0x85602b15U
  a[17] = 0x8ce06733U
  a[18] = 0x13409a4dU
  a[19] = 0x0ec0763bU
  a[20] = 0x05402a15U
  a[21] = 0x17c0be5fU
  a[22] = 0x00800402U
  a[23] = 0x9860c361U
  a[24] = 0x1540aa55U
  a[25] = 0x08804422U
  a[26] = 0x82601309U
  a[27] = 0x04c02613U
  a[28] = 0x89204924U
  a[29] = 0x10c08643U
  a[30] = 0x00c00603U
  a[31] = 0x9320994cU
  a[32] = 0x13809c4eU
  a[33] = 0x08404221U
  a[34] = 0x0a005028U
  a[35] = 0x1e80f47aU
  a[36] = 0x92209148U
  a[37] = 0x9de0ef77U
  a[38] = 0x1300984cU
  a[39] = 0x0f407a3dU
  a[40] = 0x86603319U
  a[41] = 0x0a80542aU
  a[42] = 0x81600b05U
  a[43] = 0x88604321U
  a[44] = 0x9da0ed76U
  a[45] = 0x99e0cf67U
  a[46] = 0x1580ac56U
  a[47] = 0x0c406231U
  a[48] = 0x1c80e472U
  a[49] = 0x9660b359U
  a[50] = 0x03801c0eU
  a[51] = 0x9520a954U
  a[52] = 0x9920c964U
  a[53] = 0x01000804U
  a[54] = 0x1d00e874U
  a[55] = 0x92a0954aU
  a[56] = 0x10008040U
  a[57] = 0x9be0df6fU
  a[58] = 0x1280944aU
  a[59] = 0x1f40fa7dU
  a[60] = 0x8ea0753aU
  a[61] = 0x91e08f47U
  a[62] = 0x87e03f1fU
  a[63] = 0x14c0a653U
  a[64] = 0x88e04723U
  a[65] = 0x80e00703U
  a[66] = 0x94e0a753U
  a[67] = 0x1f80fc7eU
  a[68] = 0x9e60f379U
  a[69] = 0x8e607339U
  a[70] = 0x82e0170bU
  a[71] = 0x1740ba5dU
  a[72] = 0x90608341U
  a[73] = 0x8b20592cU
  a[74] = 0x07803c1eU
  a[75] = 0x8320190cU
  a[76] = 0x1cc0e673U
  a[77] = 0x90a08542U
  a[78] = 0x89e04f27U
  a[79] = 0x1500a854U
  a[80] = 0x0d006834U
  a[81] = 0x8d606b35U
  a[82] = 0x90208140U
  a[83] = 0x1640b259U
  a[84] = 0x8e207138U
  a[85] = 0x0c806432U
  a[86] = 0x1b40da6dU
  a[87] = 0x91608b45U
  a[88] = 0x1f00f87cU
  a[89] = 0x9d60eb75U
  a[90] = 0x81e00f07U
  a[91] = 0x89604b25U
  a[92] = 0x0e007038U
  a[93] = 0x0ac0562bU
  a[94] = 0x93a09d4eU
  a[95] = 0x86a0351aU
  a[96] = 0x03c01e0fU
  a[97] = 0x04802412U
  a[98] = 0x01c00e07U
  a[99] = 0x0bc05e2fU
  a[100] = 0x8c606331U
  a[101] = 0x0b00582cU
  a[102] = 0x9a20d168U
  a[103] = 0x1440a251U
  a[104] = 0x84a02512U
  a[105] = 0x04402211U
  a[106] = 0x0f807c3eU
  a[107] = 0x87603b1dU
  a[108] = 0x80200100U
  a[109] = 0x84202110U
  a[110] = 0x0f00783cU
  a[111] = 0x90e08743U
  a[112] = 0x1a80d46aU
  a[113] = 0x00000000U
  a[114] = 0x08c04623U
  a[115] = 0x8ae0572bU
  a[116] = 0x93e09f4fU
  a[117] = 0x9a60d369U
  a[118] = 0x84e02713U
  a[119] = 0x0a405229U
  a[120] = 0x09804c26U
  a[121] = 0x06c0361bU
  a[122] = 0x00400201U
  a[123] = 0x9ce0e773U
  a[124] = 0x1400a050U
  a[125] = 0x1880c462U
  a[126] = 0x1900c864U
  a[127] = 0x13c09e4fU
  a[128] = 0x1d40ea75U
  a[129] = 0x97e0bf5fU
  a[130] = 0x11408a45U
  a[131] = 0x1a40d269U
  a[132] = 0x08004020U
  a[133] = 0x98e0c763U
  a[134] = 0x0700381cU
  a[135] = 0x96a0b55aU
  a[136] = 0x9460a351U
  a[137] = 0x9ee0f77bU
  a[138] = 0x1e40f279U
  a[139] = 0x19c0ce67U
  a[140] = 0x9f20f97cU
  a[141] = 0x8c206130U
  a[142] = 0x82a0150aU
  a[143] = 0x9420a150U
  a[144] = 0x1c00e070U
  a[145] = 0x15c0ae57U
  a[146] = 0x8ba05d2eU
  a[147] = 0x1480a452U
  a[148] = 0x93609b4dU
  a[149] = 0x0680341aU
  a[150] = 0x03401a0dU
  a[151] = 0x8aa0552aU
  a[152] = 0x95a0ad56U
  a[153] = 0x92609349U
  a[154] = 0x06403219U
  a[155] = 0x06003018U
  a[156] = 0x9ea0f57aU
  a[157] = 0x11808c46U
  a[158] = 0x9620b158U
  a[159] = 0x9c60e371U
  a[160] = 0x83a01d0eU
  a[161] = 0x1ec0f67bU
  a[162] = 0x1c40e271U
  a[163] = 0x05c02e17U
  a[164] = 0x10408241U
  a[165] = 0x0cc06633U
  a[166] = 0x1940ca65U
  a[167] = 0x0c006030U
  a[168] = 0x1800c060U
  a[169] = 0x85202914U
  a[170] = 0x84602311U
  a[171] = 0x9560ab55U
  a[172] = 0x81a00d06U
  a[173] = 0x8a605329U
  a[174] = 0x09c04e27U
  a[175] = 0x8de06f37U
  a[176] = 0x9aa0d56aU
  a[177] = 0x9b60db6dU
  a[178] = 0x86e0371bU
  a[179] = 0x88a04522U
  a[180] = 0x1bc0de6fU
  a[181] = 0x9fa0fd7eU
  a[182] = 0x11c08e47U
  a[183] = 0x85e02f17U
  a[184] = 0x80600301U
  a[185] = 0x9fe0ff7fU
  a[186] = 0x0d406a35U
  a[187] = 0x0e407239U
  a[188] = 0x8da06d36U
  a[189] = 0x0d806c36U
  a[190] = 0x8b605b2dU
  a[191] = 0x8a205128U
  a[192] = 0x91a08d46U
  a[193] = 0x83601b0dU
  a[194] = 0x95e0af57U
  a[195] = 0x12409249U
  a[196] = 0x9760bb5dU
  a[197] = 0x9ba0dd6eU
  a[198] = 0x1780bc5eU
  a[199] = 0x8fe07f3fU
  a[200] = 0x82201108U
  a[201] = 0x9b20d96cU
  a[202] = 0x0b805c2eU
  a[203] = 0x88204120U
  a[204] = 0x83e01f0fU
  a[205] = 0x02001008U
  a[206] = 0x0b405a2dU
  a[207] = 0x1b00d86cU
  a[208] = 0x01400a05U
  a[209] = 0x9820c160U
  a[210] = 0x86203118U
  a[211] = 0x11008844U
  a[212] = 0x94a0a552U
  a[213] = 0x99a0cd66U
  a[214] = 0x8f607b3dU
  a[215] = 0x97a0bd5eU
  a[216] = 0x85a02d16U
  a[217] = 0x0e80743aU
  a[218] = 0x1a00d068U
  a[219] = 0x02401209U
  a[220] = 0x1700b85cU
  a[221] = 0x9ca0e572U
  a[222] = 0x1680b45aU
  a[223] = 0x1600b058U
  a[224] = 0x91208944U
  a[225] = 0x8d206934U
  a[226] = 0x92e0974bU
  a[227] = 0x09404a25U
  a[228] = 0x01800c06U
  a[229] = 0x12c0964bU
  a[230] = 0x8ee0773bU
  a[231] = 0x0fc07e3fU
  a[232] = 0x8ca06532U
  a[233] = 0x9720b95cU
  a[234] = 0x9e20f178U
  a[235] = 0x81200904U
  a[236] = 0x98a0c562U
  a[237] = 0x0dc06e37U
  a[238] = 0x18c0c663U
  a[239] = 0x10808442U
  a[240] = 0x0300180cU
  a[241] = 0x1e00f078U
  a[242] = 0x8fa07d3eU
  a[243] = 0x1d80ec76U
  a[244] = 0x07403a1dU
  a[245] = 0x1b80dc6eU
  a[246] = 0x89a04d26U
  a[247] = 0x04002010U
  a[248] = 0x8f20793cU
  a[249] = 0x1dc0ee77U
  a[250] = 0x8be05f2fU
  a[251] = 0x07c03e1fU
  a[252] = 0x9ae0d76bU
  a[253] = 0x9960cb65U
  a[254] = 0x8720391cU
  a[255] = 0x09004824U
  a
}

///|
let sm4_td3 : FixedArray[UInt] = {
  let a : FixedArray[UInt] = FixedArray::make(256, 0U)
  a[0] = 0xc0d66b1aU
  a[1] = 0x00904812U
  a[2] = 0x20e9749dU
  a[3] = 0xc0fe7f1fU
  a[4] = 0x80cc6619U
  a[5] = 0x20e1709cU
  a[6] = 0xa03d1e87U
  a[7] = 0xe0b75b96U
  a[8] = 0xc0160b02U
  a[9] = 0xc0b65b16U
  a[10] = 0x80140a02U
  a[11] = 0x40c26118U
  a[12] = 0x00281405U
  a[13] = 0x60fb7d9fU
  a[14] = 0x802c1605U
  a[15] = 0xa0050280U
  a[16] = 0x602b1585U
  a[17] = 0xe067338cU
  a[18] = 0x409a4d13U
  a[19] = 0xc0763b0eU
  a[20] = 0x402a1505U
  a[21] = 0xc0be5f17U
  a[22] = 0x80040200U
  a[23] = 0x60c36198U
  a[24] = 0x40aa5515U
  a[25] = 0x80442208U
  a[26] = 0x60130982U
  a[27] = 0xc0261304U
  a[28] = 0x20492489U
  a[29] = 0xc0864310U
  a[30] = 0xc0060300U
  a[31] = 0x20994c93U
  a[32] = 0x809c4e13U
  a[33] = 0x40422108U
  a[34] = 0x0050280aU
  a[35] = 0x80f47a1eU
  a[36] = 0x20914892U
  a[37] = 0xe0ef779dU
  a[38] = 0x00984c13U
  a[39] = 0x407a3d0fU
  a[40] = 0x60331986U
  a[41] = 0x80542a0aU
  a[42] = 0x600b0581U
  a[43] = 0x60432188U
  a[44] = 0xa0ed769dU
  a[45] = 0xe0cf6799U
  a[46] = 0x80ac5615U
  a[47] = 0x4062310cU
  a[48] = 0x80e4721cU
  a[49] = 0x60b35996U
  a[50] = 0x801c0e03U
  a[51] = 0x20a95495U
  a[52] = 0x20c96499U
  a[53] = 0x00080401U
  a[54] = 0x00e8741dU
  a[55] = 0xa0954a92U
  a[56] = 0x00804010U
  a[57] = 0xe0df6f9bU
  a[58] = 0x80944a12U
  a[59] = 0x40fa7d1fU
  a[60] = 0xa0753a8eU
  a[61] = 0xe08f4791U
  a[62] = 0xe03f1f87U
  a[63] = 0xc0a65314U
  a[64] = 0xe0472388U
  a[65] = 0xe0070380U
  a[66] = 0xe0a75394U
  a[67] = 0x80fc7e1fU
  a[68] = 0x60f3799eU
  a[69] = 0x6073398eU
  a[70] = 0xe0170b82U
  a[71] = 0x40ba5d17U
  a[72] = 0x60834190U
  a[73] = 0x20592c8bU
  a[74] = 0x803c1e07U
  a[75] = 0x20190c83U
  a[76] = 0xc0e6731cU
  a[77] = 0xa0854290U
  a[78] = 0xe04f2789U
  a[79] = 0x00a85415U
  a[80] = 0x0068340dU
  a[81] = 0x606b358dU
  a[82] = 0x20814090U
  a[83] = 0x40b25916U
  a[84] = 0x2071388eU
  a[85] = 0x8064320cU
  a[86] = 0x40da6d1bU
  a[87] = 0x608b4591U
  a[88] = 0x00f87c1fU
  a[89] = 0x60eb759dU
  a[90] = 0xe00f0781U
  a[91] = 0x604b2589U
  a[92] = 0x0070380eU
  a[93] = 0xc0562b0aU
  a[94] = 0xa09d4e93U
  a[95] = 0xa0351a86U
  a[96] = 0xc01e0f03U
  a[97] = 0x80241204U
  a[98] = 0xc00e0701U
  a[99] = 0xc05e2f0bU
  a[100] = 0x6063318cU
  a[101] = 0x00582c0bU
  a[102] = 0x20d1689aU
  a[103] = 0x40a25114U
  a[104] = 0xa0251284U
  a[105] = 0x40221104U
  a[106] = 0x807c3e0fU
  a[107] = 0x603b1d87U
  a[108] = 0x20010080U
  a[109] = 0x20211084U
  a[110] = 0x00783c0fU
  a[111] = 0xe0874390U
  a[112] = 0x80d46a1aU
  a[113] = 0x00000000U
  a[114] = 0xc0462308U
  a[115] = 0xe0572b8aU
  a[116] = 0xe09f4f93U
  a[117] = 0x60d3699aU
  a[118] = 0xe0271384U
  a[119] = 0x4052290aU
  a[120] = 0x804c2609U
  a[121] = 0xc0361b06U
  a[122] = 0x40020100U
  a[123] = 0xe0e7739cU
  a[124] = 0x00a05014U
  a[125] = 0x80c46218U
  a[126] = 0x00c86419U
  a[127] = 0xc09e4f13U
  a[128] = 0x40ea751dU
  a[129] = 0xe0bf5f97U
  a[130] = 0x408a4511U
  a[131] = 0x40d2691aU
  a[132] = 0x00402008U
  a[133] = 0xe0c76398U
  a[134] = 0x00381c07U
  a[135] = 0xa0b55a96U
  a[136] = 0x60a35194U
  a[137] = 0xe0f77b9eU
  a[138] = 0x40f2791eU
  a[139] = 0xc0ce6719U
  a[140] = 0x20f97c9fU
  a[141] = 0x2061308cU
  a[142] = 0xa0150a82U
  a[143] = 0x20a15094U
  a[144] = 0x00e0701cU
  a[145] = 0xc0ae5715U
  a[146] = 0xa05d2e8bU
  a[147] = 0x80a45214U
  a[148] = 0x609b4d93U
  a[149] = 0x80341a06U
  a[150] = 0x401a0d03U
  a[151] = 0xa0552a8aU
  a[152] = 0xa0ad5695U
  a[153] = 0x60934992U
  a[154] = 0x40321906U
  a[155] = 0x00301806U
  a[156] = 0xa0f57a9eU
  a[157] = 0x808c4611U
  a[158] = 0x20b15896U
  a[159] = 0x60e3719cU
  a[160] = 0xa01d0e83U
  a[161] = 0xc0f67b1eU
  a[162] = 0x40e2711cU
  a[163] = 0xc02e1705U
  a[164] = 0x40824110U
  a[165] = 0xc066330cU
  a[166] = 0x40ca6519U
  a[167] = 0x0060300cU
  a[168] = 0x00c06018U
  a[169] = 0x20291485U
  a[170] = 0x60231184U
  a[171] = 0x60ab5595U
  a[172] = 0xa00d0681U
  a[173] = 0x6053298aU
  a[174] = 0xc04e2709U
  a[175] = 0xe06f378dU
  a[176] = 0xa0d56a9aU
  a[177] = 0x60db6d9bU
  a[178] = 0xe0371b86U
  a[179] = 0xa0452288U
  a[180] = 0xc0de6f1bU
  a[181] = 0xa0fd7e9fU
  a[182] = 0xc08e4711U
  a[183] = 0xe02f1785U
  a[184] = 0x60030180U
  a[185] = 0xe0ff7f9fU
  a[186] = 0x406a350dU
  a[187] = 0x4072390eU
  a[188] = 0xa06d368dU
  a[189] = 0x806c360dU
  a[190] = 0x605b2d8bU
  a[191] = 0x2051288aU
  a[192] = 0xa08d4691U
  a[193] = 0x601b0d83U
  a[194] = 0xe0af5795U
  a[195] = 0x40924912U
  a[196] = 0x60bb5d97U
  a[197] = 0xa0dd6e9bU
  a[198] = 0x80bc5e17U
  a[199] = 0xe07f3f8fU
  a[200] = 0x20110882U
  a[201] = 0x20d96c9bU
  a[202] = 0x805c2e0bU
  a[203] = 0x20412088U
  a[204] = 0xe01f0f83U
  a[205] = 0x00100802U
  a[206] = 0x405a2d0bU
  a[207] = 0x00d86c1bU
  a[208] = 0x400a0501U
  a[209] = 0x20c16098U
  a[210] = 0x20311886U
  a[211] = 0x00884411U
  a[212] = 0xa0a55294U
  a[213] = 0xa0cd6699U
  a[214] = 0x607b3d8fU
  a[215] = 0xa0bd5e97U
  a[216] = 0xa02d1685U
  a[217] = 0x80743a0eU
  a[218] = 0x00d0681aU
  a[219] = 0x40120902U
  a[220] = 0x00b85c17U
  a[221] = 0xa0e5729cU
  a[222] = 0x80b45a16U
  a[223] = 0x00b05816U
  a[224] = 0x20894491U
  a[225] = 0x2069348dU
  a[226] = 0xe0974b92U
  a[227] = 0x404a2509U
  a[228] = 0x800c0601U
  a[229] = 0xc0964b12U
  a[230] = 0xe0773b8eU
  a[231] = 0xc07e3f0fU
  a[232] = 0xa065328cU
  a[233] = 0x20b95c97U
  a[234] = 0x20f1789eU
  a[235] = 0x20090481U
  a[236] = 0xa0c56298U
  a[237] = 0xc06e370dU
  a[238] = 0xc0c66318U
  a[239] = 0x80844210U
  a[240] = 0x00180c03U
  a[241] = 0x00f0781eU
  a[242] = 0xa07d3e8fU
  a[243] = 0x80ec761dU
  a[244] = 0x403a1d07U
  a[245] = 0x80dc6e1bU
  a[246] = 0xa04d2689U
  a[247] = 0x00201004U
  a[248] = 0x20793c8fU
  a[249] = 0xc0ee771dU
  a[250] = 0xe05f2f8bU
  a[251] = 0xc03e1f07U
  a[252] = 0xe0d76b9aU
  a[253] = 0x60cb6599U
  a[254] = 0x20391c87U
  a[255] = 0x00482409U
  a
}