import libcrypto (LibreSSL 2.5.2)
[unleashed.git] / lib / libcrypto / cast / cast_s.h
blob472128bb402f746d174e288998da957b031b9ece
1 /* $OpenBSD: cast_s.h,v 1.6 2016/12/21 15:49:29 jsing Exp $ */
2 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved.
5 * This package is an SSL implementation written
6 * by Eric Young (eay@cryptsoft.com).
7 * The implementation was written so as to conform with Netscapes SSL.
8 *
9 * This library is free for commercial and non-commercial use as long as
10 * the following conditions are aheared to. The following conditions
11 * apply to all code found in this distribution, be it the RC4, RSA,
12 * lhash, DES, etc., code; not just the SSL code. The SSL documentation
13 * included with this distribution is covered by the same copyright terms
14 * except that the holder is Tim Hudson (tjh@cryptsoft.com).
16 * Copyright remains Eric Young's, and as such any Copyright notices in
17 * the code are not to be removed.
18 * If this package is used in a product, Eric Young should be given attribution
19 * as the author of the parts of the library used.
20 * This can be in the form of a textual message at program startup or
21 * in documentation (online or textual) provided with the package.
23 * Redistribution and use in source and binary forms, with or without
24 * modification, are permitted provided that the following conditions
25 * are met:
26 * 1. Redistributions of source code must retain the copyright
27 * notice, this list of conditions and the following disclaimer.
28 * 2. Redistributions in binary form must reproduce the above copyright
29 * notice, this list of conditions and the following disclaimer in the
30 * documentation and/or other materials provided with the distribution.
31 * 3. All advertising materials mentioning features or use of this software
32 * must display the following acknowledgement:
33 * "This product includes cryptographic software written by
34 * Eric Young (eay@cryptsoft.com)"
35 * The word 'cryptographic' can be left out if the rouines from the library
36 * being used are not cryptographic related :-).
37 * 4. If you include any Windows specific code (or a derivative thereof) from
38 * the apps directory (application code) you must include an acknowledgement:
39 * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
41 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
42 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
45 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
46 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
47 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
50 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51 * SUCH DAMAGE.
53 * The licence and distribution terms for any publically available version or
54 * derivative of this code cannot be changed. i.e. this code cannot simply be
55 * copied and put under another distribution licence
56 * [including the GNU Public Licence.]
59 __BEGIN_HIDDEN_DECLS
61 const CAST_LONG CAST_S_table0[256]={
62 0x30fb40d4,0x9fa0ff0b,0x6beccd2f,0x3f258c7a,
63 0x1e213f2f,0x9c004dd3,0x6003e540,0xcf9fc949,
64 0xbfd4af27,0x88bbbdb5,0xe2034090,0x98d09675,
65 0x6e63a0e0,0x15c361d2,0xc2e7661d,0x22d4ff8e,
66 0x28683b6f,0xc07fd059,0xff2379c8,0x775f50e2,
67 0x43c340d3,0xdf2f8656,0x887ca41a,0xa2d2bd2d,
68 0xa1c9e0d6,0x346c4819,0x61b76d87,0x22540f2f,
69 0x2abe32e1,0xaa54166b,0x22568e3a,0xa2d341d0,
70 0x66db40c8,0xa784392f,0x004dff2f,0x2db9d2de,
71 0x97943fac,0x4a97c1d8,0x527644b7,0xb5f437a7,
72 0xb82cbaef,0xd751d159,0x6ff7f0ed,0x5a097a1f,
73 0x827b68d0,0x90ecf52e,0x22b0c054,0xbc8e5935,
74 0x4b6d2f7f,0x50bb64a2,0xd2664910,0xbee5812d,
75 0xb7332290,0xe93b159f,0xb48ee411,0x4bff345d,
76 0xfd45c240,0xad31973f,0xc4f6d02e,0x55fc8165,
77 0xd5b1caad,0xa1ac2dae,0xa2d4b76d,0xc19b0c50,
78 0x882240f2,0x0c6e4f38,0xa4e4bfd7,0x4f5ba272,
79 0x564c1d2f,0xc59c5319,0xb949e354,0xb04669fe,
80 0xb1b6ab8a,0xc71358dd,0x6385c545,0x110f935d,
81 0x57538ad5,0x6a390493,0xe63d37e0,0x2a54f6b3,
82 0x3a787d5f,0x6276a0b5,0x19a6fcdf,0x7a42206a,
83 0x29f9d4d5,0xf61b1891,0xbb72275e,0xaa508167,
84 0x38901091,0xc6b505eb,0x84c7cb8c,0x2ad75a0f,
85 0x874a1427,0xa2d1936b,0x2ad286af,0xaa56d291,
86 0xd7894360,0x425c750d,0x93b39e26,0x187184c9,
87 0x6c00b32d,0x73e2bb14,0xa0bebc3c,0x54623779,
88 0x64459eab,0x3f328b82,0x7718cf82,0x59a2cea6,
89 0x04ee002e,0x89fe78e6,0x3fab0950,0x325ff6c2,
90 0x81383f05,0x6963c5c8,0x76cb5ad6,0xd49974c9,
91 0xca180dcf,0x380782d5,0xc7fa5cf6,0x8ac31511,
92 0x35e79e13,0x47da91d0,0xf40f9086,0xa7e2419e,
93 0x31366241,0x051ef495,0xaa573b04,0x4a805d8d,
94 0x548300d0,0x00322a3c,0xbf64cddf,0xba57a68e,
95 0x75c6372b,0x50afd341,0xa7c13275,0x915a0bf5,
96 0x6b54bfab,0x2b0b1426,0xab4cc9d7,0x449ccd82,
97 0xf7fbf265,0xab85c5f3,0x1b55db94,0xaad4e324,
98 0xcfa4bd3f,0x2deaa3e2,0x9e204d02,0xc8bd25ac,
99 0xeadf55b3,0xd5bd9e98,0xe31231b2,0x2ad5ad6c,
100 0x954329de,0xadbe4528,0xd8710f69,0xaa51c90f,
101 0xaa786bf6,0x22513f1e,0xaa51a79b,0x2ad344cc,
102 0x7b5a41f0,0xd37cfbad,0x1b069505,0x41ece491,
103 0xb4c332e6,0x032268d4,0xc9600acc,0xce387e6d,
104 0xbf6bb16c,0x6a70fb78,0x0d03d9c9,0xd4df39de,
105 0xe01063da,0x4736f464,0x5ad328d8,0xb347cc96,
106 0x75bb0fc3,0x98511bfb,0x4ffbcc35,0xb58bcf6a,
107 0xe11f0abc,0xbfc5fe4a,0xa70aec10,0xac39570a,
108 0x3f04442f,0x6188b153,0xe0397a2e,0x5727cb79,
109 0x9ceb418f,0x1cacd68d,0x2ad37c96,0x0175cb9d,
110 0xc69dff09,0xc75b65f0,0xd9db40d8,0xec0e7779,
111 0x4744ead4,0xb11c3274,0xdd24cb9e,0x7e1c54bd,
112 0xf01144f9,0xd2240eb1,0x9675b3fd,0xa3ac3755,
113 0xd47c27af,0x51c85f4d,0x56907596,0xa5bb15e6,
114 0x580304f0,0xca042cf1,0x011a37ea,0x8dbfaadb,
115 0x35ba3e4a,0x3526ffa0,0xc37b4d09,0xbc306ed9,
116 0x98a52666,0x5648f725,0xff5e569d,0x0ced63d0,
117 0x7c63b2cf,0x700b45e1,0xd5ea50f1,0x85a92872,
118 0xaf1fbda7,0xd4234870,0xa7870bf3,0x2d3b4d79,
119 0x42e04198,0x0cd0ede7,0x26470db8,0xf881814c,
120 0x474d6ad7,0x7c0c5e5c,0xd1231959,0x381b7298,
121 0xf5d2f4db,0xab838653,0x6e2f1e23,0x83719c9e,
122 0xbd91e046,0x9a56456e,0xdc39200c,0x20c8c571,
123 0x962bda1c,0xe1e696ff,0xb141ab08,0x7cca89b9,
124 0x1a69e783,0x02cc4843,0xa2f7c579,0x429ef47d,
125 0x427b169c,0x5ac9f049,0xdd8f0f00,0x5c8165bf,
127 const CAST_LONG CAST_S_table1[256]={
128 0x1f201094,0xef0ba75b,0x69e3cf7e,0x393f4380,
129 0xfe61cf7a,0xeec5207a,0x55889c94,0x72fc0651,
130 0xada7ef79,0x4e1d7235,0xd55a63ce,0xde0436ba,
131 0x99c430ef,0x5f0c0794,0x18dcdb7d,0xa1d6eff3,
132 0xa0b52f7b,0x59e83605,0xee15b094,0xe9ffd909,
133 0xdc440086,0xef944459,0xba83ccb3,0xe0c3cdfb,
134 0xd1da4181,0x3b092ab1,0xf997f1c1,0xa5e6cf7b,
135 0x01420ddb,0xe4e7ef5b,0x25a1ff41,0xe180f806,
136 0x1fc41080,0x179bee7a,0xd37ac6a9,0xfe5830a4,
137 0x98de8b7f,0x77e83f4e,0x79929269,0x24fa9f7b,
138 0xe113c85b,0xacc40083,0xd7503525,0xf7ea615f,
139 0x62143154,0x0d554b63,0x5d681121,0xc866c359,
140 0x3d63cf73,0xcee234c0,0xd4d87e87,0x5c672b21,
141 0x071f6181,0x39f7627f,0x361e3084,0xe4eb573b,
142 0x602f64a4,0xd63acd9c,0x1bbc4635,0x9e81032d,
143 0x2701f50c,0x99847ab4,0xa0e3df79,0xba6cf38c,
144 0x10843094,0x2537a95e,0xf46f6ffe,0xa1ff3b1f,
145 0x208cfb6a,0x8f458c74,0xd9e0a227,0x4ec73a34,
146 0xfc884f69,0x3e4de8df,0xef0e0088,0x3559648d,
147 0x8a45388c,0x1d804366,0x721d9bfd,0xa58684bb,
148 0xe8256333,0x844e8212,0x128d8098,0xfed33fb4,
149 0xce280ae1,0x27e19ba5,0xd5a6c252,0xe49754bd,
150 0xc5d655dd,0xeb667064,0x77840b4d,0xa1b6a801,
151 0x84db26a9,0xe0b56714,0x21f043b7,0xe5d05860,
152 0x54f03084,0x066ff472,0xa31aa153,0xdadc4755,
153 0xb5625dbf,0x68561be6,0x83ca6b94,0x2d6ed23b,
154 0xeccf01db,0xa6d3d0ba,0xb6803d5c,0xaf77a709,
155 0x33b4a34c,0x397bc8d6,0x5ee22b95,0x5f0e5304,
156 0x81ed6f61,0x20e74364,0xb45e1378,0xde18639b,
157 0x881ca122,0xb96726d1,0x8049a7e8,0x22b7da7b,
158 0x5e552d25,0x5272d237,0x79d2951c,0xc60d894c,
159 0x488cb402,0x1ba4fe5b,0xa4b09f6b,0x1ca815cf,
160 0xa20c3005,0x8871df63,0xb9de2fcb,0x0cc6c9e9,
161 0x0beeff53,0xe3214517,0xb4542835,0x9f63293c,
162 0xee41e729,0x6e1d2d7c,0x50045286,0x1e6685f3,
163 0xf33401c6,0x30a22c95,0x31a70850,0x60930f13,
164 0x73f98417,0xa1269859,0xec645c44,0x52c877a9,
165 0xcdff33a6,0xa02b1741,0x7cbad9a2,0x2180036f,
166 0x50d99c08,0xcb3f4861,0xc26bd765,0x64a3f6ab,
167 0x80342676,0x25a75e7b,0xe4e6d1fc,0x20c710e6,
168 0xcdf0b680,0x17844d3b,0x31eef84d,0x7e0824e4,
169 0x2ccb49eb,0x846a3bae,0x8ff77888,0xee5d60f6,
170 0x7af75673,0x2fdd5cdb,0xa11631c1,0x30f66f43,
171 0xb3faec54,0x157fd7fa,0xef8579cc,0xd152de58,
172 0xdb2ffd5e,0x8f32ce19,0x306af97a,0x02f03ef8,
173 0x99319ad5,0xc242fa0f,0xa7e3ebb0,0xc68e4906,
174 0xb8da230c,0x80823028,0xdcdef3c8,0xd35fb171,
175 0x088a1bc8,0xbec0c560,0x61a3c9e8,0xbca8f54d,
176 0xc72feffa,0x22822e99,0x82c570b4,0xd8d94e89,
177 0x8b1c34bc,0x301e16e6,0x273be979,0xb0ffeaa6,
178 0x61d9b8c6,0x00b24869,0xb7ffce3f,0x08dc283b,
179 0x43daf65a,0xf7e19798,0x7619b72f,0x8f1c9ba4,
180 0xdc8637a0,0x16a7d3b1,0x9fc393b7,0xa7136eeb,
181 0xc6bcc63e,0x1a513742,0xef6828bc,0x520365d6,
182 0x2d6a77ab,0x3527ed4b,0x821fd216,0x095c6e2e,
183 0xdb92f2fb,0x5eea29cb,0x145892f5,0x91584f7f,
184 0x5483697b,0x2667a8cc,0x85196048,0x8c4bacea,
185 0x833860d4,0x0d23e0f9,0x6c387e8a,0x0ae6d249,
186 0xb284600c,0xd835731d,0xdcb1c647,0xac4c56ea,
187 0x3ebd81b3,0x230eabb0,0x6438bc87,0xf0b5b1fa,
188 0x8f5ea2b3,0xfc184642,0x0a036b7a,0x4fb089bd,
189 0x649da589,0xa345415e,0x5c038323,0x3e5d3bb9,
190 0x43d79572,0x7e6dd07c,0x06dfdf1e,0x6c6cc4ef,
191 0x7160a539,0x73bfbe70,0x83877605,0x4523ecf1,
193 const CAST_LONG CAST_S_table2[256]={
194 0x8defc240,0x25fa5d9f,0xeb903dbf,0xe810c907,
195 0x47607fff,0x369fe44b,0x8c1fc644,0xaececa90,
196 0xbeb1f9bf,0xeefbcaea,0xe8cf1950,0x51df07ae,
197 0x920e8806,0xf0ad0548,0xe13c8d83,0x927010d5,
198 0x11107d9f,0x07647db9,0xb2e3e4d4,0x3d4f285e,
199 0xb9afa820,0xfade82e0,0xa067268b,0x8272792e,
200 0x553fb2c0,0x489ae22b,0xd4ef9794,0x125e3fbc,
201 0x21fffcee,0x825b1bfd,0x9255c5ed,0x1257a240,
202 0x4e1a8302,0xbae07fff,0x528246e7,0x8e57140e,
203 0x3373f7bf,0x8c9f8188,0xa6fc4ee8,0xc982b5a5,
204 0xa8c01db7,0x579fc264,0x67094f31,0xf2bd3f5f,
205 0x40fff7c1,0x1fb78dfc,0x8e6bd2c1,0x437be59b,
206 0x99b03dbf,0xb5dbc64b,0x638dc0e6,0x55819d99,
207 0xa197c81c,0x4a012d6e,0xc5884a28,0xccc36f71,
208 0xb843c213,0x6c0743f1,0x8309893c,0x0feddd5f,
209 0x2f7fe850,0xd7c07f7e,0x02507fbf,0x5afb9a04,
210 0xa747d2d0,0x1651192e,0xaf70bf3e,0x58c31380,
211 0x5f98302e,0x727cc3c4,0x0a0fb402,0x0f7fef82,
212 0x8c96fdad,0x5d2c2aae,0x8ee99a49,0x50da88b8,
213 0x8427f4a0,0x1eac5790,0x796fb449,0x8252dc15,
214 0xefbd7d9b,0xa672597d,0xada840d8,0x45f54504,
215 0xfa5d7403,0xe83ec305,0x4f91751a,0x925669c2,
216 0x23efe941,0xa903f12e,0x60270df2,0x0276e4b6,
217 0x94fd6574,0x927985b2,0x8276dbcb,0x02778176,
218 0xf8af918d,0x4e48f79e,0x8f616ddf,0xe29d840e,
219 0x842f7d83,0x340ce5c8,0x96bbb682,0x93b4b148,
220 0xef303cab,0x984faf28,0x779faf9b,0x92dc560d,
221 0x224d1e20,0x8437aa88,0x7d29dc96,0x2756d3dc,
222 0x8b907cee,0xb51fd240,0xe7c07ce3,0xe566b4a1,
223 0xc3e9615e,0x3cf8209d,0x6094d1e3,0xcd9ca341,
224 0x5c76460e,0x00ea983b,0xd4d67881,0xfd47572c,
225 0xf76cedd9,0xbda8229c,0x127dadaa,0x438a074e,
226 0x1f97c090,0x081bdb8a,0x93a07ebe,0xb938ca15,
227 0x97b03cff,0x3dc2c0f8,0x8d1ab2ec,0x64380e51,
228 0x68cc7bfb,0xd90f2788,0x12490181,0x5de5ffd4,
229 0xdd7ef86a,0x76a2e214,0xb9a40368,0x925d958f,
230 0x4b39fffa,0xba39aee9,0xa4ffd30b,0xfaf7933b,
231 0x6d498623,0x193cbcfa,0x27627545,0x825cf47a,
232 0x61bd8ba0,0xd11e42d1,0xcead04f4,0x127ea392,
233 0x10428db7,0x8272a972,0x9270c4a8,0x127de50b,
234 0x285ba1c8,0x3c62f44f,0x35c0eaa5,0xe805d231,
235 0x428929fb,0xb4fcdf82,0x4fb66a53,0x0e7dc15b,
236 0x1f081fab,0x108618ae,0xfcfd086d,0xf9ff2889,
237 0x694bcc11,0x236a5cae,0x12deca4d,0x2c3f8cc5,
238 0xd2d02dfe,0xf8ef5896,0xe4cf52da,0x95155b67,
239 0x494a488c,0xb9b6a80c,0x5c8f82bc,0x89d36b45,
240 0x3a609437,0xec00c9a9,0x44715253,0x0a874b49,
241 0xd773bc40,0x7c34671c,0x02717ef6,0x4feb5536,
242 0xa2d02fff,0xd2bf60c4,0xd43f03c0,0x50b4ef6d,
243 0x07478cd1,0x006e1888,0xa2e53f55,0xb9e6d4bc,
244 0xa2048016,0x97573833,0xd7207d67,0xde0f8f3d,
245 0x72f87b33,0xabcc4f33,0x7688c55d,0x7b00a6b0,
246 0x947b0001,0x570075d2,0xf9bb88f8,0x8942019e,
247 0x4264a5ff,0x856302e0,0x72dbd92b,0xee971b69,
248 0x6ea22fde,0x5f08ae2b,0xaf7a616d,0xe5c98767,
249 0xcf1febd2,0x61efc8c2,0xf1ac2571,0xcc8239c2,
250 0x67214cb8,0xb1e583d1,0xb7dc3e62,0x7f10bdce,
251 0xf90a5c38,0x0ff0443d,0x606e6dc6,0x60543a49,
252 0x5727c148,0x2be98a1d,0x8ab41738,0x20e1be24,
253 0xaf96da0f,0x68458425,0x99833be5,0x600d457d,
254 0x282f9350,0x8334b362,0xd91d1120,0x2b6d8da0,
255 0x642b1e31,0x9c305a00,0x52bce688,0x1b03588a,
256 0xf7baefd5,0x4142ed9c,0xa4315c11,0x83323ec5,
257 0xdfef4636,0xa133c501,0xe9d3531c,0xee353783,
259 const CAST_LONG CAST_S_table3[256]={
260 0x9db30420,0x1fb6e9de,0xa7be7bef,0xd273a298,
261 0x4a4f7bdb,0x64ad8c57,0x85510443,0xfa020ed1,
262 0x7e287aff,0xe60fb663,0x095f35a1,0x79ebf120,
263 0xfd059d43,0x6497b7b1,0xf3641f63,0x241e4adf,
264 0x28147f5f,0x4fa2b8cd,0xc9430040,0x0cc32220,
265 0xfdd30b30,0xc0a5374f,0x1d2d00d9,0x24147b15,
266 0xee4d111a,0x0fca5167,0x71ff904c,0x2d195ffe,
267 0x1a05645f,0x0c13fefe,0x081b08ca,0x05170121,
268 0x80530100,0xe83e5efe,0xac9af4f8,0x7fe72701,
269 0xd2b8ee5f,0x06df4261,0xbb9e9b8a,0x7293ea25,
270 0xce84ffdf,0xf5718801,0x3dd64b04,0xa26f263b,
271 0x7ed48400,0x547eebe6,0x446d4ca0,0x6cf3d6f5,
272 0x2649abdf,0xaea0c7f5,0x36338cc1,0x503f7e93,
273 0xd3772061,0x11b638e1,0x72500e03,0xf80eb2bb,
274 0xabe0502e,0xec8d77de,0x57971e81,0xe14f6746,
275 0xc9335400,0x6920318f,0x081dbb99,0xffc304a5,
276 0x4d351805,0x7f3d5ce3,0xa6c866c6,0x5d5bcca9,
277 0xdaec6fea,0x9f926f91,0x9f46222f,0x3991467d,
278 0xa5bf6d8e,0x1143c44f,0x43958302,0xd0214eeb,
279 0x022083b8,0x3fb6180c,0x18f8931e,0x281658e6,
280 0x26486e3e,0x8bd78a70,0x7477e4c1,0xb506e07c,
281 0xf32d0a25,0x79098b02,0xe4eabb81,0x28123b23,
282 0x69dead38,0x1574ca16,0xdf871b62,0x211c40b7,
283 0xa51a9ef9,0x0014377b,0x041e8ac8,0x09114003,
284 0xbd59e4d2,0xe3d156d5,0x4fe876d5,0x2f91a340,
285 0x557be8de,0x00eae4a7,0x0ce5c2ec,0x4db4bba6,
286 0xe756bdff,0xdd3369ac,0xec17b035,0x06572327,
287 0x99afc8b0,0x56c8c391,0x6b65811c,0x5e146119,
288 0x6e85cb75,0xbe07c002,0xc2325577,0x893ff4ec,
289 0x5bbfc92d,0xd0ec3b25,0xb7801ab7,0x8d6d3b24,
290 0x20c763ef,0xc366a5fc,0x9c382880,0x0ace3205,
291 0xaac9548a,0xeca1d7c7,0x041afa32,0x1d16625a,
292 0x6701902c,0x9b757a54,0x31d477f7,0x9126b031,
293 0x36cc6fdb,0xc70b8b46,0xd9e66a48,0x56e55a79,
294 0x026a4ceb,0x52437eff,0x2f8f76b4,0x0df980a5,
295 0x8674cde3,0xedda04eb,0x17a9be04,0x2c18f4df,
296 0xb7747f9d,0xab2af7b4,0xefc34d20,0x2e096b7c,
297 0x1741a254,0xe5b6a035,0x213d42f6,0x2c1c7c26,
298 0x61c2f50f,0x6552daf9,0xd2c231f8,0x25130f69,
299 0xd8167fa2,0x0418f2c8,0x001a96a6,0x0d1526ab,
300 0x63315c21,0x5e0a72ec,0x49bafefd,0x187908d9,
301 0x8d0dbd86,0x311170a7,0x3e9b640c,0xcc3e10d7,
302 0xd5cad3b6,0x0caec388,0xf73001e1,0x6c728aff,
303 0x71eae2a1,0x1f9af36e,0xcfcbd12f,0xc1de8417,
304 0xac07be6b,0xcb44a1d8,0x8b9b0f56,0x013988c3,
305 0xb1c52fca,0xb4be31cd,0xd8782806,0x12a3a4e2,
306 0x6f7de532,0x58fd7eb6,0xd01ee900,0x24adffc2,
307 0xf4990fc5,0x9711aac5,0x001d7b95,0x82e5e7d2,
308 0x109873f6,0x00613096,0xc32d9521,0xada121ff,
309 0x29908415,0x7fbb977f,0xaf9eb3db,0x29c9ed2a,
310 0x5ce2a465,0xa730f32c,0xd0aa3fe8,0x8a5cc091,
311 0xd49e2ce7,0x0ce454a9,0xd60acd86,0x015f1919,
312 0x77079103,0xdea03af6,0x78a8565e,0xdee356df,
313 0x21f05cbe,0x8b75e387,0xb3c50651,0xb8a5c3ef,
314 0xd8eeb6d2,0xe523be77,0xc2154529,0x2f69efdf,
315 0xafe67afb,0xf470c4b2,0xf3e0eb5b,0xd6cc9876,
316 0x39e4460c,0x1fda8538,0x1987832f,0xca007367,
317 0xa99144f8,0x296b299e,0x492fc295,0x9266beab,
318 0xb5676e69,0x9bd3ddda,0xdf7e052f,0xdb25701c,
319 0x1b5e51ee,0xf65324e6,0x6afce36c,0x0316cc04,
320 0x8644213e,0xb7dc59d0,0x7965291f,0xccd6fd43,
321 0x41823979,0x932bcdf6,0xb657c34d,0x4edfd282,
322 0x7ae5290c,0x3cb9536b,0x851e20fe,0x9833557e,
323 0x13ecf0b0,0xd3ffb372,0x3f85c5c1,0x0aef7ed2,
325 const CAST_LONG CAST_S_table4[256]={
326 0x7ec90c04,0x2c6e74b9,0x9b0e66df,0xa6337911,
327 0xb86a7fff,0x1dd358f5,0x44dd9d44,0x1731167f,
328 0x08fbf1fa,0xe7f511cc,0xd2051b00,0x735aba00,
329 0x2ab722d8,0x386381cb,0xacf6243a,0x69befd7a,
330 0xe6a2e77f,0xf0c720cd,0xc4494816,0xccf5c180,
331 0x38851640,0x15b0a848,0xe68b18cb,0x4caadeff,
332 0x5f480a01,0x0412b2aa,0x259814fc,0x41d0efe2,
333 0x4e40b48d,0x248eb6fb,0x8dba1cfe,0x41a99b02,
334 0x1a550a04,0xba8f65cb,0x7251f4e7,0x95a51725,
335 0xc106ecd7,0x97a5980a,0xc539b9aa,0x4d79fe6a,
336 0xf2f3f763,0x68af8040,0xed0c9e56,0x11b4958b,
337 0xe1eb5a88,0x8709e6b0,0xd7e07156,0x4e29fea7,
338 0x6366e52d,0x02d1c000,0xc4ac8e05,0x9377f571,
339 0x0c05372a,0x578535f2,0x2261be02,0xd642a0c9,
340 0xdf13a280,0x74b55bd2,0x682199c0,0xd421e5ec,
341 0x53fb3ce8,0xc8adedb3,0x28a87fc9,0x3d959981,
342 0x5c1ff900,0xfe38d399,0x0c4eff0b,0x062407ea,
343 0xaa2f4fb1,0x4fb96976,0x90c79505,0xb0a8a774,
344 0xef55a1ff,0xe59ca2c2,0xa6b62d27,0xe66a4263,
345 0xdf65001f,0x0ec50966,0xdfdd55bc,0x29de0655,
346 0x911e739a,0x17af8975,0x32c7911c,0x89f89468,
347 0x0d01e980,0x524755f4,0x03b63cc9,0x0cc844b2,
348 0xbcf3f0aa,0x87ac36e9,0xe53a7426,0x01b3d82b,
349 0x1a9e7449,0x64ee2d7e,0xcddbb1da,0x01c94910,
350 0xb868bf80,0x0d26f3fd,0x9342ede7,0x04a5c284,
351 0x636737b6,0x50f5b616,0xf24766e3,0x8eca36c1,
352 0x136e05db,0xfef18391,0xfb887a37,0xd6e7f7d4,
353 0xc7fb7dc9,0x3063fcdf,0xb6f589de,0xec2941da,
354 0x26e46695,0xb7566419,0xf654efc5,0xd08d58b7,
355 0x48925401,0xc1bacb7f,0xe5ff550f,0xb6083049,
356 0x5bb5d0e8,0x87d72e5a,0xab6a6ee1,0x223a66ce,
357 0xc62bf3cd,0x9e0885f9,0x68cb3e47,0x086c010f,
358 0xa21de820,0xd18b69de,0xf3f65777,0xfa02c3f6,
359 0x407edac3,0xcbb3d550,0x1793084d,0xb0d70eba,
360 0x0ab378d5,0xd951fb0c,0xded7da56,0x4124bbe4,
361 0x94ca0b56,0x0f5755d1,0xe0e1e56e,0x6184b5be,
362 0x580a249f,0x94f74bc0,0xe327888e,0x9f7b5561,
363 0xc3dc0280,0x05687715,0x646c6bd7,0x44904db3,
364 0x66b4f0a3,0xc0f1648a,0x697ed5af,0x49e92ff6,
365 0x309e374f,0x2cb6356a,0x85808573,0x4991f840,
366 0x76f0ae02,0x083be84d,0x28421c9a,0x44489406,
367 0x736e4cb8,0xc1092910,0x8bc95fc6,0x7d869cf4,
368 0x134f616f,0x2e77118d,0xb31b2be1,0xaa90b472,
369 0x3ca5d717,0x7d161bba,0x9cad9010,0xaf462ba2,
370 0x9fe459d2,0x45d34559,0xd9f2da13,0xdbc65487,
371 0xf3e4f94e,0x176d486f,0x097c13ea,0x631da5c7,
372 0x445f7382,0x175683f4,0xcdc66a97,0x70be0288,
373 0xb3cdcf72,0x6e5dd2f3,0x20936079,0x459b80a5,
374 0xbe60e2db,0xa9c23101,0xeba5315c,0x224e42f2,
375 0x1c5c1572,0xf6721b2c,0x1ad2fff3,0x8c25404e,
376 0x324ed72f,0x4067b7fd,0x0523138e,0x5ca3bc78,
377 0xdc0fd66e,0x75922283,0x784d6b17,0x58ebb16e,
378 0x44094f85,0x3f481d87,0xfcfeae7b,0x77b5ff76,
379 0x8c2302bf,0xaaf47556,0x5f46b02a,0x2b092801,
380 0x3d38f5f7,0x0ca81f36,0x52af4a8a,0x66d5e7c0,
381 0xdf3b0874,0x95055110,0x1b5ad7a8,0xf61ed5ad,
382 0x6cf6e479,0x20758184,0xd0cefa65,0x88f7be58,
383 0x4a046826,0x0ff6f8f3,0xa09c7f70,0x5346aba0,
384 0x5ce96c28,0xe176eda3,0x6bac307f,0x376829d2,
385 0x85360fa9,0x17e3fe2a,0x24b79767,0xf5a96b20,
386 0xd6cd2595,0x68ff1ebf,0x7555442c,0xf19f06be,
387 0xf9e0659a,0xeeb9491d,0x34010718,0xbb30cab8,
388 0xe822fe15,0x88570983,0x750e6249,0xda627e55,
389 0x5e76ffa8,0xb1534546,0x6d47de08,0xefe9e7d4,
391 const CAST_LONG CAST_S_table5[256]={
392 0xf6fa8f9d,0x2cac6ce1,0x4ca34867,0xe2337f7c,
393 0x95db08e7,0x016843b4,0xeced5cbc,0x325553ac,
394 0xbf9f0960,0xdfa1e2ed,0x83f0579d,0x63ed86b9,
395 0x1ab6a6b8,0xde5ebe39,0xf38ff732,0x8989b138,
396 0x33f14961,0xc01937bd,0xf506c6da,0xe4625e7e,
397 0xa308ea99,0x4e23e33c,0x79cbd7cc,0x48a14367,
398 0xa3149619,0xfec94bd5,0xa114174a,0xeaa01866,
399 0xa084db2d,0x09a8486f,0xa888614a,0x2900af98,
400 0x01665991,0xe1992863,0xc8f30c60,0x2e78ef3c,
401 0xd0d51932,0xcf0fec14,0xf7ca07d2,0xd0a82072,
402 0xfd41197e,0x9305a6b0,0xe86be3da,0x74bed3cd,
403 0x372da53c,0x4c7f4448,0xdab5d440,0x6dba0ec3,
404 0x083919a7,0x9fbaeed9,0x49dbcfb0,0x4e670c53,
405 0x5c3d9c01,0x64bdb941,0x2c0e636a,0xba7dd9cd,
406 0xea6f7388,0xe70bc762,0x35f29adb,0x5c4cdd8d,
407 0xf0d48d8c,0xb88153e2,0x08a19866,0x1ae2eac8,
408 0x284caf89,0xaa928223,0x9334be53,0x3b3a21bf,
409 0x16434be3,0x9aea3906,0xefe8c36e,0xf890cdd9,
410 0x80226dae,0xc340a4a3,0xdf7e9c09,0xa694a807,
411 0x5b7c5ecc,0x221db3a6,0x9a69a02f,0x68818a54,
412 0xceb2296f,0x53c0843a,0xfe893655,0x25bfe68a,
413 0xb4628abc,0xcf222ebf,0x25ac6f48,0xa9a99387,
414 0x53bddb65,0xe76ffbe7,0xe967fd78,0x0ba93563,
415 0x8e342bc1,0xe8a11be9,0x4980740d,0xc8087dfc,
416 0x8de4bf99,0xa11101a0,0x7fd37975,0xda5a26c0,
417 0xe81f994f,0x9528cd89,0xfd339fed,0xb87834bf,
418 0x5f04456d,0x22258698,0xc9c4c83b,0x2dc156be,
419 0x4f628daa,0x57f55ec5,0xe2220abe,0xd2916ebf,
420 0x4ec75b95,0x24f2c3c0,0x42d15d99,0xcd0d7fa0,
421 0x7b6e27ff,0xa8dc8af0,0x7345c106,0xf41e232f,
422 0x35162386,0xe6ea8926,0x3333b094,0x157ec6f2,
423 0x372b74af,0x692573e4,0xe9a9d848,0xf3160289,
424 0x3a62ef1d,0xa787e238,0xf3a5f676,0x74364853,
425 0x20951063,0x4576698d,0xb6fad407,0x592af950,
426 0x36f73523,0x4cfb6e87,0x7da4cec0,0x6c152daa,
427 0xcb0396a8,0xc50dfe5d,0xfcd707ab,0x0921c42f,
428 0x89dff0bb,0x5fe2be78,0x448f4f33,0x754613c9,
429 0x2b05d08d,0x48b9d585,0xdc049441,0xc8098f9b,
430 0x7dede786,0xc39a3373,0x42410005,0x6a091751,
431 0x0ef3c8a6,0x890072d6,0x28207682,0xa9a9f7be,
432 0xbf32679d,0xd45b5b75,0xb353fd00,0xcbb0e358,
433 0x830f220a,0x1f8fb214,0xd372cf08,0xcc3c4a13,
434 0x8cf63166,0x061c87be,0x88c98f88,0x6062e397,
435 0x47cf8e7a,0xb6c85283,0x3cc2acfb,0x3fc06976,
436 0x4e8f0252,0x64d8314d,0xda3870e3,0x1e665459,
437 0xc10908f0,0x513021a5,0x6c5b68b7,0x822f8aa0,
438 0x3007cd3e,0x74719eef,0xdc872681,0x073340d4,
439 0x7e432fd9,0x0c5ec241,0x8809286c,0xf592d891,
440 0x08a930f6,0x957ef305,0xb7fbffbd,0xc266e96f,
441 0x6fe4ac98,0xb173ecc0,0xbc60b42a,0x953498da,
442 0xfba1ae12,0x2d4bd736,0x0f25faab,0xa4f3fceb,
443 0xe2969123,0x257f0c3d,0x9348af49,0x361400bc,
444 0xe8816f4a,0x3814f200,0xa3f94043,0x9c7a54c2,
445 0xbc704f57,0xda41e7f9,0xc25ad33a,0x54f4a084,
446 0xb17f5505,0x59357cbe,0xedbd15c8,0x7f97c5ab,
447 0xba5ac7b5,0xb6f6deaf,0x3a479c3a,0x5302da25,
448 0x653d7e6a,0x54268d49,0x51a477ea,0x5017d55b,
449 0xd7d25d88,0x44136c76,0x0404a8c8,0xb8e5a121,
450 0xb81a928a,0x60ed5869,0x97c55b96,0xeaec991b,
451 0x29935913,0x01fdb7f1,0x088e8dfa,0x9ab6f6f5,
452 0x3b4cbf9f,0x4a5de3ab,0xe6051d35,0xa0e1d855,
453 0xd36b4cf1,0xf544edeb,0xb0e93524,0xbebb8fbd,
454 0xa2d762cf,0x49c92f54,0x38b5f331,0x7128a454,
455 0x48392905,0xa65b1db8,0x851c97bd,0xd675cf2f,
457 const CAST_LONG CAST_S_table6[256]={
458 0x85e04019,0x332bf567,0x662dbfff,0xcfc65693,
459 0x2a8d7f6f,0xab9bc912,0xde6008a1,0x2028da1f,
460 0x0227bce7,0x4d642916,0x18fac300,0x50f18b82,
461 0x2cb2cb11,0xb232e75c,0x4b3695f2,0xb28707de,
462 0xa05fbcf6,0xcd4181e9,0xe150210c,0xe24ef1bd,
463 0xb168c381,0xfde4e789,0x5c79b0d8,0x1e8bfd43,
464 0x4d495001,0x38be4341,0x913cee1d,0x92a79c3f,
465 0x089766be,0xbaeeadf4,0x1286becf,0xb6eacb19,
466 0x2660c200,0x7565bde4,0x64241f7a,0x8248dca9,
467 0xc3b3ad66,0x28136086,0x0bd8dfa8,0x356d1cf2,
468 0x107789be,0xb3b2e9ce,0x0502aa8f,0x0bc0351e,
469 0x166bf52a,0xeb12ff82,0xe3486911,0xd34d7516,
470 0x4e7b3aff,0x5f43671b,0x9cf6e037,0x4981ac83,
471 0x334266ce,0x8c9341b7,0xd0d854c0,0xcb3a6c88,
472 0x47bc2829,0x4725ba37,0xa66ad22b,0x7ad61f1e,
473 0x0c5cbafa,0x4437f107,0xb6e79962,0x42d2d816,
474 0x0a961288,0xe1a5c06e,0x13749e67,0x72fc081a,
475 0xb1d139f7,0xf9583745,0xcf19df58,0xbec3f756,
476 0xc06eba30,0x07211b24,0x45c28829,0xc95e317f,
477 0xbc8ec511,0x38bc46e9,0xc6e6fa14,0xbae8584a,
478 0xad4ebc46,0x468f508b,0x7829435f,0xf124183b,
479 0x821dba9f,0xaff60ff4,0xea2c4e6d,0x16e39264,
480 0x92544a8b,0x009b4fc3,0xaba68ced,0x9ac96f78,
481 0x06a5b79a,0xb2856e6e,0x1aec3ca9,0xbe838688,
482 0x0e0804e9,0x55f1be56,0xe7e5363b,0xb3a1f25d,
483 0xf7debb85,0x61fe033c,0x16746233,0x3c034c28,
484 0xda6d0c74,0x79aac56c,0x3ce4e1ad,0x51f0c802,
485 0x98f8f35a,0x1626a49f,0xeed82b29,0x1d382fe3,
486 0x0c4fb99a,0xbb325778,0x3ec6d97b,0x6e77a6a9,
487 0xcb658b5c,0xd45230c7,0x2bd1408b,0x60c03eb7,
488 0xb9068d78,0xa33754f4,0xf430c87d,0xc8a71302,
489 0xb96d8c32,0xebd4e7be,0xbe8b9d2d,0x7979fb06,
490 0xe7225308,0x8b75cf77,0x11ef8da4,0xe083c858,
491 0x8d6b786f,0x5a6317a6,0xfa5cf7a0,0x5dda0033,
492 0xf28ebfb0,0xf5b9c310,0xa0eac280,0x08b9767a,
493 0xa3d9d2b0,0x79d34217,0x021a718d,0x9ac6336a,
494 0x2711fd60,0x438050e3,0x069908a8,0x3d7fedc4,
495 0x826d2bef,0x4eeb8476,0x488dcf25,0x36c9d566,
496 0x28e74e41,0xc2610aca,0x3d49a9cf,0xbae3b9df,
497 0xb65f8de6,0x92aeaf64,0x3ac7d5e6,0x9ea80509,
498 0xf22b017d,0xa4173f70,0xdd1e16c3,0x15e0d7f9,
499 0x50b1b887,0x2b9f4fd5,0x625aba82,0x6a017962,
500 0x2ec01b9c,0x15488aa9,0xd716e740,0x40055a2c,
501 0x93d29a22,0xe32dbf9a,0x058745b9,0x3453dc1e,
502 0xd699296e,0x496cff6f,0x1c9f4986,0xdfe2ed07,
503 0xb87242d1,0x19de7eae,0x053e561a,0x15ad6f8c,
504 0x66626c1c,0x7154c24c,0xea082b2a,0x93eb2939,
505 0x17dcb0f0,0x58d4f2ae,0x9ea294fb,0x52cf564c,
506 0x9883fe66,0x2ec40581,0x763953c3,0x01d6692e,
507 0xd3a0c108,0xa1e7160e,0xe4f2dfa6,0x693ed285,
508 0x74904698,0x4c2b0edd,0x4f757656,0x5d393378,
509 0xa132234f,0x3d321c5d,0xc3f5e194,0x4b269301,
510 0xc79f022f,0x3c997e7e,0x5e4f9504,0x3ffafbbd,
511 0x76f7ad0e,0x296693f4,0x3d1fce6f,0xc61e45be,
512 0xd3b5ab34,0xf72bf9b7,0x1b0434c0,0x4e72b567,
513 0x5592a33d,0xb5229301,0xcfd2a87f,0x60aeb767,
514 0x1814386b,0x30bcc33d,0x38a0c07d,0xfd1606f2,
515 0xc363519b,0x589dd390,0x5479f8e6,0x1cb8d647,
516 0x97fd61a9,0xea7759f4,0x2d57539d,0x569a58cf,
517 0xe84e63ad,0x462e1b78,0x6580f87e,0xf3817914,
518 0x91da55f4,0x40a230f3,0xd1988f35,0xb6e318d2,
519 0x3ffa50bc,0x3d40f021,0xc3c0bdae,0x4958c24c,
520 0x518f36b2,0x84b1d370,0x0fedce83,0x878ddada,
521 0xf2a279c7,0x94e01be8,0x90716f4b,0x954b8aa3,
523 const CAST_LONG CAST_S_table7[256]={
524 0xe216300d,0xbbddfffc,0xa7ebdabd,0x35648095,
525 0x7789f8b7,0xe6c1121b,0x0e241600,0x052ce8b5,
526 0x11a9cfb0,0xe5952f11,0xece7990a,0x9386d174,
527 0x2a42931c,0x76e38111,0xb12def3a,0x37ddddfc,
528 0xde9adeb1,0x0a0cc32c,0xbe197029,0x84a00940,
529 0xbb243a0f,0xb4d137cf,0xb44e79f0,0x049eedfd,
530 0x0b15a15d,0x480d3168,0x8bbbde5a,0x669ded42,
531 0xc7ece831,0x3f8f95e7,0x72df191b,0x7580330d,
532 0x94074251,0x5c7dcdfa,0xabbe6d63,0xaa402164,
533 0xb301d40a,0x02e7d1ca,0x53571dae,0x7a3182a2,
534 0x12a8ddec,0xfdaa335d,0x176f43e8,0x71fb46d4,
535 0x38129022,0xce949ad4,0xb84769ad,0x965bd862,
536 0x82f3d055,0x66fb9767,0x15b80b4e,0x1d5b47a0,
537 0x4cfde06f,0xc28ec4b8,0x57e8726e,0x647a78fc,
538 0x99865d44,0x608bd593,0x6c200e03,0x39dc5ff6,
539 0x5d0b00a3,0xae63aff2,0x7e8bd632,0x70108c0c,
540 0xbbd35049,0x2998df04,0x980cf42a,0x9b6df491,
541 0x9e7edd53,0x06918548,0x58cb7e07,0x3b74ef2e,
542 0x522fffb1,0xd24708cc,0x1c7e27cd,0xa4eb215b,
543 0x3cf1d2e2,0x19b47a38,0x424f7618,0x35856039,
544 0x9d17dee7,0x27eb35e6,0xc9aff67b,0x36baf5b8,
545 0x09c467cd,0xc18910b1,0xe11dbf7b,0x06cd1af8,
546 0x7170c608,0x2d5e3354,0xd4de495a,0x64c6d006,
547 0xbcc0c62c,0x3dd00db3,0x708f8f34,0x77d51b42,
548 0x264f620f,0x24b8d2bf,0x15c1b79e,0x46a52564,
549 0xf8d7e54e,0x3e378160,0x7895cda5,0x859c15a5,
550 0xe6459788,0xc37bc75f,0xdb07ba0c,0x0676a3ab,
551 0x7f229b1e,0x31842e7b,0x24259fd7,0xf8bef472,
552 0x835ffcb8,0x6df4c1f2,0x96f5b195,0xfd0af0fc,
553 0xb0fe134c,0xe2506d3d,0x4f9b12ea,0xf215f225,
554 0xa223736f,0x9fb4c428,0x25d04979,0x34c713f8,
555 0xc4618187,0xea7a6e98,0x7cd16efc,0x1436876c,
556 0xf1544107,0xbedeee14,0x56e9af27,0xa04aa441,
557 0x3cf7c899,0x92ecbae6,0xdd67016d,0x151682eb,
558 0xa842eedf,0xfdba60b4,0xf1907b75,0x20e3030f,
559 0x24d8c29e,0xe139673b,0xefa63fb8,0x71873054,
560 0xb6f2cf3b,0x9f326442,0xcb15a4cc,0xb01a4504,
561 0xf1e47d8d,0x844a1be5,0xbae7dfdc,0x42cbda70,
562 0xcd7dae0a,0x57e85b7a,0xd53f5af6,0x20cf4d8c,
563 0xcea4d428,0x79d130a4,0x3486ebfb,0x33d3cddc,
564 0x77853b53,0x37effcb5,0xc5068778,0xe580b3e6,
565 0x4e68b8f4,0xc5c8b37e,0x0d809ea2,0x398feb7c,
566 0x132a4f94,0x43b7950e,0x2fee7d1c,0x223613bd,
567 0xdd06caa2,0x37df932b,0xc4248289,0xacf3ebc3,
568 0x5715f6b7,0xef3478dd,0xf267616f,0xc148cbe4,
569 0x9052815e,0x5e410fab,0xb48a2465,0x2eda7fa4,
570 0xe87b40e4,0xe98ea084,0x5889e9e1,0xefd390fc,
571 0xdd07d35b,0xdb485694,0x38d7e5b2,0x57720101,
572 0x730edebc,0x5b643113,0x94917e4f,0x503c2fba,
573 0x646f1282,0x7523d24a,0xe0779695,0xf9c17a8f,
574 0x7a5b2121,0xd187b896,0x29263a4d,0xba510cdf,
575 0x81f47c9f,0xad1163ed,0xea7b5965,0x1a00726e,
576 0x11403092,0x00da6d77,0x4a0cdd61,0xad1f4603,
577 0x605bdfb0,0x9eedc364,0x22ebe6a8,0xcee7d28a,
578 0xa0e736a0,0x5564a6b9,0x10853209,0xc7eb8f37,
579 0x2de705ca,0x8951570f,0xdf09822b,0xbd691a6c,
580 0xaa12e4f2,0x87451c0f,0xe0f6a27a,0x3ada4819,
581 0x4cf1764f,0x0d771c2b,0x67cdb156,0x350d8384,
582 0x5938fa0f,0x42399ef3,0x36997b07,0x0e84093d,
583 0x4aa93e61,0x8360d87b,0x1fa98b0c,0x1149382c,
584 0xe97625a5,0x0614d1b7,0x0e25244b,0x0c768347,
585 0x589e8d82,0x0d2059d1,0xa466bb1e,0xf8da0a82,
586 0x04f19130,0xba6e4ec0,0x99265164,0x1ee7230d,
587 0x50b2ad80,0xeaee6801,0x8db2a283,0xea8bf59e,
590 __END_HIDDEN_DECLS