--[[--/* CartoonLaLineaEpisode10.fuse Based on https://www.shadertoy.com/view/NfVGzd a WebGL shader created by Espeset. Converted to DCTL and embeddet into a Lua Fuse by JiPi (https://www.youtube.com/c/JiPi_YT). Place this file in your Fusion's and/or DaVinci Resolve's 'Fuses/' folder to use it. */--]]-- -- /* local ShaderFuse = require("Shaderfuse/ShaderFuse") ShaderFuse.init() -- // ------------------------------------------------------------------------ -- // Registry declaration -- // ------------------------------------------------------------------------ FuRegisterClass(ShaderFuse.FuRegister.Name, CT_SourceTool, { ShaderFuse.FuRegister.Attributes, REG_NoObjMatCtrls = true, REG_NoMotionBlurCtrls = true, REG_Source_GlobalCtrls = false, REG_Source_SizeCtrls = true, REG_Source_AspectCtrls = true, REG_Source_DepthCtrls = true, REG_OpNoMask = true, REG_TimeVariant = true, }) -- // ------------------------------------------------------------------------ -- // DCTL kernel parameters -- // ------------------------------------------------------------------------ -- */ ShaderParameters = [[ float iResolution[2]; float iTime; float ColorBKG[4]; float ViewXY[2]; float R_THICK; float R_THIN; float GLOW; float VIGNETTE; int width,height; int compOrder; ]] -- /* -- // ------------------------------------------------------------------------ -- DCTL kernel compatibility code -- // ------------------------------------------------------------------------ -- */ ShaderCompatibilityCode = [[ #if defined(DEVICE_IS_METAL) #define in #define out thread #define inout thread #else #define in #define out #define inout #endif #undef USE_NATIVE_METAL_IMPL #undef USE_NATIVE_CUDA_IMPL #undef USE_NATIVE_OPENCL_IMPL // 0 to use the generic implementations; 1 for Metal, OpenCL, Cuda specific code if existing #if 1 #if defined(DEVICE_IS_METAL) #define USE_NATIVE_METAL_IMPL 1 #elif defined(DEVICE_IS_CUDA) #define USE_NATIVE_CUDA_IMPL 1 #elif defined(DEVICE_IS_OPENCL) #define USE_NATIVE_OPENCL_IMPL 1 #endif #endif #if defined(USE_NATIVE_METAL_IMPL) #define swi3(A,a,b,c) (A).a##b##c #else #define swi3(A,a,b,c) to_float3((A).a,(A).b,(A).c) #endif #if defined(USE_NATIVE_METAL_IMPL) #define mod_f(a,b) fmod((a),(b)) #else #if defined(USE_NATIVE_OPENCL_IMPL) #define reflect(I,N) (I-2.0f*dot(N,I)*N) #define fract(a) ((a)-_floor(a)) // oder Pointer bauen: gentype fract(gentype x, gentype *itpr) #define mod_f(a,b) _fmod(a,b) #else // Generic #define fract(a) ((a)-_floor(a)) #define mod_f(a,b) ((a)-(b)*_floor((a)/(b))) #endif #endif ]] -- /* -- // ------------------------------------------------------------------------ -- DCTL kernel implementation -- // ------------------------------------------------------------------------ -- */ ShaderKernelCode = [[ // ---------------------------------------------------------------------------------- // - Common - // ---------------------------------------------------------------------------------- #define texture(ch,uv) _tex2DVecN(ch, (uv).x, (uv).y, 15) #define texelFetch(ch, uv, a) texture(ch, (to_float2((uv).x,(uv).y)+0.5f)/iResolution) // ---------------------------------------------------------------------------------- // - Buffer A - // ---------------------------------------------------------------------------------- /* Created by Tonny Espeset, 2026 https://www.shadertoy.com/view/NfVGzd La Linea Episode 10 Feel free to use this code, but please keep this credit and link. Check my other shaders at https://www.shadertoy.com/user/Espeset To minimize shader compilation time the whole animation is heavily compressed. Only deltas are stored, and all strokes are heavily reused when possible */ //The compressed vector data is chunked like this as it helps the compiler finish much faster, 128 seems to be //the sweet spot (measured on nVidia's drivers, others might differ) const int NW = 13502; const uint4 Q0[128] = {{0x8b245db8u,0x2862c917u,0x6e14c217u,0x57425196u},{0xe4da738u,0x3936cf1cu,0x5c9b73c7u,0xa064e4dbu },{0x9e3e8994u,0x33726dcfu,0x1f44ca12u,0x851c9b73u},{0xc7d13284u,0xa144d572u,0x6dcf1f44u,0xca128513u},{0x5838218bu,0x1962862cu,0x659b45b0u,0x8b3c5f92u},{0x18b1966du,0x75b7232u,0x12117edbu,0x8b245du},{0xb869881bu,0xaba128cau,0x9353d9c9u,0xb73c7d13u},{0x284a144du,0x60d71a48u,0x62c659b4u,0x1d6dc8bau},{0x459de9f2u,0xd1699ce3u,0x3597b9c0u,0x316751eu},{0xd1a708b3u,0xbd3e518bu,0x3bd3e54bu,0xb18b3bd3u},{0xe5a2d251u,0x677a7cb4u,0x5a4edca2u,0xcef4f968u},{0xb4ce6938u,0xb3bd3e5au,0x2d339c1fu,0x671677a7u},{0xcb45a673u,0x899c041au,0xd84862cu,0xe83c2a93u},{0x245da857u,0x4d3d9b1u,0x94617033u,0xccb171dau},{0x63a04f28u,0xd61ec7b2u,0xf3cbae1bu,0x918cc349u},{0xecae475eu,0x251ad4fu,0x391704fcu,0xdccadfbau},{0x40231e9du,0x6b47b346u,0x1aae8f64u,0xb055d89eu},{0xe8ecae4eu,0x44b3b164u,0xeac241cdu,0x922edc2au},{0x8440601bu,0x62db9d14u,0x5b329e50u,0xf9164b14u},{0x8dee54b1u,0x470bb8c9u,0x2a5bcc5bu,0x4e3db17du},{0x3b72bdeeu,0x70024932u,0x225566a2u,0xc9582f89u},{0x16236a16u,0x635c32ecu,0xd4a27695u,0x86598589u},{0x99b1b146u,0x5b1c2554u,0xc7422559u,0x22ecc2b0u},{0x80642a26u,0xa85a3a25u,0xad2d32ccu,0x2cd17769u},{0xe5a6d626u,0x62ddaf9fu,0xb318fb9cu,0x6f69b6u},{0x24bb5cbau,0x1132c948u,0xc24c573au,0xd366d742u},{0x91d0be44u,0x362ec770u,0x8d2b61aau,0x55c33170u},{0xa3bb245du,0xa85710c8u,0x8540748du,0x8a654526u},{0xf4651584u,0xdb605dd2u,0x9af75f49u,0xf4ac6d9au},{0x1c353965u,0x73f72802u,0x3614d5f2u,0xac36419du},{0xc9d1cdb6u,0xcd08d46u,0x3af0bafdu,0x44ad26acu},{0xce86479au,0xe53aab95u,0x9bf23851u,0x922edc34u},{0xa4670910u,0x60c83411u,0x517c1b6du,0xb1b11e76u},{0x2d662045u,0x3a165558u,0xeb696cf3u,0x551da3bdu},{0xd794a428u,0xee993e93u,0x4d06999du,0x3dce000au},{0xa1eb4e05u,0x40e586c6u,0x511efb1u,0x21193258u},{0xd19665bau,0xf6d21ae9u,0xa74a2cb2u,0xab8912f0u},{0x108e0388u,0xb4d3c140u,0xf4b0752du,0x1c5c961cu},{0xc05bced5u,0x9b51922eu,0xdc34814eu,0x1ca34755u},{0x21d27519u,0x52fe7b49u,0x7df73802u,0x35c8b590u},{0xcb37d8cdu,0xd3ec9962u,0x39935766u,0x3cc7c503u},{0x71b20484u,0xa3e81291u,0x4928c625u,0x8eb1486u},{0xd8572bau,0x494761e9u,0xc7a6c279u,0xe38b31dau},{0xc2c2a4c9u,0x176e1a32u,0xf3855645u,0x223d34fau},{0x68b3cee2u,0x4ff73802u,0x21f10f6au,0xdddcae16u},{0x4c93eb6au,0xd62ac14u,0x88ca402bu,0x3096d18du},{0xcbe64830u,0xa191c92cu,0xe85742b1u,0x48c84db3u},{0x60a3223u,0xa0182f6bu,0x1567cd92u,0x2edc3444u},{0xce24d3ceu,0x25634b96u,0x7f299ff7u,0x48022e01u},{0xadc3519u,0x2e946bb4u,0xf8ec8e21u,0x9651557du},{0xa35ad78cu,0xa0d5726cu,0xd68d0498u,0xd2538f74u},{0x87204992u,0xab292b0bu,0x2bb4f75au,0xf6c3e8c9u},{0x176e1a32u,0xa604887fu,0xba927306u,0xca2cb6c4u},{0x97bb6797u,0x747728f6u,0xaa1ecde7u,0xee7000b4u},{0xa34ad8b4u,0xf1aa07f5u,0x32ed3c5au,0x1bb353a8u},{0xe69699fbu,0x35a2d8e8u,0xb1d8dce2u,0xc4d08a24u},{0x5007c527u,0x393245dau,0x868cecf9u,0xd05869b2u},{0xbac2752u,0x3385e962u,0x162cabd9u,0xd1a4c651u},{0xee19eca6u,0xe7dce004u,0x915c4f26u,0xcd267a1au},{0x2312c2ccu,0xc6592515u,0x8edecd34u,0xc2e65abcu},{0x564742c6u,0x7c9922edu,0x43466678u,0xea3e215cu},{0xdd6fe875u,0xcdf5ee70u,0x1b89832u,0x5387caf9u},{0x44b7b298u,0xa0f0aea0u,0x32a46c31u,0x58b2184du},{0x912cc144u,0xef0730a1u,0x100a8a38u,0x910b99e3u},{0xaac38908u,0x7e0a8afbu,0x6c71458cu,0x9922edc3u},{0x4624f181u,0x6d58eb56u,0xb525191au,0x71e915c1u},{0x61748440u,0xd3eba4dfu,0x3db4dcfbu,0x9c006f05u},{0x2d8551b8u,0x5c05e554u,0x2a35c18au,0x6ea30414u},{0x3e332158u,0xb3cf65aau,0x945b2578u,0xa13c2201u},{0x9032575bu,0x31d2c561u,0xcc0022ecu,0xc200117bu},{0x18200117u,0xbe820011u,0x7e5d0080u,0x45f9dc0u},{0x200117e9u,0x50080045u,0xfb04022cu,0xb176e1a3u},{0x3a2c8d05u,0x7a64c4aau,0x2a9d9235u,0xcd6d7620u},{0xcb5e6c9du,0x6468b094u,0x630e872cu,0xf71ee500u},{0x2c6a91f1u,0x6e9b541fu,0x49889645u,0xa4234926u},{0x9227c8cau,0x49273301u,0xc23a3c21u,0x49265494u},{0x6640022fu,0xda601400u,0x8bf71802u,0x514645a4u},{0x58b53299u,0xa88acb28u,0xf6136996u,0x60ec4decu},{0xa5d16759u,0x67a1d99u,0xb5e96d19u,0xee3002c7u},{0xae361146u,0x9551b0d2u,0x88685469u,0xa101c835u},{0x1c8c8e4au,0xc9223939u,0x9d8d0a32u,0xa956a011u},{0x7ee30059u,0x1d0a9a33u,0xe51c4e88u,0xe4a368ecu},{0xf2ac2c84u,0x51a9507bu,0x349ecb21u,0x8d806d8eu},{0xe3190e8cu,0xf7180464u,0x5ba7e8bfu,0x75e43715u},{0x965b83f5u,0x7fb0b696u,0x51c8a6d6u,0x2a23331du},{0x494845a2u,0x8c1c392bu,0x24ea0117u,0xee90048cu},{0xa3e8cfcfu,0x98b1b351u,0xeda5db7du,0x99bb67e6u},{0xc773f9d2u,0x45c26fa9u,0xe08eaef6u,0xe800e51au},{0x5548a351u,0xa0ee89c8u,0x6b2b8927u,0x882c5265u},{0x4a5a5531u,0x853cf151u,0x15d1622du,0x4619c8f9u},{0xb571c1cbu,0x30b2f06cu,0x6899f12au,0xc3ed371du},{0xbce3c84u,0xe56bb8a0u,0x215c779fu,0x7aaff4e9u},{0xb49667a4u,0x6bafb4c8u,0x928efb0bu,0x15467ddcu},{0x8f4eca4bu,0xdb6fbd5u,0xa98a182eu,0x19e90ed4u},{0x2dba2402u,0xf618098eu,0xfb389da5u,0x1a96dd6au},{0x566b5344u,0xf13da324u,0x96a35c43u,0xc9c2152cu},{0xe6b50b14u,0x5f50c139u,0x7577b47au,0x4460b91fu},{0x4dda399bu,0xa5cdde92u,0xa992c21cu,0xd6a4cc46u},{0xed1c394u,0x472da6d5u,0x28a88038u,0x27cff8d2u},{0xe76a4769u,0x3d6c42c5u,0x2ae28e26u,0xe45a2c8cu},{0xf09148e3u,0x6794a302u,0x81e76db6u,0xe36ac8c8u},{0x4a2522d1u,0x12892950u,0x3c765c93u,0x9c29664du},{0x85b595a2u,0xf7d01db1u,0xccda7674u,0xfb06d505u},{0x4954dd0eu,0x1279a1e2u,0x9ebdaa01u,0x8bf56u},{0x805a5547u,0x458c7de7u,0xf0655a95u,0x4d7af402u},{0xcad16f89u,0x6b52a84u,0xb65d3155u,0xca7944e4u},{0x9c774755u,0xb9d98852u,0xc46c3a12u,0x89c9db3cu},{0xa64f3a86u,0xcaad3edcu,0x5f89dc69u,0xbbb281c2u},{0xf57c58a5u,0x5c51c4dcu,0x8b45919eu,0x12291c6au},{0xceca67u,0x51d4fc13u,0x49560064u,0x7d3b19f4u},{0x353703d1u,0xcd801a1eu,0x9622fc67u,0xd0dcdc03u},{0xa0010edau,0x9ab45de8u,0x560f83b7u,0xf525d651u},{0x37439c9eu,0xcefd9850u,0xffb4400du,0x28949503u},{0xc75d99dau,0x7852cca1u,0x28927dbbu,0xca5ce3a8u},{0x1c971b6eu,0x366a9d15u,0xe3471da9u,0x1da4f5b1u},{0x7eb7e8eu,0x27645a1cu,0x8ef09148u,0xe38d0177u},{0xa4769396u,0xcc1f8ceau,0x3a9d91e0u,0x723bc245u},{0x239515a2u,0xf7b02462u,0x834e7ea8u,0x1b4a2568u},{0xb091fcfeu,0xb5f61646u,0x7b8400d2u,0x88e95038u},{0xed4ac40u,0x8d984a2u,0x31f710f2u,0x8a70515au},{0x55d7da9bu,0x6d3a3a0cu,0x63495da9u,0x1da4f5b1u},{0xb14ab8au,0x389b9168u,0xb233c245u,0x238e3425u},{0xde91da4eu,0x5b307e37u,0xa8e67645u,0xa1c8ef09u},{0x148e58d1u,0x376a4769u,0x396cc1f8u,0xdea399d9u},{0x168723bcu,0x24523958u,0x195f0fcu,0xab8a1b27u},{0x8b63c916u,0xd4dca7a6u,0x4aa38f5au,0x599d80c8u},{0xc966cc51u,0x9062c6aeu,0x85d9ad47u,0x63f58d85u},{0xbded5159u,0x1924ebdfu,0x16ce29cau,0x96daf5ffu}}; const uint4 Q1[128] = {{0xecb0046cu,0xcb116cf6u,0xc9352ec5u,0x9b354a2u },{0xa91e4113u,0x4e779149u,0x9d9327f1u,0x740764aau},{0x6030b1bu,0x33180117u,0xebd00320u,0xea3c23a8u},{0x8144ae0bu,0x2bb327edu,0x3c353100u,0xd0f4b31u},{0x7e54c50eu,0x1381d1e0u,0x2446b8abu,0x80a8e812u},{0x5a428dcau,0xaa6422ddu,0x3ac69c3du,0x9516944au},{0x8b8abba5u,0xf99e7be8u,0xf2f67800u,0x55144debu},{0xc0d02db1u,0x9881a25du,0x6b29429eu,0xa69f55d1u},{0xc536881cu,0x2f8772b5u,0x1b0e8343u,0x1b353439u},{0x2a54aba5u,0x2a75725bu,0x1496c234u,0xf8f008bu},{0xf71804b3u,0x47bc6881u,0x4413cab0u,0x795b73f1u},{0xfe9ea853u,0x523e340u,0x22fde201u,0x30c1d054u},{0x7704671au,0x91dc361bu,0x6e55f0afu,0xce9005f5u},{0x334da4eu,0xde565f62u,0x4cf053a2u,0xadb111c9u},{0x13b3abcau,0x8f98fa1eu,0x4222c5efu,0xb5403122u},{0x91311928u,0xf40f54b7u,0x5772d575u,0x4332b31au},{0x80a94763u,0xa4214fa9u,0x62c03614u,0xa7574d25u},{0x5328f4aau,0xd9211a0u,0x240c6697u,0xc0c4a054u},{0x47b9ad4bu,0x3918fa3bu,0x8ec42a9du,0x8a95333u},{0xb3875fe1u,0xc04e73c6u,0x8045fc34u,0x813c73u},{0x741e8f38u,0xcd9269e4u,0xac6b0cb1u,0xb76c513u},{0x8a803d57u,0x6d30a7a9u,0xfc6955e5u,0x9e47646cu},{0xd7dfaf40u,0x8cca1b0u,0x8a2262beu,0xc1e16c12u},{0x858d504au,0x973d91cfu,0xe7861b4bu,0x45df8a15u},{0xd0962095u,0xc7a282aeu,0x2e7a7d92u,0x4a2c2609u},{0xce760fb0u,0x6981891eu,0x8988c947u,0xa07aa5bau},{0xbb96abaau,0x199598d4u,0xc60045fcu,0x4c01a233u},{0x1fc59c46u,0xc279a99u,0xec2ac3f0u,0xca6d96c4u},{0x93c4c464u,0xa3d03d52u,0xdd5dcb55u,0xd50ccaccu},{0x6a5d4d54u,0x7456a267u,0x8595e98fu,0xd360e90au},{0x3a71fd78u,0xa86cb0fu,0x5437d87u,0x164ceb1u},{0x914dc7b9u,0xe3f6d553u,0x251dd842u,0xad712751u},{0x691989e1u,0xbaa6408cu,0x4ad3349eu,0x629e5036u},{0x1359c56fu,0x2c763981u,0xe5fa3c2cu,0x6e76fd86u},{0x19c3d56u,0x9e4d8c4eu,0x2b51556du,0x53a3ad83u},{0xd6f144fbu,0xada0b341u,0x841b2eb6u,0x9065f495u},{0x8a058729u,0x188f18edu,0x104f1d53u,0x6c5bc7c1u},{0x27b3455du,0xa1e56b61u,0x487646a8u,0xcf959541u},{0xadb0b44eu,0xbcc07e8bu,0x62216f39u,0xb4ca3905u},{0x12dbe80au,0xc8762326u,0x254cb657u,0x5a7e2273u},{0x5e80fa7au,0xb04b284du,0xa28f95d1u,0xc138f674u},{0xeee3cbfu,0x699440e8u,0x99980045u,0xfadc0110u},{0xc2db1e56u,0x448207e6u,0x309c2cfeu,0x64a2a829u},{0x50a3d429u,0x2a6f3738u,0x28122cacu,0x122737e4u},{0x893cd94u,0x38f9c48du,0x1e50acdcu,0xb4bd4ff1u},{0xcf0b8142u,0x78761402u,0x65197c35u,0x7ce40314u},{0x8ce93c74u,0x8d64ce67u,0xdec12b6cu,0xb9276cf3u},{0x6fa292bcu,0x4a85b3a4u,0x2b125113u,0x11928f40u},{0xf54b7577u,0x2d575433u,0x2b31a892u,0x4d686954u},{0x150ddc2bu,0xd4ff1756u,0xe133e481u,0xb46a3287u},{0x8f6732e8u,0x9b6d805au,0x677b8149u,0xf1ce05d7u},{0xf7b06612u,0xaa9acd80u,0x8cd0eccdu,0xb3bbd2d3u},{0xb6c51ef6u,0x56d067deu,0x5d1d6b05u,0xc74033bcu},{0xfae1b169u,0x18c693cu,0x25c82c26u,0x20b17600u},{0xa2ca3726u,0xfd5d8b00u,0x8bf8b805u,0x848487f1u},{0xa919e129u,0x86a46705u,0xa6473e2au,0x1d1ee4adu},{0xdaae6865u,0xeba3fc40u,0x2b66caf7u,0xaf4000feu},{0x596180a5u,0x1ca78032u,0x1786813cu,0x3c8c0312u},{0xa59a0254u,0x70dd8929u,0x8988c947u,0xa07aa5bau},{0xbb96abaau,0x199598d4u,0x50b82cc7u,0x4ec603b4u},{0x674283c2u,0x3d816265u,0x26c940c2u,0x98aac74au},{0xbf157709u,0xa3c1b9a8u,0x27650304u,0xa8b752b1u},{0xe8e5743cu,0x1ee3a79du,0xfc49644cu,0x55cb2d03u},{0x5735b6dbu,0xad7eccecu,0x7b86512eu,0xa9f19cf0u},{0x8d504955u,0x8f3bcd1u,0xb99a8f07u,0x97919ec9u},{0x33ad3ec4u,0xc364649bu,0x1c0abce4u,0xf6374d81u},{0x6514fa16u,0x8312ea74u,0x34a5ef56u,0xb86d8d13u},{0xe5c0d72fu,0x51c9f034u,0xc54f5748u,0x188c8fc0u},{0x554a45e2u,0x6a0fcd58u,0xf7a5f2d4u,0xee66a6f3u},{0xd9d89e6fu,0x3f528006u,0xc8d93606u,0x24d9cd99u},{0x242db152u,0x3b3381c8u,0x610ce72bu,0xa16d4a8eu},{0x31c0117fu,0x3300aa58u,0x7aa862b4u,0x6cc79466u},{0x88278ab1u,0xad3610b6u,0x72433648u,0x22fe6e0u},{0xf18f169u,0x8d49f16au,0x68ea9a4u,0xa85b2ab5u},{0xb33823bu,0x737b04e0u,0xa82fc708u,0x5644e64eu},{0x666ddb60u,0x162e1c13u,0xc4d06713u,0x4c8c8fbfu},{0x9ad9a1f9u,0x186612d9u,0x71f7e9f0u,0x3e2bd8u},{0xc0614b9fu,0x68d036a2u,0xd2c02c0eu,0x6d300f07u},{0x690c49b4u,0x4c464a3du,0x3d52dd5u,0xdcb55d50u},{0xccacc6a1u,0xb0101363u,0xa2327096u,0x40b92b1u},{0x5d748f6u,0x9aab0d11u,0xf8d10d62u,0xcf7cd97u},{0x22e013ecu,0xa62500e5u,0x452d96ecu,0x60031905u},{0x866be4cu,0x22fe820u,0xf21bb58u,0x472f11e9u},{0x1de03966u,0xa2568db5u,0xda958b2bu,0xd858e3efu},{0xc4662853u,0xc322dd95u,0x49340bcfu,0x4ed8c6c9u},{0x466e2ee5u,0x289b62d6u,0xb54b91f8u,0x1b6d12dbu},{0x82d35fa3u,0x40011ab6u,0xfd0411a3u,0xd81928d6u},{0x620b341bu,0x2c03fa31u,0xf7127d13u,0x11928f40u},{0xf54b7577u,0x2d575433u,0x2b31a88eu,0xc1475758u},{0x6be1d42bu,0x5c9ec8c9u,0xb2b9d070u,0xbc8d0947u},{0x1431b31du,0xb95308a9u,0xd5686bb0u,0xb8920b9du},{0x168f63a0u,0x20ece7cau,0x8045fd4cu,0xc0e998u},{0x79598b58u,0xef09cc2du,0x13342e32u,0xc4ac5e96u},{0x1ac82bb0u,0xcc9f65f0u,0x536553b6u,0x40bb7abau},{0xdbc29dbeu,0xbac022cfu,0xa96a7e63u,0xda0ce8e7u},{0xcee00098u,0x485202b5u,0x6ea601aau,0x9d6a3894u},{0x38988c94u,0x7a07aa5bu,0xabb96abau,0xa199598du},{0x406842bcu,0x83908ccdu,0x39027125u,0x288de059u},{0x4fd87ba9u,0x16595526u,0xcb45422au,0x7633279cu},{0xc68cb54cu,0x871468b5u,0x62c1c19u,0x14769ea2u},{0x7339dcb0u,0x8bfa98u,0x52d9b2du,0xd58740e1u},{0x48b2c653u,0xc1834131u,0xda209e5au,0x67b0ab4fu},{0xb545ed41u,0x59558822u,0xfbdc13b6u,0x2a9e3427u},{0x4ae443a9u,0x9cbf9f38u,0x8b7e56c0u,0x9d3fced0u},{0x7a2c8ae6u,0xcf358002u,0xc52d562cu,0x458b9788u},{0x72b56e52u,0x2db76325u,0x8cd0d6c6u,0xaa392dfau},{0xd36502f5u,0x8900aa0cu,0xb64c68d2u,0xc23cd33bu},{0x84e25545u,0x5222af46u,0x7b21098au,0x8bfac8u},{0x694da59u,0xa46a9bd3u,0x9abb59ebu,0x31a83d09u},{0xe5e968c5u,0xad6940b8u,0xd02b256du,0x94aaf3b0u},{0xebf2af8au,0x386cf834u,0x9b1b84e4u,0xb3b9f960u},{0xb699e61bu,0x1d16571du,0x76b4feb8u,0xd3eba2c5u},{0x1d82e0b5u,0xbbfaa11bu,0x9b8ca7c3u,0x31d56d15u},{0x76d6aab7u,0x39e235du,0x7a891a4fu,0x77654e27u},{0x971a7d34u,0x5958022fu,0xeb201a53u,0x696691aau},{0x6f4e6aedu,0x17aadb8au,0x62d2462cu,0x15529686u},{0x9894304eu,0xbb039e23u,0x5d76991eu,0x5762cd1du},{0xd1e2df51u,0xbe8b1961u,0x38296e7au,0xa8a9aab2u},{0xb1b09bccu,0x7cab511eu,0xc9c2b8d2u,0xbb00e48cu},{0x22dcee45u,0x55755654u,0x6d3b6db9u,0x6d1f115u},{0xeca62a8du,0xb322d17u,0x134d852au,0x35709baeu},{0xaaca8acau,0xae3ad499u,0xa4c171b2u,0x31168f71u},{0x7aabc37du,0x99a7f140u,0x117f5900u,0xd29b4b34u},{0x8d537a73u,0x576a1b7fu,0xaa1c5b31u,0xc55ed846u},{0x808f8afdu,0x6f693944u,0xdfb1818bu,0xe4a2d9c2u},{0xb1ca4b5au,0x98bd207bu,0xc5e6c997u,0x8bb4ff0bu},{0xeec3128fu,0x1311928fu,0x40f54b75u,0x772d5754u},{0x332b31a9u,0x899a8988u,0xc947a07au,0xa5babb96u}}; const uint4 Q2[128] = {{0xabaa1995u,0x98d42682u,0x8423816cu,0x1e1dc4c3u},{0xe75d3736u,0x6960571eu,0x570cf77bu,0x982d5c7eu},{0xa2b48baeu,0xbf8a5ad9u,0xe1337200u,0x8bfc5806u},{0x843ef76cu,0x52298b5au,0x6ba53fb6u,0x9f49b898u},{0xd26a76e7u,0x771009a5u,0x793ad811u,0xc8bd7ac3u},{0xfca5ef4cu,0xd3558017u,0x479c7684u,0x9146f002u},{0x9358dcc4u,0xa46b9d8du,0x1402b8a0u,0x735c3ab5u},{0xd769d3d9u,0x2c8d0a14u,0xa8801f46u,0x9c6688bbu},{0x32010008u,0xbffc804eu,0x6939928fu,0xdb51a3d8u},{0x4d0c2ac6u,0x289c4dcbu,0xebd500eeu,0x3288f3f6u},{0xf414ea20u,0xa62b2c5au,0xaee86746u,0x1dc5de95u},{0x9b2782f2u,0x94943345u,0xc15d82d2u,0x131a554fu},{0x3d5568f2u,0xf5da865du,0x563b1155u,0x68ccb623u},{0x64771a71u,0x74669791u,0xd96b14e4u,0xa9a13468u},{0x9379d875u,0x98bb93e6u,0xdafe7a09u,0xb97d9c80u},{0x250d8d2au,0xa79acc95u,0x2e24022fu,0xec201a23u},{0xd7d48d53u,0x5a73554au,0x6b9fcf87u,0x5cb4ed8cu},{0x16ed4b6cu,0x9d56ba4cu,0x63def19bu,0xcef401e2u},{0xf5a7c4bbu,0xec98f69eu,0x51a62739u,0xb8b10011u},{0x7f6300a8u,0x5fd22d2u,0xd69cb755u,0x9e66c6b5u},{0xf2d1d2c2u,0x6d3afd2au,0xf1b5e252u,0x79f73e4eu},{0xd0f76104u,0x708f5d8eu,0xaec2877u,0x12188008u},{0xbfb28055u,0xafe9129u,0xef4a631eu,0xd772a3dau},{0xe56d24f4u,0xbaebb4abu,0xb64f8bcau,0x25d8fb37u},{0xd7e11043u,0xd566c731u,0x6570e837u,0xc40045fdu},{0xb40280d9u,0xf40ecfd2u,0x1d662fecu,0x90f88b75u},{0xb3a34aebu,0x2f49da9eu,0x7578b48du,0x721f9873u},{0xab2a9d6eu,0x93bd2f3bu,0x880031c0u,0x3d564c73u},{0x2e30dc78u,0xe24022feu,0xe60040b1u,0x5203fb3eu},{0x6b69076eu,0x9942af6cu,0xb2a3b48bu,0xafb75a38u},{0x635ced7eu,0xa33c9c57u,0xcd95e9a5u,0x5a6e2ba1u},{0xd867a05u,0x239ce9deu,0xec41cfe2u,0x2f4e6e20u},{0x161ae30au,0x2588f300u,0x8bfbe806u,0x88abcccau},{0x9b6b55b4u,0x9382e2edu,0xc6b616fbu,0x8f515e8du},{0xaab74ab8u,0xd08e2e9cu,0x8f658a07u,0x2153c1c0u},{0x23a2c647u,0x13bb9807u,0x84bb4cf1u,0xf2293ad0u},{0x22ff120u,0x1286e0b2u,0x8ca9f5b4u,0x57585d3du},{0x97d9c323u,0x7bc03dd9u,0x9b40fb74u,0x4613bd99u},{0x98daa1c5u,0xd2debdecu,0xd1d1a7ceu,0x76e2e19fu},{0xb980982bu,0xb44f2b42u,0xa2aa4e60u,0x117f8900u},{0x962d59f2u,0x76b65aau,0x86b85b6eu,0x7732367au},{0x56ca2fd1u,0x9d3ef845u,0x96196574u,0x5854b13cu},{0xe21a5c9fu,0x5384dd8bu,0xe8e77500u,0xf097e89au},{0x66472449u,0x45fe2cu,0x2607507u,0xdaf17744u},{0x7573db7bu,0x79af7bdau,0x6c111decu,0xb472e565u},{0x929346a0u,0x34f39567u,0xd2cd9dc8u,0x5d4bbba8u},{0x790d534u,0xc5c2398eu,0xe0117f87u,0xcf9f54u},{0xb3cf24d4u,0x358b619u,0x1de47afau,0xd4693e96u},{0xd9d8958au,0x3edd405eu,0xd664eb20u,0xd6aa1d94u},{0x79c7cfbu,0x56299b93u,0x8bfc58u,0x67cdaa6u},{0x9811622fu,0x522ccc8du,0xef7ab670u,0xa64b28b2u},{0xe7eb6759u,0x9e8b01f6u,0x33b255c4u,0xc124f9dbu},{0xe768774bu,0xfba80582u,0xaf50b270u,0x271f5b3bu},{0x255a3c22u,0xdee14d05u,0x54b7516au,0x2cf6d6afu},{0xd165300u,0x8bfc5806u,0x7cfac3cbu,0x933008bfu},{0xc6804f05u,0x51e605c4u,0x5aa7245eu,0x16d365efu},{0xe4e3275du,0x9cefcf9du,0xbe7e099au,0x1c37300fu},{0xa195d49fu,0x2d914584u,0xa54cb172u,0x3790045fu},{0xe2403c0du,0xb9960f11u,0x5e8ea0b2u,0x9b8cb91au},{0xd84edbcdu,0x5c67f097u,0x2b7ccf51u,0xf6ea01f3u},{0xb23695c3u,0xb238af92u,0x5a312e17u,0x90045fe4u},{0x403443e7u,0x8bc65b2cu,0xea4d5b98u,0x2e6459du},{0xc55c956cu,0x50d36357u,0xa4ef4791u,0xc337def6u},{0x1f3b2aau,0x8f68b2d2u,0x331d7261u,0x26659d47u},{0x41c22adcu,0xaeb62bb5u,0x50a13980u,0x45fe3c03u},{0xc0dbf9d3u,0x818ac14u,0xa246158u,0x7bfa9798u},{0xfa9c3459u,0xe7bb9dddu,0xd408dc24u,0xd0532e7eu},{0xa3cd643bu,0x33b546cdu,0x68ccd8adu,0x61e64980u},{0x45fe2c03u,0x4a4e80bcu,0xd1d8bc24u,0x39e5a47bu},{0x29b914f9u,0x6ea6dd9au,0x6c7bf645u,0x9fdb7502u},{0x3311330du,0x5a3850eu,0xb46527du,0xc8b9262eu},{0xcbb69e7du,0xf3d214beu,0x12a796b8u,0xa2d2f1d0u},{0x94db2222u,0xc5a48cccu,0xd51d9f7cu,0xf4a45d25u},{0x1d544c48u,0xb0babb6eu,0x15ad4e81u,0x68940f4cu},{0xdd1dcc02u,0x2ff1201au,0x62f3e24cu,0x1d37cf6cu},{0x7f43be6fu,0xb9fddd40u,0x8bc54cc5u,0xc10670b8u},{0x266a11dcu,0x561a4162u,0xd5c790beu,0x6bbe5275u},{0x13439c5du,0x4ec52c8fu,0x490926b6u,0x493187beu},{0x7b309123u,0x798b401bu,0xc0064a6fu,0x29358du},{0xcc4a46b9u,0xcde00526u,0xb1b98948u,0xd73b1a11u},{0x6f00293u,0x58dcc4a4u,0x6b9d8d14u,0xa883780u},{0x149ac6e6u,0x25235cecu,0x68a01451u,0xbc00a4d6u},{0x3731291au,0xe7634500u,0xae281a05u,0xebd61f12u},{0xf5eb0fd9u,0x3912f5ebu,0xfddb512u,0xf5eb0ff2u},{0x37c44bd7u,0xac3fca5eu,0xe06349a9u,0xd0b1a4d4u},{0xedce898du,0x26a76e76u,0xdc2114c5u,0x58d08a62u},{0xd69b18a6u,0x2d69ae99u,0xc5316b4du,0x74a7eed6u},{0x714c5ad3u,0x5d29fdb4u,0xf48a62d6u,0x9ae94fedu},{0xa7a5d1dcu,0x3ab5d769u,0xd3d96e1du,0x5aebb4e9u},{0xec964635u,0xc3ab5d76u,0x9d3d92c8u,0xc08a5440u},{0xfa34e33u,0x44448a54u,0x400fa34eu,0x334458b8u},{0x2951003eu,0x8d38cd11u,0x76cc0240u,0x117f8d00u},{0xd1974052u,0xbf63984au,0x24595ed4u,0xe526d3b6u},{0xebb4a9e6u,0xbeab2d06u,0xb1e371cfu,0x75bb805cu},{0xcccbd2e9u,0xa05828a5u,0x638858d9u,0x2d26e0b2u},{0x9cae8554u,0x1d220117u,0xf8b00d20u,0x91c16796u},{0x3cf9f7b5u,0x37615a65u,0xd957d235u,0xd363da1du},{0xa3c8e39eu,0xeb7500b9u,0x58d7a7e2u,0xd12f121au},{0xa553889cu,0xcc4c96e3u,0x99f82e73u,0x5c48022fu},{0xf1a01a40u,0xf3c662acu,0xd3ef9a68u,0x6a1ed36cu},{0x629718fau,0x9cb43a77u,0xeca37502u,0x331d6669u},{0x852ccab9u,0x239f4ae4u,0x94999989u,0x1ec3900u},{0x45fe3c03u,0xc0db79e3u,0xf1d629f6u,0x90e9534cu},{0x1d23da4du,0xa8a78d75u,0x3362ba8du,0x3bea479fu},{0xcf770223u,0x2154e868u,0x369d0dc3u,0x65241929u},{0x2d7a96d2u,0x983a66b2u,0x5b8b751fu,0xe1b66f5bu},{0x46da2883u,0x7bed8b68u,0xb1775b93u,0x92d7a94du},{0x2986a63bu,0x48bac7e1u,0xf23b0695u,0xf0be2ee9u},{0x543b5878u,0x30b4aab0u,0xdadea534u,0x4a344b7cu},{0x979ecd9eu,0x31a33accu,0xac36be49u,0xc0551aa1u},{0xabce06c1u,0x85af529au,0x450485d2u,0x6c5e659bu},{0x45986cacu,0x62db8437u,0xcf97a2dfu,0x2e876b6fu},{0xa5ab5ea5u,0x34669e99u,0xeea2f3dfu,0xa6c870a1u},{0x104fc062u,0x1c0c3e85u,0x24a553d9u,0xb35008bfu},{0xc580694bu,0xcf873491u,0xbd2874e2u,0x42d2e1a1u},{0xdf37967fu,0xdd408abu,0x64d2a479u,0x3962d52u},{0xb9cdcaedu,0x74b78bc4u,0x670a76a3u,0x64177f5u},{0xf7c38104u,0xc76bd4a6u,0x89414169u,0x575d6e88u},{0xb98045feu,0x34034a26u,0x7ca985aeu,0x1214d228u},{0x2ca2d2ecu,0x453b1dc3u,0x8d9673b7u,0x1e761ef9u},{0x956f2044u,0xf62ba717u,0xa4668e9u,0xb48a8d13u},{0x599111bau,0x501c0dd9u,0x78722455u,0xcebb306au},{0x233193b0u,0xf3563482u,0x255fad47u,0x48ed909cu},{0x1ca3aca6u,0x60117f8fu,0xd2899eu,0x2661af72u},{0xa9115b65u,0x86344b64u,0xb69965eau,0xd96c9a55u},{0xc5f8dc9cu,0xf911347cu,0xe73ccfe5u,0xba8115f0u},{0x844d45b1u,0x95848651u,0x302c4450u,0x4781b70au},{0xb716766u,0x1b2db26u,0xc39158c9u,0xc09ad924u}}; const uint4 Q3[128] = {{0xcbc99568u,0x2c52119cu,0xc8598045u,0xfe34034au},{0x66849cd1u,0xf6b654bau,0x21cf357u,0x35d4db8au },{0x7478e68du,0x97336d6bu,0x3e446d1eu,0x99ceb3bbu},{0xef2046efu,0x15c0b5c8u,0x52d32ae3u,0x88748abcu},{0x68b215d2u,0x7362f8b9u,0xd118aa03u,0xdadb99a8u},{0xf1392917u,0x4b48a688u,0x45fe240u,0x34c3df1du},{0x965033c7u,0x2d6696b1u,0x2caadb99u,0xa1d630afu},{0xadfbb4fcu,0x3ec44ba5u,0xd3bf6419u,0xcd375013u},{0x709c9b1eu,0x771f12b1u,0xa22ca712u,0x39c96920u},{0x8bfc780u,0x6947eff6u,0xfe2f099eu,0x78f466adu},{0x671a99adu,0x2ac457a5u,0xea7ad9b5u,0x6ef4fb49u},{0x8898b6d1u,0xf3df92adu,0xcc088ca5u,0x19bcd1e6u},{0x5b31238bu,0x44442352u,0x60117f8bu,0xcf9d64u},{0x39f22f76u,0xa17d3349u,0x48f69b62u,0xd4f9bba2u},{0x4769c69bu,0xa5c73f9cu,0x8e52f6eeu,0x44f8acau},{0x71aecb25u,0xae496059u,0xc7a668acu,0x44e62946u},{0xa4ec51c9u,0x553c4b33u,0x981893c3u,0x4008bfc7u},{0x8030e50eu,0xb89018fbu,0xc5308ec1u,0xea2522a1u},{0x6c2af4abu,0x6a867639u,0x9333f947u,0xdd6c0bf7u},{0x50233318u,0x856554a3u,0x550016a7u,0x807a487au},{0x36415975u,0x22ff26u,0xd28a4bu,0x213163adu},{0xd0908d4bu,0xaeb947f5u,0xd5de68fu,0x499916b7u},{0x96cb07eu,0xf604e64bu,0x1c3614c5u,0x462b0e67u},{0xda8453c2u,0x81905694u,0x2d1d16e6u,0x652b692bu},{0x53171cfdu,0x4ada6b8fu,0x1f20decbu,0x20c28011u},{0x7f930078u,0xc41d60cau,0x3e36c919u,0x961579fu},{0x76f4f96au,0xf67b47b2u,0x34ba25b6u,0xe3eb7b02u},{0x5b0d7b12u,0xe4d38eccu,0xeb515215u,0xac276ab6u},{0x50afd4feu,0xc6329597u,0x3ca34e3cu,0x6caa34c0u},{0xd48a62d6u,0x9af56e2fu,0xb711636du,0x12906e4du},{0x9c36714fu,0x97af5bb3u,0xb71b1622u,0x6a5d46ceu},{0xf20b0045u,0xfe4c0187u,0x10768d20u,0x505ba4dcu},{0x97cb095bu,0xccc7bd65u,0xb01f58a6u,0x2d69af66u},{0x6b7372b1u,0xc879a858u,0xf92c2816u,0x27c5daa0u},{0x9d9a56dbu,0x7e4ee3feu,0xbb5a5f97u,0xe6f49f6eu},{0xe0c48045u,0xfeb402a1u,0xc1890845u,0xa85cd1d8u},{0x592ed345u,0xb56298b5u,0xa6bd9b8bu,0xdd928831u},{0xe21ec6c1u,0x25a31af8u,0xbaf462b2u,0x42c1ec32u},{0xd45d94b3u,0xe2321d0fu,0x8fb93eddu,0xc18a008bu},{0xfd680346u,0x32c18928u,0xc7d11728u,0x98c9ee53u},{0x49bd6298u,0xb5a6bd99u,0x8bdd3951u,0xc5969d26u},{0x32a92e3eu,0xf55de8fdu,0xa5363347u,0x9276d9ceu},{0xfb3498d8u,0x28185891u,0x869b2122u,0xe5b4b94du},{0x26e4a332u,0xb4f6b635u,0xcb6f88dau,0x45316b8du},{0x7cd7c5ebu,0x69373cd9u,0x95d42ce0u,0xe070e28bu},{0x51b9d075u,0xeaec5329u,0x605f8c8cu,0x26695b65u},{0xf8bfedaau,0xe3ed569eu,0x739844d5u,0x5dc1b439u},{0x4e955945u,0x24cf0884u,0xa45316b8u,0xdb11b1abu},{0x94d26e49u,0xc238d51cu,0x58546a0du,0xf170a487u},{0x3625d65cu,0x8bbb632du,0xbb55c4edu,0x83b1d167u},{0x75c452a9u,0xcf1e2eccu,0x89562d34u,0xefeac5b2u},{0xf8c6c4c5u,0x312971acu,0xd87c565cu,0x8500b210u},{0x5721943bu,0x18f25074u,0x61dc5ec2u,0x17627aedu},{0x6ce296a5u,0xe2261b45u,0xc8cfabedu,0xa7d16c3au},{0x7531c9ccu,0x8f4b0492u,0x268d51cbu,0xca2506e2u},{0x6349a9dbu,0x9d7c1230u,0xa85d1a6fu,0x8f403e3u},{0x1c8b508du,0x2b6bbb1bu,0x1646ec6au,0xafb9dbc7u},{0xd4abdb4fu,0xa3de6f6cu,0x4d39a3bau,0x7cb19171u},{0x62b08a65u,0x2c79946au,0x46839569u,0x16816c5bu},{0x898251c7u,0x71b768ffu,0x9daa9c9fu,0xb6351c6du},{0xa8d1ec67u,0xc4e14955u,0x8e56712eu,0x280c2c69u},{0x353b6786u,0x7e57240fu,0x88361454u,0xb73ce9d8u},{0xa743541bu,0x92e3ee52u,0xc5e6ea9fu,0xd928edb5u},{0x1a3d8b20u,0x75165160u,0xf56ac688u,0x5e2e2c56u},{0xa34c8464u,0x4ca9c642u,0xd176b783u,0xb2ae9cecu},{0x63b9d999u,0x28d5d843u,0x6ef4f63eu,0xa3969325u},{0x1fb6a347u,0xb0e49131u,0x8f95adb6u,0x1388c899u},{0x538c85a2u,0xed6d9075u,0x5448ad14u,0x2639b8eu},{0xe3ec569eu,0x8fcda573u,0x15728fdbu,0x51a3dcadu},{0x2c28b7b3u,0x48726b1cu,0xc6795b6du,0x468f703bu},{0xa3cf2862u,0xcf686ecbu,0xd38968bu,0x6b2f0b2bu},{0x93d0ea71u,0x89fa0c6du,0x5031ab1u,0x9544bcc9u},{0x3a9bb1dau,0xcdab624cu,0xe8b82bd4u,0x22d46c89u},{0x9538c852u,0xaac2c899u,0x538cc0c5u,0x1b9ecb48u},{0x8983c330u,0xa566d99eu,0x759ba67fu,0xdb76a33du},{0xc4dfa1c6u,0xd85d28fdu,0xb51a4da3u,0xe7c9fd8u},{0xaf66d5bau,0x62519812u,0x2f1b8f76u,0x22270dadu},{0xaac1db26u,0xd1739c3au,0x9258da5u,0x74fcc74au},{0x91ad3c77u,0x8bc7498du,0xb0ba51fbu,0x6a349b12u},{0x20d85a29u,0xb118b58fu,0x18c11fafu,0x36c9d1a1u},{0x28e154f7u,0x11760bb1u,0xb22654e3u,0x329086a8u},{0x89c36b2cu,0xb39b1436u,0x475a706cu,0x501da22du},{0xe14ac7b6u,0xcb6daa63u,0x25198b96u,0xfd321c23u},{0xa343c026u,0x8d061bu,0x78274a5fu,0x8bd343adu},{0x53b1c6f4u,0x64cb632eu,0x58c09328u,0x53865829u},{0xeefd46c1u,0x986c9255u,0xb668e21eu,0x8e6a642bu},{0x952c1a26u,0x21a3491du,0x1842aa6au,0xb1c8350cu},{0xb93734cdu,0xcd53e12du,0x988fadacu,0x4b1a555fu},{0x39156d4du,0x11e449e7u,0xac5b68b0u,0xf136afb7u},{0x1043a134u,0x2fa71b03u,0x43c6113du,0x6c3daad9u},{0x4f12c6d5u,0x7a8d832fu,0xba56b2adu,0x734730f2u},{0x835abd0au,0xc4c1b9dcu,0x1609d187u,0x48240a94u},{0xe37c355au,0xaa9acba9u,0xd11863b3u,0xd0eb54ecu},{0x797eb40au,0x34183a11u,0x3a102173u,0x31ad547du},{0x74a99929u,0x52a0b4e0u,0x14c564e2u,0x2afe08d8u},{0xaa73aa94u,0xa274a2dcu,0xcc5d2ba3u,0xf5e1d6eeu},{0xa5aa1192u,0x950c918du,0x2433d330u,0xae6b551eu},{0xd238b005u,0xc6cbad8cu,0xca4a9250u,0x4d4239f0u},{0xaa5c4212u,0x53c394a2u,0x2fc5f452u,0x7c2a9b1eu},{0xe5c4d365u,0xca73528du,0xc7f10a8cu,0x63194f23u},{0xea7b6b9cu,0xc988a1dfu,0xc017ec3cu,0xe846163cu},{0x2b287295u,0x1704226du,0x4c571f84u,0x249927cu},{0x248ff9e0u,0x9abc3e26u,0xc7ef004au,0x562dce62u},{0xde7c6516u,0x4ea8bd08u,0x334aa96cu,0x8bb0f5a1u},{0x508a2a47u,0x318f60c6u,0x81630ef2u,0x838fb6au},{0x910798fbu,0x3b369e82u,0x30b2de8u,0xac8b5b8bu},{0x55f16c9cu,0x230b79f8u,0xb6d9320bu,0xa5f16a9cu},{0x2397f5ecu,0xae7c5d03u,0x9b2c4172u,0x3bb1cf65u},{0x62703dceu,0xd3aac2c2u,0x4371673bu,0xa6d4e561u},{0x67c3ae56u,0xc291e040u,0xa2952a62u,0xba330210u},{0xb4ba5aaeu,0x994e41a2u,0x54465c2cu,0x9b1523fcu},{0x772526d5u,0x94020acu,0x5e601c60u,0xedc004d0u},{0x8105727u,0xeea10613u,0x5f914041u,0x70b1b884u},{0x17ac3e4fu,0x106439eu,0xe5f065adu,0xef6106aau},{0xaed61068u,0xa6de882au,0x51f7f082u,0x752d9605u},{0xb83b901fu,0xd4096956u,0xb43ba437u,0x1f926f36u},{0xca2dcaadu,0x5e9a8ba4u,0x9231746au,0xa5151518u},{0xb10086d8u,0xcbfd9004u,0x7633dcddu,0x36156d64u},{0xdb156e55u,0x62158946u,0x326154d0u,0x3b5ab4du},{0xcba53d9u,0x340b94bdu,0x9c40b75au,0xd9c40bd6u},{0x6db420bfu,0x50d93e0cu,0x371d9be0u,0xcc54bef0u},{0x5eb66d61u,0x5fb0edeu,0x1059ab6eu,0xe205127du},{0xe8819e0au,0xd4523cefu,0xa7162bedu,0x4ad84eaeu},{0x8daab1e1u,0x2c8a6a22u,0xa5474656u,0x254bd7acu},{0x3fca5ef4u,0xcd57ed49u,0x43033a3au,0x314c272u},{0x254a5876u,0xc61b57a7u,0x836df823u,0x551a0c06u},{0xf4791270u,0xdf71915fu,0x5915a513u,0xc9928fdbu},{0x51a3d80cu,0x3057626fu,0xd752d11eu,0x6653cca5u}}; const uint4 Q4[128] = {{0xb2e45dafu,0xc4b65a4cu,0x14ca5be8u,0x418aafb9u},{0x8417ed7bu,0x97c178c7u,0xb184182bu,0xfe490106u},{0x3baeedf0u,0x6b326d61u,0x6637ed5u,0xf05e2defu},{0xe1068a8eu,0xca105426u,0x6d611f93u,0xd150babau},{0x5b233261u,0x5c0a275au,0xd9b85d64u,0x8b8884c2u},{0xa12ccc04u,0x957beb90u,0x3c6fedfu,0x20837df4u},{0x2600cdeu,0x4b13ded5u,0xe4908f96u,0x8022cb1cu},{0x5ae842bdu,0xb6105eu,0x64f96054u,0xeb126168u},{0x1b28cc66u,0x6362ec61u,0xb77ada27u,0x5e923173u},{0x3f95ced9u,0xa5ada51au,0x1e1cf4f0u,0x2ec7b91bu},{0x11e20c57u,0x7bf105ebu,0x2ed21060u,0xb45f98b4u},{0x1f894c94u,0x28f8a00bu,0x48c5b210u,0x7e102573u},{0x52e94a3fu,0xa74239edu,0x90961fb3u,0xd91d16b9u},{0x4a8bb1e0u,0xb2ab4a0bu,0x81f0ce6bu,0x6b8b4215u},{0x96941c82u,0xd16f6508u,0x741c31aeu,0xede11e64u},{0x2918d6c8u,0x539204e8u,0x2f12426bu,0xac84fc54u},{0xbc501041u,0xd9cfe074u,0x68c75908u,0x704b22a0u},{0xa802afbeu,0xb7c9627eu,0x570df2a8u,0x3fb1c011u},{0x264ba53au,0x446ca4fcu,0xca0158dau,0x1c1ed345u},{0x40c38936u,0xc43971d1u,0x1a43d098u,0xaf0e8febu},{0xc62ba2aeu,0x6d56db58u,0xbe610ba9u,0x9b15b70bu},{0x2bbf345bu,0xdd665024u,0xe846c72au,0x812346b5u},{0x42161090u,0xd748d28fu,0x15311c3bu,0xa8026ec2u},{0x3df59e89u,0x1df24866u,0xf26f4a80u,0x24ccd317u},{0x49433d31u,0x36527e65u,0x678d1fbu,0xd557a03au},{0xdc6c371cu,0xddb7c561u,0x1528d6cfu,0x19a616a7u},{0xe156f665u,0x53c58adbu,0x8d86797cu,0x46966cdeu},{0xdc6c32f5u,0x514d9691u,0x8053a623u,0x1e9d0391u},{0xa3d5631cu,0x6d39c586u,0x58ccb002u,0x6ec5edacu},{0x5b7a3d8au,0x51e550bdu,0x8c7e4500u,0x489f1f99u},{0x6a099283u,0xf3484573u,0xe8316b3au,0xe986e42cu},{0x371ee8d6u,0xec6128c8u,0xa5d01ea0u,0x91c789f6u},{0x4b59954bu,0xeeb73b4u,0xcf2e88d4u,0xd3baec5eu},{0x9b2a5a8au,0x2b0e748u,0x6a860127u,0x98cc0c35u},{0x678f60a0u,0x24162281u,0x370059b8u,0x9dc33bb8u},{0xbc9e19e8u,0xb1ef2a86u,0xef26b71cu,0xd490c1d5u},{0x68f7bf6bu,0x1d9d815eu,0x7b179ba2u,0x96b61766u},{0xf23fbd95u,0xe1fc7311u,0xe719f1d5u,0x30fda4edu},{0x6468474u,0x4c32550du,0x4365448u,0xbd4c9548u},{0xd74a7994u,0x26b9e87du,0xccad64d5u,0x15895c6au},{0xd6140097u,0xa3055600u,0x6bb45d8au,0xbba63790u},{0x6ee6f629u,0x47974373u,0x33428846u,0x2de95cbdu},{0x5e9be3ccu,0xbef5659fu,0xb617673au,0x6b2fa5e3u},{0x1cc47a45u,0x780ca1dau,0xef0d822u,0x2ae51530u},{0x907c272eu,0x15a89de8u,0x56a8264au,0x4fcd20b5u},{0x8fa0c5cau,0xb945d885u,0x9358a597u,0xb9203809u},{0x7df09a56u,0xb8040ec4u,0xcbe1d9a9u,0xb66b7d0fu},{0x90423d2eu,0x3de550fcu,0xc4803291u,0xed7ab6f5u},{0x4b42da59u,0x7b53d6cau,0xdcef4e6au,0x5b1604e2u},{0xb41d15f1u,0xd462ece7u,0x98323c63u,0xae59d2e9u},{0x47c27259u,0x1920f54au,0x8dea0992u,0x92f3380du},{0x73e83072u,0xb71f3401u,0x66575b09u,0xb1d9b086u},{0xb089700u,0x8bda41e4u,0x2e3ba2d8u,0x29b467c8u},{0x9ffe4509u,0xf5291662u,0x8c01bb47u,0x24db3647u},{0x3cdb68ddu,0xa55a1e9au,0xacb9da15u,0x95213e3du},{0xa3463288u,0x5d9efa8fu,0x68b10214u,0x52c9c7e2u},{0x7368dce2u,0xb353e7cfu,0x6ba0fccdu,0xf350da3cu},{0x5cacb5acu,0xc1dc7d95u,0xc28c66dcu,0x7c47116eu},{0x117e770u,0xd829ba1u,0x2f936cbfu,0x91bfbc9au},{0x15e5310cu,0xacd80236u,0xfde7e1a4u,0xe9a39dbcu},{0xda3e1accu,0xd9ba1342u,0x88fe3ca2u,0x3847d9b0u},{0x19198d28u,0xed19012cu,0x86cb43a6u,0x90e65005u},{0x3d3db8e8u,0x9da11f5u,0x5a974e47u,0x14970ac6u},{0x69a14afu,0x3c6c741fu,0x983ca99au,0xbf5aaba5u},{0x2473dc52u,0xca1d40f6u,0xd70e456bu,0x45fad4u},{0x2f2bc8du,0xbdb34ef2u,0xbc91fde5u,0x90a92f07u},{0x211c0c60u,0x1ea69bc0u,0x96b4fd06u,0x5925f583u},{0x48d366d0u,0x360f360du,0x8338baf3u,0x19e5375u},{0x60c81dbau,0xc023976cu,0xd5cbc200u,0x3776d01fu},{0xd9b3f6d0u,0x63b3f6d3u,0x69b873d3u,0xc9348d0eu},{0x32720b8cu,0xf08f6741u,0xe5e62522u,0xb862944bu},{0x53249746u,0xf40ec422u,0xcd1b5ce5u,0xe5eeea44u},{0xade6ab5cu,0x3a2262fu,0x7554f1eu,0xe09b0045u},{0xfc3402dau,0x37235d26u,0xd94db37bu,0x98732aa3u},{0x892b85beu,0xdbd7db3bu,0x3f2ee563u,0x89b69ddau},{0xc1a9e18au,0xdba1a04cu,0x3a49dc19u,0x465f6843u},{0x266a2da2u,0x38860a91u,0x9b6d0610u,0xfec1d064u},{0x96ee5906u,0xb1e6e180u,0x6ba06e1cu,0x2535d9au},{0x2655edcu,0x8074c33fu,0xc04cdfu,0x300d530du},{0xfb00c729u,0xd8b40b01u,0xef237e00u,0xfd0f6c82u},{0x552d9472u,0x5d1b9c58u,0x67524cc2u,0x354c7e5au},{0xe7a25b1du,0xb2a8abd1u,0x951b61dau,0xe48d90d1u},{0x9680117fu,0x5900da9fu,0xb7237485u,0xa6e6d508u},{0x48c92b47u,0xb8cbb2abu,0xab53b7eau,0x7aa866bbu},{0x3b6f0eabu,0x86ab726eu,0x82f1292fu,0x51e91a00u},{0x2ecf874cu,0xcc7a4680u,0x8c064dc9u,0xf052146eu},{0xd605e15eu,0xe1806298u,0x6e590629u,0xfee58066u},{0xa7ed5b04u,0xa31b2816u,0xcb533004u,0x377b1506u},{0x723ed590u,0x631bee98u,0x5f96ee9u,0x8058946du},{0x5903a85bu,0x74070a37u,0x4e984573u,0x149706e7u},{0x5ba14afu,0x2c6c7397u,0x96b9e80fu,0x538a85acu},{0x60907695u,0x2128bc0u,0xcac68f81u,0xd48022ffu},{0x4e01b53fu,0x68566970u,0x94e8c1beu,0x9b8fb56au},{0x1cd661a3u,0xd580c95fu,0x6de5d36eu,0xd465d1c8u},{0xf204246au,0x24e2b489u,0xda106939u,0x8b5030ccu},{0x1406dbe5u,0x81587bbdu,0x541708beu,0x4cf20612u},{0x7ef16064u,0xaaee1706u,0x72df903du,0x5cfa5fu},{0x55be344u,0xc2ffb77u,0x819cc1b8u,0x5c19cadeu},{0x40f5062au,0x8f91bd01u,0x7e99bc5cu,0x16087e48u},{0xf40529d7u,0x90bcc072u,0xbbb3612cu,0x7d06192eu},{0xd524d32u,0x24d2b18eu,0x9e5eeba2u,0x1d464b16u},{0xb533660eu,0xb09a848du,0x90dd73c5u,0xc09f166du},{0x143141c3u,0x6d125c6au,0xf6f16e1u,0xad0955f9u},{0xa42eefb1u,0x8d26675bu,0xabcfbd5u,0xa7b275dbu},{0xd5dcaf59u,0x6abf7b0eu,0x8b185844u,0xd840f1ddu},{0x99b3f20du,0x1282e983u,0x17005658u,0xa04e0c00u},{0xcf0de44fu,0xe1b8b0ceu,0xddb78d08u,0x406a88f2u},{0x7f88aa0u,0xdcba738u,0x250f0e00u,0xc5729a21u},{0xdf41371cu,0x2641bc95u,0xa2983e66u,0xfdad93bcu},{0xa84c1596u,0x59243c46u,0x85c442a1u,0x1b187d15u},{0x1d46203du,0x1036521eu,0x56fbd303u,0xa5cf507bu},{0xbdc54058u,0xc6c26515u,0xc5eca27fu,0x52d4cc56u},{0xde8729b8u,0x7aabf731u,0xe8b78544u,0x4d738192u},{0x1fc85fe2u,0x3387150du,0x1a613066u,0x42791becu},{0x380f1477u,0x16a0691eu,0xb890cf28u,0xb28fc229u},{0x8a19b028u,0x44e6b73u,0x34f79a71u,0x584136ecu},{0xacc124f8u,0xbb48f307u,0xf59c99f0u,0xdad2ab9eu},{0x2d62c6d2u,0x23523b92u,0xe6d02593u,0x58e0e0d6u},{0x528d6811u,0x6e81f2e7u,0xcd31d3fbu,0x89b168b4u},{0x496d9609u,0x12d16371u,0x102c4602u,0xdc1f96c0u},{0x1389eeau,0x14be1f4u,0x2510cdabu,0xe0552ddu},{0x8880f973u,0x6cee65b4u,0xc5276d3bu,0x186dde8eu},{0xc9ba6e1eu,0xcad2e6deu,0x3d270f6au,0x398f62acu},{0x6848c02au,0x3b63a3b3u,0xe002f8b4u,0x88b19a58u},{0xde00905du,0x1c186c2cu,0x8d404b74u,0x8f973de9u},{0x8b4b8b89u,0x74f4cf9du,0x6db60f0eu,0xb1637530u},{0xe43701aau,0xeecdb030u,0xc1efa005u,0x2abbe732u},{0xd6689379u,0xec1fb96au,0x799b9d2eu,0x4e46d50cu}}; const uint4 Q5[128] = {{0x6da6d26eu,0xe7574bc0u,0x562405f1u,0xe71dc10eu},{0xcb8049c4u,0x69476905u,0x12c69553u,0xf6189b63u},{0x67cf539cu,0x6e644a9u,0x5cd922bdu,0xae94a32u},{0x51d56f33u,0x72df93f6u,0x8fac75c8u,0x6634aabeu},{0x7aae94d3u,0xcc90a240u,0x459bd0f0u,0x9a17538au},{0x62b09cd7u,0x72ce48cu,0x63116c75u,0xc9376365u},{0x1b92c46au,0xe0cc6955u,0x7ee45cb1u,0xca544a70u},{0x461b4efu,0x8da58118u,0xd73b11c4u,0xe6ba6f29u},{0xb1a5168au,0xcea99795u,0x1c8ed616u,0x9371ecd3u},{0xf0d8d2aau,0xfdc8aa63u,0x9e50bcb7u,0x1a56a516u},{0x50daaeb1u,0x6b319462u,0x1d1cd5ddu,0x83d9d157u},{0x40790920u,0xf0bcab92u,0x560b1205u,0x6e76358bu},{0xa2057275u,0x350b89f8u,0xb2aa4a8bu,0x65e0b4c8u},{0x3b0fc1e0u,0xaa4a652du,0xc5c4f4c9u,0x3a968594u},{0xfab5339fu,0x20d89f8fu,0x4716a076u,0x65595c55u},{0xe8d9ba7bu,0x75393dd9u,0x476c0630u,0xdb9753acu},{0x9389244du,0x2be9d5a9u,0x188d6751u,0xab1e3691u},{0x1a817231u,0xa555fb55u,0x56a6180bu,0x21fd8e65u},{0x360b6de8u,0xb2aa4a8fu,0xb1f18c75u,0x152ac5aeu},{0xe64c63a1u,0x45eb004au,0x5d2507b8u,0xeecb5291u},{0x8d22d37fu,0x3635caa2u,0xc4856315u,0x4fa3634au},{0xabe72aa9u,0x8c293388u,0x8f7dced8u,0xdf4e1176u},{0xa2ab63c6u,0x311ab7ecu,0x26ee8a94u,0x56382cu},{0xadaefbecu,0x50dc88d7u,0x8263b252u,0x864249ecu},{0xce6b550fu,0xbe1172a6u,0x2b1ac5f2u,0xf6b6329bu},{0x47850cb9u,0x53158d63u,0xdc865d2du,0x4ac5b1e8u},{0xc2b294a5u,0x62d8bcddu,0xcea695d9u,0x3a9fdb2bu},{0x42a8a938u,0x3eb8124au,0x6d50941eu,0x3c1b9cc8u},{0x394e0d8du,0x2aaf9c8au,0xb631240du,0xa2c2cca2u},{0xc4f56a52u,0x8c3ea1cbu,0x1a71621du,0x152800a8u},{0x7168dc55u,0xf83ecfa2u,0x94731a55u,0x5fb1d6abu},{0xb5a114b4u,0x47412d1du,0xb3c2e48bu,0x12b0da18u},{0x138c73a1u,0x246debc9u,0xe5ba4873u,0x7693849bu},{0x1aebeed1u,0xdf3b55feu,0xf24831a5u,0x55fb5649u},{0x50a573b1u,0x958e947eu,0x1fd58d59u,0xa5b2a8d2u},{0x30dbd55u,0xa69e2599u,0x4dcbcbcu,0x598a46dcu},{0xc82742b6u,0x53776537u,0x49d865f9u,0x5bb52d1fu},{0x2d7de694u,0x634aabf7u,0x22ed6872u,0x84c8a798u},{0x71328992u,0xa466ae4du,0xf6b36a44u,0xb0b8d20u},{0x30da580fu,0x6e93295cu,0x6deb87c6u,0x5a886f76u},{0x2373ab4eu,0xe3aed2ceu,0x27eb578du,0x854801a9u},{0x71a0c8b1u,0x3007cb30u,0xd01c18f0u,0x4b4c01fu},{0x3610680eu,0xc78025au,0x600f9b58u,0x34068a3cu},{0x12f4007u,0xf62ee20du,0x1c18f00u,0x4b540211u},{0xaac3dd41u,0xa03831e0u,0x96a8044u,0xd85b8375u},{0x680e1c7u,0x80258258u,0xceb8a079u,0x1633a28bu},{0x3e009698u,0xc5da638u,0xda5b2804u,0x67024b2bu},{0x15e084b5u,0xe00a6a00u,0x4258ad99u,0x5a7bd1c7u},{0x1425adf3u,0x54cc8d63u,0x4ad2e0f3u,0x5d2d6586u},{0xccdac310u,0xb9982ef5u,0x8b223a21u,0x9cb6708au},{0xc9363b19u,0x7aba17d5u,0xd8574794u,0x2b61b732u},{0x14cae8d7u,0x48dbd797u,0xab5428a4u,0x2dc24ed4u},{0x659c4badu,0x46d5a9e4u,0xfd674afbu,0x99301c1u},{0xcd68d79au,0xac00ba3cu,0xc0c56a80u,0x3e6c6067u},{0x58b5c9dcu,0x6b960b2au,0xbe00ab8au,0xcaabde99u},{0xa292b1b7u,0x7299ac00u,0xf8deb77bu,0x32b4f7a3u},{0x8daf0495u,0x8f00544du,0x80ecca94u,0xb4b5155cu},{0x8c2dcac5u,0xa8eac66au,0x66c284dcu,0xc8333e3au},{0x44debebdu,0x590a40d6u,0x3aa34636u,0x142c56c5u},{0x642a9d2au,0xba532e95u,0xe2a274fcu,0xa2d8d2aau},{0xf9caba62u,0xe60e6d2du,0x8ca0779cu,0x6a05e26eu},{0xbbe52f7au,0x6689bae8u,0xebc01433u,0x88bb4c7u},{0x1b4adc06u,0x6f002935u,0x8dcc3310u,0x8bb4c71bu},{0x49930008u,0x8b1381d2u,0xe7802922u,0x74b9e4cfu},{0x8a66331au,0x555fbd19u,0x4b69a61au,0x1c04e676u},{0xc141991u,0xdc5f744u,0xe94ad889u,0xf1391e65u},{0x4178620bu,0x18c93138u,0x2fb75202u,0xa1373210u},{0xcd8e9abcu,0x175aa57cu,0xcfc59d53u,0xc3862c47u},{0x891b4b1bu,0xf2319432u,0x7514cd56u,0x5d1e71u},{0xda34a803u,0xe59833acu,0x5ae4ee36u,0xd2a0a4afu},{0xe00a98a9u,0x2bde6d33u,0x62001f77u,0x1037ed56u},{0xd46e3957u,0x6a0f3691u,0x5c0b6599u,0xc665339cu},{0xe3ce0c45u,0xd4008963u,0x39b4f638u,0x35ceab74u},{0xab1924a8u,0xeeab8225u,0x5f8f4a83u,0xd944d019u},{0x6217d01u,0x23631e5cu,0x1fa9e873u,0x7994e2d1u},{0x72488688u,0x188123bu,0xc4debabeu,0x588a44dcu},{0xc6443e36u,0x510e25d4u,0xc965a663u,0x9248e5du},{0x5e49dc1au,0x8f341e22u,0x1ad5d4cau,0xa6a664f6u},{0xca902cd3u,0x641a8abu,0xc01ad880u,0x7df2080u},{0x37ed56d4u,0x6cbdb4d6u,0x62b4a951u,0x3e8d38u},{0xcd11768cu,0x2f329c5u,0xa2e4910du,0x10053118u},{0x1e0e653eu,0xd7443bu,0x17b81b8eu,0x5500e0acu},{0x7d1b49c5u,0x801f7c9eu,0xefb14bu,0x33b2fb4eu},{0xb28c5dbbu,0xa674ac53u,0x811b968u,0xb9244349u},{0xc62111fcu,0x19f8c00u,0x7df29802u,0x7592d5b7u},{0x8bb3becbu,0x29f26803u,0xbad4ed35u,0xa78ab774u},{0xce958a61u,0x2372d17u,0x248868a2u,0x32f8031fu},{0x1800fbe5u,0x3004eb25u,0xab6f1b28u,0xb62edd4eu},{0xee0775a9u,0xda6b4f1cu,0xfbe530u,0x4eb25abu},{0x6f0fab4du,0xbb4d8b96u,0xd3b181ddu,0x6a769ad3u},{0xbdbba674u,0xac530811u,0xb968b930u,0xfe00b5c7u},{0x3ef94cu,0x13ac96au,0xdbc5995du,0x55cb6cdfu},{0xbc7b1077u,0x5a9da6b4u,0xe96ee99du,0x2b14c204u},{0x6fe00b2cu,0x7803ef94u,0xc013ac96u,0xabfedceeu},{0x2da36f37u,0xe775b712u,0xeeb53b4du,0x69caddd3u},{0x3a56399fu,0x549aaau,0x6f4192cu,0x54a9ccaau},{0x3995bba6u,0x74a8ecf0u,0x5363c01u,0xf7ca6009u},{0xd64b55ffu,0x6e7716c3u,0xb50b77bbu,0x3baeb0dbu},{0x55b8e70eu,0x3c01f7cau,0x6009d64bu,0x55ff6e77u},{0x16c3db40u,0xffb33b6fu,0xb0fb12b8u,0xe7096aa0u},{0x6f4192c5u,0x4a9ccab2u,0xbc73a060u,0xc78025f2u},{0xa00fbe53u,0x4eb25au,0xaffb73b8u,0xb61efe07u},{0xfd99de7du,0x98da5b12u,0xec1b4c27u,0xc680c0c7u},{0x8025f2a0u,0xfbe5300u,0x4eb25aafu,0xfb73b8b6u},{0x1f94c02cu,0xddf56636u,0x9f698e36u,0xc36d85b2u},{0x83406023u,0xc012f100u,0x2f62f803u,0x53280109u},{0x613e4300u,0x4eb25aafu,0xfb73b8b6u,0x1f99c01du},{0xcebb92b8u,0xeb6a6b2du,0x3790680cu,0x8f0f004bu},{0xc400dae1u,0xfc01a794u,0x18ad827u,0xb8813ac9u},{0x6abfedceu,0xe2d87e69u,0x6f589du,0x97dd95b7u},{0xd965846fu,0x20d01818u,0xf004bc40u,0xf36a8f8u},{0x34f2a09u,0x1769974du,0x7a09d64bu,0x55ff6e77u},{0x16c3f348u,0x37ac4efu,0x39d57e57u,0x5774fb98u},{0x3406063cu,0x12f21f0u,0xf009663u,0x6e890cb0u},{0x44da95cu,0x65c33e13u,0xac96abfeu,0xdcee2d87u},{0xe69006f5u,0x89db7bcfu,0x6746c5edu,0x8a9ba834u},{0x6063c01u,0x2f22900fu,0x9662aeu,0xc6c19600u},{0x8476db9du,0xf5d9426du,0x92d57fdbu,0x9dc5b0fcu},{0xd200deb1u,0x3b6f79b1u,0x2e62d52eu,0xbef2ec23u},{0x6f047f5au,0x491e0297u,0x91880780u,0x4b31b760u},{0xa0ca803eu,0x57c3f2d4u,0xee3ac31eu,0x6ffb73b8u},{0xb61f9a40u,0x1bcdbb51u,0xb2c695b8u,0x5ab6ce5du},{0x8376cf7au,0x143b00f0u,0x95e32feu,0xdd8020c9u},{0x198007bbu,0x307fd8b5u,0xb9dc6d85u,0xb76ccae2u},{0xd87e6900u,0x6f5ba39eu,0xc3147720u,0xba73acedu},{0x6b632ec5u,0xcb676459u,0x1403c025u,0x78bbfb76u},{0x838d04u,0x61673000u,0xf7b581bdu,0x6ef66765u},{0xee5b13b0u,0xe62b0fcdu,0x200deb13u,0xb6f79b16u}}; const uint4 Q6[128] = {{0xcc174e75u,0x9da85fdeu,0xc24b2eb2u,0xbc427807u},{0x804af177u,0xf6ec0107u,0x1a08d8f0u,0xf0098123u},{0x38b201e0u,0x12bc5dfdu,0xb90041c6u,0x82363c3cu},{0x2611e1au,0xc77303bu,0xed5afcf6u,0xf593f99u},{0xc01bd6e9u,0x698f2b90u,0x5db5d45bu,0x782ce6f5u},{0xafb736c4u,0x1e012bcu,0x5dfdb900u,0x41c68236u},{0x3c3c0261u,0x1e1a0c77u,0x3033edd6u,0xed2fb2eau},{0x7ca600eeu,0xb54b8c71u,0x5c82e9aeu,0xa3f20805u},{0x9cdeb675u,0xbc03c025u,0x78cbfb6au,0x838904u},{0x6c787804u,0xc011a0c7u,0x63027d74u,0xf36f6ca6u},{0xd83b6d1eu,0x4300775au,0xa5c638aeu,0x4174d751u},{0xf96402beu,0x2dd73cf4u,0x1e012bcu,0x4dfdbb00u},{0x41c48236u,0x3c3c0260u,0x8d062e8u,0x4fae9e6du},{0xeb55b6dbu,0x53bceb68u,0xdb40eeb5u,0x4b8c715cu},{0x832d8ca3u,0xf378057cu,0x6921403cu,0x2480d91u},{0xa3776bc0u,0x1051608eu,0x8b0f0092u,0x8a11e49au},{0x1e5d9328u,0xe1b2c477u,0x59a5a738u,0xec56d4aeu},{0x36e26e41u,0xfd6276dbu,0x615720abu,0x73acbceeu},{0x18c2f5eu,0xd8bbe00du,0xeb3041ddu,0x82377b05u},{0x335a3d96u,0x3a95de00u,0xd61c7141u,0x301969cdu},{0x5bd4400fu,0xa34e3344u,0x50b10e50u,0x991558b2u},{0xf5ede37au,0x2d4107u,0x7208dd94u,0x14cd68f6u},{0x58ea798eu,0x38a0980cu,0xb4e53124u,0x4c6cb122u},{0x1a620d81u,0x2624e504u,0x80835213u,0x827a0345u},{0x2c3e6259u,0xb5ef5100u,0x3e8d38efu,0x1a42ac27u},{0x454c1809u,0xeccdd561u,0xc9a1e0beu,0x1ec96468u},{0x50860be7u,0x9dc004f8u,0x68e963b6u,0x44d4be7cu},{0x6b9144e4u,0xc4b31ba7u,0xa5f8f9d9u,0x30087a89u},{0x49d217c8u,0xcef20da2u,0x5e00d614u,0x918b10acu},{0x904e04du,0x98826036u,0xcbd13204u,0xa3f0e5a6u},{0xb2cbef67u,0x11c06a36u,0x45489139u,0x91134f61u},{0x46cb0e1eu,0x360594f3u,0x57788ab8u,0xa8ae0dc5u},{0x6843b3a0u,0x2e8b48au,0xd28e28b9u,0x7bcc1ed5u},{0x4ba5c189u,0x61da23e6u,0x9e99ac1du,0xcb6e38b2u},{0xf5ef287cu,0x6803b304u,0x1dd8235du,0x14cd68b6u},{0x5cea621au,0x3c987c1bu,0xb6d74addu,0x54198541u},{0x4f8035c1u,0x3a32e646u,0x49181753u,0x76d344e3u},{0x522da631u,0x5b48e0d5u,0x4c396f51u,0x3e8d38u},{0xef8b203cu,0x7608f0f0u,0x628bd7bcu,0xc1ecd1d0u},{0x18f841dbu,0x8543bcacu,0x35d4c4c4u,0x54400fa0u},{0x520b6227u,0xb76002e8u,0xf38ed092u,0x2a4c8190u},{0x5358398bu,0x961c3db0u,0xf0652cd6u,0xdce90be4u},{0x66cb6f9bu,0xc01aa898u,0xf2627072u,0xd35753b0u},{0xf6711c06u,0xa370480cu,0x56386a44u,0xcfc4c149u},{0x982d4ac1u,0x9c496affu,0x993d6a17u,0x4b83cf40u},{0x235ea1acu,0xa2c35d58u,0x8b77f878u,0x8b288e8au},{0x9ecd8007u,0xe34e3346u,0x33a42f91u,0x9bf0db25u},{0xe00d6055u,0xdab9132u,0x4a3f0e5u,0xa6aea761u},{0xece2380du,0x46e79122u,0x73222cadu,0xd4bc1d8eu},{0x2b6c582fu,0x87b25919u,0x146afe4au,0x358dcc4au},{0x45ba14afu,0x408b740eu,0x22d62a02u,0xe2562b82u},{0x1d9d0017u,0x45a45694u,0x52d1c4c4u,0xe8f4b6e7u},{0x32a8947bu,0x3e315cccu,0x32895414u,0x7672b26cu},{0xa9d68d25u,0xdebec13u,0x43365c0au,0x6286ace8u},{0xcc2463c9u,0xe01b74fcu,0x1ab2fc7u,0xced68042u},{0xdc29e22au,0xa003d169u,0x15822eceu,0x800ba2d2u},{0x330855a3u,0x302dd982u,0x37ca201bu,0x647c01aeu},{0x9e372c8u,0xe50f87bau,0x2cd8b9f2u,0xc14c32a0u},{0xa7e3e60eu,0x87b8538u,0x2d8a9b7eu,0x3e40841du},{0xc49c3747u,0x505a2c31u,0xb445f8edu,0x3438bc5bu},{0x49f5ce84u,0x1b3041dcu,0x8237ca20u,0x1b44fc01u},{0xaa3aa80bu,0x905db594u,0x38ca330cu,0x6e5a2c9au},{0x2ea576c6u,0x7f006e5bu,0x820edc11u,0xbe4900d9u},{0xaa0a6103u,0x7d3f1f21u,0xea1ce23eu,0x22a3a135u},{0x1c4c4e8fu,0x4b6e732au,0x8947b3e3u,0x15ccc328u},{0x95414767u,0x22e4a154u,0xc9c6a979u,0xcc2f5e9fu},{0x2b701222u,0x2f1c5172u,0xf7983daau,0x974b834du},{0xb7a42e61u,0xe999c365u,0x76225676u,0x4e5a7a4u},{0x4587b1a2u,0x28da0072u,0x6b1b9894u,0x8d73b11eu},{0x8098e811u,0x3d9a31d9u,0x4d6c454cu,0xba2d22u},{0xb045d9d0u,0x1745a46u,0x61086d0bu,0xe9c5ba10u},{0x9236f5d4u,0x6b1ce659u,0x4b471313u,0xa3d2db9cu},{0xcaa251ecu,0xf8c57330u,0xca255051u,0xd9a8c9b6u},{0xa75ab454u,0x27adcc51u,0x72f7983du,0xaa974b83u},{0x4db7a42eu,0x61e999c3u,0x6936238du,0xa22fc769u},{0xa1c5e2dau,0x4fed68a5u,0xab50f006u,0x859820aeu},{0x411de530u,0x548cabu,0x87530176u,0xca6aa0au},{0x9f90b12bu,0x5b0ce42u,0x810c5fe9u,0xc61a0414u},{0x4823a343u,0xc02611e1u,0xa0c37505u,0x9d5cb5a9u},{0x62bf4e23u,0xc1050e08u,0xe8d0f009u,0x84786830u},{0xdd415b36u,0x6a4634aau,0xbe6ab298u,0x5484928bu},{0x2b0e3dc3u,0xb122edb3u,0x1b2c45dfu,0x390ea197u},{0x27db6d5du,0x8a6c44b6u,0x369d5196u,0x1efd06aeu},{0x15b9da58u,0x136d764au,0x44728d2au,0x96414c45u},{0x6e23ae2du,0x4481cf4eu,0xbb3b2114u,0xe892b9edu},{0xa6cc5383u,0xc1b1a554u,0xf35994d4u,0x2c79645au},{0x5a986cacu,0x2932ce78u,0xfa0cf43au,0xb858e1abu},{0x3c65a711u,0x94e744d4u,0xe3d8f64au,0x7496c8ebu},{0xb248c8ceu,0x908c719au,0x7b7105ddu,0x54e90043u},{0x48af0b8cu,0xb2f5e1acu,0x5228a7e6u,0xa91691e6u},{0xe8cd9d51u,0x6c7c63d9u,0xd14e9825u,0x1a91ed9eu},{0xf31f66d8u,0xc69d57cdu,0x6d8a5144u,0xb2ac499au},{0x40b2351fu,0x27b8923eu,0x36acba51u,0xe6fa3f98u},{0x4c7b3a29u,0xd304a352u,0x3da2dc63u,0x613a58f2u},{0x7898b6d8u,0xd6893766u,0xc9e1b1a5u,0x55f39554u},{0xc51b7af2u,0x7172712du,0x9a17d38u,0xb6231a44u},{0xba2cac50u,0x102635b3u,0x2d3e7187u,0x153f47cdu},{0x263d9d14u,0xe98251a9u,0x1ed9ef39u,0xf67d231au},{0x553f3256u,0x8bb5289au,0x18158b31u,0xc8db9755u},{0xac74906bu,0x1ae4a938u,0xb698348u,0x30dcedbau},{0xd8a3b6c5u,0x5d53eb0du,0x6f8e7454u,0x98252194u},{0xe02548d9u,0x659858adu,0x3da35df5u,0xbeb3638du},{0xb9753ad9u,0x480684d0u,0xbe9d628du,0x88c6954fu},{0xcc95a2edu,0x6a268604u,0xe3186c46u,0xe5d5f35du},{0x4c23e4u,0x1cd52881u,0x6e409e75u,0x95b5587au},{0xecfa5b67u,0x27d8f4fbu,0x436c35bau,0x230e05acu},{0xcd3d95cdu,0x46623a99u,0xa2d47a5u,0xb158f83fu},{0x57c5a32cu,0xb646176bu,0xd35c887du,0x1434a10u},{0xf5076a0u,0xba6b468u,0xa1f4de0u,0x5b836c02u},{0xa1519404u,0x857b2d17u,0xc401b192u,0x7344743fu},{0x9f9b2aa5u,0xb2d8e445u,0x2d92517au,0x6fe9c363u},{0x6574a563u,0xa04ac692u,0xb1e8b307u,0x155c8158u},{0x95238515u,0xd55f8d8au,0xa7f6f69bu,0x2a6d84c6u},{0x1b72f2b9u,0x8e721c89u,0xa18158b5u,0x1b91c4e6u},{0x356345e2u,0xa8ef1b1u,0xa555fb55u,0x56a41b1au},{0x555fb555u,0x6d423d9bu,0xc4b478d8u,0x4c6989c4u},{0xd2be9c63u,0x8d46debcu,0xac5ba485u,0x7895d383u},{0x324efaaeu,0xcacdd3f7u,0x7d534b46u,0x341d1532u},{0xa51b1e1du,0x48846bb3u,0xfc39230u,0xb7ddc94au},{0x9530fd1fu,0x10a394dau,0xdcfe8fa6u,0xe35b5d16u},{0xc55c9844u,0xc0297440u,0x829d5594u,0x3087630u},{0x1521d8a0u,0xba684681u,0x562cb80u,0xbd076201u},{0xfd7a352au,0x81cef6bau,0x46ee4215u,0x92ab56dbu},{0x1d76494du,0x1b48e762u,0xd9596a3bu,0x785239b1u},{0xae96231au,0x554fadd6u,0x8bc5a920u,0xda1da2cu},{0xaca62c82u,0xe46f5c4fu,0xb1e99c58u,0x67c42f9cu},{0x1d1676d9u,0x7a36ab47u,0x5afe148cu,0x78392a66u},{0x8a1ddc11u,0xf1f6c419u,0x8b41ed8eu,0x7a2b8b99u}}; const uint4 Q7[128] = {{0xeccc5b63u,0x8bade98cu,0x9c1a8be5u,0xf1b44a3au},{0x1b20db0u, 0x5753738u, 0x2edc5920u,0xa8866a82u},{0xbd5dd803u,0x65a7380au,0x1bd062f3u,0x805e95d0u},{0x60e1803du,0x2279df8du,0x65a66299u,0x36e52b2du},{0x4aa39367u,0xc112d74cu,0xa6a1c40eu,0x9d8392aeu},{0x4c9c4ac9u,0xc1594979u,0x3b2899b4u,0xf5b2ae8fu},{0x984c61b7u,0xaf271ae7u,0x41c91dcdu,0xe2d62cadu},{0x26348103u,0x634aabf6u,0xaaad6c46u,0x34aabf6au},{0xaad4d2ceu,0x36b33874u,0x3da7407u,0x62d3cc8eu},{0x6b4baebbu,0x47f52ceeu,0x6736b3a9u,0xed80c693u},{0x6274025bu,0x4b022e2au,0xd18914c8u,0x95c3f4b3u},{0xdd2a6616u,0x11d0ce40u,0x581f169eu,0x6c6461ddu},{0x6dd93f69u,0x677339b5u,0x9d4f6c06u,0x345c55a3u},{0x122a08b6u,0x825552bdu,0x234c2e26u,0x8382e0dcu},{0x5b8b5039u,0x2aacef2eu,0xec5f94b3u,0xb99cdaceu},{0xa7b60318u,0x6c69557eu,0xd555a986u,0xdcbc9d63u},{0x9cc92269u,0x604e2d48u,0xf0705090u,0x52382fa7u},{0x1ee70324u,0xbca2da11u,0x4e969cb4u,0x6ba54911u},{0xae5615d9u,0x4479c77eu,0x2968e4e6u,0xe3becd84u},{0x95306eb1u,0x5b1aa5b6u,0x3186c69u,0x557eb55du},{0xd23c8b97u,0xacbfca5eu,0xf4cc6007u,0xed8c1347u},{0x546658b9u,0x239bca5eu,0xee658d3au,0x386ba51au},{0xa12a6663u,0xa0710049u,0xe3638cfu,0x690bf53eu},{0x5eb3da39u,0x38031366u,0xd1c42956u,0x98306e73u},{0x29bc0124u,0xfc2b1a99u,0x3b6e0107u,0x54c7943u},{0x6f5e4db6u,0x4e03c339u,0x1c8a4b85u,0x68f2b0a8u},{0xf20be2d5u,0xe4e6c4bu,0xabbb27eau,0x7f6951b1u},{0xbb4b6c06u,0x30d8d2aau,0xfdaaab49u,0xe295ce4cu},{0x8b4b8bbbu,0x1b54a5abu,0x77b1aa5bu,0x6031912cu},{0xa8895b2eu,0x6986cb45u,0x614bca34u,0x82e46f5fu},{0x4e3de71cu,0xba598382u,0xa4500401u,0xb19e4710u},{0x442d106u,0x5520044au,0xe5aa9019u,0x924800e6u},{0xa632ace8u,0x9c808901u,0x825ca759u,0x4e64918cu},{0x8c2b2b9cu,0x800eb410u,0x90029304u,0xe055900bu},{0xb3ca9926u,0x9d120307u,0x6a09d653u,0x99246323u},{0xacae720u,0x72d0426u,0xea4d29eu,0x61a8e641u},{0xecf2a64u,0x9a745014u,0x5386d413u,0xaca73248u},{0xc6461595u,0xce40155au,0x84805a9u,0x6a74354cu},{0x3949c881u,0x11c27c83u,0xdd9e54c9u,0x34f0168bu},{0xfe680000u,0x60d91303u,0x7f501898u,0x271080afu},{0xa94a8881u,0x58a3135du,0x3adb7324u,0x8c437158u},{0x405154e6u,0x5c48bbf9u,0xc1a4c09cu,0x51011582u},{0x710a4278u,0x4054d2c7u,0x7002b192u,0xc00300c8u},{0x88045d88u,0x140e6f00u,0x293591cbu,0xc391a9d3u},{0x7008018u,0x5a44051au,0x245dd6b6u,0xd6ac76d2u},{0x91884641u,0x45fc7422u,0x80111904u,0x17d5c8bbu},{0xa765ffa5u,0xc9c0ce48u,0x1001faccu,0x2616a84cu},{0xa1f21cc2u,0x1b054253u,0xa76b4026u,0xab002e8fu},{0x38ef2250u,0x6985383bu,0x569269feu,0x4129e746u},{0x9bd62447u,0xafca5889u,0x4bea8d8cu,0x60451b9u},{0x59135b8fu,0xa3790cd9u,0x30a92624u,0xa0d999cau},{0x175a9d2cu,0xcd6f4b2eu,0xb9236ab2u,0x1e51a916u},{0x56151a43u,0x7095a517u,0xdb830b43u,0xb3121588u},{0xd9722401u,0xd6b0cb29u,0x362aeee1u,0x860e18d6u},{0x238c5dfbu,0x1306a4b6u,0xc5c3c8b5u,0x56ae3cb9u},{0xef48c438u,0x8a2318fbu,0x4e007d25u,0x4d56005du},{0x1e607154u,0xc69968e0u,0x356af471u,0x11264b67u},{0x11c89cfau,0xc45ba7f0u,0x8a225978u,0x18af06f1u},{0x68390cdau,0x4c5989c4u,0x3cc6ea39u,0x8ecac89fu},{0x4f4b565du,0x23114169u,0x460508ecu,0x21924fe5u},{0x9490f926u,0xa52515d8u,0x969a32b7u,0x33ed9a58u},{0x620deee2u,0x99a6175u,0x9671756bu,0x478d4239u},{0xcee20676u,0x64c72803u,0xdaef5651u,0x64e8d45du},{0x887dfb0fu,0xeacab2cu,0x91a2a55cu,0x793be129u},{0x895a3832u,0xacee2efcu,0x6d667e2du,0xe2c7966du},{0x7234b02bu,0x2eba68e5u,0x746d39a4u,0xd6523f6du},{0x468f64c9u,0xac086cafu,0x8280ba4au,0x1a9cd26du},{0x665eaca2u,0xca4d8caau,0xba820b80u,0x38373a34u},{0xdea22b52u,0x7bd15600u,0x5d1e6291u,0x28c827a9u},{0x65f65a28u,0x9de91d86u,0x83544db6u,0x595a3a34u},{0x666829acu,0xc9a68a75u,0x37070a4fu,0xa0630597u},{0xb563e2c3u,0xd8b61c45u,0x82e53512u,0x2e58d9ecu},{0x23c8766u,0x2048999fu,0xd89d2c62u,0xf9557bbu},{0xf6a91ab7u,0x968ada45u,0xc3ada12eu,0xeba61699u},{0xb185bd3fu,0x17b1a8c1u,0x66d78b02u,0xa61e5124u},{0x51534c01u,0x580045f9u,0x2402b130u,0x1d99008fu},{0x80501887u,0x2b102b66u,0xa1e112c1u,0x2692e673u},{0x163a2ac9u,0x67c14106u,0x8622c042u,0x8ffa92deu},{0xf6590328u,0xbfcb8025u,0xced0a23cu,0x2aff8f43u},{0x6272d3c7u,0xcce8991bu,0x124f8aacu,0xb68461d1u},{0xb53ada6bu,0xa86fc29eu,0x4082a8d2u,0x80045f9bu},{0x402250c7u,0x65220914u,0x28919476u,0x54147542u},{0x32d047c8u,0x311e1567u,0x8cb9983au,0x65ca6fb0u},{0x8291301du,0x9b003f07u,0x23c7ee20u,0x13297e51u},{0xb0c8f40au,0x12644b31u,0x12c51935u,0x24028b02u},{0xa62e5218u,0x4ad51c41u,0xb471b451u,0x80345681u},{0x3f0e84cu,0x63513599u,0x3aa34acdu,0x36d5e260u},{0x3b52013fu,0x2b0b9d2u,0x3d00e119u,0x13271d1cu},{0x765a23f3u,0xd04c773bu,0xc256d394u,0xdacc2656u},{0xd3434bb1u,0xe9f02528u,0x56e119b4u,0x60548130u},{0xac669e3u,0xb5266b03u,0x1e6668d0u,0x378e84c6u},{0x250b9995u,0xaa34e8c5u,0x651d2c32u,0x59da20b1u},{0xbe2dc499u,0x3b624be9u,0xf8b55b16u,0xada72b29u},{0x1fb6a347u,0xbd181529u,0x1ab7968au,0xda450b7au},{0x6c641828u,0xb26e7551u,0xb96cbe89u,0x114d63fbu},{0x47599628u,0xce34a6cau,0xe9b8c920u,0xc3a19dcdu},{0x6350ce0du,0x1cdb4459u,0x91e75100u,0x3e8d38cdu},{0x1111a581u,0x5971f385u,0x2ba36491u,0xac0c7999u},{0x8b07d158u,0xd8c69273u,0x326b9a81u,0x56c72d8bu},{0x92cee18fu,0x41bd17d5u,0x1422581u,0x863b4264u},{0x856a0268u,0x13bf5738u,0x924fa240u,0x8cbe8982u},{0x6ac6caefu,0x1301db90u,0x9b81d0du,0x8a307319u},{0xc22c7371u,0x91192761u,0x37177e75u,0x713715b5u},{0x477372e5u,0x6523f6d4u,0x68f7c544u,0xc060a03fu},{0x8ac4a610u,0x40be3ce3u,0xb8203909u,0xd235e844u},{0x68d85407u,0x4ac5b210u,0xe8778f8u,0xc0c87379u},{0xe0413976u,0x130c13cu,0x15829b31u,0x660160bbu},{0x6258188cu,0x76650178u,0xbb645857u,0xc82c4d96u},{0x51304e8u,0x124ec822u,0x6e3682e2u,0xa8282a27u},{0x365acb0au,0x71e5b736u,0xcebc8b72u,0x37df2f92u},{0x72641f4fu,0x841545fu,0x26d1d89u,0x8c6a26b2u},{0xe5a646a0u,0x25ba0b74u,0xd1daea88u,0xf0697111u},{0x2a1732adu,0x2eb4456eu,0xa5564156u,0xdc5ceebbu},{0xee7a251cu,0xce1500ecu,0xbc0dac58u,0xf71491a5u},{0x813771f5u,0x30be66cu,0x6361d1c5u,0xc969b6e3u},{0x6aaae99au,0xa9fb0c65u,0x23f6d468u,0xf7c4c4c0u},{0x62e03f0au,0xc4a72c7cu,0x1f8f38eu,0xe108d914u},{0xb68ec5d1u,0x504c0483u,0x9650154cu,0x68e40c06u},{0x46e02d98u,0x4fc0138cu,0xa9e06dcbu,0xf6d33b40u},{0x93a05111u,0x2d3c0ea6u,0x3681370au,0x84a71613u},{0x148d406bu,0x6416fd94u,0x2bddac37u,0x8d1b498du},{0x40b9d589u,0x65814b31u,0xb8f7caf2u,0x76764da1u},{0x2d318e93u,0x3a0fa2c6u,0xcaa3502fu,0x88898089u},{0x3f8ac4au,0x71c3401fu,0x8f302c0bu,0xd7bc95f0u},{0x279561eau,0xf291d2eau,0x8ab61f1du,0xd6151e63u},{0x73a312c3u,0x867b382cu,0x513e4e77u,0x34678ecbu},{0x5e6a30ecu,0x38da5c59u,0x85d1a7b0u,0xe3c23994u},{0xe46b1b98u,0x948d73b1u,0xa2805714u,0xf8ca880u}}; const uint4 Q8[128] = {{0x1f469c66u,0x914d83b0u,0xa987b6a0u,0x2e8f38eu },{0xd0922979u,0x1ac3845bu,0x382c52c2u,0x5671eb1au},{0x36571e40u,0x70ada2dau,0x781a85ebu,0xde62f642u},{0x89ce6d3cu,0x6359c1cdu,0x8769b723u,0x6ab4f137u},{0x353f618cu,0xa47eda8du,0x1ee8a368u,0x2496c6eu},{0x625235ceu,0xc68a015cu,0x503c4bd7u,0xbcc5ed48u},{0x82685f4eu,0x31c6a06cu,0x4274a518u,0xd26a7d8cu},{0xab5b995eu,0x6a58f413u,0x9d189658u,0x33baf6cdu},{0x7347ac49u,0x59547981u,0xf1951003u,0xe0605c52u},{0x4341f684u,0x2760562u,0x41547684u,0xa951003eu},{0x8d38cd11u,0x76fc00ccu,0x693a4c18u,0x6acb0a31u},{0xace804adu,0xc09b6bdu,0x88d22c5cu,0x8df16ec7u},{0x23739acdu,0xeb722feau,0x3b752fcfu,0xe4eb0b2bu},{0x4409f0b8u,0x291a9c8au,0xe8ab8756u,0xbaed3a7bu},{0x25918913u,0xf03a0b19u,0x6744a2ebu,0x575aa68fu},{0x6832c040u,0x8621dd12u,0x79e899c5u,0x61eeed1eu},{0xc6aa6b1u,0xe234b026u,0xedbea1a2u,0x648c0964u},{0x13d0a810u,0xd989e2e1u,0x58d2a9f9u,0xaaacb09au},{0x45b8dd6u,0xfe2b13u,0x14674b0bu,0x12919a22u},{0xc64088b8u,0x756baed3u,0xa7b578f4u,0x2c508af9u},{0xd92959d5u,0x1f07d570u,0x7280c1c1u,0x9176449eu},{0x750584dau,0x7d99a347u,0x9432c9a3u,0x96a2cdefu},{0x58b5beedu,0x4f9a86deu,0xbc9d7353u,0x346b827du},{0x38960a34u,0x45389a18u,0x138d5139u,0x58d2aa79u},{0x88bc78d0u,0x32989070u,0x47e1d05cu,0xa674a544u},{0xfa34e3u,0x344429b5u,0x34515234u,0xe3345825u},{0x28f6ac02u,0x117f4du,0x2b1a55u,0x4f3117b6u},{0x4f4cc53au,0xbba024acu,0x22db2f45u,0xda6c34e1u},{0xc428d8a4u,0x57c76239u,0xbf6e9391u,0x49a39b0cu},{0x64a391b3u,0xead7aa75u,0xb312a01du,0xe3166273u},{0x2d8528acu,0x3ea9b538u,0xdafd19b8u,0x9f2e58c5u},{0x2d4cd47bu,0x22af9e13u,0xcb9623a5u,0x7a7e1d89u},{0x8a71e24eu,0x859c5fa5u,0x4001648au,0xb72b3b02u},{0xb2eb691eu,0x358f8258u,0x45fd94u,0x4c6954u},{0xfcb56e05u,0xf914e692u,0x44509d43u,0x8d9a447cu},{0x75d1dbf5u,0xd3370e4bu,0xe29b58f3u,0xb15c5f6eu},{0x54e4be03u,0xc3671534u,0xe08860c5u,0xf9e40018u},{0x8846aadbu,0x3ace1dd5u,0x2f635d3cu,0x3945673cu},{0xa796eb57u,0xcab4fc3bu,0x1b9463c4u,0x7e8bbe5bu},{0x32d87954u,0xee10647u,0x79cecad2u,0x6e9b05a3u},{0xf1cb8edbu,0x2f45d87du,0x8372c6c0u,0xea4d2732u},{0x51fb6a11u,0x96954a88u,0x11ec69c6u,0x688bb320u},{0x8cb8756u,0xbaed3a7bu,0xb1060942u,0xd20c58eau},{0xad2f49bu,0x80045fe1u,0x4004c695u,0x4fcc6661u},{0xa7d023b9u,0x986a8892u,0x4a72ccd1u,0x568dac53u},{0x231595b0u,0x5ca8f73bu,0x477b8038u,0x89dd7957u},{0x395d2ae3u,0x68e86a63u,0x4cbc119u,0xd815771fu},{0xa63f2580u,0xdc1a288bu,0x786945f9u,0x5c009851u},{0x4622b428u,0x1f4998ecu,0x6501398du,0xa6c642bau},{0x6c1abf5fu,0x89e2fd9eu,0x50ec8c0eu,0xa3248d47u},{0x6f5c4372u,0xcd33d81bu,0xa4e0c2bau,0xdbb27f17u},{0x67349cc9u,0x47eda8a1u,0xfa52c595u,0x23ca3344u},{0x5d990046u,0xdc3ab5d7u,0x75885552u,0x35d777ccu},{0x74749d22u,0xbde20b45u,0x75bc2799u,0x2a474af4u},{0xfe3a1b18u,0xe3c47e2bu,0xf7fd597bu,0x6653a3d4u},{0x7f2390d3u,0xd0a176e5u,0x8d820605u,0xbc6ebaeu},{0x49b87c94u,0x41c9f15eu,0xed134302u,0x6d8e3580u},{0x45fe940u,0x1c6845bu,0x87045ef6u,0x1b72f27u},{0x1ee908f5u,0x14824be8u,0x9ef41d09u,0xdc58bae3u},{0x423a84c6u,0x954fcc46u,0x6cb859e3u,0x5e9e87c7u},{0xd28b9878u,0x10361304u,0xe543a09fu,0x1da6a026u},{0x3ab11cc7u,0x474d91d6u,0xfd8aa78bu,0xd5f14b93u},{0x311af101u,0x8bfdf801u,0x23b89c7u,0x5699b99fu},{0xc2e543ecu,0x386aca5du,0x6c98975au,0xd82d6f3u},{0x2e7fb106u,0x3048fefcu,0x1e2846au,0x97eba96au},{0x8e14f3eeu,0x6356c7bdu,0x2c4dc0b8u,0x5196ea37u},{0x4a4f720au,0x140dc2b1u,0x29d124d6u,0x6ceacd32u},{0xb8d37b05u,0xceae7328u,0x5da40a0bu,0xc4022ffbu},{0x200408f5u,0x279d1886u,0xf27f0b95u,0xfb0e1abu},{0x2975b262u,0x3fb106b5u,0x44fe98d5u,0xb1ef4b13u},{0x703ed476u,0x3ac992d4u,0x49f44142u,0x81b85625u},{0x3a249acdu,0x9d59a657u,0x1a6f60b9u,0xd5ce6513u},{0xb4814278u,0x8045ffecu,0xa05fd6u,0x92595b29u},{0xb5f81c5bu,0xc2fe471du,0x9f1d68cfu,0x9838103eu},{0x8e84c625u,0x1b59b5aau,0x34cae35eu,0x35111fb0u},{0x6493e0e8u,0x4c6351b5u,0x9935c81fu,0xd7799963u},{0xc1b962c0u,0x68fe76e3u,0xb8ebd566u,0x9f252490u},{0xac4f3508u,0xd4be7bb8u,0xfa8289e2u,0xb2268508u},{0xe366f1au,0x84a531b1u,0xad596662u,0x774861aeu},{0xe8984c69u,0x54fac75du,0xa2280f22u,0xc1f6088au},{0xa3fd4c59u,0x99fdc807u,0xe4730d5fu,0xfd45651u},{0xb17ec4d7u,0xa5b2352fu,0x9eee3d41u,0x1b056837u},{0x2c5f007fu,0x5f4dcaebu,0x372cec0du,0xa22715b7u},{0x5a9ab4b6u,0x4983b2ccu,0xfdaa6769u,0xc80a051du},{0xbc20a655u,0xddc20db5u,0x5decc0b9u,0x66de4117u},{0x35771513u,0xe25ecd86u,0xa7553597u,0x5c9d9c2fu},{0xe6667f5eu,0x436e5e4eu,0x3dd060a1u,0x34afa756u},{0xc453bda4u,0x588d8734u,0xd2516315u,0xb75d11e3u},{0x634aa9d6u,0x3af1aa0au,0x24edfc00u,0xd251bb00u},{0x63b66e60u,0x75b36c6u,0x62abeeu,0xdf231a55u},{0x3ead599bu,0x140c44a1u,0x3a831b73u,0x8b10b8d6u},{0x52c7f3f9u,0x33765157u,0xc41505b4u,0x5d7588b7u},{0xdc0cf65u,0xdb400b75u,0xdac20b9u,0x6cdbc009u},{0xb4ebd005u,0xc2b6ee11u,0x342fa718u,0xc361b72fu},{0xab1aea08u,0xf5131a55u,0x4f315798u,0xb6e59d81u},{0x93cc5451u,0xd96d99bbu,0x68e27617u,0x3378f2c4u},{0xb72ceb8du,0xa627139du,0xd6af9fc5u,0xccedbcc6u},{0xc6954fedu,0x55631512u,0xfc92b4b2u,0xf521d8b1u},{0x12e67b48u,0x60a712eu,0xa80573a3u,0x4ed3ae46u},{0xcda8e573u,0x2fae4838u,0xab5c2098u,0xd2aa7988u},{0xbd1c51ecu,0x49c575c6u,0xc378db97u,0xd36d7490u},{0x7310e272u,0x745a5975u,0xa8d9b2fau,0x666af5e9u},{0x16f59b24u,0xa020613du,0xd879f09eu,0x1aeb5663u},{0x28b87c0cu,0x914182fcu,0xf70613ddu,0xb823b15eu},{0x928b749bu,0xa58cda55u,0xad97b3f4u,0x3a3605ccu},{0x8260613fu,0xed5f0613u,0xddc7a4f0u,0x5fed413au},{0xec7b36d8u,0x8f448195u,0x66551394u,0xe3c4b819u},{0x36ae8749u,0xb0673faau,0xc39cee9du,0x5d4305f6u},{0xdbd19a8eu,0x2ce7babdu,0xf2a26b25u,0x44c6c200u},{0x248e4c37u,0x740bd964u,0x362d9257u,0x67b1f241u},{0xb2d4c551u,0xd22341edu,0x587cb2f4u,0xd35c6474u},{0x13968184u,0xfbb47cdcu,0xe0ae753u,0x58e4452du},{0xe47df08u,0xda4a11cdu,0x63f8711du,0x2ed6c752u},{0x6d3daf9cu,0xe632c91cu,0x8c899538u,0xb752aed6u},{0xd07255d0u,0x163685d4u,0xdaa0ea67u,0x1b7ae9f5u},{0x70a32463u,0x1ace8c8du,0x37b5d8dbu,0xc52c4dc5u},{0x9e349928u,0xfdb51a3du,0x870a7b12u,0x71df7170u},{0x223e47b3u,0x52a94e65u,0x17bc12a9u,0x2a68177bu},{0x89ad9274u,0xc539a9e8u,0x482b1d16u,0x961f724du},{0xe4fcec58u,0xebc86c69u,0x553cd664u,0xad465ebau},{0xa5719b07u,0x6882f5d5u,0x1bcd2d65u,0x82e251ecu},{0x927b4697u,0xaeac18ebu,0x64b1152u,0xf38f9339u},{0x70927d24u,0x9311a5ebu,0xaa25cd72u,0x2e6e1176u},{0xf36cc6a1u,0x308f1f64u,0x795b0b1au,0x554f5a7eu},{0x21c55eb0u,0x680d80f6u,0xb126fcfeu,0xd6db904du},{0xc2ac529u,0x1c4dcbeau,0xd5092b10u,0xee8a7168u},{0x586dd937u,0x4fa3ca9fu,0x7a118d2au,0xa79ccba6u},{0x2d40a38bu,0xd7526f05u,0x4b09e6bau,0xb087c8b4u}}; const uint4 Q9[128] = {{0xad270278u,0xfa3b8bb1u,0x4dc80273u,0xa312c32du},{0xb9d2fd57u,0x9bac79e8u,0x26e5f662u,0x8946634u },{0xaa9e6b32u,0x54b3c161u,0x3168892fu,0x5e9c3634u},{0xe0293426u,0x68ba2e52u,0xe17cfc57u,0x3446ca58u},{0xd6d5168u,0x17a349e9u,0xd1877577u,0x64dd1b1au},{0x553f3d93u,0x4d60c61cu,0x27cba468u,0x614e5971u},{0xc47e468cu,0x5a2d8f3cu,0xe0e6ab9fu,0x3e8d2747u},{0x561dc65eu,0x9b74ee68u,0x976ec632u,0xc6581adau},{0xa34c2e89u,0x2e5d412cu,0x66996138u,0xca39e7a7u},{0xceff921bu,0xe8d08073u,0x715b65e9u,0x37050496u},{0x4214c772u,0x218d2a9fu,0x9ec9a635u,0x1210ada6u},{0x2504e8a2u,0xf5d9c062u,0x67cf481du,0x524af3f6u},{0x8b7274feu,0x244b9752u,0x8a6aa364u,0xd722e9e2u},{0xab6a3f03u,0x656060f4u,0xaf2b6679u,0x3d4917aeu},{0xd03aaab0u,0x1934c8cbu,0x592a5cadu,0xd0b92caeu},{0x6e2b4ce8u,0xde6f8b28u,0xf2f5ea03u,0x5ce8ce64u},{0xd42aa925u,0x6a8072f1u,0xa2670cf9u,0xcc0b27f4u},{0x917aea11u,0x2f3c4c99u,0xe164d02bu,0x1d06cb34u},{0x9fcaf3f8u,0x67a3f1cdu,0x1c1f11c5u,0xcbb40eb7u},{0x9e05bcf1u,0xa9a81d69u,0xa0ccd343u,0xa5ad0605u},{0x7468cbd5u,0xb426aa68u,0xf49a2313u,0xda23a592u},{0xe00bd4d3u,0x22303548u,0x2bcb222fu,0x4fd11b47u},{0xc5d331a5u,0x53eadd0bu,0x78683249u,0x584d0c49u},{0xb5b11cadu,0xcc0bc5bdu,0x308313a6u,0xbc4381fau},{0x8eca6d3eu,0xcd15e7cbu,0x5795a7a0u,0x8c4b516au},{0x63388c11u,0xe89d3a6cu,0x231a554fu,0xad73a7ecu},{0x1e48062cu,0xd55a9f13u,0x4afa3192u,0x43148a4du},{0x1c5430e8u,0xce09b3f8u,0xab3eaa9bu,0x19f2c4f3u},{0x8e40d8bfu,0x2bcc9a38u,0x9bc1d28du,0xaae76d85u},{0x8d2a9f98u,0xe2685e57u,0x31c4566fu,0x605dadd0u},{0xd19e307u,0x67b3c5b5u,0x2b684ebau,0x4a2769d8u},{0x736d79b2u,0xbe768bacu,0xd3e098d2u,0xb51d3206u},{0x2794b93u,0xe9f97c8au,0x28f91ac6u,0x22d5dd88u},{0xc0f9a20bu,0x2911c9e6u,0x3da161cbu,0xe18de5b9u},{0x8e89988eu,0x67dd5d6cu,0x23b97ab9u,0x3fc6cc7au},{0x1f44c695u,0x53ca47a0u,0x9a1753ecu,0x719621cdu},{0x8f6f0400u,0x5c9c81dau,0x591de422u,0x8de13931u},{0x8c5c7a83u,0xf1ee09fau,0xb098e614u,0x930ded62u},{0x4ccdad17u,0x78af9b80u,0x7c4ab301u,0x23634aa7u},{0xe62a8dc8u,0x2695d47bu,0x20830883u,0x3c872070u},{0x533685ddu,0x325f84e8u,0xd6a58b1bu,0xdc41a93cu},{0x666c3396u,0x5423a51bu,0x58cad696u,0x3c8b925eu},{0xa4cb2330u,0x2498769fu,0x6b5b7aaeu,0x728ecbcdu},{0xd8949ba2u,0xb18c551eu,0x319e56dbu,0x51a3d84du},{0xb89f6c8u,0x83191258u,0x71695875u,0x8a2b3771u},{0x8fad5adeu,0xa96c5cdau,0xccf948a6u,0x2b21b460u},{0x914b1761u,0x9f928373u,0xf4573a8bu,0xd0a492e2u},{0x36670d23u,0xe7f09464u,0x1e29d0b3u,0xaa793380u},{0x822644aau,0x7eb5bdccu,0x67b4387u,0x71f2eec3u},{0x1774cd71u,0x83a91f6eu,0x1f59db88u,0x31b945f3u},{0x31b1c355u,0x893c79a6u,0xc210a96au,0xfa90e00u},{0xe787125eu,0x2a5a3e21u,0x6ed5292cu,0x2c9ecbd1u},{0x93891098u,0x602d2723u,0xc898e72du,0xaedcaa95u},{0xb6c27b4fu,0xa86d5bd6u,0x6d9fced7u,0xc4f573c7u},{0x1008e41du,0xede62fd7u,0x89759f98u,0xd2fb3197u},{0xd4c79040u,0xfb8928au,0x750ed905u,0xb3d1a2beu},{0x78a623cu,0x55c7b36u,0xd3a8fb07u,0x80a0b29u},{0xb6eb133eu,0x50062ff1u,0xe0150802u,0x9a7f076eu},{0x53250ce2u,0xc2bcab72u,0x66a27f50u,0xc989c5d0u},{0xa558364du,0x91ce493bu,0x782443aeu,0x7b5d6e39u},{0x7d2cb24eu,0x36d013a4u,0xe4771637u,0x667bdc36u},{0x8ac84c82u,0xc97a8d24u,0xa95d28b6u,0x552da79fu},{0x731d4022u,0xff26014cu,0x8119c6a8u,0x5b81ae22u},{0x56d5e30au,0x86e22db9u,0xd86fd562u,0xfb3c5c44u},{0x9e7aa78cu,0xe07bb326u,0xe9dca59bu,0xc67eec6bu},{0x299ee600u,0x7c312ec7u,0xec6d1716u,0x633b56e8u},{0x88d3548fu,0x299b0dc7u,0x5a995274u,0xb14d19b1u},{0x18bfc98u,0x5318311u,0xa4d28df2u,0x388d3b13u},{0x47ea7093u,0xe660e592u,0x3a229cabu,0x10679bd8u},{0x598ab3f9u,0x5c22b973u,0xb369b2ccu,0xe7b782f8u},{0xc9f7cc70u,0x513ceeb2u,0xc457a6b4u,0x466becb3u},{0x9c072762u,0xb2d8a961u,0xfa0371e0u,0x117f9100u},{0xaa3cd96au,0xcd9d6c2u,0x553930afu,0x26e457a3u},{0xe9f9d5e3u,0x3772e86eu,0xa3e99fdcu,0x402e74fau},{0x3b59908fu,0xdcb85d66u,0x91d7a473u,0xd1993b8du},{0x18bfc88u,0x78137b3u,0x44d614f3u,0x8d4e8c2bu},{0x6bb516f5u,0x1c6af4ccu,0xe51e669eu,0xff916e20u},{0x1f3afb28u,0xd4aa1e48u,0x22ff220u,0x1e02ddefu},{0xc6bdeecfu,0x1256cd65u,0xd664cf47u,0x6af1d069u},{0x1e56af00u,0x90ee202fu,0x42fb6494u,0xb92da689u},{0x43c53fb6u,0x78b71495u,0xe20117f9u,0x100f036fu},{0x626f0ed6u,0x769571efu,0xca38d6e7u,0xdfb209dbu},{0xcfe5b981u,0x1598d33cu,0x85a1aa54u,0xece2982bu},{0x47896139u,0xd640117fu,0x9100cf97u,0xa43e392bu},{0x540d30d8u,0xbbd4249bu,0xcae2ed45u,0x9b431aecu},{0x26e7458eu,0x633a3edcu,0x402c546bu,0x288d613au},{0x2b3190ecu,0xd4691d2u,0xa4939b4cu,0xc8fc6248u},{0x22ff1e0u,0x19e3b527u,0x47197299u,0x4818bbd4u},{0x44a5a45eu,0x6d89d1d6u,0xbf19b8a5u,0xd9dd91aau},{0x5cdc403cu,0x549b878bu,0x61495919u,0x9ccc748du},{0x59f9261du,0x8b265622u,0x506ab65cu,0xd84ca795u},{0xf6d3e8b2u,0xd9078cbdu,0x484a3c2du,0x2ee459c8u},{0xfd8e1331u,0x53537b1bu,0x34fdb782u,0x80117f8fu},{0xce9d68u,0x138d8cdcu,0x990a463bu,0x668f6049u},{0x9d1d3cafu,0xb77b5382u,0xdd52c83au,0x9a508675u},{0x24c3d93cu,0x6b864cd2u,0x8bfc68u,0x4d05704u},{0x69566ed7u,0x4bb9725au,0x8565a22au,0xe38a0c3u},{0x196c9a93u,0xb48bcdb1u,0x4a38d8deu,0x8d5d53dcu},{0xcc46be93u,0x2dc4019eu,0x57d8a0dbu,0x90045fe3u},{0x40268aa0u,0x2344b1b1u,0x9749c23bu,0x1db0c837u},{0x460992a6u,0x572081e1u,0x1ac273a2u,0x94771b18u},{0xcb549b0bu,0xae6ad875u,0x2b8fb7ebu,0x6714f737u},{0x31b1a6cfu,0x71012795u,0xf582eea3u,0x35e29ecau},{0xee5c8490u,0x9b45cefau,0xf5b7d40u,0x22ff1a01u},{0x30550413u,0x8f4a3815u,0xa3226d6cu,0x47158aebu},{0x4cdc57beu,0xb21caf5fu,0xa58b53d4u,0xdcc8c69fu},{0x5dbc16a2u,0x57755735u,0x853ddb89u,0xd689a795u},{0xf501eeddu,0x49d87a29u,0x922fa804u,0x5fe44025u},{0xe98a330u,0x76afb611u,0xfd5c46e9u,0x46e1c95u},{0x9130e855u,0xf4e36e1du,0x3dae7119u,0x7967327u},{0xd7a16eb5u,0xb13f5175u,0xa9df6f01u,0xa795f440u},{0x6e574ad8u,0x5aee66abu,0xec942afau,0x20f6eb9fu},{0x1934b16bu,0xf3e57e57u,0x32991c52u,0x4d23e272u},{0xfd7d99cu,0xaeb6fc9fu,0xd4b32f20u,0xfd56db78u},{0xd3cafa2u,0x372ba56u,0xc31992f1u,0x4b68ba15u},{0x7d107b75u,0xcf8bad0eu,0x26b37954u,0x7e260e15u},{0xf13887f4u,0xb727db16u,0xaec6c5e8u,0xea6e64e3u},{0x55b6de0au,0x45fe34u,0x258e90eu,0x1b95f28au},{0x62d69ae9u,0x4fa9eddbu,0xd20f4ac5u,0xa460d885u},{0x1a493985u,0x92a56531u,0x902e54a2u,0x664a796eu},{0x845cd0c3u,0x333e7866u,0x79ee3d98u,0xd98f2d16u},{0x2da3e335u,0xeb3cd756u,0x9034802u,0x2ff1e01au},{0x3274041bu,0x29724e68u,0x6c845947u,0x1253989cu},{0x13342b52u,0xd36d4acdu,0x69e49d53u,0xde033edbu},{0x4119e57du,0xacfa3c4bu,0x3cafae1bu,0x751ad2ccu},{0x5761ea80u,0x45fe3402u,0x68a8862au,0x4954ba2au},{0xe57362a5u,0x689a157u,0xd693b78cu,0xf6db8d43u},{0x1114121eu,0x91cc467au,0x35b9c7bdu,0xb959bd3du}}; const uint4 Q10[128] = {{0x4ed49d6au,0x34db4009u,0xe57b2998u,0x45fe340u },{0x33c6d310u,0xc51942b0u,0xf2735834u,0xbed9ab34u},{0x94641ca1u,0x42c2a1b9u,0x7058c925u,0xb2bd3d16u},{0x93b8da64u,0xf50d53d8u,0x5597599du,0x1c6c9bcfu},{0x6566f573u,0x4792f7a5u,0xd76d0222u,0x795efaceu},{0x56daba5bu,0x94aca225u,0x84f1008bu,0xfc780780u},{0xb6a166c9u,0xa4c8b68bu,0x8fe31111u,0x2a753416u},{0xe5428e5fu,0xe8364ca1u,0xa91346bu,0x1718c945u},{0x1651a474u,0x9164f825u,0x364328b1u,0x7e4a2a09u},{0x8e246c65u,0x82024dc5u,0x699762eeu,0x9f8d85e4u},{0xdadca3f9u,0xdea5edbcu,0x8a3d801u,0x49ac6e62u},{0x5235cec6u,0x8a015c50u,0x389a526au,0x76e77710u},{0x52418b5au,0x6ba53fb6u,0x9f49bd2bu,0xa007d1a7u},{0x19a22eccu,0x80642f4du,0xeaa47adu,0xc7daa33eu},{0x76f51a1bu,0x296e76c5u,0xf472ee14u,0xaff79017u},{0x2204c87eu,0x25118eb0u,0xa11008bfu,0xc880513cu},{0xd6e005d1u,0xe71da125u,0x6df3aadcu,0xe95445a3u},{0xb1acc4c2u,0x5b1c23ccu,0x628c2499u,0x4a73531u},{0x4c2e5448u,0x3251aa94u,0x93251eddu,0xcf1e1938u},{0xdc6aadd2u,0x8b0ce871u,0x5ca759b6u,0x193cf6d5u},{0x1e237137u,0xaf275b02u,0x391aaf58u,0x7f94bde9u},{0x99148500u,0x29358dccu,0x4a46b9d8u,0xd1402b8au},{0x713724du,0x4edceee2u,0x84ab16bu,0x4d9b0400u},{0xba3ce3b4u,0x249ea34fu,0x540d4c6au,0x432c77cfu},{0x23651aa7u,0x522e6861u,0x999f3c32u,0x70b8e5dbu},{0x65371e34u,0x7ec94fafu,0x2cb279edu,0xae3c46c4u},{0xab4c9fbdu,0x8cd3c91eu,0x928f8cb4u,0x364238ecu},{0xbed49fd4u,0xb26ed766u,0x4fa3b93du,0xd4edbc82u},{0x80117f8du,0x29c083u,0x8c4f4b38u,0x1f469c6u},{0x688bb320u,0x2745e4eu,0xb604723au,0x5eb0ff29u},{0x7bd33229u,0x2200526bu,0x1b98948du,0x73b1a280u},{0x57140e27u,0x449a9db9u,0xddc4109bu,0x62b409b3u},{0x400ba3ceu,0x3b424a0au,0x6511d154u,0xae434995u},{0x7256a25u,0x64a7546cu,0x93eb7b3cu,0x78a4c171u},{0xcbc6ca28u,0x33a1c594u,0x9d65bd68u,0x1eda4143u},{0x7220eb94u,0xdad47026u,0x4262eb0du,0x18965d72u},{0x4fd5e1f8u,0xd7aed47du,0xa0fb5386u,0xfe088045u},{0xfd9c00e9u,0x3b287054u,0x6688bb32u,0x27a5e4u},{0xeb604724u,0x5eb0ff2u,0x97bd3349u,0x157ac3fcu},{0xa5ef4cc2u,0x7f5e4eb6u,0x4736b80u,0x17479c76u},{0x8494756au,0x51ea4146u,0x124c8582u,0x124ca839u},{0x22513325u,0x18a949aeu,0x53ecdcf9u,0xe1938dc6u},{0xaedd28b0u,0x551fb291u,0x8dd72d13u,0x5b5c7885u},{0xb1d4c707u,0x55ada6dcu,0x959bab8bu,0xdadd87dau},{0x1d5af4f2u,0xbca1af23u,0x8048022fu,0xe860114bu},{0xdab00850u,0x315a089eu,0x526a76e7u,0x77102293u},{0x600526b1u,0xb98948d7u,0x3b1a2805u,0x7140f4a0u},{0x62d69ae9u,0x4feda7d2u,0x6f88be80u,0x1f469c66u},{0x88a1c119u,0x6620ef6au,0x80063107u,0x438afc51u},{0x4b93b161u,0xe211b42au,0xa6daca40u,0x5ce4165bu},{0xac66d272u,0x60117eb9u,0x434768u,0x48d9ceadu},{0x75da74f6u,0x4b234286u,0x25157b72u,0xd20768a2u},{0x1836597u,0x22fc4e8bu,0x114a5002u,0x9358dcc4u},{0xa46b9d8du,0x1402b8a0u,0x753bf24du,0x4edceedeu},{0x9c10e04u,0x5184a318u,0xd4c6952au,0xe48b44au},{0xb94ea9d2u,0x8c947b37u,0x3e786503u,0x71cab749u},{0xec53a1c1u,0x769b66bdu,0x6816db23u,0x446c6d37u},{0x56baed3au,0x7b2591a1u,0xc280117fu,0x3300947bu},{0x114af6a4u,0x258d00eu,0xc4ff9840u,0x3133a749u},{0x4625975du,0x9bb95e5du,0xd5ef625au,0x3de6e100u},{0x2e8f38edu,0x90a1179u,0x3ad811c9u,0x297ac3fcu},{0xa5ef4cc8u,0xa5780149u,0xac6e6252u,0x35cec68au},{0x15c503cu,0x93d7ac3fu,0xca5eea23u,0xc3a8a36eu},{0x76cc33a6u,0x45a0813au,0x69a58a0du,0x7eb693fbu},{0x69f49bcdu,0xd6005d1eu,0x71da124fu,0xc1a69250u},{0xa5549990u,0x5246a246u,0x4a356e84u,0x5ca799b3u},{0xc01938ddu,0x6aadd28bu,0x4e8705cu,0xa31dd618u},{0x80b4a8b2u,0x23da44dcu,0xe8c4b8cbu,0x527ed2c1u},{0xbe40117fu,0x2300ac5eu,0xde804f22u,0x7d1a6cu},{0xaf40800au,0x25793ad8u,0x119b61d5u,0xaebb4e9eu},{0xc9646850u,0xa55316b4u,0xd74a7f6du,0x3e937452u},{0xac0124d6u,0x3731291au,0xe7634500u,0xae281e40u},{0x117eab00u,0x6110c902u,0x6c090bdcu,0xac68c470u},{0x9e144fd6u,0x1a150bd9u,0xde7f37deu,0x29597462u},{0xe39c7b68u,0x31a85e56u,0x9b722ed3u,0xe413d7acu},{0x3f119100u,0x3e8d38cdu,0x1176ac01u,0xd90600ffu},{0x90800a0du,0x26a76e77u,0x71022972u,0x526b1bu},{0x98948d73u,0xb1a28057u,0x140f1545u,0xeb0ff297u},{0xba8e1d48u,0x72214692u,0x4e84829au,0x4c864922u},{0xd12b251au,0xa74a2e51u,0xcdd9e00cu,0x9c6eb976u},{0xc93d0674u,0x582e4f8fu,0xf7a5035bu,0x5c688df1u},{0x19b003e8u,0xd38cd110u,0xe5743967u,0xfa940240u},{0x117f2500u,0x9e5c5418u,0x985363b2u,0xcec36f46u},{0xcdd3c5fdu,0x7673329eu,0x9bd400bau,0x3ce3b425u},{0x4af62d69u,0xae94fedau,0x7d26e6ddu,0x756baed3u},{0xa7b2591au,0x14051cbcu,0x9d6c08e6u,0xf5002e8fu},{0x33d7c740u,0x20f6ad61u,0xc17338dau,0x7544e886u},{0x2e6bad2u,0xd4538e95u,0x61ac3427u,0x3389ecfdu},{0xb34729c3u,0xeae96d8bu,0x8bf538u,0x2844e62u},{0x7891f3c4u,0xc75e598u,0xa89ec30eu,0xeaaec433u},{0x9290ad37u,0x52749628u,0x454c7110u,0xdc15a66cu},{0xfa34e3u,0x3445d990u,0x14424d4u,0xedceee20u},{0x4531c00au,0x4d637312u,0x91ae7634u,0x500ae281u},{0xd470aa87u,0x48b41027u,0x8b2641b9u,0x49286425u},{0xda88d92u,0x9d59ae4fu,0xade9c014u,0x9c6e3976u},{0xc9450274u,0x582e938fu,0xe71d03dau,0x646891a9u},{0x6ac7ae31u,0xd29fdb4fu,0xa4deda90u,0x3e8d38cu},{0xd1163a0au,0xbbf55806u,0x29f4e0e8u,0xb4b2db91u},{0xb35a5837u,0x6bb61fa3u,0x6fc27010u,0xa3b8f18eu},{0xd091b91du,0x5aebb4e9u,0xec964685u,0x90045fcu},{0x7400a516u,0x105b5ef2u,0x97ba29a2u,0x526b1bu},{0x98948d73u,0xb1a28057u,0x80150abu,0x9b9bdb88u},{0x2976c5adu,0x35d29fdbu,0x4fa4dedbu,0x3003e8d3u},{0x8cd11612u,0xb3bf568u,0x28de546u,0x354429d2u},{0x49cc6e64u,0x49154923u,0x4a2664a3u,0x54e945cau},{0x399b3c02u,0x9385d72au,0xd928b04du,0x1fb293cdu},{0xcb0ca07bu,0x4b8f113eu,0x21c8e4e8u,0xd3b8fbd3u},{0x6f9fcb7bu,0xd0dd300u,0x8bf7d800u,0x9a3b4246u},{0xe9756baeu,0xd3a7b259u,0x1a140538u,0xc08c6391u},{0x62c0bfbau,0x65025617u,0xa6b1d8d1u,0x402b8a07u},{0xb6fc00fau,0x34e33445u,0xdbb00a5bu,0xf5e80289u},{0x9d54229fu,0x249cc4c6u,0x35215094u,0x34a2564au},{0x3172935cu,0xd0c32e78u,0x43280b8eu,0x55b65160u},{0x9a3f64a3u,0x5daf5a06u,0xb4c8f11bu,0x6514d8fu},{0x48f66a39u,0x42352ebau,0xdd2a60dfu,0xaac66011u},{0x7ec5008au,0x2b115249u,0x997ad390u,0x11e25617u},{0x96b9d8d1u,0x402b8a07u,0xbefc00fau,0x34e33445u},{0xd9100b15u,0x3f7b7402u,0xcc076856u,0x9db7dc9du},{0x7ccec6a7u,0x10c5abddu,0x65234c02u,0x2fd6a013u},{0xafca855u,0x2b32f2e2u,0x79e2d040u,0x9e2498cbu},{0x534990cu,0xb436a246u,0x4a754e84u,0x5cd1c32au},{0x7045271bu,0x8d5db64fu,0x619a3e5du,0xa75bb619u},{0x3cd7171au,0x426a0045u,0xfab402b8u,0x8636039du},{0x2a719002u,0xe8f3557bu,0xf402caa6u,0xc856a5b7u},{0x5a958ba3u,0xcd8a25c5u,0x18d418a3u,0x9274121u},{0xcd4c4414u,0x99689572u,0x9c5a2e4fu,0xcdd9c014u},{0x9c6e3974u,0xd94582a8u,0xf9729d6eu,0xd875035au},{0x5c688da4u,0xea83abdfu,0x6ee53350u,0x22fd520u}}; const uint4 Q11[128] = {{0x144d149au,0x83e78e6fu,0xb131db1du,0xeaed8416u},{0x4a344a59u,0x5db8d9adu,0x3c1bf5fau,0xa8545649u},{0x2352ba7cu,0x727412a4u,0xac5a134u,0xe3b1d5c9u},{0x35ba79b5u,0x38819305u,0xc72adb28u,0xb14d2eb2u},{0x51765fa2u,0x36cb2344u,0x6b178553u,0x7790be6au},{0x117ea50u,0x316320bu,0x2a980b26u,0xa3ec4c76u},{0x88c534f3u,0xb2804849u,0x563d3404u,0xab1f9e9du},{0x1a57197eu,0x74f27fd7u,0x68914a66u,0x1b4e3960u},{0xb8262836u,0x50ac965au,0xe6598525u,0x3b097ca1u},{0x6d16e57u,0x27f96bd8u,0x8ccf0763u,0x4500ae28u},{0x1e60117eu,0x7900c819u,0x6a740989u,0x37425038u},{0xecb6dcaau,0x60ffafdau,0x56343d35u,0x51c6edaau},{0x72129994u,0x735b2f57u,0x130e1c28u,0xd94cf391u},{0x8cb47d89u,0x8ed0947au,0xb7b69065u,0x4022fcbeu},{0x50b139u,0xa0b42ce9u,0x2a253cf3u,0x523d863au},{0xaae28e96u,0xfaad8bb9u,0xfd26e6cdu,0x8ffbe832u},{0xa0117e6fu,0x694526u,0xa01d0926u,0x4a2769d9u},{0x7dba55c9u,0xb0929ebbu,0xb8dea7f9u,0x9f7e8253u},{0xde530012u,0x92a2756au,0x46c68045u,0xf9b40288u},{0x650a8154u,0x451d7946u,0x249585d9u,0x8ddcd2c1u},{0x6e6a2d3au,0x6c27f4bbu,0xe5500482u,0xd224653fu},{0xe76db24au,0x66325384u,0xa8ec3e3eu,0x8f449652u},{0x2c531665u,0xeb0ff297u,0xba29ba00u,0x526b1b98u},{0x948d73b1u,0xa2805714u,0xf8d008bu,0xf3780520u},{0x4a3ce1d7u,0x1b8639b6u,0x6f1cd436u,0x197676b4u},{0x8e45c72bu,0x76d400fcu,0x2c231d14u,0x839362b0u},{0x72ac2dcdu,0x49a28eabu,0x6a67fca2u,0x767491u},{0x3c64d8d9u,0xb1d0d736u,0x798c022cu,0xcbd61fbfu},{0x6526dd00u,0x29358dccu,0x4a46b9d8u,0xd07022a4u},{0xa330c93fu,0x2d945925u,0x768b23c9u,0x49c2bef3u},{0x98794400u,0xcba8f153u,0x6345da5bu,0x7e35d6b8u},{0xe008bf35u,0x805518cau,0x61e89940u,0x54d89470u},{0x595a75dau,0xd7c23893u,0x1685b467u,0x97bd518du},{0xd0029358u,0xdcc4a46bu,0x9d8d1402u,0xb703a589u},{0x335b653eu,0xe8f593cfu,0x27800d94u,0xf5c4c9a5u},{0x8f2689cdu,0xb511988cu,0x3591d12du,0x49c03ad8u},{0x1e17ac2du,0x927a249eu,0xdf209455u,0xeda77638u},{0x22fce20u,0x72711d0u,0x433cf547u,0x64ac59e7u},{0xb8c39b12u,0xd45b506eu,0x5df297bau,0x29ba0052u},{0x6b1b9894u,0x8d73b15du,0x65ba1fbu,0x8045f9dcu},{0x3444ba6u,0x61289ad1u,0xb68d680fu,0x349aae18u},{0x23d12515u,0xea8bb71u,0x13928d4eu,0x35a39a2bu},{0xd07271e4u,0xd0083922u,0xdab1578fu,0x766cd23bu},{0xdaa64d3bu,0xbfa2fa99u,0x53bb2723u,0x29d6336u},{0xdc46750au,0x22d988d9u,0x47f8b496u,0xf095669u},{0x160818fau,0xf2680165u,0x157ba5b6u,0x8c1649e2u},{0x7dcf8800u,0x8bf43802u,0x843da411u,0xb53cf48du},{0x611b7704u,0xdd002935u,0x8df10011u,0x7e8500aau},{0x50e69456u,0x5d23553du,0x955b7925u,0x14fbc5b4u},{0x2a32d967u,0x88caa2c1u,0x51f3e4du,0x4732a9u},{0x589e7cebu,0x8d515c99u,0x69960735u,0x2f0d4341u},{0x653c587cu,0x5f942c5eu,0xf344dd00u,0x293589e2u},{0xbf07231eu,0x4d001c4au,0x916d36b6u,0x39925553u},{0xbcdae2a3u,0xad967874u,0xb71a0117u,0xe8100b64u},{0x3248c69cu,0x26ed40b8u,0x1cf7a872u,0xd846d3b5u},{0x28442bdfu,0x6e2539aau,0x88d80f4bu,0x51db52a3u},{0x6b365577u,0x59894e6au,0xa4469d85u,0xd97ddaa4u},{0xedd9cac9u,0xb8da2735u,0x511b01e9u,0x6a2fca3du},{0xad2cdaebu,0x955dd624u,0x9ad56da4u,0xcc856ca4u},{0x992c74d3u,0x252aca4eu,0x96c8a5a3u,0xd8a49cacu},{0xb2735511u,0xb01e96a3u,0x6eb34950u,0x56753d9fu},{0xeaff59b5u,0xd72abbacu,0x46381e16u,0x4cab641bu},{0xcd76c64bu,0x36cdc473u,0x712aa9cdu,0x5446c07au},{0x5a8dbae5u,0x40ab49b7u,0x8949166du,0x75caaeebu},{0x2b437b0u,0x8edd80e4u,0x416b0884u,0xd3563d11u},{0x31908461u,0x5231739eu,0xc116c86eu,0x2515acc7u},{0xd33335du,0xd6a36b97u,0xa8e6a9cdu,0x5446c07au},{0x5a8ddad5u,0x159d0eedu,0x6f3ba2cdu,0xaeb955ddu},{0x604d48adu,0xb6dbc06au,0x5771c15au,0x30351f42u},{0xc2625b3eu,0xc104a6ecu,0x807a6147u,0x88333c6u},{0x3ca0a90cu,0xa39262adu,0x9357c776u,0x49967062u},{0xca3d84b6u,0x8b622dbau,0x2735511bu,0x1e96a37u},{0x6b57a4bau,0x3f59b5d7u,0x2abbac00u,0x59aec170u},{0x81ddf48u,0x468edb89u,0xb0121e2au,0xe04066f6u},{0x80e15de6u,0x1c551e2au,0xb64650bu,0x9d397325u},{0xa3b8abb0u,0x432a4161u,0x594561d6u,0x27186555u},{0x5dd622d9u,0x94acd96eu,0x762d1554u,0x4e66d275u},{0x8e9c7b80u,0x25158800u,0x94c4d000u,0xd4937000u},{0x4eb089a7u,0x35511b01u,0xe96e38a4u,0xe6aa25a6u},{0x67a5b8ddu,0xb186f598u,0xae95d5b6u,0xa4d914ecu},{0xd0cae540u,0x597a51ceu,0xcc5a3653u,0xc5e639f0u},{0x4e80249bu,0xc4e3ca3bu,0xaaab9c6eu,0x7655c6cdu},{0x39aa8969u,0x99e96a34u,0x75576638u,0xdcecab8du},{0x4c3229d9u,0xa19671eau,0xc567173u,0x20972c55u},{0x5b1926cau,0xa1a5aae5u,0x1a199c72u,0xda3c933bu},{0xf4f554e6u,0xaa25a667u,0xa5c8dbaeu,0x64fa38a3u},{0xea727936u,0x57771a15u,0xd20b5276u,0x18c659eu},{0x1611cbd5u,0xb9746a89u,0xc8974471u,0x4908d776u},{0xa0d953b0u,0x342ca6d7u,0x99ec51cdu,0x28d28036u},{0x1da156a3u,0xa4ab148cu,0xb6b3461au,0xe66eb539u},{0xa30d4f07u,0x7973c6c6u,0x362b5d0au,0xd9468a8fu},{0x4f9d3e00u,0x311fd9beu,0x43374a0u,0x150c9ac0u},{0x3a30d9c2u,0x3223d93u,0xd54e6aa2u,0x5a667a5cu},{0x8dbad515u,0x1f51f3b9u,0x3c9b2bbbu,0x8d12ba11u},{0x918165a7u,0x75499671u,0x62481c16u,0xb46b31bdu},{0xd4a94910u,0xa85aba3du,0xae4f8ac6u,0xb2b8d8acu},{0x6cad0e65u,0x730b18a6u,0x575295d0u,0x8131207cu},{0xdb700d8eu,0x95c03e3au,0x4580c0a6u,0xf346587eu},{0x9a539d8du,0x21583215u,0x178e0088u,0xc6d850a2u},{0x8a80d199u,0x6a430841u,0x95e52e40u,0x3685b368u},{0x3e7bb17u,0x1a58bdu,0x8218dd4u,0x6c5baa73u},{0x5512d333u,0xd2e46e55u,0x627744f0u,0xca945a66u},{0x48b55f36u,0x2b47c4c9u,0xfd713657u,0x771a3134u},{0x555a98ecu,0x598029a5u,0xa3844cf2u,0xd2edb402u},{0x68db08du,0x9eba5380u,0x1b2fb6e0u,0x795d868u},{0x8cdc09u,0x143452u,0x9d56d941u,0xbe938ca5u},{0xaa4caa3au,0x1b208524u,0x52bd139au,0xa896999eu},{0x972372a0u,0x4fba20u,0x1a8a740u,0x129a8900u},{0xa5b10adu,0xaac735a3u,0xe57ac746u,0x5139aa89u},{0x6999e972u,0x36ec9670u,0x57529114u,0xae55cadcu},{0xa6d554b1u,0x52aed579u,0x60b66b24u,0x99836d82u},{0x62358954u,0xe6aa25a6u,0x67a5c8bau,0xe6922de8u},{0xd5335f29u,0x76848390u,0x8d22d565u,0x25ca8a45u},{0xca8d4e86u,0x7d33c929u,0xb3423474u,0x56352acbu},{0x6aeaa735u,0x512d333du,0x2e46dd65u,0x8120d68fu},{0x24034259u,0x5d88394au,0xb18a9664u,0xbb51b18du},{0x89e356a3u,0x1a69c1eu,0x5529733cu,0x56c7acc5u},{0xd4974e2cu,0x13a516c5u,0x6531950bu,0x61eea461u},{0x65746a55u,0x9f073430u,0xac360a4au,0x8a35ba42u},{0x2e085575u,0x57937a57u,0x7ab61777u,0x1a26d801u},{0xc9ac6f56u,0xd807fd99u,0x22bb6a01u,0x58ccaa80u},{0x45fa0402u,0xd8cca0edu,0x3835b137u,0xd56633a5u},{0x5571a56fu,0x57322c9fu,0xbc5ca30u,0x202b2a93u},{0x480051dau,0x63015073u,0xaad08b70u,0x9bb906u},{0xc0c651u,0x114d364eu,0x6aa6568bu,0xd6dc2e50u},{0xea59c700u,0x45fa0401u,0x442cd28eu,0xf9a02a86u},{0xb49bceb9u,0x1513d6ddu,0x2c6ac381u,0xae9bc7u},{0x8045fa04u,0x1442cd1u,0x98e79e0au,0x66b86bacu}}; const uint4 Q12[128] = {{0xb2f48d86u,0x5b9dcd51u,0xcda70de9u,0x46b66cb4u},{0x711958f0u,0x8bf3a80u,0x5213ccc1u,0x3cb58cc4u },{0x31ee5541u,0xb0def767u,0x62ebf359u,0x205402f1u},{0xd55f42c5u,0x74185a8fu,0x90755cdfu,0xb18e008bu},{0xf31805b2u,0xcb2512b4u,0x2707629du,0x32b4deaeu},{0x96f4fd37u,0x73d8c981u,0x5333a69bu,0x591e2342u},{0xd3294e99u,0x53ae918du,0x90049361u,0x20ca9262u},{0xa548f404u,0xc74211e7u,0x8e6db00fu,0xfb324576u},{0xd40112d9u,0x493592u,0x4ca9262au,0x548f404cu},{0x7932b347u,0x6687d95cu,0xc90045f9u,0x8c02c848u},{0x144cb59cu,0x2ba54099u,0x126e4b0eu,0xb13a5847u},{0x32745959u,0x9f94bd72u,0x80117e71u,0x39b928u},{0x9e716981u,0x6b40db35u,0x122e1b2du,0xb336f9f4u},{0xb33b06aau,0x1d6df923u,0xda4c8bb2u,0x3ba4ce3fu},{0x914d9004u,0x936120cau,0x9262a548u,0xf404c79cu},{0x7c68045fu,0x97401a19u,0xd32d2f4eu,0x1914eae1u},{0xb0eb3177u,0x50d6c6ffu,0x2a7b5995u,0x98eb151au},{0x2f66e41cu,0x9cf2c802u,0x25ba0052u,0x6b1b9894u},{0x8d73b1a2u,0x80571565u,0x66419162u,0xc29f27eeu},{0x76629b0eu,0x9cf2f801u,0xd59facd5u,0x587a8cc2u},{0xd95d4a2bu,0xc90045f9u,0x3c00636eu,0xb9e3ada6u},{0xb8d00a64u,0x89ce8b2u,0xb4cbb26fu,0x9fafd2beu},{0x3ca1ec90u,0x6e80149au,0xc6e62523u,0x5cec67a0u},{0x15c9cc92u,0x6b2ba156u,0xc5411d2du,0xd8502c4eu},{0x454523e5u,0x95d7cd87u,0x3b64b6b8u,0x3dd1e93fu},{0x7250838bu,0x8b903809u,0x6206765cu,0xcfb8392eu},{0xf91bdea6u,0x6ac755a5u,0xa55b7d99u,0x27ec0117u},{0xe4700967u,0xb97cd94fu,0x6bcfd019u,0x7008bf20u},{0x800c2ed3u,0x3653a94bu,0x7a59f344u,0x70bf6911u},{0xe807c618u,0xac9d5a36u,0x98f7b326u,0x6cfc5abcu},{0xadb30fa5u,0xbd0e4257u,0x89633657u,0x7350821fu},{0x8eadc279u,0xc46cc561u,0x40b13e20u,0xbd74e8b3u},{0xb2ab8fb1u,0x45f13973u,0xe0f2cb80u,0x45efa010u},{0xdf9e609bu,0x3342de94u,0xf0e24022u,0xf750101bu},{0x2767d680u,0xe6d252fdu,0x33e708d9u,0x8aca63ccu},{0x2f882f5du,0x322ced2eu,0xdbec515cu,0x7d5d782cu},{0xae69f046u,0xe2dbe271u,0xf120117bu,0x68269ac4u},{0xc8962948u,0xc9535d9u,0x684dc417u,0xad9d1a76u},{0x5b6df628u,0xae2eaebcu,0x1a562366u,0x2b298d21u},{0xbe24022fu,0x65066ce7u,0xfa0ddd58u,0x8d952dcau},{0x6888c417u,0xad9d1a56u,0x59722fc4u,0xe9f955e0u},{0xd2b11aafu,0xdc54398du,0xe69f066du,0x2dbe0c02u},{0x578a6b36u,0x5548a6e8u,0x149ac6eu,0x625235ceu},{0xc67a015cu,0x9ce0cac3u,0xe60f3832u,0x45ee608bu},{0xec4c7684u,0x85349353u,0xb73bb882u,0x982c5ad3u},{0x5d29fdb4u,0xfa4dcddeu,0xead75da7u,0x4f64b234u},{0x280a8179u,0x3ad811d3u,0x7e007d1au,0x719a22ecu},{0xc804e320u,0x5d1e68au,0xf8080425u,0xd5299492u},{0xaa9dead7u,0x1c9d6cb7u,0xc2e58163u,0x685ba053u},{0xe4b8571u,0x52e58ea4u,0x2b8a514cu,0x86195c72u},{0x7964a8ccu,0xc3945b5du,0x26381db6u,0x56467846u},{0xab5a71e1u,0xd5d88672u,0x5215a6eau,0x4e92cedau},{0x9eb65d22u,0xd6e8b5c9u,0xb1950666u,0xb8d83dau},{0xddc62220u,0x164a6c13u,0x2ad9b65cu,0x341f9368u},{0x86e80149u,0xac6e6252u,0x35cec67au,0x482145fu},{0x9dc03220u,0x117bf833u,0x86551e64u,0xfa225bcfu},{0x3a89cd66u,0x75b09e6eu,0x58f52f4fu,0xd97b4386u},{0x24022ef4u,0x3383b7d0u,0x5635650du,0x95b5aa69u},{0x611baf5u,0xa5c490dfu,0x1060b474u,0x695a75b8u},{0xbad5a6e5u,0x57834ae6u,0x9d066d2du,0xd8814312u},{0x1177212u,0x166853bu,0x57a836d2u,0x57611e84u},{0xa117b059u,0x60246f88u,0x2a5b3a3cu,0xedbed499u},{0x89d2eaabu,0xc3a4f349u,0x7f9991ddu,0xf84a1e24u},{0x22ee423u,0x8ad54876u,0x2da335b8u,0xa3bf6d09u},{0x822b61b6u,0xc8b123e2u,0x9970e6fu,0x4b2fb926u},{0x6274daadu,0xf1091cd1u,0x9f2670b7u,0xb0824044u},{0xad14e66cu,0xaaa688f5u,0x3382ddacu,0x1953ee44u},{0xb89372bdu,0xedc5daadu,0x2ff8b494u,0x450c569bu},{0x15e47b80u,0x45dc8473u,0xdd9684c7u,0x5a136336u},{0x7cdb8045u,0xdc8493dbu,0x968cb7dau,0x56f5b467u},{0x8b18ef3u,0x62386d88u,0x295c3a31u,0x6cbeecddu},{0x89f276afu,0x1d363346u,0x7b97c1e6u,0xce0901b8u},{0x45dc849u,0x35b9e98bu,0x6d2d2de7u,0x52708c99u},{0x2eb62bc4u,0xb882e5d3u,0xaad2cbedu,0xcac52a62u},{0x566cfb47u,0x85121ea5u,0x6c5db382u,0x71465700u},{0x8bb90926u,0xb73d494cu,0xc5b5abebu,0xcca24bdcu},{0xbd8b7630u,0x51205310u,0x70b68562u,0xd98d9abbu},{0x93e3fb1au,0xcfe223a6u,0x2b4f8ed2u,0xa8962298u},{0xcd955513u,0x1ee5ec5bu,0xb0828904u,0x9883e5c3u},{0xa355d362u,0x96314742u,0xeb18ce60u,0x23f63bf4u},{0x8aa19dc0u,0x22ef4239u,0x2ed75453u,0x2d8d5f1bu},{0x43312011u,0x77a19b3eu,0xc60c4ecdu,0x59add5a3u},{0x7b66c4d0u,0x62f61038u,0x23ba1eaeu,0x88c2c7b3u},{0x1b15a799u,0xf82dd7c0u,0xf8682d8au,0x5539552au},{0x15c886cau,0xa8ac2f2du,0x73b1a280u,0x570819a1u},{0x45ec1ab5u,0x106e3a08u,0xb144aeb7u,0x100db200u},{0x927b5d06u,0xf1e01177u,0xa19e32beu,0x4e35b1afu},{0x3198c566u,0xd96d979du,0x58b6a2fbu,0xb1bb3ec4u},{0xc768489au,0x3ab521d6u,0xd20131b8u,0xd03add03u},{0x8d008bbdu,0xd4134b0u,0xb0a7cd71u,0xede5957du},{0x5b5db8a9u,0x1cd66537u,0xd898ed05u,0xb2aec0a9u},{0xeed6ded5u,0x63d03addu,0x389008bu,0xd841a826u},{0x9e9414b5u,0xb13d98b3u,0xb3cbcc83u,0x3307903eu},{0x90cae75u,0x5a35d587u,0xb1c4aaa5u,0x9527a33cu},{0x25d523c8u,0xb169a811u,0xb13538c9u,0x63822545u},{0x6e08a555u,0x38e1d24fu,0x2a94b99cu,0xaf486bb6u},{0x3b0cc827u,0x2f81fd2du,0x8e0844f3u,0x482190e9u},{0xe86fc7e8u,0xb5b9d4d2u,0x5703ba58u,0x742c8a84u},{0x72585e0du,0xdb0ec03eu,0xa11a40fau,0x7aba1ba1u},{0xea694e87u,0x2b91d90cu,0x4e4ca58bu,0xc4085b5u},{0x1a6e70bu,0x99f3d9b0u,0x179405d2u,0x280de756u},{0x98371463u,0xd2a52869u,0x2b628af9u,0xce933211u},{0xc9a06d4cu,0xa420ba25u,0x2d8ea071u,0x49a671b8u},{0x28a694e8u,0x62ccd998u,0x1ecd27deu,0xf992392eu},{0x15874c96u,0xa1591ae4u,0xb8561d2au,0x9e865051u},{0xe6cbcc82u,0x93cd971du,0x86e99715u,0xc4a864f4u},{0xca609209u,0x4c959158u,0x347a6c2cu,0x44e4a5d3u},{0x4ae3a55u,0x28452ba4u,0xa9944eabu,0x874535c9u},{0xc19982fbu,0x2104b3b5u,0x6ceeab8au,0x53aa9909u},{0x7a47d242u,0x6a0ccc1bu,0x26e100b2u,0xe71432c2u},{0x156ccb47u,0x3c2da948u,0xe963a258u,0xcae67c9fu},{0xd2ba2d2u,0xa4b69a83u,0x3306d1b8u,0x3facda70u},{0xe2558aaau,0x56ca751cu,0xf4b4741cu,0xa54ae853u},{0x3a16cb17u,0x25b649adu,0x726b5742u,0x395acbb1u},{0x20117b08u,0x3563d0e3u,0x2967648u,0x32d4b739u},{0x69c24f79u,0xdb3c65a0u,0x48333079u,0x8bd00c6eu},{0x80c6004u,0x5ec20d41u,0x54b344f5u,0x37b2459au},{0xb3b7abaeu,0xbcf927b7u,0x183dadddu,0x60e0164cu},{0xea5641ecu,0xd00b2623u,0x39d5ac9bu,0x3d2f84b4u},{0xf16de65au,0x41a6bcau,0x98ce95fu,0x624022f6u},{0x106ac7a1u,0xc6052cecu,0x9065a96eu,0x71ec54d7u},{0x96195544u,0xe66dcdd8u,0x965e2e3cu,0xcb4098c0u},{0x8bd841au,0xb1e87181u,0x4b3b2419u,0x6a5b9c7bu},{0x5a74835fu,0x88975b4eu,0x4e65c8ceu,0xddded619u},{0x61e159a5u,0x361956afu,0x7b78c480u,0x45da867cu},{0x7b1d9e6au,0xd9d396dfu,0x4859f5e8u,0xe24022eeu},{0xc352352eu,0xd23d2d6cu,0x4e57b4adu,0x7b66d918u},{0x9cc327bbu,0x514a95a4u,0xfb120626u,0x5c80545du}}; const uint4 Q13[128] = {{0xe89adc71u,0x401176e1u,0xa81e9f29u,0x1e9eb5c6u},{0xd5c2cad7u,0xac36d3e6u,0xfb12060au,0x49c6da01u},{0x2dba92acu,0x448a14d7u,0x8b05b11cu,0x60045da8u},{0x6946a9cau,0x27a7cd69u,0x6cf59d8du,0xdd7588d9u},{0x4db6d1f6u,0x263b4064u,0xf8f3df40u,0x25d6e38bu},{0x997357d8u,0x98cd018bu,0x4323cf24u,0x8014e9d6u},{0xd46cb4c8u,0xa47bd8a6u,0x24022ed4u,0x3403d6c2u},{0xeb67506u,0x375076bbu,0x75d8a008u,0xbb90ce8fu},{0x678627feu,0x9cb6f202u,0xdf9d3b26u,0x668cc8a5u},{0x6bbe9d84u,0x6676231au,0xd56b74a8u,0x9620c5edu},{0x94815719u,0xd06f54d1u,0x69709a1au,0x3b7b16c4u},{0x63b0a98au,0x8bbf0cu,0xd1567273u,0x77e9c8abu},{0x851d9dbau,0x762bcd0du,0x8ceac5b5u,0x1b3412ccu},{0x49d3a68u,0x96ac4de5u,0xf573150au,0x57410969u},{0x8952d564u,0x8d15b969u,0x6df19e34u,0x8bec4c66u},{0x80a2c107u,0x331e4300u,0x1b5c0164u,0xf8492a51u},{0x61fa3eddu,0x2a9a872au,0x4d0180eau,0xc5b2fb74u},{0x462c2f2au,0x990cb2dau,0x74db4f6cu,0x54295e81u},{0x16e8221eu,0x37586a12u,0xf3e2386bu,0x8b008bd8u},{0x41982ad6u,0x4e6efd39u,0x1570a3b3u,0xb74bd107u},{0x8b008bdau,0xc1963ecdu,0x8a56afa2u,0x1ec5ce77u},{0x38f5425au,0x558ed74eu,0xab5b2eb7u,0x1b57a383u},{0x64155df2u,0xda0d3231u,0xeacaa212u,0x98569ab4u},{0xb8e7f01au,0xb420edbu,0xa13ccd89u,0x8bda41u},{0x28ceb295u,0xac67c77eu,0x252de2c0u,0x44931969u},{0xac9cd1d6u,0x2f5a49d8u,0x6df8d9b5u,0x1eeab5d1u},{0xe0335654u,0x9dd64490u,0x5a0a2f19u,0x6cec0117u},{0xb48085b0u,0x9b2e3589u,0x94b6125cu,0x956ceab4u},{0xb4db917fu,0x2b8f9e33u,0x2912645bu,0x99b31491u},{0x4c7e91dbu,0x1021639du,0x134e3db6u,0x4590da0bu},{0xd17bf808u,0x4ae47020u,0x58445a8du,0xc4b1085au},{0x563a6492u,0xfb3b01ebu,0xd00a7c5au,0x438817u},{0x5d3aad2cu,0xaedbeccdu,0x7a8dbdddu,0x8f52008bu},{0xdec19a36u,0xf2e0ab17u,0xe510018du,0xb19d6caau},{0x2d46e152u,0x815d50c0u,0x52e29265u,0x39a4bf8fu},{0xcfb6a095u,0xb092ea4du,0xe569f6a5u,0x531b4ab5u},{0x7dcc022fu,0x7b0668fbu,0x89900980u,0x45ef608eu},{0x1ba98819u,0x85afa4dau,0x761f6a52u,0x335ab52bu},{0x15a9b823u,0xbfcbe225u,0x29ba8eddu,0xb5305a2bu},{0x1e8ae812u,0xe9c8448au,0xefd52b64u,0x62aca766u},{0x2c7895e6u,0x117be82u,0x501e1205u,0x70c564a3u},{0xced3ecd1u,0x7d725731u,0x5751457bu,0x978a5822u},{0x3b5239bcu,0x7d2c99c4u,0x2ecb38a1u,0x7334c022u},{0xf7b066ceu,0xb07902c5u,0x72924dcu,0x96df6ecau},{0xdd94f635u,0x4793783du,0xa5a08c31u,0x4e105e60u},{0x117bf833u,0x47d724a1u,0x62c4d30eu,0x8b4b2eb7u},{0x36fa76ccu,0xed62af67u,0x7e5e68e8u,0x232bf380u},{0x4698045eu,0xfe0ce1d5u,0x72c98b1u,0x745523d6u},{0xd49fd473u,0x6ab5f153u,0x53f52f73u,0xb2af08d2u},{0xfe7cb326u,0x30022fc8u,0x201dfadfu,0xcd176894u},{0x4cc4b0fbu,0x37adc25eu,0x976cfe9au,0x2c722011u},{0x7e4300a4u,0x31098281u,0x6503667au,0x51ad6676u},{0x734b07e2u,0x495b43c5u,0x8fccf648u,0x22fc860u},{0x1a236496u,0x7965135eu,0x5d23b16cu,0xc6cdebe5u},{0x1c6a1299u,0x743feb30u,0xcbe2bb82u,0x45f9ec0u},{0x3260117eu,0x4300d10du,0x1cd3c833u,0xd7147150u},{0xb96c46d5u,0x6b64fa17u,0xd07badc6u,0x57ed5a3cu},{0x8f78b008u,0xbf218069u,0x87185019u,0x75851c5u},{0x44f4bb2bu,0x375fd509u,0x173de5cfu,0x4cfdc7c2u},{0xf79bc004u,0x9480698cu,0xd6f63002u,0x2fc8601au},{0x93a68e91u,0x61ad34eu,0xa1725c7u,0x5c9330f9u},{0x74b40cfeu,0x973d3f84u,0xaa1abaccu,0x66be6700u},{0x3242ecfcu,0x58b29d08u,0x5a498488u,0xa6761a0bu},{0x58ac37c6u,0x68d85e0eu,0xc68a015cu,0xa6d793au},{0xd8119ba9u,0xd5aebb4eu,0x9ec96468u,0x50ac3c00u},{0xba3ce3b4u,0x251b7f3fu,0x830b05u,0xc68579a1u},{0x6e813c12u,0xbb10ce4au,0x42b4dd49u,0xd25a21edu},{0x64a6c132u,0xad9b65c3u,0x41f93645u,0xa3c0d467u},{0xddac4845u,0x623d5941u,0xa6d66d2fu,0xd6b9352u},{0xe892ba35u,0x18c866b3u,0xacbccd61u,0x6cfc2547u},{0x6bb48a92u,0x151d2b71u,0xa0117e4du,0xa43b4du},{0x9c5a4210u,0xeb4c3128u,0x5c56dd76u,0x2ec361dau},{0x13d6cba4u,0x5add16b9u,0x3632a0ecu,0xb7719088u},{0x56b4e2c8u,0xaa77ab5cu,0x7275b2dfu,0xb96513du},{0x36a007d1u,0xa719a22eu,0xcc8052f1u,0x8b5a6ba5u},{0x3fb69f49u,0xb8a5526au,0x76e77710u,0xa4926a7u},{0x6e777105u,0x2e58b5a6u,0xba53fb69u,0xf49bd35eu},{0x7d1a71u,0x9a22ecc8u,0x163953bu,0xd5ae393au},{0xd96f85cbu,0x289e10aau,0xd69d0735u,0xbb8c3342u},{0x6ae916b7u,0x45ae4d8cu,0xac60045fu,0x9ac0100fu},{0x4cf9f388u,0x42d69463u,0x48d855b7u,0x5c93360bu},{0x6848c443u,0x22f2196cu,0x39620e5au,0x6295309au},{0x2b6a19ddu,0x974885c4u,0x7b13a607u,0x9366565bu},{0x1d9f83cu,0x9590e8d6u,0x190c5ca4u,0x28c66221u},{0xe164a6c1u,0x32ad9b65u,0xc341f936u,0x77f57621u},{0x9c948569u,0xba93a4b0u,0xadb42dd0u,0x305e60beu},{0xca42400bu,0xa3ce3b45u,0xbf2f0037u,0x3bab5d76u},{0x9d3d92c8u,0xd0a02985u,0xe4eb6046u,0x28d49a9du},{0xb9ddc414u,0xb462d69au,0xe94feda7u,0xd26f4d28u},{0x1f469c6u,0x688bb320u,0x18954efu,0x46b8e610u},{0xad61c77u,0xa576219cu,0x948569bau,0x93a4b443u},{0x9ac94d82u,0x655b36cbu,0x8683f26fu,0x1a0117e8u},{0x100a407bu,0x98651a89u,0x8a9ad18cu,0x692795b6u},{0xdb8b6e4fu,0x599ac61u,0xda7688dcu,0x635c76dau},{0x8b639383u,0x53e192u,0x9a27331au,0x6ae916b7u},{0x45ae4d8cu,0xa8372ddcu,0x641996cbu,0x537f8017u},{0x47996be4u,0x2006e275u,0x6baed3a7u,0xb2591a14u},{0x526bc9du,0x6c08c30eu,0xb8efdc41u,0x4a462d69u},{0xae94fedau,0x7d26f6c2u,0x801f469cu,0x6688b130u},{0x45dfbe40u,0x31092bdbu,0x374cbb02u,0xca6a0b69u},{0xbcfb334eu,0x122cdc36u,0x17b74891u,0x88e14127u},{0xbed5e6d8u,0x421f67b0u,0x900c5fa9u,0xc016a004u},{0x527c0124u,0xd6373129u,0x1ae76345u,0xae281cu},{0xda4ead75u,0xda74f64bu,0x234280a0u,0xd793ad81u},{0x1a291e00u,0x526b1b98u,0x948d73b1u,0xa2805714u},{0xe8c7349u,0xa9da448au,0xd9587612u,0x48e5c331u},{0x6c8f54eeu,0x73643ab5u,0xd769d3d9u,0x2c8d0a13u},{0x65801747u,0x9c768484u,0xd3076647u,0x3890c532u},{0xa6540ecau,0x3a266158u,0x6beeae27u,0x6ecfe4f1u},{0xd51008bfu,0x6e800c2du,0x71003e8du,0x38cd110au},{0x67ebdae0u,0x149a62d6u,0x9ae94fedu,0xa7d26f23u},{0xf5eb0ff2u,0xa7bd22a2u,0x91200526u,0xb1b98948u},{0xd73b1a28u,0x57140f3u,0xa44f74a7u,0xf6d3e937u},{0xbdac00fau,0x34e33444u,0x39ad81d7u,0xb5c002c8u},{0xaa946ad0u,0x22fdee0u,0x130b12acu,0x387013aau},{0xea752c65u,0x1bda5477u,0xd1dd6ce8u,0x8dc5b4a6u},{0xd22ec1d3u,0x2533da4du,0x87d8ad1cu,0x1bf4f8cfu},{0xf5914d8au,0x5d1e71u,0xda12362bu,0xab5d769du},{0x3d92c8d0u,0xa103c5efu,0x287bce8du,0x3dd29fdbu},{0x4fa4df16u,0xde87796au,0x512286c2u,0xad35f94fu},{0x13b15fd4u,0x78e21b52u,0x9d33d3fau,0xd738709cu},{0xd80f8d72u,0x28dd92e8u,0xe1754882u,0xa98045fbu},{0xdc012274u,0xc3417b48u,0x1f469c6u,0x688852ceu},{0x367b6401u,0x14870029u,0x358dcc4au,0x46b9d8d1u},{0x402b8a07u,0x3623ab5du,0x769d3d92u,0xc8d0a136u},{0x18017479u,0xc7684a07u,0x6bde5ef5u,0xbda400fau},{0x34e33445u,0x1a333130u,0xfdbd00c7u,0xba2b684fu},{0xb093a0e8u,0x90754938u,0x6caac3ddu,0x54b56a96u}}; const uint4 Q14[128] = {{0x2d4f33f4u,0x4795aa79u,0xac39c226u,0x4de89cd8u},{0x536c61b8u,0x9a94e99eu,0xa7d6b3a6u,0x4f5ca7f6u},{0xd3e9378bu,0x8abb9b4eu,0x51214ba4u,0x6c3b4ce3u},{0xf164a152u,0x17d1bb57u,0x2826314u,0x18354663u},{0x1b4fccc9u,0x168584d9u,0x6d892f2cu,0xaed3ed56u},{0x9e67ef31u,0x881f8fc8u,0x9271576bu,0xb40c0078u},{0x450a8e09u,0x464715d6u,0x67223e1u,0xac9d076bu},{0x964e0558u,0xd68432bau,0x4582f1b2u,0xd7cb76d3u},{0x2cbed52bu,0x6677a4edu,0x8d171577u,0x3a000ec9u},{0xd1d447e5u,0x62f27d8fu,0x4ce3523cu,0x9e0be359u},{0x822e24e3u,0x58d24aa9u,0x17059559u,0x73ad9d61u},{0xb71f6a95u,0x313f3330u,0xc61b8abbu,0x5974a594u},{0x22419e45u,0xcc795930u,0x741227a5u,0xd5f24493u},{0x8a69433au,0x306d2aebu,0xec513adau,0xb75a989fu},{0x96a89c55u,0xdacba5aeu,0x29bd04acu,0x93b2ab6du},{0xb5176a35u,0x57631536u,0xd583e29eu,0x6cf1c39eu},{0x43a866cau,0xe2506f6bu,0xa9f73940u,0x95771423u},{0x9352eaedu,0xc5d74757u,0x3ec72461u,0xfc4b478du},{0xb4c4a0deu,0xfca9344u,0x271576b2u,0xe9ab886fu},{0x3e4a38acu,0xb6d3eccdu,0x9c6ed566u,0xe52461ecu},{0x5ac58dd4u,0xc3a8586fu,0x6ba9f739u,0x80751795u},{0x6694d1e2u,0x1d8f8e4fu,0x1b2eb536u,0x7a3b6324u},{0xbcb6c2f6u,0x84852389u,0xd18118d7u,0x1a89dd88u},{0xf6c72b0du,0xf17d3ad7u,0x410a9134u,0x678bfb0fu},{0x671fcd25u,0x3241b0c2u,0x45bbcab3u,0x4a68e795u},{0xa565cfdau,0x9ad83929u,0xf450dd6du,0x3946f8beu},{0x9d6b9d46u,0xe1923126u,0xb71193a8u,0x769ac1b2u},{0xf5d0e590u,0x1e56124au,0xd232185fu,0x464ced39u},{0x66777956u,0x734f28c8u,0xe150ef4bu,0x4f6de21eu},{0x559cd38cu,0x22a06685u,0xb4d873a8u,0xfa3b0325u},{0x4a58ae8au,0x4b4998c6u,0xb5b78361u,0xcd796656u},{0x9cbcbcdau,0xa4394a3au,0x997a71adu,0x963370bcu},{0x4ccf638eu,0x8d5a9796u,0x35895b0eu,0x4dc59a29u},{0x92f567ecu,0x1cb43941u,0x4ad5ccd3u,0xae97cc5au},{0xb925a289u,0x398cb1d2u,0xaf476e5au,0x7b5ba18fu},{0x171576bu,0x328f3668u,0x1e0cdb89u,0xe8701b13u},{0x95078650u,0x7a5c214du,0x292983f3u,0x739bc85du},{0x99a3d72au,0xc38b311cu,0xd55dae51u,0xa4a3e0e7u},{0x1b8f17bu,0x77a576acu,0xe315679eu,0xb9edaeebu},{0xd7895963u,0x58d3b518u,0x16bf1566u,0xc1ad8279u},{0x93d92ad4u,0x12ed1cc4u,0x76234b48u,0xd1be5b1cu},{0x5d0ad1deu,0x95a2d4e9u,0x52ce21e5u,0x59cd38c4u},{0x59e5705cu,0x4dc7af4bu,0x909e5272u,0x85c55dacu},{0xc980045fu,0xfec02472u,0xbd61fe52u,0xf7a669d2u},{0x27ae53fbu,0x69f49bd2u,0xca007d1au,0x719a22ecu},{0xc804d7e0u,0x5d1e71du,0xa123613au,0xb5d769d3u},{0xd92c8d0au,0x6d49a9u,0xd4520c00u,0xa4d63731u},{0x291ae763u,0x4500ae28u,0x1c4e6bc9u,0xd6c08c6fu},{0x6c09c639u,0xd88e58b4u,0x58da05d9u,0x246c0a4eu},{0xc371576bu,0x2e9f73cdu,0x88714c51u,0x3c2daedcu},{0x59a8db1bu,0x5db544e2u,0xaed65d39u,0x86f6c09cu},{0x739d0524u,0x8c410744u,0xa5a38303u,0x307f559cu},{0x5c439239u,0x95657116u,0xdd66b473u,0x7348d636u},{0x21c53144u,0xf0b6bb71u,0x66a36fc6u,0x6f18d887u},{0x14c513c2u,0xdaedc59au,0x8dbb83ebu,0x1b10e298u},{0xa2785b5du,0xb8b351b7u,0x367b6a89u,0x2e282842u},{0x240ce1b6u,0x71dab34cu,0xb701eaefu,0x95bd809fu},{0x100502bcu,0x5d938245u,0xf31f081cu,0x9edd0097u},{0x806682feu,0x22c0387u,0x2ab62c3u,0x11cf3660u},{0x2f1731edu,0x23a9d448u,0xc4c3d660u,0xf490ca2au},{0xe144189du,0xb3274479u,0x59adbc09u,0xcd8138c7u},{0x22816219u,0xa416f36bu,0x2c7b8219u,0x49d61763u},{0xbb516b82u,0x34cecd43u,0x429ad75du,0xded8158u},{0xb542928du,0x14a31589u,0xe2c1ec72u,0x562d02d9u},{0x5ad5418eu,0xe2ba0e53u,0xd9cc700bu,0x77d7c02bu},{0x225e4095u,0x86b14032u,0x3f5f8019u,0x203cb600u},{0x4982218u,0x9794af36u,0x89d5a03du,0x5bda3733u},{0x98423981u,0xa6630202u,0xbf93bdd1u,0x522ffd9au},{0xff9b88f4u,0x8ef9051cu,0xace2d32u,0xb501231au},{0x93a99e9eu,0xec5ec2adu,0x460014b6u,0x1b0e2264u},{0x95866c63u,0x3cb2356eu,0x1c98eaabu,0xd4e8ff6u},{0x924309a2u,0x7fe194eeu,0x9e0473e6u,0x210212du},{0xec1c0bf2u,0x1d9b3748u,0xf6bad746u,0x92cea3a0u},{0x55acdfa0u,0xd1a67f4u,0x29108bb6u,0xb0255e29u},{0x6010690du,0xe02e2a5eu,0x601bdee2u,0xc0d94fe3u},{0xb2a4388fu,0xe2d21348u,0x41c27553u,0x368180bfu},{0x47228b31u,0xb135651du,0x8dd894cu,0x83bed46au},{0x4ab85d48u,0x945ba8d5u,0x2b56c9f5u,0x6ea56e1fu},{0x87813c63u,0x525d6816u,0xd5eeb847u,0xafb16e3u},{0x5764d817u,0x536d340bu,0x8a987a11u,0x6d8a0a6au},{0x5a5132acu,0xbd276e67u,0x3c7ab754u,0x91b1650u},{0xdab64955u,0xbed29b96u,0x981d134bu,0x61812db7u},{0x15d01e94u,0x58e18042u,0xb776711fu,0xf80c437u},{0x588dd88u,0x5ad2299eu,0x8f4082bfu,0xe4ef601eu},{0xad7953d1u,0x18d50116u,0x739ba06u,0xc67884e4u},{0x66261bc6u,0xc725204cu,0xde0bf530u,0x4a84da19u},{0xd84d1d77u,0xa70946c3u,0x73632b28u,0x68b83289u},{0x3705fddu,0xaf4bb620u,0x21827bbdu,0x18910a9cu},{0x33594627u,0x4615e24cu,0x9218134bu,0x715c8246u},{0x169942f6u,0xc8c74a8au,0x4e16a8e9u,0x65942cb7u},{0x3a3b50d0u,0xc868d58fu,0x76223805u,0x915ae98cu},{0x750233b4u,0xfc8199f3u,0x6f092bddu,0xa8e26601u},{0x80719071u,0x19e69743u,0xa40e1852u,0x62397338u},{0xcd368702u,0xca1b2fcfu,0x95bed29bu,0x969a60e5u},{0x9d40d629u,0x91d26564u,0x1b90acf1u,0x649d188du},{0x863b6518u,0xf2b4c7d2u,0xb9ac846du,0x5868d58cu},{0x988ca2e0u,0xdc1346f4u,0xb8341392u,0xa9295ab8u},{0xbe18db7u,0x588a21c5u,0x4dd761b3u,0xc7776848u},{0x491f1f03u,0x6d84d8a0u,0x1cc21385u,0x26359ad8u},{0x6391aa0u,0x8ae80728u,0x64ec364au,0x294c2a36u},{0xa35ce6b4u,0x7499166du,0x47bb2938u,0xc5649c9eu},{0x6f866231u,0x6ad94831u,0x5f2aa623u,0x655cc952u},{0x39dd89e3u,0x73a534d7u,0x7d2f51a2u,0xd7bb6d3du},{0x2b6bab10u,0xb2eab8a5u,0xa9fd582au,0x296cde49u},{0x3a458cadu,0x47981e3au,0x48509706u,0x10e916b1u},{0xf20913bbu,0xdc2a4ac4u,0x7a070605u,0x76c70993u},{0xf2719203u,0xf845e111u,0x49984d94u,0x712c6a59u},{0xc27239bdu,0xd4e43a0eu,0x4368a765u,0x8cf1622fu},{0x53cae68eu,0x819edb43u,0x80c14e5fu,0xec0f93au},{0xe5320e86u,0xbe3aeb2du,0x91d26432u,0x321d1954u},{0x6c94d80cu,0x615b6322u,0x63320b19u,0x4c7039c0u},{0xdc786662u,0xa30f090bu,0x7db9fa66u,0x22d0483cu},{0x4898e31u,0x70341c95u,0x689e3d00u,0xf34e391au},{0x1c1a2461u,0x48ca81dcu,0x161c339eu,0x76136486u},{0xa16a399du,0x263521cdu,0x6aca39b0u,0xdcf666dbu},{0x41b0ecb6u,0xc459c9c5u,0x2399f4ddu,0x4f2d5749u},{0x3615965cu,0x8bb9cd66u,0x4fe4eb9au,0xc3dda6f6u},{0x3598d8b5u,0x3e4ccc4bu,0x3b0d83bbu,0x125f97a3u},{0xd5dacca3u,0x8153728eu,0x81a38258u,0xd8a85c06u},{0x4de43au,0x2467c8u,0xcfc20e86u,0xa4daa111u},{0x601cbd7bu,0x3a120621u,0x38e8988eu,0xe7b15e8u},{0xba4bced6u,0xda6ba4c4u,0xa3a464b7u,0x8db60dc6u},{0xb6c1d0f5u,0xb42e4d21u,0xd165b917u,0x51770f59u},{0xa7c1b924u,0xa9616073u,0x10a80190u,0x8c128a6cu},{0x265881dfu,0x494c942au,0x36ae286au,0x3b0b18e3u},{0xdc463b1au,0x9c46e652u,0xe924ca88u,0x268a12a1u},{0x49617210u,0xd88744e0u,0x9470018bu,0x9cc5638u},{0x15140d1bu,0x2e54acdeu,0x8f775aadu,0x641b9004u}}; const uint4 Q15[128] = {{0x730913d4u,0xae3eb0u, 0xdf353137u,0x22d7cab5u},{0x722fe312u,0x60e6c48du,0xfcf26e14u,0x96c4e5c3u},{0x41ed13f8u,0xa2ae2e8du,0xe7e034e8u,0x4e96de8du},{0xa0fe8b1au,0xd581ca00u,0x4ea8ca0cu,0x1856a277u},{0xbb325e07u,0x1014853u,0x99020008u,0xd5651d20u},{0xec0ed55cu,0xa102a9c2u,0xcb651356u,0x1e476236u},{0x428b5232u,0x30b05c5du,0xa233150eu,0xa4652b59u},{0x56b74795u,0xc923012eu,0x6d2d87c4u,0x731138b2u},{0x96c9623au,0x14d85a48u,0x9b9bba53u,0xcb7652d9u},{0x74847321u,0x44a80360u,0x9cea6c24u,0xa74540c8u},{0x5c03077du,0x44a66b34u,0xb06b5db8u,0xbe65151au},{0x97a81b50u,0x3239d915u,0x6226736au,0x918e6472u},{0xa868f649u,0x4d96c5a2u,0x925275a9u,0x91f8cb47u},{0x30ab1946u,0xd75a3b19u,0x29b56165u,0x186b1a0eu},{0x49604c2eu,0x73890d0cu,0x4a3a2390u,0x5c388c4bu},{0x55b5d2a9u,0xe304cb0au,0x41114948u,0x41bb9126u},{0x567cb150u,0x8c9622e9u,0xee9c6d37u,0xb6bc750u},{0xa51e370du,0x23072661u,0x38e44784u,0x4ba7c2d4u},{0x240c6cb5u,0xb15d1fddu,0x464632ecu,0xf519c39bu},{0x2a733e57u,0x44a49d70u,0x588a2ecu,0x4cdacd64u},{0x9ec324dau,0x1918924bu,0x647251f4u,0xe03403c3u},{0xb0b28566u,0xe0e4561eu,0x49c0b174u,0x6bb8d375u},{0xf9695aau,0x75d1914cu,0x462e2211u,0xf036375eu},{0x9b225133u,0x58ab662du,0xd9b972b6u,0xdaeac513u},{0x5ec514aeu,0x6648c146u,0xc7320d0eu,0x2a416098u},{0xaad56529u,0x837e029cu,0x659e1c85u,0xe544a347u},{0xb30ca6d9u,0x638dec81u,0xda8573b3u,0x6ec7cd5u},{0x5d970889u,0x257b2a1u,0x1c54d322u,0x35908b95u},{0xaaedce7cu,0x759295a4u,0x82589452u,0xc38948d2u},{0x9640094u,0x910008bfu,0x4e802613u,0x63156e55u},{0xd3950962u,0x2e541b14u,0xcce6b2f5u,0x5d861f55u},{0xad83daadu,0xb49d7cb5u,0x1b6b5448u,0x740b4d24u},{0x336ba508u,0x965eb265u,0x3c91a0c2u,0x4f639596u},{0x33172ac3u,0xd920babau,0x138a8e82u,0x4531bab9u},{0xcc271e4du,0x13a0d124u,0x630bdc5au,0x6c3546eu},{0x96136dc8u,0xbd6d5971u,0xad5cd95fu,0xd88874fau},{0xbd764691u,0xb84e4c4eu,0x18d8340u,0xb8740504u},{0xa3d51fe2u,0xa0244891u,0x23a48924u,0x44802c0cu},{0x6315054bu,0xc4927864u,0x4d4b05d2u,0x4b766e1du},{0x49f26d87u,0xbf28e187u,0x65f624bcu,0x4a5955c9u},{0xa45e530eu,0x2274a18cu,0x8ee74a32u,0x9ea8c7c9u},{0xb1d8272eu,0x2708d1eau,0x1d404021u,0x2d25cc65u},{0x3ce47412u,0xd526d8b4u,0xe22d0c3bu,0x11a593f3u},{0x2474841bu,0xe4f817cu,0x550ad4u,0x314011a6u},{0xbc368a5du,0x67c6cabau,0x465c9625u,0x5705b6d1u},{0x52cb6cc9u,0x7ac46b2eu,0xd6ea37abu,0xad22d46cu},{0x1cd88362u,0x92042c6eu,0x273ac56bu,0x99588546u},{0x258684e0u,0x65d4c40au,0x9ad01454u,0x10d21799u},{0x552444bau,0xfd73a75fu,0x2ad2db30u,0x9abe1313u},{0x51a39420u,0xd8967213u,0x2615317u,0xea900467u},{0x34521596u,0x916aae93u,0xcd74dd03u,0x19d0ac65u},{0x487f9f4fu,0x74354008u,0xbf61804bu,0x1daaeb07u},{0xce897644u,0x251d9559u,0x75b93715u,0xc6eabaacu},{0x8b151f4du,0xfb6d933fu,0x1b980d1cu,0xa2fa45b2u},{0x8d4ab2d0u,0xec8de9c7u,0x279c6a0du,0xccb0b08bu},{0xf4d8011bu,0xd2d05693u,0x1aa073b1u,0xe3d3dd29u},{0xa6516974u,0x6b3d926bu,0x26bf4372u,0xf48f6be8u},{0x71dec166u,0x63f58da5u,0xdd7d89d3u,0xc1bab728u},{0x117ed30u,0xae318d9u,0xe6c4856u,0xc5fa8400u},{0x9e514856u,0x5a45aaaau,0x88045facu,0x40120980u},{0x10656975u,0x7d3b0e77u,0x6235a8e9u,0x532a504bu},{0x66d1d12au,0x647109e6u,0x1c921605u,0x8f46e337u},{0x5d4eb58cu,0x848472a4u,0x50cdd161u,0x738f628fu},{0x4506caaau,0x871b2507u,0x674368aeu,0x14b17e57u},{0x44fa3bu,0xe4bd1d8u,0x3a76b1cbu,0x6cb63938u},{0x8dc6a2a4u,0x6b656864u,0x464d1a11u,0x876af35au},{0xf18c8b73u,0xb2d8940au,0x211e233fu,0x8a8c2a31u},{0x2a847224u,0x39938583u,0x4192418au,0x8fda103eu},{0x86d3a7e2u,0xc0ec4c5du,0x47ba968eu,0xa58d984eu},{0xd86868du,0x5d5c6e1eu,0xe169b1b6u,0xa41a1ac8u},{0xbcdc4a75u,0xd96a488au,0x3827f269u,0x8468906bu},{0x248efc5cu,0xba563996u,0x44425158u,0xbb0e98bdu},{0xa400d18au,0x61a2e0dbu,0xde4ac751u,0xb5966e5eu},{0x358baea3u,0x7597afd0u,0xe296c472u,0x1305d064u},{0x53199622u,0x739311d6u,0xca51392cu,0x459a9331u},{0xb45ccea5u,0xe2dd1ab0u,0x63a91cebu,0xb59b5d76u},{0xb74daddbu,0x88e0f925u,0x946e73beu,0xd5d2b4f5u},{0xb53a5962u,0x598d6c20u,0x9cece403u,0xcaf29f2fu},{0xe20286cbu,0x8864ae16u,0x2dab1f29u,0x2648fc51u},{0x163488e9u,0x28ef729cu,0xd26376aau,0x4402fab2u},{0xc513716au,0xe9518954u,0x64313b10u,0xe21424bdu},{0x104a163au,0xd1cea263u,0xa9190816u,0x5b99e09eu},{0x6cb151adu,0xab293eb6u,0x4facbb8fu,0x1ea3db26u},{0xc64aa9eeu,0x932b2d8au,0x84769a0cu,0x4a496914u},{0x42d65eb5u,0x3b620022u,0xfd660140u,0x8c9a075du},{0xde3dfb34u,0x4088e015u,0xe4898ec4u,0x9a6741aau},{0x98eae250u,0x8d23c964u,0x74238c39u,0x157cc439u},{0x8e865224u,0x5d5db148u,0x68c4682au,0x58632e92u},{0x6e6a672au,0x1248c3c5u,0x791cf48du,0x6b6529b8u},{0xce8fa4abu,0xfe7e874au,0xf2c94414u,0xa42b91bcu},{0x8276592eu,0x53109ecfu,0xeac84625u,0xb7da8d9au},{0xd5c1b894u,0x6e14344bu,0x36b2c7d5u,0x9d8bf2d8u},{0x543d93eu,0xc18baeb3u,0x387845ddu,0x80accc93u},{0xac51a9bau,0x78ad6u,0xb32deaa1u,0x67a2f2a1u},{0xccc83529u,0xd4529c55u,0x9f0b09c6u,0x326c9671u},{0x2b54a3e1u,0x3c4a1e51u,0x3179f2a5u,0x11926cdau},{0xc4cfa2a2u,0xa2889faeu,0x88f4f0a4u,0xfc0b2d23u},{0xcda92f89u,0xe261d95du,0x1146c45du,0xc16d5a9u},{0xc7339908u,0x34473e33u,0xda82d9b2u,0xe5629c44u},{0x84a2a0a4u,0x989b3dabu,0x15845f0bu,0x57b6da65u},{0x18f244a9u,0xba1cce8fu,0x265a4dd2u,0xdd378722u},{0x3d165a02u,0xb94f39dcu,0x5664bd7bu,0xa55b8d66u},{0xca888165u,0x3570b648u,0x68d040bu,0x551dab19u},{0x2b322080u,0x611aa742u,0x2e20022fu,0xd6201a13u},{0xd7b44eccu,0xbc6d850cu,0x10a0d41eu,0xc969d7a9u},{0x80dcc96u,0x9e095582u,0x4e45fd55u,0x28d5b4fbu},{0x72b57a59u,0x1f52d51du,0x4eccacf9u,0x7c02a99eu},{0x17d365d7u,0x22ba1d14u,0x2bdd4c54u,0x2484c401u},{0xb6c61071u,0x52718a37u,0x1ceb5965u,0x54b73309u},{0x9035744au,0x4a053801u,0xb2c717a0u,0x1306e75u},{0x1f04116du,0x54b63306u,0x25646e46u,0x2c43015du},{0x46c66527u,0xd69a7b6u,0xd2b2386cu,0x63c5cc8cu},{0x23130c4eu,0x54d205b0u,0xabbab3a2u,0xa5266541u},{0xae93ae95u,0x7dd9306bu,0xe440090eu,0x348846e0u},{0x117eb100u,0xd09ebda2u,0x7665e36cu,0x28682761u},{0x1c222d1eu,0x572862e8u,0x3d918b86u,0x26a26b68u},{0xc9d94c56u,0x63ce3adeu,0x961ce8b5u,0xc9a9177au},{0x2c142a75u,0xb89e24b2u,0xc45a126cu,0x321bcab8u},{0xb7f554a3u,0x56d3edcau,0xd5e9647du,0x4b54753bu},{0x32b3e5f0u,0x88045fau,0xcc028960u,0xc2f96511u},{0x81686452u,0x2e2df560u,0xeac3b6dbu,0x72b15a98u},{0x2f52ce87u,0x9bb26f9u,0x7c00d20du,0x741b1d0u},{0x6d717166u,0x174a35b9u,0xadac4ce1u,0x8aa0b465u},{0x269c98abu,0xada2e754u,0xa9c94a9au,0x4eb5d788u},{0xc6c8d6a0u,0x122ab493u,0x3a00117eu,0xb9001b63u},{0x9c5a2319u,0x75ca37c7u,0x34e2e508u,0x47347b29u},{0xd46e758eu,0xfb8b0501u,0xf16f4b07u,0x559dc65du},{0x959b27cdu,0xd53947d3u,0x384cf318u,0x4209a68u}}; const uint4 Q16[128] = {{0x904f0de0u,0xab343924u,0xd722a809u,0x4e732d1eu},{0x8d28272au,0xab6ac9d9u,0x2c665b18u,0x54cbf64au},{0xbd8f1008u,0xbf5e804eu,0x20d8de9cu,0xe5e3498au},{0xfce69b3u,0x46329944u,0xe760bdb5u,0x46905f14u},{0xeab27571u,0x5b6dc8d8u,0xad2c1b2bu,0xef438e6fu},{0xf2f8041u,0xfda68144u,0xeae8ea32u,0x1291cb6fu},{0xc717ba6au,0xcb12ac97u,0xa9514c74u,0x41ae93acu},{0x84d44022u,0xfd860070u,0x345331d0u,0x726503d9u},{0x4c4a8dc0u,0xccfeb703u,0xd3aae714u,0xe2b69371u},{0xdf5db955u,0xc4fc6bb1u,0x26cffcccu,0x797c0120u},{0xbf045551u,0xa656eba6u,0xab05f4b7u,0x312dca29u},{0x5552b973u,0x3cb5008bu,0xf6380664u,0xfbb6a60du},{0x8cd9d2b1u,0x4dcba756u,0x96c1ab71u,0x77d1c5ffu},{0x93687667u,0x3cbe0068u,0x865230e4u,0xca27b498u},{0x761bd402u,0x2fd9a012u,0x816aba23u,0xf654668bu},{0xc6352f24u,0xeda2f3acu,0xcd7e8db1u,0x23ddbc97u},{0x73fa13bcu,0xc6007866u,0x52b8a4cau,0x17b0a8d5u},{0x1c95aa01u,0x17ed7009u,0x23b54cf9u,0xf7a71478u},{0xb616351du,0xb45a6dd9u,0xafaf3a8eu,0xacd66e69u},{0x6a67fcc2u,0x780661u,0xb970481cu,0xb068f614u},{0x99aa0117u,0xedb00025u,0xa6cf15a5u,0xcb1e318du},{0x7ce754f7u,0x176e2cc7u,0x4ec69a3eu,0xabb9da95u},{0x846f9a40u,0x6e4c646u,0x398b48f9u,0x3008bf74u},{0x804d0d52u,0x4834c38eu,0x4a748561u,0x2f77d2f5u},{0x6db3b69fu,0xec7a7687u,0xf3b1e6b0u,0xc88045fu},{0xbac02706u,0x91251270u,0x8c71583u,0xcecc6b61u},{0xb3aecf4fu,0x8cfdcaf1u,0xfbce2019u,0x8bf74u},{0x80688792u,0x2cf98b73u,0xd22b91fu,0x2fe4f2dfu},{0x5bcd2ee7u,0x759fbf36u,0x8062c022u,0xfdde01a1u},{0x123034a5u,0x98291de7u,0x6e2dea39u,0xd4ed47f1u},{0x937ad0e3u,0xe6d0044cu,0xb3554cb1u,0xd5c3e3a2u},{0xd452842au,0x4fce2802u,0x2fdda01eu,0x2deca99u},{0xa63cca91u,0x785c6d89u,0x2f0f708cu,0x43ade8c9u},{0xb577fc87u,0xce200392u,0x56462dd0u,0xc5746c92u},{0x8b655c4eu,0x4fd7e365u,0x5a3e3aa9u,0x4ce4a388u},{0xc031c705u,0xaa398804u,0x5fbbc03cu,0x5bf8874u},{0x5e8c2b43u,0x2a1c9816u,0x1575cfb4u,0xe4238e34u},{0xdc4651b7u,0x3ff79c40u,0x728aa9eu,0x5aa10928u},{0xb955074au,0x7656b558u,0x31d9a2f3u,0xaa8c751cu},{0x7f0c898u,0x87194279u,0x6922294cu,0xb4713ca2u},{0x6b26b6cbu,0x3155c230u,0xd6bf4f22u,0x523d8d4bu},{0xb0259f43u,0x66b3ed5cu,0x8f4c34cfu,0x68f71adau},{0x3e9e30a6u,0x362c3656u,0xe7e13cb6u,0xaa3afaabu},{0x91e9c6a1u,0xed9ecb9du,0x47d3c695u,0x44bdb6cbu},{0xc1f56ea4u,0x6654c55cu,0x8f4e350fu,0x6d169cdau},{0x3e8e38acu,0x991e775eu,0x7b33ea02u,0x49ec957bu},{0xae8dcde8u,0x8045fbacu,0x348145cu,0x966396c1u},{0xe126854bu,0x929462cfu,0xff475e6du,0x24b294u},{0xfcb91065u,0x734a3659u,0x39acca4fu,0x1747babcu},{0x18cdd179u,0xd14a1b41u,0xc5105c51u,0x568642bcu},{0xb62104ebu,0x52b31487u,0x5cb8baa6u,0x785f4d97u},{0x5c8ae91fu,0x63148565u,0xa45aaba4u,0xf35d3740u},{0xc6742ad9u,0x928c34d0u,0xd4bf6083u,0xe0abf02cu},{0xa2b235bau,0x494e16ccu,0xf49268a3u,0xb97aaba2u},{0xe79dc031u,0xe0117ef1u,0x921d11u,0x93479f36u},{0x9986e645u,0x1bcecbadu,0xcdbf3f0bu,0x7d2ef200u},{0x8bf76805u,0x2366cfc4u,0x382eca0eu,0xc9632d13u},{0xd9359659u,0x7aecf89cu,0x963a5516u,0xd196df73u},{0x4e64e597u,0xb6cfa3d1u,0xe6af364au,0xb87a844au},{0x8e4ea96cu,0xa9d16837u,0x39345051u,0xd60a0d12u},{0xb9391c19u,0xb67b92b5u,0x9caa767u,0xfaa9eceeu},{0xbe6d0005u,0x7bc59886u,0x7560be7bu,0x44daa931u},{0xd727c0ecu,0x6a91946bu,0x6742cd13u,0x2e623b0du},{0x369acaa3u,0x50e4d839u,0x379dcdbdu,0x44a4a12u},{0x52ac51bbu,0x1680117eu,0xed00a228u,0xc820a42eu},{0xd6b1387bu,0xa7a896b1u,0xecaad3d7u,0x86c9cd2au},{0xe536d661u,0x9ac3cde0u,0x91ef497u,0x9a88e817u},{0x50389c7u,0xf655b66bu,0x734631e8u,0x6184612cu},{0x650d875au,0x11281c8au,0x5899c372u,0xb6374307u},{0x253cd6cbu,0x71b4d96u,0x876d75d4u,0x8c175ad3u},{0xf8b4ab06u,0xb366c980u,0xdf291719u,0x60cf56c7u},{0xcc0ea53cu,0x64a7f33du,0x1c02c5c7u,0xc5cd86d9u},{0x4a104e6au,0x68d6211du,0x213c6c3cu,0xddc7c7bu},{0x49e5f31fu,0xbc95f361u,0x2aa3edccu,0x121d85ccu},{0x6abdb30du,0x335329d4u,0x8ec623a5u,0x592a5900u},{0x45fbb402u,0x786512edu,0xab9343b4u,0x6a891a17u},{0x1361ecb3u,0xe4258ee8u,0xe672ea19u,0xae6bff39u},{0x9f9bc005u,0xe8744c4du,0xb243fa74u,0x6b5489e5u},{0x44329d79u,0x3e8dd8cu,0xf549b2du,0x46cc226cu},{0xa1bfa7c1u,0xaeb648eau,0xd1ca0cdau,0x6220c154u},{0x19126cccu,0x580bbae0u,0xee5b0337u,0x37a00ae9u},{0x62bad8acu,0xc690045fu,0xbac02886u,0x61710daau},{0xd34db160u,0xc744ee0bu,0x6b7bb693u,0x939553cfu},{0x715359ddu,0xbcde0095u,0x972e1ec6u,0xa5c783e5u},{0xe6761555u,0x8ef146ecu,0xaca1e5e4u,0xec8b0cabu},{0x2d15da2u,0x508eb443u,0x938204aeu,0x962bad09u},{0x2955b946u,0x20117eedu,0x1f016f6u,0x25c57640u},{0x2f14ea70u,0x58d94dc6u,0xba5386b9u,0x489fd6c5u},{0x8c4af464u,0xda7c0645u,0xe6f0014au,0x282a8ff3u},{0xce29a5e5u,0x64bd154du,0x225f1a96u,0x222c1fb5u},{0xde69e2bbu,0xb491d2c4u,0x94a19d69u,0x1008bf76u},{0x8068c2c4u,0x3b2f4305u,0xb1cd3a85u,0xe36d4e77u},{0x59f05028u,0xa91b0b49u,0xd62cceb7u,0x34d951d7u},{0x7e49a7ebu,0xce20028fu,0x2b0e82efu,0xbc8f2d88u},{0x51ba4caeu,0xd588045fu,0xba403c0du,0xbd7765e9u},{0x20be430au,0x86c26db6u,0xd4579397u,0x3ad0e3dfu},{0xd2acfedeu,0x6d002cf1u,0x816c571eu,0x37642926u},{0xddda0aeu,0x953aada2u,0x117eeb0u,0xeff6fe2u},{0x1e17b3c7u,0x6c953224u,0x5c771b76u,0x4cc3e4e8u},{0x51bbd64bu,0x4ff9ac7cu,0xe2004a83u,0x80d022d5u},{0x13c5913au,0x34a54e8cu,0x5c60045fu,0xba40289fu},{0x3a42c5a7u,0x3c5b854eu,0x4a37aec6u,0x1b564ed2u},{0xad34b3ddu,0xd22abd93u,0xef37801au,0xd1101311u},{0x97f04b5du,0x229538d0u,0x8bf7580u,0x66c4a276u},{0x9585d13eu,0xe5848b12u,0xcbaececeu,0x13a5a9d6u},{0x2be2bbadu,0xc91df378u,0x2ed7d5u,0x24b3577du},{0xa6c50963u,0x29ae53c0u,0xc13ad96cu,0x96cf647cu},{0x58045fbau,0xc033a152u,0x3353427eu,0xd973934au},{0xcb6f46c5u,0x53d3a650u,0xef19055eu,0x47ff9c40u},{0x188d29au,0x35eb03b1u,0x16562ca5u,0x4aea635au},{0x219661bdu,0xb8da35a2u,0x8738c008u,0xbf768067u},{0x8fa01a62u,0xd01fb158u,0xe0b1b2cbu,0xafb13561u},{0xf29428b9u,0xbdf358d3u,0xee6f1f37u,0x801321b5u},{0x947b3319u,0xd2c0c668u,0x2c92a0e8u,0x3217b554u},{0xe1662011u,0x7eeb00f0u,0x16ee21d9u,0x7f3275f3u},{0x18520f0bu,0x6db51661u,0xf272c74au,0xaeff97f7u},{0xec83cde0u,0xcf794du,0x329c0f4u,0x39b328d4u},{0xb120d92cu,0x4eece574u,0x1adf2201u,0x17eed00fu},{0x16e450eu,0xa0a2a1c1u,0x8569565eu,0xeb4e96abu},{0x6f4bde7fu,0x7ce654b3u,0xe7100c78u,0x45fbac0u},{0x342166cau,0xcf98a79eu,0x6ac6b2ebu,0x56a7d53eu},{0x975d0e79u,0xcd743879u,0xcc028011u,0x7eed0040u},{0x4636a0ecu,0xd8566540u,0x3aa4edaau,0xebed497du},{0x4337925du,0xa599da17u,0x51d3f034u,0x9df22802u},{0x22290eaeu,0x9d06c6c9u,0xa9725a4du,0x8e86de90u},{0x737a4798u,0x5d1f7714u,0x8565a45au,0xaba4f35du},{0x3740c674u,0x2ad9928cu,0x34d0d428u,0x62fcd201u},{0xfb8b53du,0x3562ea99u,0xe17d365cu,0xc9b0045fu}}; const uint4 Q17[128] = {{0xbd400eb8u,0xc7edae50u,0xad0b3845u,0xd9501296u},{0x1571b6a2u,0xec4f1feau,0x66926bf4u,0x753b04edu},{0x3e9bc811u,0x11e9cfa5u,0x51659469u,0x5d1acf44u},{0x9238269cu,0x6c2a3504u,0xe6647e34u,0x52159691u},{0x6aae93cdu,0x74dd0319u,0xd0ab664au,0x30d34350u},{0xa58bf3b8u,0x4f822eau,0x99e1712du,0x7b0045fbu},{0x64031e75u,0x9ab2678au,0xe1f382d9u,0x91092969u},{0x375d6e8bu,0xf9d8ab99u,0x493167fbu,0xafedbc06u},{0x8e52b113u,0xe2e4d4aau,0x361288deu,0x9a73b0b8u},{0xd40b9d51u,0xf9f14856u,0x5a45aabau,0x4f35d374u},{0xc6742adu,0x9928c34du,0xd42a62fu,0xd02012e9u},{0x8baa6785u,0x85d0022fu,0xd8a01191u,0x6e3b1073u},{0x85d99511u,0x4965575du,0x6e6cd9f9u,0xabaa4932u},{0xd1fcedddu,0x9d2cec20u,0x3c829d99u,0x1a9526a5u},{0xc9a8fa3au,0x237a7a12u,0xd262d42eu,0x6547edc5u},{0x21596916u,0xaae93cd7u,0x4dd0319du,0xab664a3u},{0xd34350au,0x98bf4c80u,0x47d62ea1u,0x9875008bu},{0xf7180304u,0x65a22a70u,0xf423dda8u,0xf524f2b2u},{0xeb736f4fu,0xc37f4b8cu,0xa499e6f3u,0x3fc7b7c0u},{0x928b29cu,0x5699d3a5u,0x9138a0b5u,0x3646c78u},{0x45fb7c0u,0x3c05b924u,0x1a92d733u,0x8f4cf619u},{0x624cfa3bu,0x5bea37cdu,0x61dfb24fu,0x708011c1u},{0xb50a5951u,0x165478d6u,0xe60961d7u,0x9e73493cu},{0x6cbad497u,0x87c2577fu,0xc8b39de7u,0xf6f73804u},{0x4022fdbeu,0x1a10e2du,0x6c3309a3u,0x3aec2689u},{0x4625d75du,0xa55c4fceu,0xaf29df8cu,0x5b6e7befu},{0x74801235u,0x8516b74eu,0x1f47236au,0x42315a54u},{0x688986e0u,0xda4739adu,0xcc829d35u,0x8f28efbbu},{0x59cc1de6u,0x3cefa90eu,0x7f3f7480u,0x1e74d63cu},{0xa3beed42u,0xe3a4dd88u,0xd0c8e74du,0x63ca3beeu},{0xd22cc32au,0x754747d8u,0x8045fb74u,0x3421621u},{0xbd765836u,0x291c524du,0x3b8dbd16u,0xe9f512e0u},{0xd895259du,0xd644b333u,0x50ae9663u,0xce512667u},{0xbbea439fu,0xcfdd2007u,0x9d358f28u,0xefbb4249u},{0xa954c99bu,0x988045fbu,0x7403c0dbu,0xf886f578u},{0x86dda471u,0x585866c5u,0xfb344e16u,0xe73679deu},{0x3319bf9fu,0xff758009u,0xc13dbb48u,0xe1c14f9bu},{0xe80f6a8u,0x5716a500u,0xe5245a3au,0xb1240117u},{0xedf00d10u,0x7a716b04u,0x6aa479dau,0x7598d8a9u},{0xf2938859u,0xbda47b37u,0xc4fefba4u,0x74a6a1u},{0xa8efb563u,0x6a2de149u,0x46573ec6u,0x91cc3245u},{0xbea4a366u,0xe3289e40u,0x117edd00u,0xd181a822u},{0xb0c6ac3bu,0x2bb2fb53u,0x6e9eeb3cu,0x8d3f72f7u},{0x1f79bc73u,0xd9fbac00u,0x7526c0a0u,0xbd9acccau},{0x39e94e99u,0xa24e1c76u,0x2920da6bu,0x95aaf8dau},{0x3b5cb98eu,0x6a2483e2u,0x9b03170eu,0x90c1245au},{0x28daec05u,0xd35cf6bau,0x2d36a87bu,0x62ea8120u},{0xf8a6c0c5u,0xc39a363cu,0x63d526c5u,0x482e5ac9u},{0xa649b16fu,0x6bdb5754u,0x907c536u,0x62e1cf9u},{0xc078b34au,0x39922d86u,0x32718e7du,0x5d53e6d1u},{0xc5056891u,0x67f657e2u,0x6b3794ffu,0x7ba40075u},{0x46c290bdu,0xac13ab10u,0x6eb2b0cbu,0xcfb525e9u},{0x6e40117eu,0xdf00d10du,0xab0924f8u,0xa6c0c5c3u},{0xab386b12u,0x6a37ba49u,0x6e9a6b2au,0xcb2c935bu},{0x6a56efb5u,0x214a2459u,0xfd95f89au,0xcde53fd0u},{0x898bf748u,0x2a5c213u,0x901f078u,0x2629a89au},{0xcdbd5945u,0x74a31d93u,0x6d221b28u,0x8d3239d1u},{0xa8f5195bu,0x828c6b12u,0x6b46b305u,0x94d74e1au},{0x536ca27bu,0xa576b2b8u,0xa8721b12u,0x2df1b4bdu},{0x3f0e88f3u,0x6f809e78u,0x8ab4e380u,0x58d15aedu},{0xa137323du,0xd591da36u,0xb678f433u,0xe577ddc1u},{0x897e3749u,0xd866ca1bu,0x38a381eeu,0x871cc611u},{0xf337b101u,0x8bf6f802u,0x43fd0e7u,0x54aa23fau},{0xcd27c1du,0x8dca6a16u,0xb329a01fu,0xe7c3e25du},{0x1bfd098du,0x80f83b1bu,0x94d42d66u,0x56b0c33au},{0x518ea96au,0x87f9a096u,0x6707c22bu,0x9c1fa7e9u},{0x91ff2892u,0x48c937a8u,0x7e1af29au,0xeca04b7fu},{0x4276ec00u,0xf83b1b94u,0xd42d6656u,0xb0c33a51u},{0x8ea9b691u,0x83c624c8u,0xc93bab18u,0xd99b5e3eu},{0xafe708c9u,0x74a25a8u,0x8bd591acu,0xbd028badu},{0xc1ee7006u,0x7a1af29u,0xaee604d7u,0xcc2768c0u},{0xf83b1b9u,0x4d42d665u,0x6b0c33a5u,0x18ea9bc8u},{0x18bc63ccu,0x8c92b4c1u,0x1598dc7bu,0xf68e0bccu},{0xd06da1dbu,0x98ff9cc3u,0xa9f5cad4u,0x3fb14563u},{0xa2275dafu,0x29aeea04u,0x90b6309bu,0x554b69e8u},{0x3c6d318au,0x8bf41801u,0x4498cd79u,0x4d6f4106u},{0xcd73a279u,0x9e13eb96u,0x23659a6fu,0x1d054e60u},{0x9bf5222fu,0x13e2eb14u,0xa999fb1fu,0x367a301u},{0x54e40b69u,0x32036993u,0x193c7821u,0x7fe4500u},{0x6442418u,0x33912ccu,0x92d73087u,0xc1d8dca6u},{0xa16b32b5u,0x8619d28cu,0x75d5e390u,0x9c51e445u},{0x51da5889u,0xf565f625u,0x18a8bf3cu,0x801c476cu},{0xd794d775u,0x1d14889u,0xd677a385u,0xcb11b2cdu},{0x378e82a7u,0x324df510u,0xd7a8e363u,0xbaaea8ecu},{0x7e2b8e2bu,0xc145a11du,0x4845ff93u,0x40018ed2u},{0x62062b1cu,0x1c031613u,0x9002e10u,0xecc92d53u},{0x87c1d8du,0xca6a16b3u,0x2b58619du,0x28c75d59u},{0x38c1a40bu,0x239cee24u,0x6366965eu,0xfa44551bu},{0xa42f6b0u,0x3f45db61u,0xec46cbfu,0x13767eeau},{0x67cecbb2u,0xaea8eab9u,0xf57a476cu,0x5d0ecd8eu},{0x260af95du,0xb7500295u,0x6c4e366u,0xff285584u},{0x9ccc7b8cu,0xba9964a9u,0x5aedc4e9u,0x74922539u},{0xf68400dau,0x3b1b94d4u,0x4c674eacu,0xc33a8d6eu},{0xaab26083u,0xc3447a5u,0xa7e6b28u,0x9acde53fu},{0xdee900c4u,0xd59fba97u,0xf372ecadu,0xaa5a70ebu},{0x328ed8bau,0x1d1b1c4cu,0x15f2bb6eu,0xa00593bdu},{0xbac8022fu,0xdbe01a31u,0x3561d619u,0x2995e37u},{0x196e4ad2u,0xe0a756a5u,0x6ac24ca2u,0xa5362ccfu},{0xcda7a3dfu,0x545a38a8u,0xf485c774u,0x79a8dce9u},{0x6d35d16u,0xca1dbaa8u,0xfafb2315u,0x7371eedu},{0x8d1bfcu,0xa156122au,0xc9dea619u,0x2a56bb71u},{0x3a5d2489u,0x4e7da300u,0x80045fb8u,0x4022e0fbu},{0xa32b5646u,0x3e1cfe91u,0x9c2f6b13u,0x57cfd36du},{0x5d370edau,0xb947b5b4u,0x5b84a3d2u,0x30f088ffu},{0x76804e31u,0xc667edbeu,0x592b1412u,0x8cf23289u},{0xa5794fb1u,0xd8cd95e1u,0xf8762631u,0x76fc011eu},{0xfc9cb4c5u,0xc9983234u,0xc18a2632u,0x4192d53eu},{0x31cf6c9bu,0x3fdb3637u,0x8b1b189u,0x48e68804u},{0x5fb7c012u,0x18d82354u,0x234ecbadu,0xcd9d4707u},{0xd54cfeccu,0xed2d4de2u,0xae35e30fu,0x8aff748u},{0xdc9ab2u,0x9ada8690u,0xd332264du,0xf136c763u},{0x3695c6d1u,0xd094e70au,0xa970838u,0x903e8ac6u},{0xc635935du,0x95ac2892u,0xa362aed6u,0xf48ab442u},{0xb122508au,0x851ce7cdu,0xc7ca6652u,0xb5942b75u},{0x52d954c9u,0x35aea9f2u,0xdbc696e2u,0xd6488de2u},{0x117edf0u,0x40c5d0du,0xa8fafb71u,0xafc6e765u},{0xa586df8du,0x9b2b67e4u,0xd59fca57u,0x236a67b3u},{0xf87ba400u,0x4e4ee39au,0x99a26a3bu,0x25cbc375u},{0x59a93a2cu,0x5149cd59u,0x5df77020u,0xc5710162u},{0x958d65e8u,0x3c6d0671u,0xc22021acu,0xb633c6cau},{0x66f84ed3u,0x801f0562u,0x539a8dacu,0xdad51857u},{0x4ab95577u,0xd0217082u,0x88e74625u,0x86c74d99u},{0x597ba562u,0x148b3523u,0x9526b655u,0x2d9746a6u},{0x516d9310u,0x8bf4380u,0x186eaa87u,0x662eba59u},{0x2fbb69e6u,0x7685d457u,0x851f6f20u,0xd111a816u},{0xb8f18fa6u,0xe7569dc7u,0xdfa57c1fu,0xcb79fda4u},{0xf63e26feu,0x7f7dce01u,0x54880694u,0xc35c498bu},{0x1949dc09u,0x488db21fu,0x35e535bdu,0x39b7590u}}; const uint4 Q18[128] = {{0x937f4bc7u,0x47973073u,0x1a85752bu,0x1a89db4cu},{0x64cb64b8u,0xc9b1dd9bu,0xa95b8b8bu,0x202a298du},{0xd4774b0bu,0x75ab6578u,0x7f1d0d8cu,0x91e09441u},{0x848303e0u,0xec4a6352u,0x35993ab3u,0xaca56b2u},{0xaef9e818u,0x6e645239u,0x6719dd10u,0x8bf3f80u},{0x18646eadu,0x3ced0b0cu,0x9a7aad8cu,0xd2e4bc87u},{0x42987a3du,0x6b48e5fdu,0xa530ed38u,0x27c5efe0u},{0x11fb59c6u,0x15cee12fu,0x6aca6db8u,0x81149af2u},{0x9f63b15du,0x2bf368a8u,0x488524abu,0x8c8680c2u},{0x9fa5bb25u,0x3c5ba784u,0x71ec1e16u,0x3e8ec6cu},{0x6349319bu,0x5ac30ae8u,0x572aaad9u,0xca68d428u},{0x3ed2801fu,0x4763631au,0x498cdad6u,0x185742b9u},{0x5535ce12u,0x16aca6dbu,0x8811c4c8u,0x96196112u},{0xf765aca3u,0x6c7a5b7au,0x69eeca45u,0x648c6d8u},{0x96bfca1du,0x6188ad2du,0xbac66c80u,0xecee3d82u},{0x5ac8778bu,0x8b9f29d7u,0xcd3e2d96u,0x5acd62aeu},{0x2f63aa65u,0xb71da54u,0xa27b0944u,0x1dbc54c3u},{0x5d8ae95fu,0x9b454253u,0x99801f55u,0x3ac30928u},{0x46a2eac1u,0x8224d594u,0xdb710238u,0x5d12c32cu},{0x225eecb5u,0x946d8f4bu,0x6f4d3599u,0x65a2b164u},{0xdb11e7f9u,0x43ac310du,0x2839994eu,0x70161dc7u},{0xb047990eu,0xf17172f5u,0x3af9a5d6u,0x2a8f5ba4u},{0x55c5ec75u,0x4c656c0au,0x53503851u,0x658f1530u},{0xd762b695u,0xa6e1d0d4u,0xe7da5003u,0xe92d1001u},{0x7e49004u,0xe36dcea2u,0x310dc385u,0x2000406cu},{0x60109b21u,0xda164ce3u,0xa4e64b1u,0x996d600eu},{0x1e0b12c0u,0xc8a75d5u,0xa2c6790eu,0x89de3658u},{0xf099a6abu,0xa5364c05u,0xdd816ad3u,0xd543a241u},{0xf1751117u,0xf962ae4au,0x913cd95bu,0x7b4048e6u},{0x71c648c0u,0x83db409u,0xd6d39926u,0x721b0b0au},{0xe84b0932u,0xacd2032bu,0x2552195u,0x6ea96289u},{0xc72961c8u,0xddeaa432u,0xc7a52383u,0xc402a2d6u},{0x64adc800u,0xc8c6560eu,0x93c69080u,0x3ad2d1a4u},{0x2b47a0u,0x61d8be2u,0x3ad544c4u,0x1448041du},{0x88271b6eu,0x64914c8cu,0x3d2b9811u,0x61cb91d0u},{0x943b2d9cu,0xe7614928u,0xc8b53999u,0xe40aef65u},{0x34cd34f1u,0x6e8bd185u,0xab1718fcu,0x6e74725eu},{0x7dca37d1u,0xe5ccfed2u,0x3d1ef9cdu,0x91dee900u},{0x4bbea8a8u,0xb150dc09u,0xd48c1b23u,0xad5cc845u},{0xb2e5ac9bu,0x34aa8b4du,0xb97abae4u,0x25a64688u},{0x9600117eu,0xdd008803u,0x7ac670c6u,0x314d549u},{0x1508f200u,0x8bf6e807u,0x82366a8bu,0x12ea6c94u},{0xb0cb8fbbu,0x567cfc16u,0xea727f09u,0xd18c6fceu},{0xf9ee9001u,0xcb311315u,0x46c15a3du,0xdd56a949u},{0x47e0da15u,0x4e385a46u,0x75e2b31cu,0xe81b8b89u},{0x20348022u,0xfdbe01a1u,0xf4a3c5bu,0x14632b6cu},{0xc621c4d8u,0xeab4b2dbu,0xb1b3657cu,0xece97599u},{0xa8c6b767u,0x3df74800u,0xe498cf6bu,0xa2f91c6fu},{0x8672b0bu,0x489918eu,0xaa89014du,0x3c9f4cc6u},{0xd1ca548cu,0xa63ab650u,0x91008bf6u,0xe80780b7u},{0x22d2c12cu,0x5703886au,0x353b2d2eu,0x3761257cu},{0x1fcb9a7cu,0x66f6316du,0xf9ef3dd2u,0x38f623u},{0xdb68fc19u,0x1b821a46u,0xcae34848u,0x56f6c151u},{0xd2e7564u,0xa0cec687u,0x662c63a8u,0x563bad32u},{0x3444b659u,0x333ab12du,0xbafd5ff4u,0xb06c3b1au},{0x1995d2b7u,0x2a85acb2u,0x3486d659u,0x3649bd2cu},{0x3efd1bc9u,0xf3ec8022u,0xfdba01dfu,0xcdcef76eu},{0xe2989d4u,0x6c4d06e3u,0x10dba1fbu,0xdd20117du},{0x42d86337u,0xd6593949u,0xbcedbae4u,0xdbc9f3e8u},{0xdbd0ccc5u,0x9328a48cu,0x6866363bu,0x5234c4c2u},{0x706f3318u,0x14e36b45u,0x5c1da818u,0x8c58c656u},{0x51a9346au,0x548eb10du,0x6c746a5u,0xb7dbb52du},{0x1f9b767du,0x9bc22dacu,0x730fa132u,0x20117edfu},{0xd08918u,0xa70cff7eu,0xe900c5b7u,0x334b1694u},{0xe5b4f353u,0x33d6c4aau,0x627e975au,0x7ce77891u},{0xacaaa4d9u,0xa9344913u,0x83795ce4u,0xa788045fu},{0xb7c03402u,0x5dbd9258u,0x3507a9e8u,0x8da36196u},{0x62dca462u,0x1e931cfeu,0x12f79ef3u,0xdd600290u},{0x304e0ea8u,0x704e0dc4u,0x73935620u,0x117edf00u},{0xd0858870u,0x60962d71u,0xe5349bc2u,0xcb6c3eddu},{0x1395933cu,0x9f8a3d9du,0xf91dcffdu,0xeeb0014du},{0x9a0ae2beu,0xd584e0d8u,0x36413564u,0x117edd0u},{0xd10fa63u,0x6ec89fbbu,0x4920c1b6u,0xbb6fb544u},{0xe1ae53c7u,0xb3719fdau,0x6ee518d7u,0x37b9ecfdu},{0xda0037c4u,0xc06aa55du,0x5088c976u,0x73e3293au},{0x3c33964eu,0xca633a98u,0xcd44b330u,0x2a2380c8u},{0x9ed5512eu,0xeba2c2b2u,0xd8726563u,0x955b2848u},{0x8ba8045fu,0xb7403443u,0x6a05a87cu,0x4c36cf68u},{0x23c48b4eu,0xdb2e45d6u,0x9c2d4a80u,0xf8bfa0dau},{0x76651cd1u,0x9ccf3f87u,0xba401113u,0x6ca7d65au},{0x78944739u,0x15a90e56u,0x3466f1au,0x362a8971u},{0x454ad033u,0x28fce555u,0xae4d6d73u,0x923df933u},{0x1b0e88c0u,0xbc59291eu,0xca15baadu,0x8e7b639bu},{0x59347d7du,0xc8f7e4ccu,0x6c308916u,0x40f49352u},{0x89d6e9a6u,0x2a716e8cu,0x6cdbc6d9u,0xd473f266u},{0x362cd9b1u,0xa51eca26u,0xad13ae58u,0xe9a5ba71u},{0x9353bb57u,0xa9fafb16u,0x1a03ec43u,0xc01a0c8cu},{0x4763ee16u,0xd01f621u,0xe00d0b50u,0x415d823au},{0xec23fb15u,0x19924f89u,0xce7dc2c1u,0xa03ec43cu},{0x1a16a08u,0x2bb04779u,0x2c01c94cu,0xe7daf9b5u},{0x4b71bae7u,0x28694da2u,0x46dd6346u,0x7b9cc341u},{0xc22e7d99u,0x18db3792u,0xcea5a3b2u,0x48ae95a2u},{0x31f4a4d9u,0x33396775u,0xf74804c0u,0x22fdbe01u},{0xa2174a65u,0x805a1104u,0xe358f755u,0x7a2ec3e1u},{0x291efc99u,0x8c875868u,0x5a34d48eu,0x55831d18u},{0xd73db24bu,0x6d995db8u,0xf94baf65u,0x76ceefeeu},{0x900b583eu,0xbfed56dcu,0xaebecaecu,0x236704ecu},{0x1f70b068u,0xf5bd015u,0x69cf1057u,0x608ef258u},{0x6d92f00u,0x690a94dau,0x246cd1b2u,0x917e4cc6u},{0x43ac342du,0x1a6a472au,0xc18e8c6bu,0x9ed925b6u},{0xccaf597au,0x56f89fdu,0x7eed0800u,0x3e2d21cau},{0x2ba32c45u,0x1e13fbeeu,0xb009539eu,0x6ce0dba3u},{0xe00d3b42u,0x1da4d877u,0x557a2ec3u,0xe12af087u},{0x49461dd5u,0x5e8b7137u,0x693e00d4u,0x45b29da9u},{0x1cab063au,0x31ae7b64u,0x96db26dbu,0xf1309ddu},{0xb8214362u,0x98367eb1u,0x62badfafu,0xdd61000fu},{0xc6a478c5u,0x79ebdda0u,0x15008bf6u,0xf8051162u},{0x60a00b10u,0xf0067630u,0x22fdc20u,0x10da0221u},{0x61e0a00bu,0x10f0067du,0xa820edc1u,0x1bb98270u},{0x874b2b0bu,0xb0ef0069u,0xd3f5fba5u,0x6001f252u},{0x33dda008u,0xf743b530u,0x1c56574au,0x3dd44d55u},{0x5adcf6c9u,0x35b64bb6u,0x1f8f008bu,0xf7080503u},{0xc1c418c4u,0x68088587u,0x82802c43u,0xc019f6a0u},{0x83b7046fu,0x93c020f2u,0x5be00d3au,0x7ec30d48u},{0x5d2b009fu,0xef758011u,0x94ed48e6u,0xa875d35fu},{0x260117eeu,0x10044501u,0x626087bcu,0x7c78f740u},{0x442c3c14u,0x1621e00u,0xcfb5041du,0xb8237c9au},{0x1b44bc0u,0x1a76fd8au,0x8f188e01u,0x8bac201u},{0x3fdee900u,0xc40045fbu,0x7c0288bbu,0x32011f30u},{0xeb01f0d4u,0x421be27fu,0x5fa3c05fu,0x1a90e511u},{0xd1d820ecu,0xe804ff7bu,0xa4028006u,0xcf847792u},{0xc03688f8u,0x34e8011u,0x7edf00a0u,0x2eb28048u},{0xc41b633bu,0xc03c02d8u,0xf8d06584u,0x805d12d1u},{0xa309d194u,0x2c5c143u,0xdee90090u,0x1d6ce0du},{0x927e00d3u,0xa0045fb7u,0xc0288fa6u,0xa003e1deu},{0x2f5403c0u,0x2d7621a0u,0xcf07048cu,0x82e34613u},{0xe32c693fu,0x5eeb0088u,0x1bdd3f8u,0x34a4011u},{0x7edd00a2u,0x3e91805eu,0xf403c02du,0x6f8d0678u}}; const uint4 Q19[128] = {{0x4803f12bu,0xe3eeb00u, 0xa0045fb7u,0xc0223c06u},{0x31eaa805u,0xa8c03c02u,0xd5661a0du,0x30500fcfu},{0xdeeb00b8u,0x45fb7c0u,0x289c1f06u,0x511f1963u},{0x1ec28063u,0x22803c02u,0x5d6a95b0u,0x7e1ed2f4u},{0xff4bd2abu,0x418c784fu,0xefbac031u,0x20117eddu},{0xa23c64u,0x3f8b587u,0x186e0114u,0xfb6a0047u},{0x245b0f48u,0xdd5c5885u,0x4d1ed87cu,0x6c965565u},{0x9459184eu,0x29fa0df4u,0xc40a6314u,0xef9fd3ddu},{0x20189753u,0x542b92dbu,0xef51fe7fu,0x1753dcffu},{0x4aec1c40u,0x3c028b8au,0x5900f00bu,0x5be3419eu},{0x1608f88du,0x404c2784u,0xc430a189u,0x4700f00bu},{0x5be3419eu,0x1608f88du,0x404c2784u,0xca973b00u},{0xf00b5be3u,0x419e1608u,0xf88d48f1u,0x8aeb1a00u},{0x7805adf1u,0xa0cf0b04u,0x7c46a478u,0xd8b803c0u},{0x2d6f8d06u,0x785823e2u,0x35033200u,0x8bf6d807u},{0x81b6f4a5u,0x625d8d8eu,0xab4b6dbfu,0x477a7c7fu},{0x4fd3ff2bu,0x318977d0u,0x69ee9002u,0xc8361719u},{0x2ac2c9ecu,0x4c90754fu,0xc63f4c11u,0xdf44cb95u},{0xb3e4b4bbu,0x24bea6efu,0x62fa86dau,0x63484d62u},{0xa00f00b5u,0xbe3419e1u,0x608f88d4u,0x2cc8022fu},{0xdbe019f1u,0xb44341e1u,0x11018970u,0x353ab12du},{0xbaf4dfe9u,0xf998a5dcu,0xfe537258u,0xd6e6d1e8u},{0xd2ab2515u,0x89147512u,0x607b4b8fu,0x113231c1u},{0x5d438976u,0xe1900a75u,0x12b9b2adu,0x2615cd97u},{0x5d2008bfu,0x6e8067c6u,0xf036f459u,0x14e32770u},{0xd0608ec1u,0x511e58b6u,0xd64a6cf2u,0x9b2515f1u},{0x2d26c756u,0x25a75e95u,0x9b52c4ccu,0x54f4ff4du},{0xd91c91a8u,0x9c6f7191u,0xa2264638u,0x27825794u},{0x3467160du,0x98c4742bu,0x64aad93au,0x4625df3fu},{0xa7bac02au,0x4e01e016u,0xb7c6833cu,0x2c11f11au},{0x88f6f772u,0x9a8d9484u,0x964d09c4u,0x93a12527u},{0x1dc6463bu,0xaec45955u,0x8c43d4f0u,0x3ccf7137u},{0x93f1ee70u,0x88045fbu,0x6c034660u,0xe28de2c5u},{0xb4b7a9a1u,0xbb1dae98u,0xcec6a5dcu,0x110c4907u},{0x1396cbecu,0xc93a4b88u,0x45fb740u,0x33e149a1u},{0x9239b5c6u,0x1c712c66u,0xc946a5c7u,0xdca56c4fu},{0xc16ebfe8u,0xfe6ea312u,0xf19fcfddu,0x6002685bu},{0x6ecf2938u,0xb10daf94u,0xe1a5365au,0x2b91f4f2u},{0x2cc0f655u,0x1e4251b6u,0xb612c8c7u,0x362c4022u},{0xfdbe019fu,0x2a2d6d79u,0x6374e591u,0xe4e0190eu},{0x36191a23u,0x5244363eu,0x8f69b2d1u,0x5e312edau},{0x1d7dce01u,0x895c3749u,0xb92e3eedu,0x1bd4706bu},{0xd4e1a1c2u,0x7680d084u,0x721373a1u,0x18e8b6b0u},{0x45fb740u,0x33e3c724u,0xc1cf02d4u,0xe3895739u},{0x32a92cb2u,0xe46dd6a6u,0x27e2ceaau,0xf7438c62u},{0x5df43a7bu,0x9c00712du,0xac93dab0u,0x924713b0u},{0x5c48db48u,0x2e3be201u,0x17edd00du,0x9726d6eu},{0x9229c1a4u,0x5c62f9c1u,0xd16765b6u,0xa562f470u},{0x7d766b71u,0x99aeff90u,0x4fd7ba40u,0x2ce8d3cu},{0x8270b7bau,0x95929100u,0x8bf6f806u,0x84cc7b4au},{0xf4e35112u,0x98e344edu,0x17b3f29eu,0xa7e16fb0u},{0xe0779ff7u,0x3b9fba40u,0x112e0ec5u,0x44b9d94cu},{0x74139d8bu,0x2936a440u,0x22fdba01u,0xa2322dedu},{0x930c70c9u,0x3428d02au,0x90e544ecu,0x3b0db2f6u},{0xd1f4b6acu,0xa1a5beb7u,0x62e67f7cu,0xde47ff75u},{0x8015a968u,0xb4671d24u,0xd86c70b8u,0x3b111677u},{0x70443124u,0x1c16d965u,0xebc3d92cu,0xf0c691a4u},{0xe9b0f8f5u,0x8af67beeu,0xd3eee088u,0x6248346cu},{0x36d3dd49u,0xc2d9e28du,0x21c6cc51u,0x71e27b6du},{0x3d57f200u,0x8bf6d806u,0x7cfa66c4u,0xb6336807u},{0x52910e2au,0x1b28b6cbu,0x114e12f1u,0x1087d4f3u},{0x5b75f533u,0x14773782u,0xc9fcf768u,0x1a0cd63u},{0xd2dbc190u,0xa4ecb2f7u,0x299c1c0au,0xe4b1a298u},{0xcae45dc8u,0x22fdb60u,0x19d31878u,0x86964d09u},{0x6a6299ceu,0x91ec26d3u,0x1f29c040u,0x9ed2c22eu},{0x496d6e93u,0x64b1958bu,0x9359f00fu,0x3704739du},{0x23983439u,0x4cd93696u,0x7dd20118u,0x34564eabu},{0x52421a8fu,0x7769f16u,0xa0a44b73u,0x9308c53bu},{0x472d098u,0xe8d64236u,0xac0117edu,0x900283eeu},{0x30ad1271u,0x89f89656u,0x5d29aa71u,0x198e91ecu},{0x22e31f2au,0xb35c5f90u,0x55ec6b4cu,0xade397d4u},{0x614bd336u,0x1ea3af76u,0x80226111u,0xaf68e6c7u},{0x62aed726u,0xb560a696u,0x4700751au,0xd6df1ab1u},{0xa288696au,0x3f954505u,0x64b159e6u,0x965ecc02u},{0x2fdc6018u,0xf46cca59u,0xaec6c550u,0x64331282u},{0xc9ad36c4u,0x4fd27b44u,0x57326df2u,0xb0cb55b9u},{0x4773784bu,0xa3bf7680u,0x23e35615u,0x494b510du},{0xd88b742cu,0xcf3510d3u,0xc563915du,0x1b18c37cu},{0x3d8f5b31u,0x8f489246u,0xb239d921u,0xc89e7c13u},{0x9bc92832u,0x52816a46u,0xb0d5dd80u,0x22fdc600u},{0x3017e2d2u,0xb73981d8u,0xb1946062u,0xa236390au},{0x79544f37u,0xbba9185bu,0x672756fbu,0x2d66627fu},{0x87e4ab79u,0x267bbc01u,0x24d2d070u,0x9b98d242u},{0x86cfa574u,0xa174cec3u,0x14a56cb4u,0xae74b115u},{0xdb5a8011u,0x7ea7008au,0x1b74d19fu,0x6d990556u},{0x2ae2294fu,0x32c9cb62u,0x4cea5b5bu,0x6cf42752u},{0xccdd92edu,0xe8d9ef10u,0x48aeb59u,0xd5846595u},{0xb84f3012u,0xcccb61cau,0x956e455bu,0xbad4b4b6u},{0xf798045fu,0xa0c02612u,0xde6a8324u,0x8cc6f7b6u},{0x528a0c72u,0x56493cacu,0xbeccd9e9u,0xed86c6dau},{0x5a97bb95u,0xa59f7880u,0xd61883eu,0xbbb0a222u},{0x6139dee9u,0xc34469b9u,0x2ba50ba7u,0x4530e52au},{0xe38ef210u,0x74eca524u,0xa19ac364u,0xb5a9296au},{0x6280117eu,0x850018dau,0xb511dd09u,0x17932252u},{0x23ee2e34u,0x84e04d5fu,0x62e35052u,0x8eab3b6du},{0xbb2b354fu,0x9b2c5b53u,0x853ecdddu,0x97d7efbcu},{0xc0128aadu,0xa718b587u,0x23a934ccu,0xa51dacc7u},{0x2b314294u,0x8ca4b115u,0x2d4d5b63u,0xc4a16008u},{0xbf408010u,0x2de33a75u,0xb14e2c1cu,0xc4f18ae9u},{0xe18c3b4u,0x842b0ee3u,0x2ec6c5a7u,0xe6c6f4f8u},{0xe8709d87u,0xad5f7c24u,0x8b0911u,0x691a4f38u},{0xf21b22cfu,0x5a41a343u,0x61108aa2u,0x74ad116au},{0x6a7869e2u,0x22fd16u,0x138ba40u,0x30f919b4u},{0x1861a08fu,0x80d44d59u,0x2f0a81b2u,0x26e92745u},{0xa5a65b7du,0x99b3e762u,0xbf349850u,0xdad28eebu},{0x78045e23u,0xa6be7601u,0x2600f00u,0xb491511eu},{0x2d22c6d2u,0xa3502e22u,0x7675bb31u,0xe78a008bu},{0xf4580212u,0x186e00c1u,0x8fc86da0u,0xc30d047cu},{0x2c080a8u,0x71c698a5u,0xa4de3697u,0x6e2eda39u},{0xb1ca9da1u,0xe95c7e86u,0x69e7e7e0u,0x44d468fu},{0x58d3b298u,0xd50bcc94u,0x3c02d6cu,0x2776c49cu},{0x60045fa3u,0xc00cd11eu,0xf58a0b22u,0x3864f223u},{0x50fe1a08u,0xfa8f3224u,0xa145bc79u,0x5a3c4b09u},{0xf1c5a8c9u,0x4715d65au,0x8b328f2cu,0xfb4d9cddu},{0xcbc3b872u,0xdd257d24u,0x284e01eu,0x16a50bbu},{0xb5649871u,0xa0117e8du,0x5ac654u,0x29bc658eu},{0xc9cc196cu,0x88b43d86u,0x82466350u,0x884891edu},{0x12571112u,0xa26c613au,0x230ef2edu,0x45f69e3eu},{0xdacea30cu,0xfe527362u,0xe4ffa580u,0x509807c0u},{0x2d2c376eu,0x94831620u,0x22fd1a0u,0xa484a9eu},{0x787146e1u,0xa08f88f4u,0x19ea145bu,0xc595b445u},{0xb10a1a56u,0xc7564688u,0xd1888b1cu,0x11cb6298u},{0x8d972661u,0xd338f027u,0x49f0091eu,0x309c03c0u},{0x27b7196eu,0x2dea38bbu,0xcb1ca3a9u,0x9b1759a4u},{0xee7d3403u,0x140117e8u,0xb0041c15u,0xd31888dcu},{0x46a1cc34u,0x11f31a80u,0x2b442608u,0xc96916cau},{0x2918d912u,0x35875a0du,0x2899b883u,0x116309c0u},{0x3c027965u,0xd6a2bf3eu,0xdaa5add7u,0xecfdc7ddu}}; const uint4 Q20[128] = {{0x98e631fau,0xf8062802u,0x2fd22007u,0xc5b95c0u },{0x69d82a5u, 0xee1a08fu, 0xa8f3c713u,0x7804e2u },{0xc3dd9470u,0x6abb1bd7u,0xafaa3c97u,0x91ebea47u},{0xe767ed20u,0x1952600fu,0x9c3715u,0xd2b371bbu},{0x186e5eaeu,0x67e626adu,0xc25767feu,0x5971b0e8u},{0x8d8d4a1fu,0xc3411f31u,0xe9ffb00cu,0x91300780u},{0x52aeb363u,0xd8dd0ecu,0xcc327338u,0x4cece0e3u},{0xe0a82874u,0x7ce831c3u,0xc127112bu,0xffb00027u},{0xad4fd012u,0x1ee6f31eu,0x4c01e014u,0x9b8cbb2au},{0xf89fd2fbu,0xf22ee3eeu,0x89233a87u,0xf0f048ccu},{0x5a7fec00u,0x7ef12f1u,0x8d2600f0u,0xa2dc8d9u},{0xbd2e1f9au,0xd9ff249au,0x1c687b0fu,0x45d02ffu},{0xf6000446u,0xa1901f2u,0x4abf1a4cu,0x1e0145bu},{0x34a999fdu,0x6352e57fu,0xc5286e87u,0xb0b048ccu},{0x6a7fec00u,0x78c1478u,0x3751476u,0x309803c0u},{0x2895b347u,0x9330e6a1u,0x9adf8e5du,0x6585824u},{0xe2357ff6u,0x912600u,0xa7f99ea9u,0x9cde75bfu},{0x9cc28e55u,0x53b0d9a3u,0xca188ef2u,0x302c6d1bu},{0x51e612f2u,0xc1f3d12cu,0x8472915cu,0xa9d76a46u},{0x4a299347u,0x26947164u,0xf8572e95u,0xcb426524u},{0xd391988cu,0x71a59493u,0x154b7410u,0xd4d29743u},{0xa3331805u,0x4b8ea11bu,0x2a318f85u,0x61a4ae92u},{0xd74d62a0u,0xbdc53e0u,0x2817a390u,0x5c4b8c0u},{0x5485a1c0u,0x686acc93u,0x69196891u,0x355a63adu},{0x5728c671u,0xa93a482du,0x99916475u,0x18d54aa7u},{0x33254062u,0xb6161ac9u,0xf35cba56u,0x4b08fcccu},{0xb4a94a88u,0xe10e34d7u,0x56dc9534u,0x2813a54cu},{0x6935d215u,0xd29564a2u,0x9927c649u,0xf5565b23u},{0x238923f2u,0xbb091a4eu,0x34fb9cdu,0x747be774u},{0xa9a998a3u,0xc7bcee50u,0xc4584774u,0x5b47c008u},{0x8851e02fu,0x793e25ccu,0xc9ac18aau,0x6c13289du},{0x2b064b4du,0xb28e62abu,0xfabc3e1u,0x25743f1bu},{0x92c8aa28u,0xf6017a36u,0xcd80a321u,0xe227dbb8u},{0x6664c2cau,0x2c92ab7bu,0xa90aa555u,0xf652345u},{0x27453a54u,0x64bcdc4u,0xc1db2291u,0x22493a29u},{0x1967b74bu,0x1d7aa74fu,0xb64d88e1u,0x6118b636u},{0x5896c6c9u,0x52331869u,0xcb6c5571u,0x64a83396u},{0xf35b690au,0x5601caf0u,0x54cae387u,0xc25b31ceu},{0xa329124cu,0xa810744au,0x85d38594u,0xed872750u},{0xe526d74u,0x1ba548e9u,0x7aba93a6u,0xc74a70d4u},{0xbf1d1fc3u,0x47e0b9d4u,0xb4551c95u,0x1e8b31b2u},{0x48723601u,0x9236cda0u,0x1a93d838u,0x2e1daa0u},{0x2a31a3e0u,0x1583d1f2u,0x4ca0026eu,0x697a9ee6u},{0x6a8ea962u,0x6e29ecbfu,0x4b13b6e8u,0x2f3327e8u},{0xd166268u,0xf98d4015u,0x8f51e00au,0xd80da00bu},{0x8969a294u,0x44552b74u,0xe2ed1c45u,0x3d8a4c6au},{0x64900e08u,0x9c81483du,0x8b3b8f02u,0x235c700u},{0xe186ccd1u,0x8b454e65u,0x236538aau,0xa192691cu},{0x96445299u,0x1045465au,0x4ab24fa2u,0x939ae44au},{0xed0dc15au,0x4488a2c5u,0xf5db1526u,0x3619e861u},{0x7574a333u,0x9703db4u,0x4c2a8dc4u,0x8d982b3au},{0x2d46b87au,0x3a4e35d0u,0x43533626u,0x2a9ca452u},{0x351c3a89u,0xe255aa50u,0x6cc3ac64u,0xe8654835u},{0x50f7a110u,0xb8591a41u,0x1f5ae85u,0x2b8d3dc0u},{0x747e7a9cu,0xc6aabb3fu,0xe5420ddu,0x128ccea2u},{0x6cb2cd6au,0xc250d872u,0x54732212u,0xcbd86917u},{0x5a35764cu,0x238e8e80u,0x3b5f7d80u,0xf512e340u},{0x7c424c01u,0xf8c4ac22u,0xd2011928u,0xd5b2b89eu},{0x5524a149u,0x2726328cu,0x60eb3b0u,0x2a45478u},{0xac00fa9u,0x229004f9u,0x7ea72672u,0x96676297u},{0x26f29f73u,0xb83997f3u,0x7a190345u,0x90b8124eu},{0x1a684971u,0x94c51aa2u,0x1603d9a9u,0xd1bab472u},{0x7552919cu,0x25506217u,0x2716cca5u,0x21486b47u},{0x8f64e12cu,0x8856f364u,0xe0e46eb6u,0x54ad0eacu},{0xb0e93632u,0x8f838510u,0x954c02b0u,0x24f00a8au},{0xa964056bu,0x34720078u,0xa7300b10u,0x27f80562u},{0x4cc1ad24u,0xb9d3a393u,0x18d29787u,0x6ba62998u},{0x6d05e4b4u,0xdb98a834u,0x8547d92cu,0x8a9545b1u},{0x9419476au,0xd6a3b1f4u,0x735b9c88u,0xc5d0c8d6u},{0x8155ac63u,0x98e88920u,0xda25d88u,0xb14ca023u},{0xeff9a8u,0x9cabc02u,0x4c32756du,0x16d6a143u},{0xf868805eu,0xdf432111u,0x7e9180c8u,0x9807bfeu},{0x5402a32fu,0x1940866u,0xb78f9b2u,0x3c005a7du},{0xa0cc66c7u,0x24b5dad4u,0xca8e393fu,0x6ca6d946u},{0xa559e538u,0x48322307u,0x244609d1u,0x4c923627u},{0xa266b2adu,0x8cac64cfu,0xcae8d8abu,0x3691cb64u},{0x5238d548u,0x545a08b0u,0x4741aa69u,0x1c02436du},{0x6c02c01u,0xa3800941u,0x45c00c9fu,0xb0f084a9u},{0x828e2cc4u,0x248a747fu,0x3f802900u,0xf0196009u},{0xc0341e80u,0xa0f7bfe5u,0x91286c7bu,0xcfe88b9fu},{0x6241f58du,0x80059038u,0xc800504bu,0xa1c0a9c4u},{0x6c963a6cu,0x3a654195u,0xd1154b9u,0x36868e8cu},{0x219da1aau,0x4d8575a2u,0x34f09992u,0xc7563693u},{0xa5a368dcu,0xea4e131cu,0x5a891449u,0xe0f39926u},{0xc74eae4fu,0x88d1309cu,0xc802b0edu,0x643117eu},{0x85b3d39eu,0xd1c05adfu,0x43002b46u,0xcfe80252u},{0x1d06e428u,0xd07079u,0xf00921e3u,0xc0240024u},{0x1dd0f002u,0x96d7c08bu,0x6082e768u,0x503a30bau},{0x499ab916u,0x95c7863bu,0xd1a90fbu,0x64fa4938u},{0x8d1cbdaau,0xab2e1144u,0x7c7c7c53u,0x9d910868u},{0xda579a4u,0xc81d3325u,0x5ae731a2u,0x160651ccu},{0x65219148u,0x1d46c564u,0x789d56c9u,0x21093f49u},{0xc1ee3c84u,0x62e33bd4u,0xb3f4128u,0x4dd0ee4eu},{0x130350du,0x1c9c0341u,0xebe9546bu,0x2cd1c898u},{0xf78d2430u,0xd060b5d8u,0xda08d763u,0xd90f943u},{0x3661a0d3u,0xb00be25u,0x3ff60102u,0x600f0094u},{0xa60c4950u,0x8e6130c5u,0x4af7b345u,0xeb99547du},{0xb124e0edu,0x5c5a2b1bu,0x6ecb252u,0xa8d68d24u},{0x88a8894au,0x995380a5u,0x819602a1u,0x15be44f5u},{0xd3b653bu,0x3ba33f5bu,0x8c55e1f4u,0x280e8e31u},{0x91a0cdf3u,0xa0cf0d00u,0x7e253ff6u,0x5272a7u},{0x4a518ecau,0x3e2aa44cu,0x1e0131du,0xc4140e34u},{0xb2342bd4u,0x2a444431u,0x969a892bu,0xa35a6cb6u},{0x7d1cab51u,0x67c9e0d3u,0xa19c9494u,0x2ca51aacu},{0x94e31681u,0x5e1f7eu,0x403015bdu,0x101811deu},{0x900c5109u,0x602d67d9u,0xc21335dbu,0xf11300d1u},{0x8363080au,0x911aa039u,0x274f00c8u,0x8afc4064u},{0x257a373bu,0x3dc5bfe0u,0x1307ce83u,0x3c2c02f8u},{0x94ffd806u,0x29611ad2u,0x76774676u,0xbb288cc3u},{0x6671151cu,0x8032cb8bu,0x47163a2du,0x6d46c595u},{0x6e657becu,0xf849578eu,0xa7e50fau,0x59b1d568u},{0xc654c980u,0x3c0263e6u,0x500a06b3u,0x323311a1u},{0x54cd8020u,0xd0f045c3u,0x71daecd6u,0x9b2d2745u},{0x28959500u,0x6108f625u,0x6b15da8du,0xa4d31f12u},{0xac954458u,0x87f0f078u,0x4c5f3a0u,0xcf0b049cu},{0x459ffec0u,0x31ae4829u,0xe6338f65u,0x6c776b70u},{0x8aec3666u,0x249ca3bu,0x8472c53u,0xa9d58bu},{0x6236acbbu,0x7327dd4bu,0xa1651c0du,0x84a56ac6u},{0x5e27684cu,0x1e0132du,0xe43b8952u,0x166236c2u},{0xc39b5c28u,0x43473e11u,0x2d9928e7u,0x4aac789du},{0x2e065366u,0xa4e1a4f8u,0x2a452dadu,0x9ce3d088u},{0x6c3b1292u,0x45b4a316u,0xcd00e02cu,0xda042abbu},{0xd810ab36u,0x1e085536u,0xbe294d4du,0xe93cb8a6u},{0x706f7804u,0xc6c47419u,0xe1209188u,0xd3ffd806u},{0x35cd25d6u,0xbfa39bd1u,0xcdf138f2u,0x7e2ea44cu},{0x53c810aau,0xcc813651u,0xc4a31ec4u,0xecdc4c86u},{0x2c573a7eu,0xa4c01e01u,0x32bf1dbcu,0xfb0aa91au},{0xc488da6eu,0x745aba63u,0xacaa6864u,0x204a74d2u}}; const uint4 Q21[128] = {{0x9c349b0bu,0x28b5b610u,0xe850bc65u,0x351994a5u},{0x769d88b2u,0x9e408373u,0xa990413bu,0x2fb14b4bu},{0x344b8b5bu,0x1ad437f8u,0x4bdf3a0u,0xcf0b048cu},{0x469ffec0u,0x318eea75u,0xb7477371u,0xa9c31153u},{0x4b1f15a5u,0x63555a99u,0x18b3cb8au,0x68283a2du},{0x6c46de6cu,0x44fafa4eu,0xf1585b1u,0xb29e3518u},{0xead56509u,0xc03c0267u,0x71db78b6u,0x543cf22cu},{0xe649473du,0xaab71ee8u,0xd7d9f494u,0xae059f75u},{0x1acedc8du,0x37a667dfu,0xe008c5f7u,0x242d8506u},{0x4a84a328u,0xddc566ccu,0x6401b4aeu,0x268417cau},{0x39759260u,0x5e39d130u,0x94618c6bu,0x1efc7978u},{0x4b5d3a0u,0xcf0d003eu,0x2d3daa00u,0x9485278cu},{0x71b186c8u,0x6cefb6e8u,0xec19e649u,0x803c0269u},{0xbd6366fbu,0xa6d26cdeu,0xd4cf639bu,0x366baecfu},{0x96229c1eu,0x32cf6193u,0xdd7dd2fcu,0xad47aeabu},{0xf778024u,0x571d5ac7u,0x47a15d6cu,0x576331f3u},{0xa7970cd4u,0xc32f4593u,0xad608d48u,0x60593e5du},{0x8134eec3u,0xf12b66f8u,0x787093f8u,0x4b5d3a0u},{0xcf0f047cu,0x469fb340u,0x32a54898u,0x3c0267bu},{0x86f64d5du,0x4cdf192eu,0x1e4f0096u,0x3a341a61u},{0xe08f88d3u,0x4b28945cu,0x65425e7au,0x75cd662fu},{0xda3a9b92u,0xba185e59u,0x3aa8c5a5u,0x933a4d4eu},{0x1b0441acu,0x89803c02u,0x63b76f66u,0xbdd4cd71u},{0x9361e4f0u,0x96ba341u,0xa61e08f8u,0x8d34b289u},{0x1dc54f25u,0x94332c26u,0xcb5747b7u,0x4aecbccbu},{0x4d928ae7u,0xe2c90a67u,0x382a0e4u,0x3ad0022fu},{0xd9e01952u,0x5ee94b4cu,0x4a36a499u,0x92af98ccu},{0x3229cac9u,0x56bd89d8u,0xb319929eu,0x6caa898au},{0xd3d124b6u,0x8c8f738fu,0x43eb9534u,0x4b648ed5u},{0x4391a1c0u,0xb6bd8bf4u,0xd8d7bbcu,0x2704acfu},{0xcb19a392u,0xf9dbdaf3u,0x874e3a4du,0x8caa3e37u},{0x13892512u,0x9bcca46bu,0x6a5d5c6du,0xa8a6cb6eu},{0xb4d87598u,0x7b8f10b8u,0xfc7265c5u,0x4c05a248u},{0xb3037095u,0xc681b43au,0xe380e029u,0x79b75438u},{0xc5cd878fu,0xc0256e8du,0x6987823u,0xe234e44cu},{0x1e0132du,0xc39b36f1u,0xe94a5db8u,0xeff0095bu},{0xa341a61eu,0x8f88d3fu,0x6a801192u,0xad52a585u},{0x9558a32cu,0x8432b836u,0xcc97a6d1u,0xdd992acdu},{0x8497da68u,0x78fa558fu,0x995ed500u,0x9b335018u},{0xcab5b8e0u,0x310eea78u,0xb490eafu,0xeef56d81u},{0xe49351c0u,0x604c21ceu,0x3d4118d4u,0xfe03143bu},{0x100b4c4eu,0x5047b4bbu,0x43067316u,0x31a617f2u},{0x78938761u,0x380ef86cu,0x8271bbc9u,0xbc06722du},{0x57816b60u,0x12e15523u,0xfbc473c3u,0x7299ad1au},{0x28c5b4abu,0x72a06b13u,0x5db0ec3du,0x947a6ca6u},{0xcbacc365u,0xd294bb71u,0xdfe012b7u,0x46834c3cu},{0x11f11a7eu,0xb5004433u,0x3faddae9u,0x6139ddacu},{0xd61b25b3u,0x4c0d6756u,0x25c6de8du,0xa936d183u},{0xbb525596u,0x436fa549u,0xac92abb3u,0x2550e4b4u},{0xbb74a647u,0x76d7eb90u,0x2bebc00u,0x61c52cf4u},{0x8f113621u,0x6e2ecd92u,0xad6330e4u,0xaaa6b2d1u},{0xac49803cu,0x265e6b1u,0x80b9b046u,0x7e053472u},{0xda55b950u,0x3589aed8u,0x761eca3du,0x365365d6u},{0x61b05912u,0xb94606b3u,0xab12e376u,0x30be9b68u},{0xc1dbe936u,0x1d752ec7u,0x8fb568adu,0xd9271b94u},{0xfd5a0057u,0xd768ca89u,0x17235a2cu,0x82c8a699u},{0xb2135026u,0x967a0d18u,0x85472a58u,0x89894a52u},{0xedc77f80u,0x4add1a0du,0x30f047c4u,0x69fa9c02u},{0xd6ee5a24u,0xc01e0136u,0xd96a8f39u,0x4bd9b544u},{0xcb7b56b4u,0xf64ab0b6u,0xbc3e1693u,0x916b0de7u},{0x5c34d152u,0x907e53deu,0x259eb58bu,0x48c3049bu},{0x880d02au,0xbcc89262u,0x6b3ab0edu,0x371116dcu},{0x6f6e0fddu,0xd370ce37u,0xd4c4fc42u,0x5a9d4709u},{0xe9671418u,0xa6d37098u,0x955cc15eu,0xad5305aau},{0x455c25e7u,0xd69095acu,0x63221bd8u,0x2c4586b7u},{0x57bd1747u,0xe761308fu,0xeed1971du,0xf6531a80u},{0x782fd1b7u,0x84dc9c6eu,0x2ed85dcdu,0x17324778u},{0x489d1a0u,0xd30f047cu,0x469fa640u,0x204c01e0u},{0x14ea3563u,0x690f986au,0xc49e6aa7u,0xc8b2c0a4u},{0xdc8f775bu,0x8d728db0u,0xc6d975d6u,0x5b47976bu},{0x6a67eaf6u,0x6760c164u,0xe58305dau,0xa61355e9u},{0x384ddb2du,0xe0bf8ab7u,0x4793275au,0x6a816f66u},{0xb722ab2du,0xb2d184b4u,0xe9321444u,0xe638f202u},{0xa2aa480fu,0x6c3a2c01u,0x8d34b80u,0x6f6ca180u},{0x3d34d0c0u,0x241b51e0u,0x7563cf60u,0x534c9dau},{0x84bdf26au,0xc980a78u,0x50572ce1u,0x2b5a9e82u},{0xd60a9a0bu,0x160cc33au,0x46dbab5cu,0xa78e69e9u},{0x1a227b13u,0x2f50f3a3u,0x41a61e08u,0xf88d3f4cu},{0x80409803u,0xc0292882u,0x64a73b28u,0xdaeb4612u},{0xd5a4b048u,0x4e52578au,0xd3b9595cu,0xb39ce835u},{0x86ab8b85u,0x20b229deu,0x7592b46cu,0xa35eaba3u},{0xfd8892d5u,0xc5d0354du,0x5c781d21u,0xa8700fafu},{0xba1c010cu,0xffa0e411u,0xb0fa0c41u,0x25139fc0u},{0x1131343cu,0x827c9ffu,0x3bbfd0eu,0x1ae62cbu},{0xe11d6da2u,0xc24cf4a7u,0x46adb7c5u,0xbb196140u},{0x6133487fu,0xabec4cc9u,0x430e8d06u,0x987823e2u},{0x34fd3201u,0x769c64a5u,0xc6d89355u,0x548cb2c4u},{0xe81be9f4u,0x3a01f273u,0xbfe40082u,0xa6cfe809u},{0x3a4d07a0u,0x8aa0d17au,0x869fcffu,0x4075a1d0u},{0x7406ba1du,0xf806eb6u,0xa1f03addu,0xd0d820adu},{0xa7fc11f7u,0x53f8087bu,0xba3903cdu,0xb51f01cau},{0xbf419d89u,0x803c02d8u,0xe9d06786u,0x801f1a9eu},{0x99008534u,0x5fabc020u,0x117e970u,0xb958u},{0x80401f95u,0x86b184c4u,0x358ca4b4u,0xd1c9df14u},{0x8c952914u,0xda49452au,0x465d02c6u,0x3a12d366u},{0x158449b1u,0xca4a4e9u,0x69563018u,0x963a1492u},{0x8b000b75u,0xa80001eau,0xe42e4001u,0xe016d74eu},{0x833c3401u,0xf1d227d2u,0xe008b228u,0x4632a98au},{0xca45a6c9u,0x4562d899u,0x4a75499du,0xbfa896ebu},{0xa3db1956u,0x6a5d16d3u,0x66a239acu,0xca59429au},{0x8ae906b8u,0x8c5e8f8u,0x54db3fau,0x2352a3eu},{0x2a741b2cu,0xb8752c9du,0x56c33179u,0x63a6c927u},{0x5448a41bu,0x2534955eu,0x16894375u,0x29996d0au},{0x78bf5680u,0x40022fd3u,0x20000652u,0xb0f007b7u},{0x4ff8055bu,0xe8646051u,0x493652d4u,0xac316896u},{0xb950b699u,0x11d3db9cu,0xc84c1964u,0x13252649u},{0x35911de9u,0xb0a5330au,0x5368b277u,0xa59368fau},{0x2a46160bu,0xc47512e5u,0x88853884u,0x17172b6u},{0x5cb94a61u,0xe33000a0u,0x8d40126eu,0xa1c00327u},{0xd8800196u,0x2d426080u,0x1e016d74u,0xe8338d0au},{0xa807805u,0xb5f3a0cbu,0xb01ec61u,0x30cb74d1u},{0xa4cc31d8u,0x96d314aau,0x3b4592c1u,0x26d4caa7u},{0x29512a45u,0x2d22c928u,0xb5494f9eu,0xb4673e3u},{0x256c741au,0x242b6546u,0x39358061u,0x2f41a008u},{0x9b686c03u,0x89b9fc80u,0x3201a1c0u,0x46508d63u},{0xb16c684fu,0x8f9528d4u,0x7a32a895u,0x539cc62bu},{0x30a411f0u,0xb27a75b5u,0x92654180u,0x4335d566u},{0xb1b802beu,0x0u,0xa8000u,0x57c08005u},{0x700003f0u,0xaf820u,0x1380000u,0xbd000075u},{0x48c0u,0x2ca000u,0x1b300015u,0xf0600834u},{0x45600u,0x2791001u,0x2d8a00afu,0x840091e0u},{0x4b3000u,0x27180014u,0x58000aaau,0x59700u},{0x2f10000u,0xba0400c6u,0x6510u,0x1740a0u},{0x19e08011u,0xb2400b55u,0x1406c40au,0x3f64a02u},{0x65230159u,0x2180be88u,0x8067c850u,0x3848301eu},{0x25100fdau,0x82081746u,0x4024382u,0x5d1c11eu},{0xb0c08b14u,0x45cc00u,0x230a0011u,0x970008d6u},{0x47040u,0x33df001u,0x1d60e08fu,0x58704c66u}}; const uint4 Q22[128] = {{0x30286e1cu,0x1565080bu,0x22410661u,0xa102d490u},{0x419ef840u,0xb83c106fu,0x40082ee1u,0x41d4682u },{0xbe90106u,0x8e0030au,0xd041bd00u,0x80ea3440u},{0x643e2833u,0xdf1418a6u,0xd9e80u,0x6d96003u},{0x725181cfu,0x38a0f3b4u,0x7b2600u,0x37a0141du},{0x468a0c53u,0x7067be3u,0x83e39282u,0xe912116u},{0xc4909370u,0x384d4024u,0x28839215u,0xf18072b1u},{0x54cc2u,0x82be30e1u,0x6cbc90beu,0x88886455u},{0x38348a98u,0x1b6e0b0eu,0x436507f0u,0xe003aeb8u},{0x41fad030u,0xee8c0079u,0x29003bffu,0x41e4a43u},{0xf5d4087u,0xd321c3ddu,0x2821f1e0u,0xa0fe1c08u},{0x87c51044u,0xb50622bau,0xc3118c02u,0x8e21104u},{0x81988247u,0xe46127acu,0x20959c10u,0x4b9f0826u},{0x2ec4133du,0xa209b671u,0x4e74081u,0xfc38613cu},{0xc020a054u,0x850fa04u,0x28e5c114u,0xa2210a45u},{0x11052888u,0xa29cd001u,0x4ea400a7u,0x9d0053fdu},{0x2a19c0u,0xff3e288u,0x2a300546u,0xa0020a8cu},{0x1152ac00u,0xa9770054u,0xd3802a75u,0xc01541a0u},{0x8261085u,0x52180208u,0xc43154c8u,0xaa9100u},{0x40fa882au,0xb280155du,0x600ab0f0u,0x13d79802u},{0xacf00156u,0xfc00abc3u,0x3fcf96u,0x2b050015u},{0x89a00ac9u,0x8003fcf9u,0x82b3b001u,0x5a6800adu},{0x82004018u,0x18206847u,0x15bac30au,0xfaa1858bu},{0x4842cbd0u,0x21690410u,0xb8e7085au,0xb3042d91u},{0x216e4a1u,0x8b80c145u,0xc738a2ecu,0x10617b3cu},{0x30c04c14u,0x615c0a31u,0x1dc318c7u,0xc20c85f0u},{0x8650e843u,0x31b82103u,0xea30ce83u,0xc682786u},{0x34894310u,0x3ea38d40u,0xd086aee0u,0x835f0031u},{0xb3202082u,0x31186dbdu,0x86373cc4u,0x1bcdc208u},{0x26114700u,0x986389d8u,0x1c2d410u,0xe2762472u},{0x550a39b4u,0x401ccc23u,0xe6d1187u,0x478808e2u},{0xf851dd74u,0x8ef5d04u,0x7841063cu,0x8d081e8au},{0x259b4dd3u,0x4dd849c6u,0xfe20f105u,0x4618fabcu},{0x4c7ef2aau,0x3db9511fu,0xbca20fa8u,0x3507ef2au},{0xc40c1922u,0x1104190bu,0x60088728u,0x44450c2u},{0x22866111u,0x720088d0u,0x984473e8u,0x6240b861u},{0x246c3c94u,0x83224b79u,0x521081e0u,0x132ee389u},{0xb731a4eau,0xe8727beau,0x20826118u,0xa05f0450u},{0x77c52864u,0xc2944850u,0xca535885u,0x38443294u},{0xd67148d9u,0x1ca24294u,0x53d1032au,0x19021529u},{0x70cac178u,0xe570e462u,0xc0204154u,0x6900aa4fu},{0x80553b40u,0x2aa7c015u,0x58f00aafu,0x48055930u},{0x104c208u,0x83640cabu,0x590457c6u,0x802b8725u},{0x15f1a34au,0xbad1656eu,0x892c020u,0x61582f2cu},{0xb1a09259u,0x57c7106cu,0x800840f0u,0x4b3e9085u},{0xa63012dfu,0x62016ae7u,0x4b61b02u,0x5b5e012du},{0xd38116fbu,0x108b88e8u,0x45c9e802u,0xe7240974u},{0xe604bb1bu,0x825de381u,0x2f1e8097u,0xa6f08be0u},{0x4025f60cu,0x12fe5c09u,0x80fe00c1u,0x47006105u},{0x4030b5c0u,0x1874100cu,0x48384632u,0x642314e6u},{0x518ccc08u,0xc8798a20u,0xb8803268u,0x2398d080u},{0x8cafa106u,0x34c8b344u,0x3a01993du,0x14d09606u},{0x66e44533u,0xfec299d5u,0x404d10e8u,0xc67a1ca3u},{0x443a50e9u,0xca20d366u,0x3af708u,0x34f0200eu},{0x8f12875eu,0xe166a09cu,0x63554831u,0xaf8804d6u},{0x5f026ba3u,0x435a721u,0x9af4c08du,0x72b0a6bdu},{0x305366c4u,0x89b0f00cu,0xd923866fu,0x840445d7u},{0x801bb094u,0xcdf08286u,0xe5c1437fu,0x10a1b4ddu},{0x4ca3910au,0x52ebc928u,0xe446945cu,0x930e1eb8u},{0x671f6813u,0x8a5c11c7u,0x9e08e332u,0x8c7204c0u},{0x398ae21cu,0xda510e40u,0x98a73d44u,0x39ef001u},{0xcfa804e8u,0x17867449u,0x833a4582u,0x8261104u},{0x21c8074du,0xaca39026u,0x31d5aa10u,0xe4099820u},{0xd9023af1u,0x869dfff0u,0x8edc9a27u,0x8210b3cau},{0xa051ee05u,0x1cf43018u,0x7adb4f3du,0xc0a71f04u},{0xa00f9862u,0x87e4f0a3u,0xfabe2201u,0x9c00fff3u},{0x8a806706u,0x104c21a0u,0x4e211036u,0x1928263cu},{0xa419705au,0x10683d0au,0x819c20eeu,0xc0434308u},{0x21f13251u,0x3008c887u,0x84644f1cu,0x2a241c0du},{0x12b51089u,0xe386453cu,0xe1a2e0b1u,0x1161b888u},{0xa4f0545du,0x78122e0bu,0x1d17fc00u,0x8baf0345u},{0x3ce4a2b2u,0x305183d0u,0x68a9dca4u,0x54ee2a2eu},{0xb211674u,0x148b0dc8u,0x45d780a2u,0xce80d149u},{0xe028b82cu,0x5463aa22u,0x332c0919u,0xe4048d2cu},{0x346bd22u,0x23792291u,0xc5f108eau,0x1c447cecu},{0xa3dd00du,0x1f3b0620u,0x984e46f2u,0x4223a870u},{0x91df5008u,0xf08c0479u,0x20023f91u,0x11e9500u},{0x20984f47u,0xcec223d2u,0xa1043098u,0x62098474u},{0x7f221a40u,0x3a084309u,0x80918840u,0x48dd0024u},{0x7bb01243u,0xe0092548u,0x480741au,0x42701922u},{0xc980909cu,0x74829e3u,0xa42ac092u,0x25106910u},{0x5c34829eu,0x241d719u,0x220b8092u,0xc3034941u},{0xa0a4a851u,0x925860a9u,0x330064abu,0x86024e79u},{0xd27e688u,0x9462844au,0x6c63a55cu,0x31d2c218u},{0x6967e864u,0xb9422a5fu,0xd1d30bdu,0x8c98f483u},{0x4caee126u,0x6b911342u,0x1049a698u,0x44d6f222u},{0x6d6d0d37u,0x83089c4cu,0xc44e65a3u,0x2756d113u},{0xbae869eau,0x7014f204u,0x227e3a11u,0x401b88a0u},{0x95474f5eu,0x62a85432u,0x9454314au,0x3c54a526u},{0xb2429a42u,0x214f4d94u,0xa9934855u,0xc0042b24u},{0xd255b578u,0xcc588835u,0x73de2abdu,0x2c118b11u},{0x8aff644u,0x62c4432cu,0x27a15625u,0xf08b2c3cu},{0x58db202u,0xcb0f058au,0xfc0eb1feu,0x81592902u},{0x2ce06116u,0x5a28ab41u,0xc875a6bau,0x3ad5da19u},{0x6bcd0ab6u,0x72855b74u,0xa02fbe70u,0x98b110ebu},{0x709c05b9u,0x5812de00u,0x96fa70au,0xb853895cu},{0x7784ae5eu,0x71973a98u,0xb9f8425u,0xd1f212eau},{0x8f197680u,0x92bc5288u,0x5ea9a2afu,0xbe70d7b3u},{0x82bde5cu,0x25f7561au,0xf90c2577u,0x2194bc9cu},{0xb5f7ce5u,0x2fbe7057u,0xf4802bfdu,0xe0160126u},{0x1b03c601u,0x82dd04c0u,0x70c56078u,0xc1b07840u},{0x98afc10cu,0x22f44616u,0x2e4315d4u,0x2586ef88u},{0xc54acb61u,0xec61b14fu,0xb3188648u,0x6c83e806u},{0x24841314u,0xc23589c2u,0xa0c71f43u,0x63bec1b1u},{0xf7511907u,0xd08c8a30u,0x3647f01bu,0x25731193u},{0x7288ca22u,0x846544c2u,0x339c4019u,0x5f604cb4u},{0xdc262c44u,0x4338fa09u,0x9ce204cbu,0x9603671fu},{0x40b2f1e0u,0xd97ef08cu,0xc2fc4663u,0x522b32c0u},{0x1199d680u,0xccfb0066u,0x85c0334cu,0xb018b111u},{0x2cd73826u,0x73dc0b36u,0x1098b11u,0x14cda983u},{0x66f70331u,0x622359cfu,0x704ce7b8u,0x362c4473u},{0x3b1e018bu,0x111ecedcu,0x82677c21u,0x33cf3059u},{0xf7086d09u,0x7c068034u,0x1b415c09u,0xa12f86cfu},{0x694368ecu,0x13187a1u,0x9a1e58adu,0x165c868eu},{0xc03b15f8u,0x45a4ff8au,0xd3bd8069u,0x7ae234d6u},{0xa15a77b0u,0xcd42a866u,0x2bf09352u,0x5419aa0du},{0x8d55b42u,0x6acec135u,0x788098afu,0xc26d6274u},{0x6b6b003u,0x596a01adu,0x2a82d6d6u,0x16b9161u},{0x35dcd0dau,0xfd2a6d97u,0x8536d7beu,0x82a9ff31u},{0x514c96dcu,0x2c8a52deu,0x24b74052u,0x5bbdc94du},{0xed44a6fbu,0x3c4b8118u,0x15cac410u,0xe0b0c470u},{0x88e2385cu,0x80dc3868u,0x8e25bc37u,0x2ac24b8au},{0x3611cab0u,0x90e2da44u,0x719d4239u,0x54325c73u},{0x884e40bcu,0x17299a53u,0x918311cau,0xa180e562u},{0x7727166u,0x3882e11cu,0xc9908e56u,0x20b734fau},{0x39af301u,0xcdb300e5u,0x620c737bu,0x30ba1b05u},{0x5d3ab42eu,0x87697754u,0x3cdbb123u,0x45dbde9cu},{0xefb5ca78u,0x49423c3eu,0x429e3acau,0x4f3a9d17u}}; const uint4 Q23[128] = {{0xbb80a3eau,0x2969f9e2u,0xa1066581u,0x7f1ec1c1u},{0x93f09fddu,0x20cff918u,0x78021e3cu,0x38d1602u },{0xd58501c4u,0x42811241u,0x40a0a0a0u,0x5ad81031u},{0x90081ab6u,0x40e490au,0x7d68b04u,0x6c07827cu},{0x614171c2u,0xa0a5a830u,0x55e0182cu,0x6a6c1bf3u},{0x2a101325u,0x95d0b85u,0x150242b1u,0xe1e16af8u},{0xb0bca048u,0x61742432u,0x440a19d9u,0x890d5f04u},{0x86e96243u,0x90e1a1d6u,0x7010ef50u,0x8327e2cu},{0x3cce221fu,0xf40f10b9u,0x788b523u,0xbd8ca1deu},{0xdca8cf6du,0xac08799cu,0x243fe812u,0x21720911u},{0x6a447b35u,0xe2bdb6b1u,0x62435891u,0x27d00895u},{0xe2144dcbu,0x6279e05u,0x13984089u,0xe781c4ecu},{0xd16279e0u,0x91449058u,0xa5d42454u,0xb6122c86u},{0x8915ab00u,0x8b21a1c5u,0x776022c2u,0x189165d8u},{0x58be8c04u,0x5f6d062fu,0xff0b185cu,0x58c6a82u},{0x45976123u,0x2c9931a2u,0xfca8b364u,0x146be81au},{0x378c151cu,0xb0088ebeu,0x2c5b7b2u,0x23cbd0f1u},{0xf65c9904u,0xae54921bu,0xa42b593u,0x2486c391u},{0x18a4c8beu,0xe1e47498u,0xf2439069u,0x24362c94u},{0x93124b46u,0x8d2630c6u,0x897fa349u,0xaaa064e1u},{0x68726dc0u,0x59385a34u,0x9dfb1a4fu,0xaf09283au},{0x4944ac2u,0x4a3da1e5u,0x3440d2b4u,0x946951cau},{0x4ad2516u,0x54d1812au,0x99009564u,0x404ab7c0u},{0x6561b912u,0xb954795cu,0xaa04b129u,0x1259b70bu},{0x2d6d4396u,0xf8e1cb97u,0xe065d900u,0x52f2b829u},{0x7c4014bfu,0x6e066020u,0x3304601u,0x984b434cu},{0x4b70263au,0x9893155cu,0x98bd604u,0xc66c0263u},{0x708b31d4u,0xc599d340u,0x4c9e9166u,0x73083330u},{0x1c89a270u,0x3cd36d1eu,0x6abc0935u,0xcc849b16u},{0x614da351u,0x2674d073u,0x6fec19b9u,0x940cce9au},{0x1a6ec989u,0x37e6479cu,0x48434e4fu,0x11a73ea8u},{0x53a83829u,0xd8101ceeu,0x86127877u,0x893cc645u},{0x9eace24fu,0x77c0e7ccu,0xd073eed4u,0x69fc3c25u},{0x2d0680u,0xd18140b7u,0x2a086c0u,0xd053f0a8u},{0x3270541du,0x740a104eu,0x950e2e52u,0x8a9ec347u},{0x66d3a45eu,0x69d27753u,0xe95899d4u,0xba841a5fu},{0xae3532b2u,0x4a9bc68fu,0x4ec48ba7u,0xe3c4d431u},{0x516a3288u,0x9525442au,0x99d22d4bu,0x1d22a674u},{0x99546e91u,0xab30a055u,0x69d1eaccu,0x28d57459u},{0x2ae6ee05u,0x61e262b3u,0x84a75ac7u,0xc8adb2a0u},{0xd6cab22bu,0x825135b8u,0x401aedf8u,0x75737742u},{0xb708155bu,0x8400ae74u,0x20100100u,0x20020080u},{0x201a010u,0x340280cu,0x80701901u,0x320240u},{0x640500c8u,0xb019018u,0x3103501u,0xc06a03c0u},{0xd2081045u,0x2409a04u,0x81440902u,0xa8120590u},{0x240ba048u,0x18409032u,0x41a40d03u,0x681a0708u},{0x3a41e20fu,0x90808424u,0x22211909u,0x84a4262u},{0x1390a105u,0x21510ac8u,0x5842d417u,0x5a82f0bu},{0x506016a0u,0xc42d4190u,0x5a8330b5u,0x5a1a10du},{0x486c4372u,0x1c10e507u,0x41da0f03u,0xd61f0681u},{0xfb100341u,0x58841a0u,0x7e8430edu,0x881ea0du},{0x4541a08u,0xc4472243u,0x12434119u,0x8e25212u},{0x4b41a09u,0x88341350u,0x8e272120u,0x4f41a0a0u},{0x8341448au,0x445322a1u,0x1548ac45u,0x722c3164u},{0x5a16c8b8u,0x85d16c8bu,0xc45f2301u,0x1848c486u},{0x31910ca3u,0x3319c681u,0x990d2332u,0x1a866435u},{0x8d886d1bu,0x8dc86f1u,0xc10de38au,0x1bc72437u},{0x8e686f1du,0x10de3aa1u,0xbc764378u,0xee86f1e1u},{0xde3ca1bu,0xc7a4378fu,0x686f1f10u,0xde3e91f9u},{0xde3fa1bu,0xc8043790u,0x2c6f2088u,0x34379088u},{0x6f2150fcu,0x4321f887u,0x43f11087u,0xe2250fc4u},{0x5322c8c2u,0x35916471u,0x1ec8b238u,0x9064591cu},{0x48b22c8eu,0x24991647u,0x12688b25u,0x19164a12u},{0xac8b2589u,0x764592c4u,0xc222c996u,0x459324d3u},{0x22c9926du,0x9164c938u,0xc8b2649du,0x6459324fu},{0x322c9927u,0xd9164c94u,0x4a14509u,0x448a128du},{0x14252129u,0x514a5322u,0x94a74529u,0x504a9455u},{0x1568aa2bu,0x115456a2u,0xa8ae6551u,0x5e5832a8u},{0xb12c1954u,0x59160caau,0x2ccb0455u,0x1688aa2du},{0x51545b22u,0xa8b74551u,0x708aa2e5u,0x1545d22au},{0x8bb45517u,0x88aa2f51u,0x545f22fcu,0xc045f982u},{0x8bf30918u,0x662230ccu,0x546198c8u,0xc331d190u},{0x64a320cau,0x464196ccu,0xc334ce46u,0x619e8cc3u},{0x41998689u,0xa48cc34du,0x1986a333u,0xd535999u},{0x86b9acccu,0xc360d666u,0x61b26b33u,0x30da3599u},{0x986d9accu,0xcc370d66u,0x661ba6b3u,0x330de359u},{0x9be700b6u,0xcdf3845bu,0x86f9c471u,0x8b68df39u},{0x11be7293u,0x989ce4e8u,0x27493a89u,0xd64ec276u},{0x93b89de4u,0xf027893cu,0x91e67a23u,0xccf54799u},{0xec8f33ddu,0x9f07c9b8u,0xcf83e4ddu,0x67c1f46fu},{0x33e0fb37u,0x19f07e1bu,0xacf83f4du,0xe67c1fa6u},{0xe33e0fe3u,0x759f07e1u,0xbccf83f0u,0xdc47c1feu},{0xcf83f100u,0x47c2028fu,0x83ed1f07u,0xd23e0f94u},{0x661ac8f8u,0x4091f081u,0xa3e10447u,0xc20a8f84u},{0x191f083bu,0x3e10841du,0x9f084a0au,0xcf842906u},{0x67c21683u,0xb3e10c41u,0x59f086a0u,0xccf84390u},{0x7a87a208u,0x8a0a8932u,0x311044d9u,0x1888228cu},{0x8c441156u,0x462208b2u,0x44117488u,0x23091046u},{0x52208d34u,0x6d1c4759u,0xe68f23ecu,0xf34811f6u},{0x79a428fbu,0x3cd2247du,0x1e691a3cu,0xd24479a4u},{0xa8f34991u,0xe693a3cdu,0x28479a52u,0x8f34a91eu},{0x695a3cd2u,0xc479a5a8u,0xf34b91e6u,0x97a3cd30u},{0x4988b693u,0x216d2662u,0xda3cd348u,0x471e69aau},{0x6cc8e3cdu,0x378471e6u,0x9c27313au,0x3cd384edu},{0x9e69e27au,0xcf34f93fu,0x679a80a0u,0xb3cd4250u},{0xd9e6a228u,0xa8f35191u,0xe6a3b3e1u,0x485259f0u},{0xa52968f8u,0x5311f0a6u,0xb3e14836u,0x19f0a51bu},{0x2cf8520du,0xa67c2946u,0xdb3e1483u,0x719f0a51u},{0xbacf8520u,0xde67c294u,0x6e33e14eu,0x3761f0a7u},{0xaa06f43eu,0x151548dcu,0x87c2a6aau,0x1bacf855u},{0x4de67c2au,0xa6e33e15u,0x63759f0au,0xb1b8cf85u},{0x54dd67c2u,0xac6f23e1u,0x5767c2b0u,0x6eb3e159u},{0x37a1f06eu,0x2b4adb3eu,0x15c56d9fu,0xaeab68fu},{0x85799f0au,0xfab68f85u,0x819f0b09u,0xbacf8584u},{0xde67c2c2u,0x6e33e161u,0x5891f0b1u,0xa3e16467u},{0xc2cab333u,0xe1675a11u,0xf0b4b3e1u,0x6a5ad9f0u},{0xb52d88f8u,0x5b59f0b6u,0xadccf85bu,0x56f67c2du},{0xab833e16u,0xd5c59f0bu,0x6ae4cf85u,0xb5738ba2u},{0xeab6aed0u,0x8c441775u,0xe1918882u,0xf2d7a5edu},{0x7c4bd2fau,0x97a5f9a3u,0x6bfb00d1u,0xb6058068u},{0xdb042db4u,0x6d8316e2u,0x36c230a2u,0xdc46d846u},{0x185ba8dbu,0x8c3b102u,0xdb46d891u,0x6da36c50u},{0xb6d8b471u,0x8c64a1e6u,0xc6b250f3u,0x639128c7u},{0xa2519044u,0xa3230946u,0x497564e2u,0xe8bab28cu},{0xac5d1756u,0x59978ba2u,0xeacc32f1u,0x745d5991u},{0x6e2e8babu,0x342db3e1u,0x9566d9f0u,0xcbb38cf8u},{0x65d9d67cu,0x32aceb3eu,0x19766d9fu,0xcf33ecfu},{0x8681a167u,0xc33ad123u,0xe1a387c3u,0x48ce34a8u},{0xf86991f0u,0xd1c3e1a4u,0x671a587cu,0x336d234au},{0xcf869d9cu,0x47c3510fu,0x86759f68u,0x59f0cf33u},{0xe8f86a59u,0xf0d53570u,0xf866dac6u,0xad1f0d4bu},{0x3e1ad681u,0x9f0cdb44u,0xcf86b9afu,0x6663366bu},{0x33319c35u,0x9998ce9au,0xcccc6c0du,0x66663626u},{0xb3331b23u,0x59998d99u,0xac8cc6d1u,0x198dab3eu},{0x1b66dd1fu,0xdc23e1bu,0x94dd3609u,0xba6c5374u},{0xd926e9b3u,0x4dd3769bu,0xa6f0b749u,0xba6f5374u},{0xdf26e9bfu,0x4dd3809bu,0xa704b848u,0xf870d1f0u},{0xe223e1c5u,0x4e338edcu,0x6705c86eu,0x3392e427u}}; const uint4 Q24[128] = {{0x19c76e33u,0x90e53719u,0xc872db8cu,0xe4398dc6u},{0x721cd6e3u,0x390e7271u,0x9cf67c3au,0xe8a3e1du },{0x247c3a6cu,0xf8751d56u,0x7c3a8eb3u,0x3e1d7741u},{0x9f0ec3a2u,0x8f87499fu,0xec3b2cfu,0x8765da67u},{0xc3aeed33u,0xe1d17699u,0xf0edbb48u,0xf87711f0u},{0xeea3e1dau,0x6663bcefu,0xb331e077u,0xd998f0bbu},{0xeccc789du,0xf4663c68u,0xcc791954u,0xf28b68aau},{0x799154f3u,0xa2a9e845u,0x53d28aa7u,0xa9154f5au},{0x2a9ec455u,0x3da8aa7bu,0x9154f7b2u,0xfdf02759u},{0x7ef893acu,0xbf7c89d6u,0x5fbe64ebu,0x2fdf4275u},{0x97efabecu,0x8bf7dd97u,0xe4ebf0cbu,0xf275f965u},{0xf93afd22u,0xfdfb2fe1u,0x7f4bfc5fu,0xf3001804u},{0xc0460330u,0x22816065u,0x3c0ca08u,0x82541505u},{0xa8320b70u,0x6c1d05b8u,0x3e10845cu,0x2508422au},{0x13845429u,0x8a85611u,0x50b422a1u,0x78454310u},{0x8a866115u,0xd422e1bu,0x8721d70fu,0x4390eb87u},{0xe1c875c4u,0x10e43ae2u,0x18721d71u,0x14390eb8u},{0x8e1c875cu,0x490e43aeu,0x1e8721d7u,0x12c390ebu},{0x89a1c875u,0xc4f0e43au,0xe288721du,0x714c390eu},{0xb8aa1c87u,0x5c571643u,0xae258721u,0xd716c590u},{0xeb8ba2f8u,0x754610ebu,0x8c61c875u,0xc650e43au},{0xa33875c6u,0x91ac3ae3u,0x48da1d71u,0xa46f0eb8u},{0xe2398754u,0x750ea8eeu,0x1d51e47au,0xa3e8f547u},{0xf2029064u,0x2521c88eu,0x4590a465u,0x23c90649u},{0x522494a4u,0x492d4852u,0x6290a4d5u,0x2249ca44u},{0x93d48528u,0x290a5152u,0x14a4e3d9u,0x4e5470ecu},{0xab2a3876u,0x569514afu,0x2c295e59u,0x72bcb52du},{0xb95e5c96u,0x1caf2ecbu,0xe5797a5u,0x972bcbf2u},{0xcb95e609u,0x65caf30cu,0xb6a57965u,0xcaf314b2u},{0xe5798e58u,0x72bcc92cu,0x29965972u,0xbcc92ca9u},{0x9658732cu,0xcd33b996u,0x6899dcd3u,0x354b6a65u},{0x9ad4d936u,0xa9b26e73u,0x7ccf3829u,0xc667538cu},{0xb6a719c9u,0x4e339a9cu,0x674738ceu,0xb3b39c67u},{0x79d94e33u,0xc29c6797u,0x38cf53dcu,0x8767c9f6u},{0x7b70ecf9u,0x3f38767cu,0x9fdd0140u,0xd04e80a0u},{0xe8254050u,0x8a80a155u,0x1432a1eu,0x88543d12u},{0xa87a2950u,0xf45aa1e8u,0xc346ba02u,0x8ea3dd01u},{0x4851ea80u,0xa4550149u,0x2a029354u,0x5286953u},{0x4b1a5cd3u,0x69934d1u,0xa6cd3869u,0xd34f2a7cu},{0x5b550542u,0xaa2a8554u,0x750aa92au,0x1552d42au},{0xa6a9d551u,0x54aaaaa9u,0x555d58aau,0xdab155d5u},{0x7bac2b1au,0xc8d66ab4u,0xa855435au,0xaadab755u},{0xb570ab6au,0xe4d7485bu,0xaed0b75eu,0x216ebd42u},{0xdd7c85bau,0xfd0b7602u,0x16ec142du,0xd8485bb0u},{0xd0b76221u,0x6ec53631u,0xb1cd90acu,0x9b295976u},{0x62b36cc5u,0x67598acfu,0xb315a166u,0x2b46cc56u},{0x9598ad3bu,0x315a9662u,0xb56cc56bu,0x598ad7b3u},{0x15b1662bu,0x66cc56d5u,0x98adbb71u,0x5bb6e2b7u},{0xadc36fabu,0x32e05665u,0xc2accb89u,0x59971ab3u},{0x2e45665cu,0xaaccb995u,0x9973ab32u,0xe85665d2u},{0xaccba959u,0x975ab32eu,0xc5665daau,0xccbb8ddeu},{0x6f03789bu,0xc8de66f4u,0x37aabdafu,0x757b5f0au},{0xf6be55edu,0x7d1becdfu,0x86fd37f1u,0xbfd60180u},{0xac0b0338u,0x21c14e0cu,0x7073841cu,0x2561585au},{0xc330b386u,0xac3b0f58u,0x7620b0ecu,0x4561d892u},{0xc3b1358au,0x62ab14c5u,0x962f8c1cu,0x64e3471bu},{0x38e1c74eu,0x3cb1fc81u,0x643912c8u,0xf2259264u},{0x4b25c88eu,0x4c727391u,0x1ca0e527u,0x2a395acbu},{0x32d3971cu,0xbce60731u,0x3991ccceu,0x6873539bu},{0x2cdf3859u,0xce70b3acu,0xe16779b2u,0xcf33639eu},{0x9cf967fau,0x1d04e84u,0x7433a21du,0x14e8c747u},{0x3a41d24eu,0x9474b5a6u,0x69ab4ed3u,0x569fa6adu},{0x434d3a89u,0xd4969ba9u,0xad53553au,0xb2d4f575u},{0xa9eb0b53u,0xd656a7adu,0x2d4f5b5au,0x9eb8b5ddu},{0x796bbaf9u,0xd816a7b0u,0xad4f625au,0x9ec6b53du},{0x916a7b2au,0xd4f665a9u,0xeceb53dau,0x16a7b49du},{0xa8ed676cu,0x3b69db8eu,0xde7703b8u,0x9dc8ee67u},{0x743ba9ddu,0x90b7a9a1u,0x6f7742deu,0xf085bde5u},{0xb7bd216u,0xf7b42defu,0x885bdf4eu,0xfc77f3c0u},{0x1e04f047u,0x833c21e1u,0x570dc39eu,0x20f12b8au},{0xe2cf1878u,0xd5c771ebu,0x90e3d723u,0xc7ae4b93u},{0x3ca1e4cfu,0x2ab96e5cu,0xf307995cu,0xd7360000u},{0x680240u,0x7601200u,0x2f807601u,0x1a029005u},{0xd80d201du,0x20400086u,0x81240276u,0x5200aa8u},{0x16c03060u,0x6680d881u,0xc803be07u,0xd8101821u},{0xa046208fu,0x81258258u,0x4ca09c8u,0x13f828c0u},{0x5320a981u,0x5982c005u,0x9a0b9017u,0x882fe061u},{0x60c8819cu,0x835006ceu,0xdf81ca8u,0x3ac07720u},{0xf181e983u,0xe007da10u,0x1020d843u,0xc08ba11fu},{0x824a84acu,0x9861368u,0x27384f40u,0xa2a14b02u},{0xa1855a0au,0xe216202cu,0xf85b60b9u,0xa17682f3u},{0x85f40c02u,0x183830d8u,0x6280c921u,0x95833686u},{0x7a0d0e1au,0x5035086au,0xe0d8a1b7u,0x37e8714u},{0xe561d08u,0x3ac87660u,0xefa1e503u,0xd587c20fu},{0xb21fc040u,0x3881e106u,0xa2130431u,0x887a1122u},{0x22a045a8u,0x8cc11c62u,0x3e848d89u,0x32129225u},{0x804bb898u,0xe134a26fu,0x4ee89feu,0x143e2900u},{0x5308a821u,0x5322ae85u,0x6d8afc16u,0x262cd05au},{0xa8b76172u,0xe2ee05ecu,0x8bfa180eu,0x307861a8u},{0xc4c18b23u,0x1c06438cu,0x9e195633u,0x866c8cfu},{0x1a0e34au,0x6a48d6au,0x1b163688u,0x6dc8dd01u},{0xbce37f87u,0xa8e2c1cu,0x86396873u,0x88e881d3u},{0xe3ad8766u,0x8ee41df6u,0x3c487948u,0xf401eae3u},{0xdb87c78fu,0xa61f7a3fu,0x787fa900u,0xc205a413u},{0x88379090u,0x21624348u,0x87991142u,0x26a45588u},{0xbb91a223u,0x7247408eu,0xe91ea23eu,0xe4810908u},{0x921e2456u,0x48e09229u,0x25224be4u,0x9b093c92u},{0x90254e4au,0xf896a92fu,0x6262e4ceu,0x9ac937au},{0x27364ef0u,0x9ee93fe2u,0x83e50d8au,0x2b946e29u},{0xa5270a5u,0x994ca29cu,0x253e0a87u,0x95262a7au},{0x5550aba9u,0x5962b6e5u,0x760afc96u,0x1a2c7659u},{0xc0b4896bu,0x22da65bdu,0xb859722u,0x2e725d40u},{0xbb897922u,0xf665f50bu,0xfa980c30u,0x4660e8c2u},{0x8986830fu,0xe6258c56u,0x98c431b6u,0x63c8c849u},{0x920326e6u,0x538cb299u,0x7c332666u,0xf8cef9a0u},{0xa346a695u,0x8d3b9a98u,0x35726b68u,0xd789b083u},{0x6526d28du,0xb09b7837u,0x326ee8deu,0xd9bfc383u},{0xa70f8e2fu,0x9c803942u,0x7330e7b9u,0xd223a867u},{0x590ec29du,0xa63b8e77u,0xa0eff9e2u,0x3c8279bu},{0xf469eaeu,0x3d8a7b98u,0xf7e9f1e3u,0xe7e7d80fu},{0xc09f983fu,0x5e7f40ffu,0x8a008405u,0x28129030u},{0xa0824146u,0x8311072au,0x106424e8u,0x5490bea1u},{0x9e437e87u,0x590f6a20u,0xe445e894u,0x1138a29cu},{0x458e8bf1u,0x18ea33e4u,0x6be8e011u,0xd0a3b847u},{0x9e8f9920u,0x8a43c48cu,0xe924925eu,0xa4e84a12u},{0x94a92a5au,0x56c4b1a9u,0x6b92e7a5u,0xf04c0e98u},{0xc9324a66u,0x4d169adu,0x936ba6eeu,0x4e329ce9u},{0x3a8a7724u,0xf3a9ed13u,0xeaa7f650u,0x2ea0e142u},{0xca87a513u,0x6a2f146eu,0xa8fe522au,0xa4b14a6au},{0x96452f6au,0x6494d4a9u,0xc053aea7u,0xb9502aa1u},{0x25452a90u,0x152baa6eu,0x550aaa49u,0x554aac05u},{0x5aeabb95u,0x87ab3056u,0x8eada15cu,0x4abaa579u},{0x6afb1601u,0xac245876u,0xb149639au,0xc94596abu},{0x359676adu,0xe5a5eb5u,0x416b8ad9u,0x25b52b70u},{0x16ebadf8u,0x5c32b8e9u,0x72dae725u,0xd12baa97u},{0x60aed85du,0xdebc1978u,0xeaf345e9u,0x6bd897bcu},{0xaf905f62u,0xbf497f9bu,0x14606acu,0x159836b0u},{0x8e615ec3u,0x41873b0fu,0x46202c43u,0x988db128u}}; const uint4 Q25[128] = {{0x626ac509u,0x8a7b15c6u,0x2e6c6298u,0xd0b1b863u},{0x9ec7c190u,0x8b232649u,0x2c98193bu,0xb28e654au},{0xcaf1969bu,0x2ea6616cu,0xcb19a6b3u,0x6e671eceu},{0xc19e8b3fu,0x26826d0du,0x1a2ab476u,0x692ed2e1u},{0xa6cb4fa6u,0xa36d4f1au,0xaeb5746bu,0x2ad6d9aeu},{0x6b5ee6c1u,0xed8c1b28u,0xb6686cfeu,0xda59b56bu},{0x6c46db6du,0xbc9b89b7u,0x2a6e6eddu,0x39bb2b77u},{0xc6f26deau,0x9be0b7d8u,0x6fdee019u,0xc13b8487u},{0xd2e201cu,0x4bb8b871u,0xb2e3e9c8u,0xdb93c72bu},{0xae5f9ccau,0xb9b673aeu,0xe7e1d07bu,0xa30748eeu},{0x9a1d44bau,0xaa7582ebu,0x61d77bb1u,0x764eecfu},{0x9daabb6cu,0x7706ee91u,0xde2bbdc7u,0x7e6f051eu},{0x1fbc6079u,0x2f289e6u,0x1bcda79eu,0x2f421e8fu},{0xbd367a9au,0xf591ebdbu,0xd887b52fu,0x729ef0bdu},{0xf87c1ef8u,0x99f19be4u,0x7c9af96u,0x9f33be74u},{0x7d02fa39u,0xf4dbea87u,0xd7efb59fu,0x76bf047eu},{0x36fcc9fau,0x4bf607eeu,0xefe39fd2u,0xbfbc7fbau},{0xffaa000cu,0x18805f0u,0x11a02ec0u,0x6a810302u},{0x62057c0cu,0x681bb03du,0x2085c122u,0x82730542u},{0xb3c1748u,0x303063a0u,0xd2c1bc83u,0xa707aa10u},{0xc218845u,0xf091a12eu,0xc2748517u,0xa8a15ccu},{0x2d085cf0u,0xbfa18ac3u,0x2c86870du,0x421b3c37u},{0xe872b0ebu,0x21e1c3dau,0x87e31022u,0x20fc4368u},{0x89b11922u,0x3dc49289u,0x5312da26u,0x1c4d089bu},{0xb13aa27bu,0xc5048a37u,0x14ca2a4cu,0x5608adb1u},{0x5ea2c3c5u,0x948b4316u,0xe22e7c5du,0xc8bd317du},{0xa301c610u,0x8c3b18d2u,0x325c6588u,0xcdf1a1a3u},{0x4ec6b48du,0x971b8a37u,0xcc7108e3u,0xb1caa39bu},{0xc7448ea3u,0x1d7a3bacu,0x78c8f471u,0xeea3e8c7u},{0xde8fd71fu,0xe2402c81u,0x2903f20bu,0x2421c850u},{0x90bb21aau,0x43bc8849u,0x123227a4u,0x55c8b891u},{0x9f239a47u,0xec914925u,0x724e24a2u,0xc95c92d3u},{0x25da4c1cu,0x990933b2u,0x6aa4dbc9u,0xc493a327u},{0x7a4f5ca0u,0x2943328cu,0x2523ca54u,0x94c329e2u},{0x547ca9c9u,0x5672b2a5u,0x70caf896u,0x1f2c9a59u},{0xecb5496cu,0x32de25c7u,0xcba6977bu,0x2f525f5cu},{0xc0298333u,0xc261eccu,0x4a98af31u,0x92638cc7u},{0xe9917326u,0x2652ccb2u,0x997f3332u,0x66cccf09u},{0xa0f347a6u,0x9acd4c9au,0xc735ea6cu,0x8cd9e9b5u},{0x736e26e2u,0xcdd29bbfu,0x37b26fccu,0xe109c3b3u},{0x8aa720ceu,0x4e9cb739u,0xca744ceau,0x9d6f3b1u},{0x2768cedeu,0x9deb3c0au,0x78780000u,0x0u},{0x0u,0x8040u,0x18080280u,0xc0381004u},{0x81405818u,0x681c078u,0x20088240u,0x98280a82u},{0xc0b8300cu,0x300c030u,0xc0300c8u,0x340d8360u},{0xd8360d83u,0x60e03a0fu,0x3c0f03cu,0xf840100u},{0x40100401u,0x401004u,0x1004010u,0x4211046u},{0x12048120u,0x48120481u,0x204a1304u,0xe1385013u},{0x84e1484eu,0x13852140u,0x50138521u,0x48501304u},{0xa1505415u,0x5415858u,0x1685c178u,0x60188641u},{0x98661986u,0x61986619u,0x8661a068u,0x1a86c1b8u},{0x701c8741u,0xb8701c87u,0x41b8701cu,0x8741b870u},{0x1c8741b8u,0x701d8781u,0xe87c1f88u,0x2087c1fu},{0x8802087cu,0x21086220u,0x8a2308e2u,0x40922509u},{0x62609a27u,0x9e280a2u,0x290a62a0u,0xaa2b0ae2u},{0xc0b22d0bu,0x62d8b62du,0x8b62d8b6u,0x2d8b62d8u},{0xb62e0ba2u,0xf0be2f8cu,0x308c22fu,0x8c0300c2u},{0x2f8be308u,0xbe2f8c02u,0xf8be300cu,0x2308c02fu},{0xba2e0b6u,0x2d8b62d8u,0xb6310c43u,0x18c8328cu},{0xc338d034u,0x8d4358d8u,0x368dc378u,0xe0380e03u},{0x80e0380eu,0x380e038u,0xe0380e0u,0x380e2388u},{0xe4398e83u,0xa8ea3b0eu,0x83a0ec3au,0x8ea3a0ecu},{0x3b0e83a8u,0xea398e43u,0x88e0380eu,0x380e038u},{0xe0380e0u,0x380e03b8u,0xf03c8f43u,0xd8f83e8fu},{0xc3f90040u,0x90441908u,0x4290c439u,0x10449144u},{0x59184691u,0xc4792048u,0x92449928u,0x4a92c4b1u},{0x2c4b12c4u,0xb12c4b12u,0xc4b12c4bu,0x12c4b12eu},{0x4c1324d1u,0x364e13a4u,0xf13e5013u,0xe4f13a4eu},{0x1364e13au,0x4f13e501u,0x3e4f13a4u,0xe1365094u},{0x45194852u,0x14852148u,0x52148521u,0x48521485u},{0x21485294u,0xa5314e54u,0x15255154u,0x55154551u},{0x565615a5u,0x715e5816u,0x2591665au,0x1685a168u},{0x5a96a5b1u,0x6e5c1725u,0xc1705c97u,0x5c1725cu},{0x16e5b16cu,0x5a9685a1u,0x685a1685u,0xa1745d97u},{0x85e97c5fu,0x98060984u,0x60182611u,0x80609846u},{0x1826118u,0x6098460u,0x18261186u,0x6218a619u},{0x88629866u,0x218a6198u,0x86298662u,0x18a61988u},{0x62986621u,0x8a619886u,0x29866218u,0xa6318e64u},{0x19265196u,0x6619a671u,0x9e681a26u,0x91a66a1au},{0xa6b1ae6cu,0x1745d978u,0x5e97c5f9u,0x80609846u},{0xc9b46d9bu,0x86e9bc6fu,0x9c0709c4u,0x701bc6f9u},{0xc0709c47u,0x19c8729cu,0xc739d074u,0x9d2749d2u},{0x749d2749u,0xd4759d87u,0x69dc779du,0xa771de76u},{0x9dc779dau,0x771de769u,0xdc781e27u,0x91e67a1eu},{0xa7b1ee7cu,0x1f27d1f6u,0x7e1fa7f1u,0xfe802028u},{0x12068220u,0xa8320e84u,0x21285216u,0x8621a872u},{0x1e882228u,0x92268a22u,0xa8b22e8cu,0x2328d236u},{0x8e23a8f2u,0x3e902429u,0x12469224u,0xa9324e94u},{0x25295256u,0x9625a972u,0x5e982629u,0x92669a26u},{0x49aa6c99u,0x26a9b26eu,0x9c2729d2u,0x769e27a9u},{0xda789ea7u,0x69e27a9du,0xa7c9fa80u,0xa0a84a1au},{0x88a2a8cau,0x3a8ea429u,0x2a4a8ea4u,0xa92a3a90u},{0xa4292a3au,0x8ea4a94au,0x5a98a629u,0x8a6298a6u},{0x298a6a9cu,0xa7aa0a8au,0xa4a9aa8au,0xaaacababu},{0xacab4adu,0xab8aeabcu,0xafac0b0au,0xc4b1ac8bu},{0x2accb3adu,0xb4ad4b5u,0xad8b6adcu,0xb7ae0b72u},{0xdeb8ae4bu,0x7ae2b9aeu,0x8baaecbbu,0xaf0bcaf4u},{0xbc2f6be2u,0xf0bdafabu,0xf2fec030u,0x2c1306c0u},{0xb04c1b02u,0xc1306c0bu,0x4c22fccu,0x2b0cc3b1u},{0xc4b0ec5u,0x316c631au,0xc731e74bu,0x14c5b18cu},{0x6b1cc832u,0x2c9326cau,0x32acb32eu,0xcc332ccbu},{0x32cd336cu,0xe33acf33u,0xeceb3ccfu,0xb3acf33eu},{0xd0342d13u,0x46d234adu,0x3348d2b4u,0xcd3b50d4u},{0xb54d5b58u,0xd6b5cd7bu,0x60d8b5edu,0x8362d936u},{0xd8b64d9u,0xb68d9360u,0xdab5ed83u,0x6cdbb70du},{0xb36edcb7u,0x4ddb78deu,0x378de378u,0xde378de3u},{0x7adf37eeu,0x382e138u,0x6e238ae3u,0x38ee4392u},{0xe5394e53u,0x94e5394eu,0x5394e539u,0x4e5394e5u},{0xb96e639au,0xe739ce73u,0x9ce7ba0eu,0x8ba4e9bau},{0x6e9ba8e9u,0xba6ea3a8u,0xe9ba6eabu,0xacebbb0eu},{0xcbb4edbbu,0x8eebbcefu,0xbc0f0bc4u,0xf1bc8f2bu},{0xccf3bd0fu,0x4bd4f5bdu,0x6f5bd6f6u,0x3daf73deu},{0xf83e2f93u,0xe4f93e4fu,0x9be6f93eu,0x4fa3eafbu},{0x3eefc3f2u,0xf93e4fd3u,0xf4f93e4fu,0xd3e4f93eu},{0x4fd3f4f9u,0x3f6fe3fau,0xff3ff004u,0x2f93e4fu},{0x93e4fd3fu,0x4f93f4fdu,0x3e4f93f4u,0xf940501cu},{0x902c0d0u,0x3c10f941u,0x30541706u,0x41b0741fu},{0x8423094u,0x2709c270u,0xa42b0b42u,0xf0c4330du},{0x4370e43bu,0xf43f104u,0x43114471u,0x1c471244u},{0x711c4b13u,0x44f14453u,0x1545711cu,0x59164471u},{0x1c4711c5u,0x91645b17u,0x45f18463u,0x1945f194u},{0x5f184631u,0x845f1946u,0x31845f19u,0x46519c69u},{0x1ac6d1bcu,0x711cc751u,0xd4771dc7u,0x51dc771du},{0xc771dc77u,0x1e47b1f4u,0x7f204832u,0x14872248u},{0xb2348f24u,0x49325497u,0x2649b274u,0x9f284a32u},{0x94a72a4au,0xb2b4af2cu,0x4b32d4b7u,0x2e4bb2f4u},{0xbf304c33u,0x14c7324cu,0xb334cf34u,0x4d134cd5u},{0x35cd936cu,0xdd37cd93u,0x6cdd374du,0xd374dd37u}}; const uint4 Q26[48] = {{0x4dd374ddu,0x374dd374u,0xdd374df3u,0x64d7354du},{0x3344d138u,0x4e3394e7u,0x3a4eb3acu,0xeb3aceb3u},{0xaceb3aceu,0xb3aceb3au,0xceb3acebu,0x3ace939cu},{0xe538ce13u,0x44d1344du,0x1344d134u,0x4d1344edu},{0x3bcf13b4u,0xef3c4ed3u,0xbcf13b4eu,0xf3c4ed3bu},{0xcf13b4efu,0x3c4ed3bcu,0xf13b4ef3u,0xc4ed3bcfu},{0x13b4ef3cu,0x4ed3ccf5u,0x3dcf93ecu,0xfd3fd014u},{0xd0541d0u,0x942d0b42u,0xd0b42d0bu,0x42d0b42du},{0xb42d0b4u,0x2d0b42d0u,0xb42d0b42u,0xd0b4350fu},{0x44513455u,0x174651b4u,0x751f4852u,0x3495274au},{0x5294a529u,0x4a5294a5u,0x294a5294u,0xad2b4b52u},{0xf4bd2d4bu,0xd2f4ad2du,0x4b52b4bdu,0x2f4ad2d4u},{0xb5314cd3u,0x54dd394eu,0xd3b4ed3bu,0x4ed3b4edu},{0x3d4fd415u,0xd4551d4u,0x94ed3b4eu,0xd3b4ed3bu},{0x4ed3b4edu,0x4b5354f5u,0x45535555u,0x75655b57u},{0x55f58563u,0x59567575u,0x5f585635u,0x95675756u},{0x95ad6d5bu,0xd6f5bd6fu,0x5bd6f5bdu,0x6f5c5735u},{0xcd715d57u,0x55cd755du,0x5715cd73u,0x5dd795edu},{0x7d5fd816u,0xd7d5fd8u,0x160d7d5fu,0xd8160d7du},{0x5fd8160du,0x7d5fd816u,0xd7d5f57u,0xd5f57d5fu},{0x57d5f57du,0x5f57d5f5u,0x7d615876u,0x258b6358u},{0xf6459365u,0x5976659bu,0x6759f685u,0xa3695a76u},{0xa5ab6b5au,0xf6bdaf6bu,0xdaf6bdafu,0x6bdaf6bdu},{0xaf6bdaf6u,0xbdaf6c5bu,0x36d5b76eu,0x5bb6edbdu},{0x6e5b96edu,0xb96e5bd6u,0xedbb6e5bu,0xb6edbd6eu},{0xdbb6e5bdu,0x6f5bf705u,0xc3715c57u,0x15c5715cu},{0x5715c571u,0x5c7725cbu,0x735cf745u,0xcb735cf7u},{0x45cb735cu,0xf745cb73u,0x5cf745cbu,0x735cf745u},{0xcb735cf7u,0x45cb735cu,0xf745d375u,0x5d7765dbu},{0x775df785u,0xe3795e77u,0xa5eb7b5eu,0xf7c5f37du},{0x5f77e5fbu,0x7f5ff7fdu,0xff7fdff7u,0xfe0180e0u},{0x581e0982u,0x60982609u,0x82609826u,0x9826098u},{0x260b8360u,0xf8461184u,0xe1585613u,0x85615846u},{0x1384e158u,0x4e138461u,0x384e1584u,0xe1384617u},{0x8661b876u,0x1f886238u,0x96278a62u,0xb8b62f8cu},{0x6338d637u,0x8e63b8f6u,0x3f906439u,0xe4390e4u},{0x390e4390u,0xe4390e43u,0x90e4390eu,0x4390e439u},{0xe4390e4u,0x591e4992u,0xe4591e49u,0x92e4591eu},{0x4992e459u,0x1e4992e4u,0x591e4992u,0xe4591e49u},{0x92e4d93eu,0x51936519u,0x3e4d93e5u,0x193e5193u},{0x65193e4du,0x93e5193eu,0x519364f9u,0x464f9464u},{0xd93e4d93u,0xe5190e43u,0x90e4390eu,0x4390e439u},{0xe539565u,0x79665996u,0x65996659u,0x96e5d97eu},{0x6198e659u,0x96659966u,0x59966599u,0x6679a66bu},{0x9b66f9c6u,0x739d6779u,0xe6799e67u,0x99e6799eu},{0x6799e679u,0x9e6799e6u,0x799ee7d9u,0xfe81a0e8u},{0x3a0e83a0u,0xe83a0e83u,0xa0e83a0eu,0x83a0e83au},{0xe820000u,0x0u,0x0u,0x0u}}; __DEVICE__ uint4 QUAD(int q) { int b = q >> 7, i = q & 127; if (b == 0) return Q0[i]; if (b == 1) return Q1[i]; if (b == 2) return Q2[i]; if (b == 3) return Q3[i]; if (b == 4) return Q4[i]; if (b == 5) return Q5[i]; if (b == 6) return Q6[i]; if (b == 7) return Q7[i]; if (b == 8) return Q8[i]; if (b == 9) return Q9[i]; if (b == 10) return Q10[i]; if (b == 11) return Q11[i]; if (b == 12) return Q12[i]; if (b == 13) return Q13[i]; if (b == 14) return Q14[i]; if (b == 15) return Q15[i]; if (b == 16) return Q16[i]; if (b == 17) return Q17[i]; if (b == 18) return Q18[i]; if (b == 19) return Q19[i]; if (b == 20) return Q20[i]; if (b == 21) return Q21[i]; if (b == 22) return Q22[i]; if (b == 23) return Q23[i]; if (b == 24) return Q24[i]; if (b == 25) return Q25[i]; return Q26[i]; } __DEVICE__ uint ROMWORD(int p) { uint4 v = QUAD(p >> 2); int k = p & 3; return k == 0 ? v.x : k == 1 ? v.y : k == 2 ? v.z : v.w; } __KERNEL__ void CartoonLaLineaEpisode10Fuse__Buffer_A(__CONSTANTREF__ Params* params, __TEXTURE2D_WRITE__ destinationTexture) { DEFINE_KERNEL_ITERATORS_XY(fusion_x, fusion_y); if (fusion_x >= params->width || fusion_y >= params->height) return; float2 iResolution = to_float2(params->iResolution[0], params->iResolution[1]); float4 fragColor = to_float4_s(0.0f); float2 fragCoord = to_float2(fusion_x,fusion_y); float4 ColorBKG = to_float4(params->ColorBKG[0], params->ColorBKG[1], params->ColorBKG[2], params->ColorBKG[3]); float2 ViewXY = to_float2(params->ViewXY[0], params->ViewXY[1]); float R_THICK = params->R_THICK; float R_THIN = params->R_THIN; float GLOW = params->GLOW; float VIGNETTE = params->VIGNETTE; // -------- fragCoord+=0.5f; int i = (int)(fragCoord.x) + (int)(fragCoord.y) * (int)(iResolution.x); uint w = i < NW ? ROMWORD(i) : 0u; fragColor = to_float4((float)(w >> 24), (float)((w >> 16) & 255u), (float)((w >> 8) & 255u), (float)(w & 255u)); _tex2DVec4Write(destinationTexture, fusion_x, fusion_y, fragColor); } // ---------------------------------------------------------------------------------- // - Buffer B - // ---------------------------------------------------------------------------------- // Connect Buffer B 'Previsualization: Buffer A' to iChannel0 /* Created by Tonny Espeset, 2026 https://www.shadertoy.com/view/NfVGzd La Linea Episode 10 Feel free to use this code, but please keep this credit and link. Check my other shaders at https://www.shadertoy.com/user/Espeset */ const int NVID = 1709; const int NPB = 7; const int SNB = 3; const int RNB = 3; const int CNB = 6; const int UFB = 10; const int POB = 19; const int FOB = 15; const int RIB = 10; const int RUNTAB_BASE = 359053; const int FRAMES_BASE = 382153; const int FRAMEDIR_BASE = 402415; const int TIMELINE_BASE = 414925; const float FPS = 12.5311f; const int SUBTARGET = 640; // segment budget per frame const int SUBMIN = 2; const int SUBMAX = 6; const int MAXSEG = 640; // worst case after smoothing const float TAPER = 6.0f; // arc length over which the pen opens up __DEVICE__ int NZ(float2 iResolution) { return (int)(0.0f)/1000000; } // 0, but not to the compiler // iResolution.z ???????????????? __DEVICE__ uint word(int i, float2 iResolution, __TEXTURE2D__ iChannel0) { int w = (int)(iResolution.x); //float4 tmp = texelFetch(iChannel0, to_int2(i % w, i / w), 0); //uvec4 b = uvec4(texture(iChannel0, vec2(float(i % w)+0.5, float(i / w)+0.5)/iResolution.xy)); int RowSampler = 15; // Total irre !!! Tausend Shader, die liefen ohne diese Zeile mit OpenCL. Dieser Shader braucht aber genau dies nur für OpenCL -> Total irre !!! float4 tmp = texture(iChannel0, to_float2((float)(i % w)+0.5f, (float)(i / w)+0.5f)/iResolution); uint4 b = {(uint)tmp.x,(uint)tmp.y,(uint)tmp.z,(uint)tmp.w}; return (b.x << 24) | (b.y << 16) | (b.z << 8) | b.w; } // n bits (n <= 19) at absolute bit position p __DEVICE__ uint rd(int p, int n, float2 iResolution, __TEXTURE2D__ iChannel0) { int w = p >> 5, o = p & 31; uint v = word(w, iResolution, iChannel0) << o; if (o + n > 32) v |= word(w + 1, iResolution, iChannel0) >> (32 - o); return v >> (32 - n); } __DEVICE__ int rds(int p, int n, float2 iResolution, __TEXTURE2D__ iChannel0) { return (int)(rd(p, n, iResolution, iChannel0)) - (1 << (n - 1)); } // uniform quadratic B-spline through control points a,b,c __DEVICE__ float2 bspline(float2 a, float2 b, float2 c, float t) { return (0.5f - t + 0.5f * t * t) * a + (0.5f + t - t * t) * b + (0.5f * t * t) * c; } // 0..15 pen weight at arc position s. Note _fminf(s, gLen - s): a stroke shorter // than 2*TAPER simply never reaches the full thick pen, which is what you want. __DEVICE__ float penAt(float s, float gPen, float gLen) { if (gPen == 0.0f) return 0.0f; if (TAPER <= 0.0f) return 15.0f; // taper off: uniform thick pen return _floor(clamp(_fminf(s, gLen - s) / TAPER, 0.0f, 1.0f) * 15.0f + 0.5f); } // The piece around control point b runs from mid(a,b) to mid(b,c), so its arc // span is gArc -/+ half of the two adjacent control-polygon edges. __DEVICE__ void emitPiece(float2 a, float2 b, float2 c, float gPen, float gLen, int gSub, inout int *gSeen, inout float *gArc, int gWant, inout float4 *gSeg) { //if (gSub == 0) { (*gSeen)++; return; } // counting pass: one per pieces if (gSub == 0) { (*gSeen) += 1; return; } // counting pass: one per piece float s0 = *gArc - 0.5f * length(b - a); float s1 = *gArc + 0.5f * length(c - b); float2 q0 = bspline(a, b, c, 0.0f); float w0 = penAt(s0, gPen, gLen); for (int s = 1; s <= gSub; s++) { float t = (float)(s) / (float)(gSub); float2 q1 = bspline(a, b, c, t); float w1 = penAt(_mix(s0, s1, t), gPen, gLen); if (*gSeen == gWant) *gSeg = to_float4(q0.x + 512.0f * w0, q0.y, q1.x + 512.0f * w1, q1.y); //*gSeen++; (*gSeen) += 1; q0 = q1; w0 = w1; } *gArc += length(c - b); } // Control-polygon length of the stroke whose record starts at bit p. The // taper needs the total up front, and re-walking the bit stream is cheaper // than finding somewhere to cache it. __DEVICE__ float strokeLen(int p, float2 iResolution, __TEXTURE2D__ iChannel0) { p += 1; // pen int lnb = rd(p, 1, iResolution, iChannel0) == 0u ? SNB : NPB; p += 1; int npts = (int)(rd(p, lnb, iResolution, iChannel0)) + 2; p += lnb + 16; float L = 0.0f; for (int k = 1; k < npts; k++) { int wid; if (rd(p, 1, iResolution, iChannel0) == 0u) { p += 1; wid = 4; } else if (rd(p + 1, 1, iResolution, iChannel0) == 0u) { p += 2; wid = 5; } else if (rd(p + 2, 1, iResolution, iChannel0) == 0u) { p += 3; wid = 6; } else { p += 3; wid = 9; } L += length(to_float2((float)(rds(p, wid, iResolution, iChannel0)), (float)(rds(p + wid, wid, iResolution, iChannel0)))); p += 2 * wid; } return L; } // Walks the frame. With sub == 0 it just counts spline pieces (= control // points); otherwise it emits `sub` segments per piece and captures `want`. __DEVICE__ int walkFrame(int vf, int sub, int want, inout float *gPen, inout float *gLen, inout int *gSub, inout int *gSeen, inout float *gArc, inout int *gWant, inout float4 *gSeg, float2 iResolution, __TEXTURE2D__ iChannel0) { *gSeen = 0; *gWant = want; *gSeg = to_float4_s(0.0f); *gSub = sub; int uf = (int)(rd(TIMELINE_BASE + vf * UFB, UFB, iResolution, iChannel0)); int p = FRAMES_BASE + (int)(rd(FRAMEDIR_BASE + uf * FOB, FOB, iResolution, iChannel0)); int nruns = (int)(rd(p, RNB, iResolution, iChannel0)); p += RNB; for (int r = 0; r < nruns; r++) { int ri = (int)(rd(p, RIB, iResolution, iChannel0)); p += RIB; int q = RUNTAB_BASE + ri * (POB + CNB); int po = (int)(rd(q, POB, iResolution, iChannel0)); int cnt = (int)(rd(q + POB, CNB, iResolution, iChannel0)) + 1; for (int c = 0; c < cnt; c++) { int p0 = po; *gPen = (float)(rd(po, 1, iResolution, iChannel0)); po += 1; *gArc = 0.0f; // TAPER is a compile-time constant, so setting it to 0 folds this // pre-walk - the taper's whole cost - out of the shader entirely. *gLen = (TAPER > 0.0f && *gSub != 0 && *gPen != 0.0f) ? strokeLen(p0, iResolution, iChannel0) : 1.0f; int lnb = rd(po, 1, iResolution, iChannel0) == 0u ? SNB : NPB; po += 1; int npts = (int)(rd(po, lnb, iResolution, iChannel0)) + 2; po += lnb; float2 cur = to_float2((float)(rd(po, 8, iResolution, iChannel0)), (float)(rd(po + 8, 8, iResolution, iChannel0))); po += 16; float2 prv = cur; // first control point doubled for (int k = 1; k < npts; k++) { int wid; if (rd(po, 1, iResolution, iChannel0) == 0u) { po += 1; wid = 4; } else if (rd(po + 1, 1, iResolution, iChannel0) == 0u) { po += 2; wid = 5; } else if (rd(po + 2, 1, iResolution, iChannel0) == 0u) { po += 3; wid = 6; } else { po += 3; wid = 9; } float2 nxt = cur + to_float2((float)(rds(po, wid, iResolution, iChannel0)), (float)(rds(po + wid, wid, iResolution, iChannel0))); po += 2 * wid; emitPiece(prv, cur, nxt, *gPen, *gLen, *gSub, gSeen, gArc, *gWant, gSeg); prv = cur; cur = nxt; } emitPiece(prv, cur, cur, *gPen, *gLen, *gSub, gSeen, gArc, *gWant, gSeg); // last control point doubled } } return *gSeen; } __KERNEL__ void CartoonLaLineaEpisode10Fuse__Buffer_B(__CONSTANTREF__ Params* params, __TEXTURE2D__ iChannel0, __TEXTURE2D_WRITE__ destinationTexture) { DEFINE_KERNEL_ITERATORS_XY(fusion_x, fusion_y); if (fusion_x >= params->width || fusion_y >= params->height) return; float2 iResolution = to_float2(params->iResolution[0], params->iResolution[1]); float iTime = params->iTime; float4 fragColor = to_float4_s(0.0f); float2 fragCoord = to_float2(fusion_x,fusion_y); float4 ColorBKG = to_float4(params->ColorBKG[0], params->ColorBKG[1], params->ColorBKG[2], params->ColorBKG[3]); float2 ViewXY = to_float2(params->ViewXY[0], params->ViewXY[1]); float R_THICK = params->R_THICK; float R_THIN = params->R_THIN; float GLOW = params->GLOW; float VIGNETTE = params->VIGNETTE; // -------- fragCoord+=0.5f; int gSeen = 0; // segments (or, while counting, control points) seen so far int gWant = 0; // the segment this pixel is after float4 gSeg = to_float4_s(0.0f); // ...and where it lands float gPen = 0.0f; // 1.0f = thick stroke float gArc = 0.0f; // arc length at the current control point... float gLen = 0.0f; // ...and of the whole stroke int gSub = 0; // spline samples per control point; 0 = counting pass int idx = (int)(fragCoord.x) + (int)(fragCoord.y) * (int)(iResolution.x); if (idx > MAXSEG) { fragColor = to_float4_s(0.0f); _tex2DVec4Write(destinationTexture, fusion_x, fusion_y, fragColor); return; } int vf = (int)(mod_f(_floor(iTime * FPS), (float)(NVID))); // first walk: how many spline pieces? -> how finely can we afford to sample // one loop rather than two calls, or the whole walk is inlined twice int sub = 0, n = 0; for (int pass = 0; pass < 2; pass++) { // + NZ(iResolution) n = walkFrame(vf, sub, sub == 0 ? -1 : idx - 1, &gPen, &gLen, &gSub, &gSeen, &gArc, &gWant, &gSeg, iResolution, iChannel0); sub = clamp((int)SUBTARGET / max(n, 1), (int)SUBMIN, (int)SUBMAX); } fragColor = idx == 0 ? to_float4((float)(n), 0.0f, 0.0f, 0.0f) : gSeg; _tex2DVec4Write(destinationTexture, fusion_x, fusion_y, fragColor); } // ---------------------------------------------------------------------------------- // - Image - // ---------------------------------------------------------------------------------- // Connect Image 'Previsualization: Buffer B' to iChannel0 /* Created by Tonny Espeset, 2026 https://www.shadertoy.com/view/NfVGzd La Linea Episode 10 Feel free to use this code, but please keep this credit and link. Check my other shaders at https://www.shadertoy.com/user/Espeset I always wanted to do a longer story based shader, and La Linea seems like a good fit. The vectorized animations compress quite well, and it's just a lovely cartoon. This episode is a good fit as it has a lot less hand drawing than most (the creator's real hand interacting with the line was one of the creative twists the series is known for). As I was working on this, I got to admire all the attention to detail that the artist put into it, for example how the background colors change according to the main character's mood, how this big nosed character, even without eyes, can express so many emotions, how the car's speed is indicated by so many details like the direction of smoke coming from the hood. There are so many subtle details that totally escaped me the first time I watched it that are really amazing, and truly bring a simple line to life. */ // --------------------------------------------------------------------------- // IMAGE - the renderer. // iChannel0 = Buffer B (this frame's decoded segments). // --------------------------------------------------------------------------- const float CANVAS_W = 256.0f; // the drawing area the strokes live in const float CANVAS_H = 200.0f; const float VIEW_H = 144.0f; // ...of which this 16:9 slice is the shot //const int _MAXSEG = 640; const float DURATION = 136.380f; __DEVICE__ float3 background(float t) { // Background color const int NBG = 18; const float2 BG_T[18] = {to_float2(0.000f,0.000f),to_float2(3.240f,0.234f),to_float2(12.710f,0.400f),to_float2(25.690f,0.334f),to_float2(41.780f,0.300f),to_float2(46.880f,0.267f),to_float2(60.060f,0.334f),to_float2(65.730f,0.667f),to_float2(85.750f,0.367f),to_float2(92.390f,0.400f),to_float2(94.990f,0.033f),to_float2(95.723f,0.200f),to_float2(98.764f,0.367f),to_float2(106.895f,0.300f),to_float2(119.848f,0.267f),to_float2(126.028f,0.400f),to_float2(133.030f,0.033f),to_float2(133.877f,0.267f)}; const float3 BG_C[18] = {to_float3(0.3373f,0.4039f,0.4118f),to_float3(0.1451f,0.3490f,0.1333f),to_float3(0.0431f,0.0941f,0.3255f),to_float3(0.0980f,0.2314f,0.4157f),to_float3(0.0275f,0.0431f,0.2118f),to_float3(0.1020f,0.2353f,0.4275f),to_float3(0.0392f,0.0784f,0.2902f),to_float3(0.0314f,0.0510f,0.1843f),to_float3(0.1059f,0.2510f,0.4471f),to_float3(0.0588f,0.0627f,0.0314f),to_float3(0.6118f,0.2588f,0.1098f),to_float3(0.0667f,0.0667f,0.0431f),to_float3(0.0314f,0.0471f,0.1882f),to_float3(0.0392f,0.0824f,0.3059f),to_float3(0.1059f,0.2510f,0.4471f),to_float3(0.0745f,0.0745f,0.0588f),to_float3(0.6353f,0.2627f,0.1451f),to_float3(0.0235f,0.0392f,0.2314f)}; float3 c = BG_C[0]; for (int i = 1; i < NBG; i++) { if (t < BG_T[i].x) break; float f = BG_T[i].y; c = _mix(c, BG_C[i], f > 0.0f ? clamp((t - BG_T[i].x) / f, 0.0f, 1.0f) : 1.0f); } return c; } __DEVICE__ float4 seg(int i, float2 iResolution, __TEXTURE2D__ iChannel0) { int RowSampler = 15; // Total irre !!! Tausend Shader, die liefen ohne diese Zeile mit OpenCL. Dieser Shader braucht aber genau dies nur für OpenCL -> Total irre !!! int w = (int)(iResolution.x); return texelFetch(iChannel0, to_int2(i % w, i / w), 0); } // Signed distance to a capsule whose radius runs from r0 at a to r1 at b. __DEVICE__ float capsule(float2 p, float2 a, float2 b, float r0, float r1) { float2 pa = p - a, ba = b - a; float h = clamp(dot(pa, ba) / _fmaxf(dot(ba, ba), 1e-6f), 0.0f, 1.0f); return length(pa - ba * h) - _mix(r0, r1, h); } __KERNEL__ void CartoonLaLineaEpisode10Fuse(__CONSTANTREF__ Params* params, __TEXTURE2D__ iChannel0, __TEXTURE2D_WRITE__ destinationTexture) { DEFINE_KERNEL_ITERATORS_XY(fusion_x, fusion_y); if (fusion_x >= params->width || fusion_y >= params->height) return; float2 iResolution = to_float2(params->iResolution[0], params->iResolution[1]); float iTime = params->iTime; float4 fragColor = to_float4_s(0.0f); float2 fragCoord = to_float2(fusion_x,fusion_y); float4 ColorBKG = to_float4(params->ColorBKG[0], params->ColorBKG[1], params->ColorBKG[2], params->ColorBKG[3]); float2 ViewXY = to_float2(params->ViewXY[0], params->ViewXY[1]); float R_THICK = params->R_THICK; float R_THIN = params->R_THIN; float GLOW = params->GLOW; float VIGNETTE = params->VIGNETTE; // -------- //CONNECT_SLIDER2(R_THICK , -1.0f, 3.0f, 1.00f); // Thick pen //CONNECT_SLIDER3(R_THIN , -1.0f, 2.0f, 0.55f); // Thin pen //CONNECT_SLIDER5(VIGNETTE, -1.0f, 2.0f, 0.28f); // darkening at the corners //Handle resize and aspect ratio float scale = _fminf(iResolution.x / CANVAS_W, iResolution.y / VIEW_H); float x0 = 0.5f * (iResolution.x - CANVAS_W * scale); float2 p = to_float2(fragCoord.x - x0, iResolution.y - fragCoord.y) / scale; if (p.x < 0.0f || p.x > CANVAS_W) { fragColor = to_float4(0.0f, 0.0f, 0.0f, 1.0f); _tex2DVec4Write(destinationTexture, fusion_x, fusion_y, fragColor); return; } // Vignette float2 uv = to_float2(p.x / CANVAS_W, p.y / _fminf(CANVAS_H, iResolution.y / scale)) + ViewXY; float vig = 1.0f - VIGNETTE * smoothstep(0.40f, 1.0f, length(uv - 0.5f) * 1.4142f); float3 bg = background(mod_f(iTime, DURATION)) + swi3(ColorBKG,x,y,z)-0.5f; if (p.y > CANVAS_H) { // below the drawing area fragColor = to_float4_aw(bg * vig, 1.0f); _tex2DVec4Write(destinationTexture, fusion_x, fusion_y, fragColor); return; } float d = 1e9f; int n = (int)(seg(0, iResolution, iChannel0).x); for (int i = 0; i < n; i++) { if (i >= MAXSEG) break; float4 s = seg(i + 1, iResolution, iChannel0); // pen weight 0..15 rides on top of each x as a multiple of 512 float w0 = _floor(s.x * (1.0f / 512.0f)); float w1 = _floor(s.z * (1.0f / 512.0f)); d = _fminf(d, capsule(p, to_float2(s.x - 512.0f * w0, s.y), to_float2(s.z - 512.0f * w1, s.w), _mix(R_THIN, R_THICK, w0 * (1.0f / 15.0f)), _mix(R_THIN, R_THICK, w1 * (1.0f / 15.0f)))); } // widen everything if a canvas pixel has shrunk below a screen pixel, so // the thinnest strokes never drop out float aa = 1.0f / scale; d -= _fmaxf(0.0f, aa * 0.75f - R_THIN); float ink = 1.0f - smoothstep(-aa, aa, d); float lum = clamp(ink + GLOW * _expf(-_fmaxf(d, 0.0f) * 1.6f), 0.0f, 1.0f); fragColor = to_float4_aw(_mix(bg, to_float3_s(1.0f), lum) * vig, 1.0f); _tex2DVec4Write(destinationTexture, fusion_x, fusion_y, fragColor); } ]] -- /* -- // ------------------------------------------------------------------------ -- // Create -- // ------------------------------------------------------------------------ function Create() ShaderFuse.begin_create() ----- Inspector Panel Controls -- Speed Slider InFrequency = self:AddInput("Speedup", "speed", { LINKID_DataType = "Number", INPID_InputControl = "SliderControl", INP_Default = 1.0, INP_MinScale = 0.0, INP_MaxScale = 5.0, SLCS_LowName = "stop", SLCS_HighName = "5x", }) self:BeginControlNest("ColorBKG", "ColorBKG", true, {}) ctrl_grp_cnt = (ctrl_grp_cnt==nil) and 1 or (ctrl_grp_cnt+1) attrs = { ICS_Name = "ColorBKG", LINKID_DataType = "Number", INPID_InputControl = "ColorControl", INP_MinScale = 0.0, INP_MaxScale = 1.0, IC_ControlGroup = ctrl_grp_cnt, } InColorBKGColorR = self:AddInput("Red", "ColorBKGRed", { INP_Default = 0.5, IC_ControlID = 0, attrs}) InColorBKGColorG = self:AddInput("Green", "ColorBKGGreen", { INP_Default = 0.5, IC_ControlID = 1, attrs}) InColorBKGColorB = self:AddInput("Blue", "ColorBKGBlue", { INP_Default = 0.5, IC_ControlID = 2, attrs}) InColorBKGColorA = self:AddInput("Alpha", "ColorBKGAlpha", { INP_Default = 1.0, IC_ControlID = 3, attrs}) self:EndControlNest() InViewXYPoint = self:AddInput("ViewXY", "ViewXY", { LINKID_DataType = "Point", INPID_InputControl = "OffsetControl", INPID_PreviewControl = "CrosshairControl", INP_DefaultX = 0.0, INP_DefaultY = 0.0, }) InR_THICKSlider = self:AddInput("R_THICK", "R_THICK", { LINKID_DataType = "Number", INPID_InputControl = "SliderControl", INP_MinScale = -1.0, INP_MaxScale = 3.0, INP_Default = 1.00, }) InR_THINSlider = self:AddInput("R_THIN", "R_THIN", { LINKID_DataType = "Number", INPID_InputControl = "SliderControl", INP_MinScale = -1.0, INP_MaxScale = 2.0, INP_Default = 0.55, }) InGLOWSlider = self:AddInput("GLOW", "GLOW", { LINKID_DataType = "Number", INPID_InputControl = "SliderControl", INP_MinScale = -1.0, INP_MaxScale = 2.0, INP_Default = 0.25, }) InVIGNETTESlider = self:AddInput("VIGNETTE", "VIGNETTE", { LINKID_DataType = "Number", INPID_InputControl = "SliderControl", INP_MinScale = -1.0, INP_MaxScale = 2.0, INP_Default = 0.28, }) Sep3 = self:AddInput(string.rep("_", 152), "Separator3", { LINKID_DataType = "Text", INPID_InputControl = "LabelControl", INP_External = false, INP_Passive = true, IC_Visible = true, INP_DoNotifyChanged = true, IC_NoLabel = true, }) InEdges = self:AddInput("Edges", "Edges", { LINKID_DataType = "Number", INPID_InputControl = "MultiButtonControl", INP_Default = 3.0, INP_Integer = true, INP_DoNotifyChanged = true, INP_External = false, MBTNC_ForceButtons = true, INP_MinScale = 0, INP_MaxScale = 3, INP_MinAllowed = 0, INP_MaxAllowed = 3, MBTNC_ShowBasicButton = true, MBTNC_StretchToFit = false, --true, MBTNC_ShowToolTip = true, { MBTNC_AddButton = "Canvas", MBTNCD_ButtonWidth = 4/16, }, { MBTNC_AddButton = "Wrap",MBTNCD_ButtonWidth = 3/16, }, { MBTNC_AddButton = "Duplicate", MBTNCD_ButtonWidth = 5/16, }, { MBTNC_AddButton = "Mirror", MBTNCD_ButtonWidth = 4/16, }, }) InDebugImage = self:AddInput("DebugImage", "DebugImage", { LINKID_DataType = "Number", INPID_InputControl = "ComboControl", INP_Default = 0.0, INP_Integer = true, ICD_Width = 1, { CCS_AddString = "Final", }, { CCS_AddString = "BufferA", }, { CCS_AddString = "BufferB", }, CC_LabelPosition = "Horizontal", }) ----- Size & Depth InSize = self:AddInput("Size", "Size_Fuse", { LINKID_DataType = "Number", INPID_InputControl = "ComboControl", INP_DoNotifyChanged = true, INP_Default = 0, INP_Integer = true, ICD_Width = 1, { CCS_AddString = "Default", }, { CCS_AddString = "Manually", }, { CCS_AddString = "Image0", }, { CCS_AddString = "1920x1080", }, { CCS_AddString = "1200x675", }, { CCS_AddString = "800x450", }, { CCS_AddString = "640x360", }, CC_LabelPosition = "Horizontal", ICS_ControlPage = "Image", }) InWidth = self:AddInput("Width", "_Width", { LINKID_DataType = "Number", INPID_InputControl = "SliderControl", INP_Default = 1920, INP_Integer = true, INP_MinScale = 0, INP_MaxScale = 4096, }) InHeight = self:AddInput("Height", "_Height", { LINKID_DataType = "Number", INPID_InputControl = "SliderControl", INP_Default = 1080, INP_Integer = true, INP_MinScale = 0, INP_MaxScale = 4096, }) InDepth = self:AddInput("Depth_Fuse", "Depth_Fuse", { LINKID_DataType = "Number", INPID_InputControl = "ComboControl", INP_DoNotifyChanged = true, INP_Default = 1, INP_Integer = true, ICD_Width = 1, { CCS_AddString = "float16", }, { CCS_AddString = "float32", }, CC_LabelPosition = "Horizontal", ICS_ControlPage = "Image", }) InMyWidth = self:FindInput("Width") InMyWidth:SetAttrs({ IC_Visible = false }) InMyHeight = self:FindInput("Height") InMyHeight:SetAttrs({ IC_Visible = false }) InMyDepth = self:FindInput("Depth") InMyDepth:SetAttrs({ IC_Visible = false }) ----- In/Out InChannel0 = self:AddInput( "iChannel0", "iChannel0", { LINKID_DataType = "Image", LINK_Visible = false, LINK_Main = 1, INP_Required = false }) OutImage = self:AddOutput("Output", "Output", { LINKID_DataType = "Image", LINK_Main = 1, }) ShaderFuse.end_create() end -- // ------------------------------------------------------------------------ -- // Process -- // ------------------------------------------------------------------------ function DefineEdges(edges, nodeX) --This gets the value of our input image for us to modify inside the kernel if edges == 0 then nodeX:AddSampler("RowSampler", TEX_FILTER_MODE_LINEAR,TEX_ADDRESS_MODE_BORDER, TEX_NORMALIZED_COORDS_TRUE) elseif edges == 1 then nodeX:AddSampler("RowSampler", TEX_FILTER_MODE_LINEAR,TEX_ADDRESS_MODE_WRAP, TEX_NORMALIZED_COORDS_TRUE) elseif edges == 2 then nodeX:AddSampler("RowSampler", TEX_FILTER_MODE_LINEAR,TEX_ADDRESS_MODE_DUPLICATE, TEX_NORMALIZED_COORDS_TRUE) elseif edges == 3 then nodeX:AddSampler("RowSampler", TEX_FILTER_MODE_LINEAR,TEX_ADDRESS_MODE_MIRROR, TEX_NORMALIZED_COORDS_TRUE) elseif edges == 4 then --print("Sampler 4") end end MULTIBUFFER = true if MULTIBUFFER then -- MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER ImgAttrs_Global = { { IMG_Channel = "Red", }, { IMG_Channel = "Green", }, { IMG_Channel = "Blue", }, { IMG_Channel = "Alpha", }, IMG_Width = Width, IMG_Height = Height, IMG_DeferAlloc = false, } Image_Buff_GlobalA = Image(ImgAttrs_Global) Image_Buff_GlobalB = Image(ImgAttrs_Global) end function Process(req) -- Imagesize and Depth if (InSize:GetValue(req).Value >= 1) then if (InSize:GetValue(req).Value == 2) then if (InChannel0:GetValue(req) ~= nil) then Width = InChannel0:GetValue(req).Width Height = InChannel0:GetValue(req).Height end else Width = InWidth:GetValue(req).Value Height = InHeight:GetValue(req).Value end end -- Nur ( float16/32 ) if InDepth:GetValue(req).Value == 0 then SourceDepth = 7 else SourceDepth = 8 end local imgattrs = { IMG_Document = self.Comp, { IMG_Channel = "Red", }, { IMG_Channel = "Green", }, { IMG_Channel = "Blue", }, { IMG_Channel = "Alpha", }, IMG_Width = Width, IMG_Height = Height, IMG_XScale = XAspect, IMG_YScale = YAspect, IMAT_OriginalWidth = realwidth, -- nil !?! IMAT_OriginalHeight = realheight, -- nil !?! IMG_Quality = not req:IsQuick(), IMG_MotionBlurQuality = not req:IsNoMotionBlur(), IMG_DeferAlloc = true, IMG_ProxyScale = ( (not req:IsStampOnly()) and 1 or nil), IMG_Depth = ( (SourceDepth~=0) and SourceDepth or nil ) } local dst = Image(imgattrs) local black = Pixel({R=0,G=0,B=0,A=0}) dst:Fill(black) if MULTIBUFFER then -- MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER dstA = Image {IMG_Like = dst, IMG_DeferAlloc = true} dstB = Image {IMG_Like = dst, IMG_DeferAlloc = true} end if req:IsPreCalc() then local out = Image({IMG_Like = dst, IMG_NoData = true}) OutImage:Set(req, out) return end if MULTIBUFFER then -- MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER nodeA = DVIPComputeNode(req, "CartoonLaLineaEpisode10Fuse__Buffer_A", ShaderCompatibilityCode..ShaderKernelCode, "Params", ShaderParameters ) else node = DVIPComputeNode(req, "CartoonLaLineaEpisode10Fuse", ShaderCompatibilityCode..ShaderKernelCode, "Params", ShaderParameters ) end -- Extern texture or create a new one iChannel0 = InChannel0:GetValue(req) if iChannel0==nil then iChannel0 = Image(imgattrs) iChannel0:Fill(black) end -- DCTL parameters local framerate = self.Comp:GetPrefs("Comp.FrameFormat.Rate") local params = {} if MULTIBUFFER then -- MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER params = nodeA:GetParamBlock(ShaderParameters) else params = node:GetParamBlock(ShaderParameters) end params.iResolution[0] = dst.Width params.iResolution[1] = dst.Height params.iTime = (req.Time / framerate) * InFrequency:GetValue(req).Value params.ColorBKG = { InColorBKGColorR:GetValue(req).Value, InColorBKGColorG:GetValue(req).Value, InColorBKGColorB:GetValue(req).Value,InColorBKGColorA:GetValue(req).Value } params.ViewXY = {InViewXYPoint:GetValue(req).X,InViewXYPoint:GetValue(req).Y} params.R_THICK = InR_THICKSlider:GetValue(req).Value params.R_THIN = InR_THINSlider:GetValue(req).Value params.GLOW = InGLOWSlider:GetValue(req).Value params.VIGNETTE = InVIGNETTESlider:GetValue(req).Value -- Resolution params.width = dst.Width params.height = dst.Height -- Per channel time and resolution local edges = InEdges:GetValue(req).Value -- Set parameters and add I/O if MULTIBUFFER then -- MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER nodeA:SetParamBlock(params) --nodeA:AddSampler("RowSampler", TEX_FILTER_MODE_LINEAR,TEX_ADDRESS_MODE_MIRROR, TEX_NORMALIZED_COORDS_TRUE) DefineEdges(edges, nodeA) else node:SetParamBlock(params) --node:AddSampler("RowSampler", TEX_FILTER_MODE_LINEAR,TEX_ADDRESS_MODE_MIRROR, TEX_NORMALIZED_COORDS_TRUE) DefineEdges(edges, node) node:AddInput("iChannel0",iChannel0) -- TODO: add a better channel name node:AddOutput("dst", dst) end if MULTIBUFFER then -- MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER nodeA:AddOutput("dst", dstA) local ok = nodeA:RunSession(req) if (not ok) then dstA = nil dump(nodeA:GetErrorLog()) end Image_Buff_GlobalA = dstA -------------------------- BufferB-Kernel---------------------------------------- local nodeB = DVIPComputeNode(req, "CartoonLaLineaEpisode10Fuse__Buffer_B", ShaderCompatibilityCode..ShaderKernelCode, "Params", ShaderParameters ) nodeB:SetParamBlock(params) --nodeB:AddSampler("RowSampler", TEX_FILTER_MODE_LINEAR,TEX_ADDRESS_MODE_MIRROR, TEX_NORMALIZED_COORDS_TRUE) DefineEdges(edges, nodeB) nodeB:AddInput("iChannel0", Image_Buff_GlobalA) -- Anpassen !! nodeB:AddOutput("dst", dstB) local success = nodeB:RunSession(req) if not success then dstB = nil dump(nodeB:GetErrorLog()) end Image_Buff_GlobalB = dstB --Recursiv Image -------------------------- ImageKernel---------------------------------------- node = DVIPComputeNode(req, "CartoonLaLineaEpisode10Fuse", ShaderCompatibilityCode..ShaderKernelCode, "Params", ShaderParameters ) node:SetParamBlock(params) --node:AddSampler("RowSampler", TEX_FILTER_MODE_LINEAR,TEX_ADDRESS_MODE_MIRROR, TEX_NORMALIZED_COORDS_TRUE) DefineEdges(edges, node) node:AddInput("iChannel0", Image_Buff_GlobalB) -- Anpassen !! node:AddOutput("dst", dst) end -- MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER local ok = node:RunSession(req) if (not ok) then dst = nil dump(node:GetErrorLog()) end OutImage:Set(req,dst) --Debugging if MULTIBUFFER then -- MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER MULTIBUFFER InDebugImage:SetAttrs({ IC_Visible = true }) if (InDebugImage:GetValue(req).Value == 1) then OutImage:Set(req, Image_Buff_GlobalA) end if (InDebugImage:GetValue(req).Value == 2) then OutImage:Set(req, Image_Buff_GlobalB) end else InDebugImage:SetAttrs({ IC_Visible = false }) end collectgarbage(); end -- // ------------------------------------------------------------------------ -- // Callback -- // ------------------------------------------------------------------------ function NotifyChanged(inp, param, time) if (param ~= nil) then if inp == InSize then if param.Value == 1 then InWidth:SetAttrs({ IC_Visible = true }) InHeight:SetAttrs({ IC_Visible = true }) else InWidth:SetAttrs({ IC_Visible = false }) InHeight:SetAttrs({ IC_Visible = false }) end if param.Value == 3 then --1920x1080 InWidth:SetSource(Number(1920),0,0) InHeight:SetSource(Number(1080),0,0) end if param.Value == 4 then --1200x675 InWidth:SetSource(Number(1200),0,0) InHeight:SetSource(Number(675),0,0) end if param.Value == 5 then --800x450 InWidth:SetSource(Number(800),0,0) InHeight:SetSource(Number(450),0,0) end if param.Value == 6 then --640x360 InWidth:SetSource(Number(640),0,0) InHeight:SetSource(Number(360),0,0) end end end end -- */