155714Skris/* crypto/cast/cast_s.h */
255714Skris/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
355714Skris * All rights reserved.
455714Skris *
555714Skris * This package is an SSL implementation written
655714Skris * by Eric Young (eay@cryptsoft.com).
755714Skris * The implementation was written so as to conform with Netscapes SSL.
8280304Sjkim *
955714Skris * This library is free for commercial and non-commercial use as long as
1055714Skris * the following conditions are aheared to.  The following conditions
1155714Skris * apply to all code found in this distribution, be it the RC4, RSA,
1255714Skris * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
1355714Skris * included with this distribution is covered by the same copyright terms
1455714Skris * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15280304Sjkim *
1655714Skris * Copyright remains Eric Young's, and as such any Copyright notices in
1755714Skris * the code are not to be removed.
1855714Skris * If this package is used in a product, Eric Young should be given attribution
1955714Skris * as the author of the parts of the library used.
2055714Skris * This can be in the form of a textual message at program startup or
2155714Skris * in documentation (online or textual) provided with the package.
22280304Sjkim *
2355714Skris * Redistribution and use in source and binary forms, with or without
2455714Skris * modification, are permitted provided that the following conditions
2555714Skris * are met:
2655714Skris * 1. Redistributions of source code must retain the copyright
2755714Skris *    notice, this list of conditions and the following disclaimer.
2855714Skris * 2. Redistributions in binary form must reproduce the above copyright
2955714Skris *    notice, this list of conditions and the following disclaimer in the
3055714Skris *    documentation and/or other materials provided with the distribution.
3155714Skris * 3. All advertising materials mentioning features or use of this software
3255714Skris *    must display the following acknowledgement:
3355714Skris *    "This product includes cryptographic software written by
3455714Skris *     Eric Young (eay@cryptsoft.com)"
3555714Skris *    The word 'cryptographic' can be left out if the rouines from the library
3655714Skris *    being used are not cryptographic related :-).
37280304Sjkim * 4. If you include any Windows specific code (or a derivative thereof) from
3855714Skris *    the apps directory (application code) you must include an acknowledgement:
3955714Skris *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40280304Sjkim *
4155714Skris * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
4255714Skris * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
4355714Skris * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
4455714Skris * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
4555714Skris * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
4655714Skris * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
4755714Skris * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
4855714Skris * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
4955714Skris * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
5055714Skris * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
5155714Skris * SUCH DAMAGE.
52280304Sjkim *
5355714Skris * The licence and distribution terms for any publically available version or
5455714Skris * derivative of this code cannot be changed.  i.e. this code cannot simply be
5555714Skris * copied and put under another distribution licence
5655714Skris * [including the GNU Public Licence.]
5755714Skris */
58280304SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table0[256] = {
59280304Sjkim    0x30fb40d4, 0x9fa0ff0b, 0x6beccd2f, 0x3f258c7a,
60280304Sjkim    0x1e213f2f, 0x9c004dd3, 0x6003e540, 0xcf9fc949,
61280304Sjkim    0xbfd4af27, 0x88bbbdb5, 0xe2034090, 0x98d09675,
62280304Sjkim    0x6e63a0e0, 0x15c361d2, 0xc2e7661d, 0x22d4ff8e,
63280304Sjkim    0x28683b6f, 0xc07fd059, 0xff2379c8, 0x775f50e2,
64280304Sjkim    0x43c340d3, 0xdf2f8656, 0x887ca41a, 0xa2d2bd2d,
65280304Sjkim    0xa1c9e0d6, 0x346c4819, 0x61b76d87, 0x22540f2f,
66280304Sjkim    0x2abe32e1, 0xaa54166b, 0x22568e3a, 0xa2d341d0,
67280304Sjkim    0x66db40c8, 0xa784392f, 0x004dff2f, 0x2db9d2de,
68280304Sjkim    0x97943fac, 0x4a97c1d8, 0x527644b7, 0xb5f437a7,
69280304Sjkim    0xb82cbaef, 0xd751d159, 0x6ff7f0ed, 0x5a097a1f,
70280304Sjkim    0x827b68d0, 0x90ecf52e, 0x22b0c054, 0xbc8e5935,
71280304Sjkim    0x4b6d2f7f, 0x50bb64a2, 0xd2664910, 0xbee5812d,
72280304Sjkim    0xb7332290, 0xe93b159f, 0xb48ee411, 0x4bff345d,
73280304Sjkim    0xfd45c240, 0xad31973f, 0xc4f6d02e, 0x55fc8165,
74280304Sjkim    0xd5b1caad, 0xa1ac2dae, 0xa2d4b76d, 0xc19b0c50,
75280304Sjkim    0x882240f2, 0x0c6e4f38, 0xa4e4bfd7, 0x4f5ba272,
76280304Sjkim    0x564c1d2f, 0xc59c5319, 0xb949e354, 0xb04669fe,
77280304Sjkim    0xb1b6ab8a, 0xc71358dd, 0x6385c545, 0x110f935d,
78280304Sjkim    0x57538ad5, 0x6a390493, 0xe63d37e0, 0x2a54f6b3,
79280304Sjkim    0x3a787d5f, 0x6276a0b5, 0x19a6fcdf, 0x7a42206a,
80280304Sjkim    0x29f9d4d5, 0xf61b1891, 0xbb72275e, 0xaa508167,
81280304Sjkim    0x38901091, 0xc6b505eb, 0x84c7cb8c, 0x2ad75a0f,
82280304Sjkim    0x874a1427, 0xa2d1936b, 0x2ad286af, 0xaa56d291,
83280304Sjkim    0xd7894360, 0x425c750d, 0x93b39e26, 0x187184c9,
84280304Sjkim    0x6c00b32d, 0x73e2bb14, 0xa0bebc3c, 0x54623779,
85280304Sjkim    0x64459eab, 0x3f328b82, 0x7718cf82, 0x59a2cea6,
86280304Sjkim    0x04ee002e, 0x89fe78e6, 0x3fab0950, 0x325ff6c2,
87280304Sjkim    0x81383f05, 0x6963c5c8, 0x76cb5ad6, 0xd49974c9,
88280304Sjkim    0xca180dcf, 0x380782d5, 0xc7fa5cf6, 0x8ac31511,
89280304Sjkim    0x35e79e13, 0x47da91d0, 0xf40f9086, 0xa7e2419e,
90280304Sjkim    0x31366241, 0x051ef495, 0xaa573b04, 0x4a805d8d,
91280304Sjkim    0x548300d0, 0x00322a3c, 0xbf64cddf, 0xba57a68e,
92280304Sjkim    0x75c6372b, 0x50afd341, 0xa7c13275, 0x915a0bf5,
93280304Sjkim    0x6b54bfab, 0x2b0b1426, 0xab4cc9d7, 0x449ccd82,
94280304Sjkim    0xf7fbf265, 0xab85c5f3, 0x1b55db94, 0xaad4e324,
95280304Sjkim    0xcfa4bd3f, 0x2deaa3e2, 0x9e204d02, 0xc8bd25ac,
96280304Sjkim    0xeadf55b3, 0xd5bd9e98, 0xe31231b2, 0x2ad5ad6c,
97280304Sjkim    0x954329de, 0xadbe4528, 0xd8710f69, 0xaa51c90f,
98280304Sjkim    0xaa786bf6, 0x22513f1e, 0xaa51a79b, 0x2ad344cc,
99280304Sjkim    0x7b5a41f0, 0xd37cfbad, 0x1b069505, 0x41ece491,
100280304Sjkim    0xb4c332e6, 0x032268d4, 0xc9600acc, 0xce387e6d,
101280304Sjkim    0xbf6bb16c, 0x6a70fb78, 0x0d03d9c9, 0xd4df39de,
102280304Sjkim    0xe01063da, 0x4736f464, 0x5ad328d8, 0xb347cc96,
103280304Sjkim    0x75bb0fc3, 0x98511bfb, 0x4ffbcc35, 0xb58bcf6a,
104280304Sjkim    0xe11f0abc, 0xbfc5fe4a, 0xa70aec10, 0xac39570a,
105280304Sjkim    0x3f04442f, 0x6188b153, 0xe0397a2e, 0x5727cb79,
106280304Sjkim    0x9ceb418f, 0x1cacd68d, 0x2ad37c96, 0x0175cb9d,
107280304Sjkim    0xc69dff09, 0xc75b65f0, 0xd9db40d8, 0xec0e7779,
108280304Sjkim    0x4744ead4, 0xb11c3274, 0xdd24cb9e, 0x7e1c54bd,
109280304Sjkim    0xf01144f9, 0xd2240eb1, 0x9675b3fd, 0xa3ac3755,
110280304Sjkim    0xd47c27af, 0x51c85f4d, 0x56907596, 0xa5bb15e6,
111280304Sjkim    0x580304f0, 0xca042cf1, 0x011a37ea, 0x8dbfaadb,
112280304Sjkim    0x35ba3e4a, 0x3526ffa0, 0xc37b4d09, 0xbc306ed9,
113280304Sjkim    0x98a52666, 0x5648f725, 0xff5e569d, 0x0ced63d0,
114280304Sjkim    0x7c63b2cf, 0x700b45e1, 0xd5ea50f1, 0x85a92872,
115280304Sjkim    0xaf1fbda7, 0xd4234870, 0xa7870bf3, 0x2d3b4d79,
116280304Sjkim    0x42e04198, 0x0cd0ede7, 0x26470db8, 0xf881814c,
117280304Sjkim    0x474d6ad7, 0x7c0c5e5c, 0xd1231959, 0x381b7298,
118280304Sjkim    0xf5d2f4db, 0xab838653, 0x6e2f1e23, 0x83719c9e,
119280304Sjkim    0xbd91e046, 0x9a56456e, 0xdc39200c, 0x20c8c571,
120280304Sjkim    0x962bda1c, 0xe1e696ff, 0xb141ab08, 0x7cca89b9,
121280304Sjkim    0x1a69e783, 0x02cc4843, 0xa2f7c579, 0x429ef47d,
122280304Sjkim    0x427b169c, 0x5ac9f049, 0xdd8f0f00, 0x5c8165bf,
123280304Sjkim};
124280304Sjkim
125280304SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table1[256] = {
126280304Sjkim    0x1f201094, 0xef0ba75b, 0x69e3cf7e, 0x393f4380,
127280304Sjkim    0xfe61cf7a, 0xeec5207a, 0x55889c94, 0x72fc0651,
128280304Sjkim    0xada7ef79, 0x4e1d7235, 0xd55a63ce, 0xde0436ba,
129280304Sjkim    0x99c430ef, 0x5f0c0794, 0x18dcdb7d, 0xa1d6eff3,
130280304Sjkim    0xa0b52f7b, 0x59e83605, 0xee15b094, 0xe9ffd909,
131280304Sjkim    0xdc440086, 0xef944459, 0xba83ccb3, 0xe0c3cdfb,
132280304Sjkim    0xd1da4181, 0x3b092ab1, 0xf997f1c1, 0xa5e6cf7b,
133280304Sjkim    0x01420ddb, 0xe4e7ef5b, 0x25a1ff41, 0xe180f806,
134280304Sjkim    0x1fc41080, 0x179bee7a, 0xd37ac6a9, 0xfe5830a4,
135280304Sjkim    0x98de8b7f, 0x77e83f4e, 0x79929269, 0x24fa9f7b,
136280304Sjkim    0xe113c85b, 0xacc40083, 0xd7503525, 0xf7ea615f,
137280304Sjkim    0x62143154, 0x0d554b63, 0x5d681121, 0xc866c359,
138280304Sjkim    0x3d63cf73, 0xcee234c0, 0xd4d87e87, 0x5c672b21,
139280304Sjkim    0x071f6181, 0x39f7627f, 0x361e3084, 0xe4eb573b,
140280304Sjkim    0x602f64a4, 0xd63acd9c, 0x1bbc4635, 0x9e81032d,
141280304Sjkim    0x2701f50c, 0x99847ab4, 0xa0e3df79, 0xba6cf38c,
142280304Sjkim    0x10843094, 0x2537a95e, 0xf46f6ffe, 0xa1ff3b1f,
143280304Sjkim    0x208cfb6a, 0x8f458c74, 0xd9e0a227, 0x4ec73a34,
144280304Sjkim    0xfc884f69, 0x3e4de8df, 0xef0e0088, 0x3559648d,
145280304Sjkim    0x8a45388c, 0x1d804366, 0x721d9bfd, 0xa58684bb,
146280304Sjkim    0xe8256333, 0x844e8212, 0x128d8098, 0xfed33fb4,
147280304Sjkim    0xce280ae1, 0x27e19ba5, 0xd5a6c252, 0xe49754bd,
148280304Sjkim    0xc5d655dd, 0xeb667064, 0x77840b4d, 0xa1b6a801,
149280304Sjkim    0x84db26a9, 0xe0b56714, 0x21f043b7, 0xe5d05860,
150280304Sjkim    0x54f03084, 0x066ff472, 0xa31aa153, 0xdadc4755,
151280304Sjkim    0xb5625dbf, 0x68561be6, 0x83ca6b94, 0x2d6ed23b,
152280304Sjkim    0xeccf01db, 0xa6d3d0ba, 0xb6803d5c, 0xaf77a709,
153280304Sjkim    0x33b4a34c, 0x397bc8d6, 0x5ee22b95, 0x5f0e5304,
154280304Sjkim    0x81ed6f61, 0x20e74364, 0xb45e1378, 0xde18639b,
155280304Sjkim    0x881ca122, 0xb96726d1, 0x8049a7e8, 0x22b7da7b,
156280304Sjkim    0x5e552d25, 0x5272d237, 0x79d2951c, 0xc60d894c,
157280304Sjkim    0x488cb402, 0x1ba4fe5b, 0xa4b09f6b, 0x1ca815cf,
158280304Sjkim    0xa20c3005, 0x8871df63, 0xb9de2fcb, 0x0cc6c9e9,
159280304Sjkim    0x0beeff53, 0xe3214517, 0xb4542835, 0x9f63293c,
160280304Sjkim    0xee41e729, 0x6e1d2d7c, 0x50045286, 0x1e6685f3,
161280304Sjkim    0xf33401c6, 0x30a22c95, 0x31a70850, 0x60930f13,
162280304Sjkim    0x73f98417, 0xa1269859, 0xec645c44, 0x52c877a9,
163280304Sjkim    0xcdff33a6, 0xa02b1741, 0x7cbad9a2, 0x2180036f,
164280304Sjkim    0x50d99c08, 0xcb3f4861, 0xc26bd765, 0x64a3f6ab,
165280304Sjkim    0x80342676, 0x25a75e7b, 0xe4e6d1fc, 0x20c710e6,
166280304Sjkim    0xcdf0b680, 0x17844d3b, 0x31eef84d, 0x7e0824e4,
167280304Sjkim    0x2ccb49eb, 0x846a3bae, 0x8ff77888, 0xee5d60f6,
168280304Sjkim    0x7af75673, 0x2fdd5cdb, 0xa11631c1, 0x30f66f43,
169280304Sjkim    0xb3faec54, 0x157fd7fa, 0xef8579cc, 0xd152de58,
170280304Sjkim    0xdb2ffd5e, 0x8f32ce19, 0x306af97a, 0x02f03ef8,
171280304Sjkim    0x99319ad5, 0xc242fa0f, 0xa7e3ebb0, 0xc68e4906,
172280304Sjkim    0xb8da230c, 0x80823028, 0xdcdef3c8, 0xd35fb171,
173280304Sjkim    0x088a1bc8, 0xbec0c560, 0x61a3c9e8, 0xbca8f54d,
174280304Sjkim    0xc72feffa, 0x22822e99, 0x82c570b4, 0xd8d94e89,
175280304Sjkim    0x8b1c34bc, 0x301e16e6, 0x273be979, 0xb0ffeaa6,
176280304Sjkim    0x61d9b8c6, 0x00b24869, 0xb7ffce3f, 0x08dc283b,
177280304Sjkim    0x43daf65a, 0xf7e19798, 0x7619b72f, 0x8f1c9ba4,
178280304Sjkim    0xdc8637a0, 0x16a7d3b1, 0x9fc393b7, 0xa7136eeb,
179280304Sjkim    0xc6bcc63e, 0x1a513742, 0xef6828bc, 0x520365d6,
180280304Sjkim    0x2d6a77ab, 0x3527ed4b, 0x821fd216, 0x095c6e2e,
181280304Sjkim    0xdb92f2fb, 0x5eea29cb, 0x145892f5, 0x91584f7f,
182280304Sjkim    0x5483697b, 0x2667a8cc, 0x85196048, 0x8c4bacea,
183280304Sjkim    0x833860d4, 0x0d23e0f9, 0x6c387e8a, 0x0ae6d249,
184280304Sjkim    0xb284600c, 0xd835731d, 0xdcb1c647, 0xac4c56ea,
185280304Sjkim    0x3ebd81b3, 0x230eabb0, 0x6438bc87, 0xf0b5b1fa,
186280304Sjkim    0x8f5ea2b3, 0xfc184642, 0x0a036b7a, 0x4fb089bd,
187280304Sjkim    0x649da589, 0xa345415e, 0x5c038323, 0x3e5d3bb9,
188280304Sjkim    0x43d79572, 0x7e6dd07c, 0x06dfdf1e, 0x6c6cc4ef,
189280304Sjkim    0x7160a539, 0x73bfbe70, 0x83877605, 0x4523ecf1,
190280304Sjkim};
191280304Sjkim
192280304SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table2[256] = {
193280304Sjkim    0x8defc240, 0x25fa5d9f, 0xeb903dbf, 0xe810c907,
194280304Sjkim    0x47607fff, 0x369fe44b, 0x8c1fc644, 0xaececa90,
195280304Sjkim    0xbeb1f9bf, 0xeefbcaea, 0xe8cf1950, 0x51df07ae,
196280304Sjkim    0x920e8806, 0xf0ad0548, 0xe13c8d83, 0x927010d5,
197280304Sjkim    0x11107d9f, 0x07647db9, 0xb2e3e4d4, 0x3d4f285e,
198280304Sjkim    0xb9afa820, 0xfade82e0, 0xa067268b, 0x8272792e,
199280304Sjkim    0x553fb2c0, 0x489ae22b, 0xd4ef9794, 0x125e3fbc,
200280304Sjkim    0x21fffcee, 0x825b1bfd, 0x9255c5ed, 0x1257a240,
201280304Sjkim    0x4e1a8302, 0xbae07fff, 0x528246e7, 0x8e57140e,
202280304Sjkim    0x3373f7bf, 0x8c9f8188, 0xa6fc4ee8, 0xc982b5a5,
203280304Sjkim    0xa8c01db7, 0x579fc264, 0x67094f31, 0xf2bd3f5f,
204280304Sjkim    0x40fff7c1, 0x1fb78dfc, 0x8e6bd2c1, 0x437be59b,
205280304Sjkim    0x99b03dbf, 0xb5dbc64b, 0x638dc0e6, 0x55819d99,
206280304Sjkim    0xa197c81c, 0x4a012d6e, 0xc5884a28, 0xccc36f71,
207280304Sjkim    0xb843c213, 0x6c0743f1, 0x8309893c, 0x0feddd5f,
208280304Sjkim    0x2f7fe850, 0xd7c07f7e, 0x02507fbf, 0x5afb9a04,
209280304Sjkim    0xa747d2d0, 0x1651192e, 0xaf70bf3e, 0x58c31380,
210280304Sjkim    0x5f98302e, 0x727cc3c4, 0x0a0fb402, 0x0f7fef82,
211280304Sjkim    0x8c96fdad, 0x5d2c2aae, 0x8ee99a49, 0x50da88b8,
212280304Sjkim    0x8427f4a0, 0x1eac5790, 0x796fb449, 0x8252dc15,
213280304Sjkim    0xefbd7d9b, 0xa672597d, 0xada840d8, 0x45f54504,
214280304Sjkim    0xfa5d7403, 0xe83ec305, 0x4f91751a, 0x925669c2,
215280304Sjkim    0x23efe941, 0xa903f12e, 0x60270df2, 0x0276e4b6,
216280304Sjkim    0x94fd6574, 0x927985b2, 0x8276dbcb, 0x02778176,
217280304Sjkim    0xf8af918d, 0x4e48f79e, 0x8f616ddf, 0xe29d840e,
218280304Sjkim    0x842f7d83, 0x340ce5c8, 0x96bbb682, 0x93b4b148,
219280304Sjkim    0xef303cab, 0x984faf28, 0x779faf9b, 0x92dc560d,
220280304Sjkim    0x224d1e20, 0x8437aa88, 0x7d29dc96, 0x2756d3dc,
221280304Sjkim    0x8b907cee, 0xb51fd240, 0xe7c07ce3, 0xe566b4a1,
222280304Sjkim    0xc3e9615e, 0x3cf8209d, 0x6094d1e3, 0xcd9ca341,
223280304Sjkim    0x5c76460e, 0x00ea983b, 0xd4d67881, 0xfd47572c,
224280304Sjkim    0xf76cedd9, 0xbda8229c, 0x127dadaa, 0x438a074e,
225280304Sjkim    0x1f97c090, 0x081bdb8a, 0x93a07ebe, 0xb938ca15,
226280304Sjkim    0x97b03cff, 0x3dc2c0f8, 0x8d1ab2ec, 0x64380e51,
227280304Sjkim    0x68cc7bfb, 0xd90f2788, 0x12490181, 0x5de5ffd4,
228280304Sjkim    0xdd7ef86a, 0x76a2e214, 0xb9a40368, 0x925d958f,
229280304Sjkim    0x4b39fffa, 0xba39aee9, 0xa4ffd30b, 0xfaf7933b,
230280304Sjkim    0x6d498623, 0x193cbcfa, 0x27627545, 0x825cf47a,
231280304Sjkim    0x61bd8ba0, 0xd11e42d1, 0xcead04f4, 0x127ea392,
232280304Sjkim    0x10428db7, 0x8272a972, 0x9270c4a8, 0x127de50b,
233280304Sjkim    0x285ba1c8, 0x3c62f44f, 0x35c0eaa5, 0xe805d231,
234280304Sjkim    0x428929fb, 0xb4fcdf82, 0x4fb66a53, 0x0e7dc15b,
235280304Sjkim    0x1f081fab, 0x108618ae, 0xfcfd086d, 0xf9ff2889,
236280304Sjkim    0x694bcc11, 0x236a5cae, 0x12deca4d, 0x2c3f8cc5,
237280304Sjkim    0xd2d02dfe, 0xf8ef5896, 0xe4cf52da, 0x95155b67,
238280304Sjkim    0x494a488c, 0xb9b6a80c, 0x5c8f82bc, 0x89d36b45,
239280304Sjkim    0x3a609437, 0xec00c9a9, 0x44715253, 0x0a874b49,
240280304Sjkim    0xd773bc40, 0x7c34671c, 0x02717ef6, 0x4feb5536,
241280304Sjkim    0xa2d02fff, 0xd2bf60c4, 0xd43f03c0, 0x50b4ef6d,
242280304Sjkim    0x07478cd1, 0x006e1888, 0xa2e53f55, 0xb9e6d4bc,
243280304Sjkim    0xa2048016, 0x97573833, 0xd7207d67, 0xde0f8f3d,
244280304Sjkim    0x72f87b33, 0xabcc4f33, 0x7688c55d, 0x7b00a6b0,
245280304Sjkim    0x947b0001, 0x570075d2, 0xf9bb88f8, 0x8942019e,
246280304Sjkim    0x4264a5ff, 0x856302e0, 0x72dbd92b, 0xee971b69,
247280304Sjkim    0x6ea22fde, 0x5f08ae2b, 0xaf7a616d, 0xe5c98767,
248280304Sjkim    0xcf1febd2, 0x61efc8c2, 0xf1ac2571, 0xcc8239c2,
249280304Sjkim    0x67214cb8, 0xb1e583d1, 0xb7dc3e62, 0x7f10bdce,
250280304Sjkim    0xf90a5c38, 0x0ff0443d, 0x606e6dc6, 0x60543a49,
251280304Sjkim    0x5727c148, 0x2be98a1d, 0x8ab41738, 0x20e1be24,
252280304Sjkim    0xaf96da0f, 0x68458425, 0x99833be5, 0x600d457d,
253280304Sjkim    0x282f9350, 0x8334b362, 0xd91d1120, 0x2b6d8da0,
254280304Sjkim    0x642b1e31, 0x9c305a00, 0x52bce688, 0x1b03588a,
255280304Sjkim    0xf7baefd5, 0x4142ed9c, 0xa4315c11, 0x83323ec5,
256280304Sjkim    0xdfef4636, 0xa133c501, 0xe9d3531c, 0xee353783,
257280304Sjkim};
258280304Sjkim
259280304SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table3[256] = {
260280304Sjkim    0x9db30420, 0x1fb6e9de, 0xa7be7bef, 0xd273a298,
261280304Sjkim    0x4a4f7bdb, 0x64ad8c57, 0x85510443, 0xfa020ed1,
262280304Sjkim    0x7e287aff, 0xe60fb663, 0x095f35a1, 0x79ebf120,
263280304Sjkim    0xfd059d43, 0x6497b7b1, 0xf3641f63, 0x241e4adf,
264280304Sjkim    0x28147f5f, 0x4fa2b8cd, 0xc9430040, 0x0cc32220,
265280304Sjkim    0xfdd30b30, 0xc0a5374f, 0x1d2d00d9, 0x24147b15,
266280304Sjkim    0xee4d111a, 0x0fca5167, 0x71ff904c, 0x2d195ffe,
267280304Sjkim    0x1a05645f, 0x0c13fefe, 0x081b08ca, 0x05170121,
268280304Sjkim    0x80530100, 0xe83e5efe, 0xac9af4f8, 0x7fe72701,
269280304Sjkim    0xd2b8ee5f, 0x06df4261, 0xbb9e9b8a, 0x7293ea25,
270280304Sjkim    0xce84ffdf, 0xf5718801, 0x3dd64b04, 0xa26f263b,
271280304Sjkim    0x7ed48400, 0x547eebe6, 0x446d4ca0, 0x6cf3d6f5,
272280304Sjkim    0x2649abdf, 0xaea0c7f5, 0x36338cc1, 0x503f7e93,
273280304Sjkim    0xd3772061, 0x11b638e1, 0x72500e03, 0xf80eb2bb,
274280304Sjkim    0xabe0502e, 0xec8d77de, 0x57971e81, 0xe14f6746,
275280304Sjkim    0xc9335400, 0x6920318f, 0x081dbb99, 0xffc304a5,
276280304Sjkim    0x4d351805, 0x7f3d5ce3, 0xa6c866c6, 0x5d5bcca9,
277280304Sjkim    0xdaec6fea, 0x9f926f91, 0x9f46222f, 0x3991467d,
278280304Sjkim    0xa5bf6d8e, 0x1143c44f, 0x43958302, 0xd0214eeb,
279280304Sjkim    0x022083b8, 0x3fb6180c, 0x18f8931e, 0x281658e6,
280280304Sjkim    0x26486e3e, 0x8bd78a70, 0x7477e4c1, 0xb506e07c,
281280304Sjkim    0xf32d0a25, 0x79098b02, 0xe4eabb81, 0x28123b23,
282280304Sjkim    0x69dead38, 0x1574ca16, 0xdf871b62, 0x211c40b7,
283280304Sjkim    0xa51a9ef9, 0x0014377b, 0x041e8ac8, 0x09114003,
284280304Sjkim    0xbd59e4d2, 0xe3d156d5, 0x4fe876d5, 0x2f91a340,
285280304Sjkim    0x557be8de, 0x00eae4a7, 0x0ce5c2ec, 0x4db4bba6,
286280304Sjkim    0xe756bdff, 0xdd3369ac, 0xec17b035, 0x06572327,
287280304Sjkim    0x99afc8b0, 0x56c8c391, 0x6b65811c, 0x5e146119,
288280304Sjkim    0x6e85cb75, 0xbe07c002, 0xc2325577, 0x893ff4ec,
289280304Sjkim    0x5bbfc92d, 0xd0ec3b25, 0xb7801ab7, 0x8d6d3b24,
290280304Sjkim    0x20c763ef, 0xc366a5fc, 0x9c382880, 0x0ace3205,
291280304Sjkim    0xaac9548a, 0xeca1d7c7, 0x041afa32, 0x1d16625a,
292280304Sjkim    0x6701902c, 0x9b757a54, 0x31d477f7, 0x9126b031,
293280304Sjkim    0x36cc6fdb, 0xc70b8b46, 0xd9e66a48, 0x56e55a79,
294280304Sjkim    0x026a4ceb, 0x52437eff, 0x2f8f76b4, 0x0df980a5,
295280304Sjkim    0x8674cde3, 0xedda04eb, 0x17a9be04, 0x2c18f4df,
296280304Sjkim    0xb7747f9d, 0xab2af7b4, 0xefc34d20, 0x2e096b7c,
297280304Sjkim    0x1741a254, 0xe5b6a035, 0x213d42f6, 0x2c1c7c26,
298280304Sjkim    0x61c2f50f, 0x6552daf9, 0xd2c231f8, 0x25130f69,
299280304Sjkim    0xd8167fa2, 0x0418f2c8, 0x001a96a6, 0x0d1526ab,
300280304Sjkim    0x63315c21, 0x5e0a72ec, 0x49bafefd, 0x187908d9,
301280304Sjkim    0x8d0dbd86, 0x311170a7, 0x3e9b640c, 0xcc3e10d7,
302280304Sjkim    0xd5cad3b6, 0x0caec388, 0xf73001e1, 0x6c728aff,
303280304Sjkim    0x71eae2a1, 0x1f9af36e, 0xcfcbd12f, 0xc1de8417,
304280304Sjkim    0xac07be6b, 0xcb44a1d8, 0x8b9b0f56, 0x013988c3,
305280304Sjkim    0xb1c52fca, 0xb4be31cd, 0xd8782806, 0x12a3a4e2,
306280304Sjkim    0x6f7de532, 0x58fd7eb6, 0xd01ee900, 0x24adffc2,
307280304Sjkim    0xf4990fc5, 0x9711aac5, 0x001d7b95, 0x82e5e7d2,
308280304Sjkim    0x109873f6, 0x00613096, 0xc32d9521, 0xada121ff,
309280304Sjkim    0x29908415, 0x7fbb977f, 0xaf9eb3db, 0x29c9ed2a,
310280304Sjkim    0x5ce2a465, 0xa730f32c, 0xd0aa3fe8, 0x8a5cc091,
311280304Sjkim    0xd49e2ce7, 0x0ce454a9, 0xd60acd86, 0x015f1919,
312280304Sjkim    0x77079103, 0xdea03af6, 0x78a8565e, 0xdee356df,
313280304Sjkim    0x21f05cbe, 0x8b75e387, 0xb3c50651, 0xb8a5c3ef,
314280304Sjkim    0xd8eeb6d2, 0xe523be77, 0xc2154529, 0x2f69efdf,
315280304Sjkim    0xafe67afb, 0xf470c4b2, 0xf3e0eb5b, 0xd6cc9876,
316280304Sjkim    0x39e4460c, 0x1fda8538, 0x1987832f, 0xca007367,
317280304Sjkim    0xa99144f8, 0x296b299e, 0x492fc295, 0x9266beab,
318280304Sjkim    0xb5676e69, 0x9bd3ddda, 0xdf7e052f, 0xdb25701c,
319280304Sjkim    0x1b5e51ee, 0xf65324e6, 0x6afce36c, 0x0316cc04,
320280304Sjkim    0x8644213e, 0xb7dc59d0, 0x7965291f, 0xccd6fd43,
321280304Sjkim    0x41823979, 0x932bcdf6, 0xb657c34d, 0x4edfd282,
322280304Sjkim    0x7ae5290c, 0x3cb9536b, 0x851e20fe, 0x9833557e,
323280304Sjkim    0x13ecf0b0, 0xd3ffb372, 0x3f85c5c1, 0x0aef7ed2,
324280304Sjkim};
325280304Sjkim
326280304SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table4[256] = {
327280304Sjkim    0x7ec90c04, 0x2c6e74b9, 0x9b0e66df, 0xa6337911,
328280304Sjkim    0xb86a7fff, 0x1dd358f5, 0x44dd9d44, 0x1731167f,
329280304Sjkim    0x08fbf1fa, 0xe7f511cc, 0xd2051b00, 0x735aba00,
330280304Sjkim    0x2ab722d8, 0x386381cb, 0xacf6243a, 0x69befd7a,
331280304Sjkim    0xe6a2e77f, 0xf0c720cd, 0xc4494816, 0xccf5c180,
332280304Sjkim    0x38851640, 0x15b0a848, 0xe68b18cb, 0x4caadeff,
333280304Sjkim    0x5f480a01, 0x0412b2aa, 0x259814fc, 0x41d0efe2,
334280304Sjkim    0x4e40b48d, 0x248eb6fb, 0x8dba1cfe, 0x41a99b02,
335280304Sjkim    0x1a550a04, 0xba8f65cb, 0x7251f4e7, 0x95a51725,
336280304Sjkim    0xc106ecd7, 0x97a5980a, 0xc539b9aa, 0x4d79fe6a,
337280304Sjkim    0xf2f3f763, 0x68af8040, 0xed0c9e56, 0x11b4958b,
338280304Sjkim    0xe1eb5a88, 0x8709e6b0, 0xd7e07156, 0x4e29fea7,
339280304Sjkim    0x6366e52d, 0x02d1c000, 0xc4ac8e05, 0x9377f571,
340280304Sjkim    0x0c05372a, 0x578535f2, 0x2261be02, 0xd642a0c9,
341280304Sjkim    0xdf13a280, 0x74b55bd2, 0x682199c0, 0xd421e5ec,
342280304Sjkim    0x53fb3ce8, 0xc8adedb3, 0x28a87fc9, 0x3d959981,
343280304Sjkim    0x5c1ff900, 0xfe38d399, 0x0c4eff0b, 0x062407ea,
344280304Sjkim    0xaa2f4fb1, 0x4fb96976, 0x90c79505, 0xb0a8a774,
345280304Sjkim    0xef55a1ff, 0xe59ca2c2, 0xa6b62d27, 0xe66a4263,
346280304Sjkim    0xdf65001f, 0x0ec50966, 0xdfdd55bc, 0x29de0655,
347280304Sjkim    0x911e739a, 0x17af8975, 0x32c7911c, 0x89f89468,
348280304Sjkim    0x0d01e980, 0x524755f4, 0x03b63cc9, 0x0cc844b2,
349280304Sjkim    0xbcf3f0aa, 0x87ac36e9, 0xe53a7426, 0x01b3d82b,
350280304Sjkim    0x1a9e7449, 0x64ee2d7e, 0xcddbb1da, 0x01c94910,
351280304Sjkim    0xb868bf80, 0x0d26f3fd, 0x9342ede7, 0x04a5c284,
352280304Sjkim    0x636737b6, 0x50f5b616, 0xf24766e3, 0x8eca36c1,
353280304Sjkim    0x136e05db, 0xfef18391, 0xfb887a37, 0xd6e7f7d4,
354280304Sjkim    0xc7fb7dc9, 0x3063fcdf, 0xb6f589de, 0xec2941da,
355280304Sjkim    0x26e46695, 0xb7566419, 0xf654efc5, 0xd08d58b7,
356280304Sjkim    0x48925401, 0xc1bacb7f, 0xe5ff550f, 0xb6083049,
357280304Sjkim    0x5bb5d0e8, 0x87d72e5a, 0xab6a6ee1, 0x223a66ce,
358280304Sjkim    0xc62bf3cd, 0x9e0885f9, 0x68cb3e47, 0x086c010f,
359280304Sjkim    0xa21de820, 0xd18b69de, 0xf3f65777, 0xfa02c3f6,
360280304Sjkim    0x407edac3, 0xcbb3d550, 0x1793084d, 0xb0d70eba,
361280304Sjkim    0x0ab378d5, 0xd951fb0c, 0xded7da56, 0x4124bbe4,
362280304Sjkim    0x94ca0b56, 0x0f5755d1, 0xe0e1e56e, 0x6184b5be,
363280304Sjkim    0x580a249f, 0x94f74bc0, 0xe327888e, 0x9f7b5561,
364280304Sjkim    0xc3dc0280, 0x05687715, 0x646c6bd7, 0x44904db3,
365280304Sjkim    0x66b4f0a3, 0xc0f1648a, 0x697ed5af, 0x49e92ff6,
366280304Sjkim    0x309e374f, 0x2cb6356a, 0x85808573, 0x4991f840,
367280304Sjkim    0x76f0ae02, 0x083be84d, 0x28421c9a, 0x44489406,
368280304Sjkim    0x736e4cb8, 0xc1092910, 0x8bc95fc6, 0x7d869cf4,
369280304Sjkim    0x134f616f, 0x2e77118d, 0xb31b2be1, 0xaa90b472,
370280304Sjkim    0x3ca5d717, 0x7d161bba, 0x9cad9010, 0xaf462ba2,
371280304Sjkim    0x9fe459d2, 0x45d34559, 0xd9f2da13, 0xdbc65487,
372280304Sjkim    0xf3e4f94e, 0x176d486f, 0x097c13ea, 0x631da5c7,
373280304Sjkim    0x445f7382, 0x175683f4, 0xcdc66a97, 0x70be0288,
374280304Sjkim    0xb3cdcf72, 0x6e5dd2f3, 0x20936079, 0x459b80a5,
375280304Sjkim    0xbe60e2db, 0xa9c23101, 0xeba5315c, 0x224e42f2,
376280304Sjkim    0x1c5c1572, 0xf6721b2c, 0x1ad2fff3, 0x8c25404e,
377280304Sjkim    0x324ed72f, 0x4067b7fd, 0x0523138e, 0x5ca3bc78,
378280304Sjkim    0xdc0fd66e, 0x75922283, 0x784d6b17, 0x58ebb16e,
379280304Sjkim    0x44094f85, 0x3f481d87, 0xfcfeae7b, 0x77b5ff76,
380280304Sjkim    0x8c2302bf, 0xaaf47556, 0x5f46b02a, 0x2b092801,
381280304Sjkim    0x3d38f5f7, 0x0ca81f36, 0x52af4a8a, 0x66d5e7c0,
382280304Sjkim    0xdf3b0874, 0x95055110, 0x1b5ad7a8, 0xf61ed5ad,
383280304Sjkim    0x6cf6e479, 0x20758184, 0xd0cefa65, 0x88f7be58,
384280304Sjkim    0x4a046826, 0x0ff6f8f3, 0xa09c7f70, 0x5346aba0,
385280304Sjkim    0x5ce96c28, 0xe176eda3, 0x6bac307f, 0x376829d2,
386280304Sjkim    0x85360fa9, 0x17e3fe2a, 0x24b79767, 0xf5a96b20,
387280304Sjkim    0xd6cd2595, 0x68ff1ebf, 0x7555442c, 0xf19f06be,
388280304Sjkim    0xf9e0659a, 0xeeb9491d, 0x34010718, 0xbb30cab8,
389280304Sjkim    0xe822fe15, 0x88570983, 0x750e6249, 0xda627e55,
390280304Sjkim    0x5e76ffa8, 0xb1534546, 0x6d47de08, 0xefe9e7d4,
391280304Sjkim};
392280304Sjkim
393280304SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table5[256] = {
394280304Sjkim    0xf6fa8f9d, 0x2cac6ce1, 0x4ca34867, 0xe2337f7c,
395280304Sjkim    0x95db08e7, 0x016843b4, 0xeced5cbc, 0x325553ac,
396280304Sjkim    0xbf9f0960, 0xdfa1e2ed, 0x83f0579d, 0x63ed86b9,
397280304Sjkim    0x1ab6a6b8, 0xde5ebe39, 0xf38ff732, 0x8989b138,
398280304Sjkim    0x33f14961, 0xc01937bd, 0xf506c6da, 0xe4625e7e,
399280304Sjkim    0xa308ea99, 0x4e23e33c, 0x79cbd7cc, 0x48a14367,
400280304Sjkim    0xa3149619, 0xfec94bd5, 0xa114174a, 0xeaa01866,
401280304Sjkim    0xa084db2d, 0x09a8486f, 0xa888614a, 0x2900af98,
402280304Sjkim    0x01665991, 0xe1992863, 0xc8f30c60, 0x2e78ef3c,
403280304Sjkim    0xd0d51932, 0xcf0fec14, 0xf7ca07d2, 0xd0a82072,
404280304Sjkim    0xfd41197e, 0x9305a6b0, 0xe86be3da, 0x74bed3cd,
405280304Sjkim    0x372da53c, 0x4c7f4448, 0xdab5d440, 0x6dba0ec3,
406280304Sjkim    0x083919a7, 0x9fbaeed9, 0x49dbcfb0, 0x4e670c53,
407280304Sjkim    0x5c3d9c01, 0x64bdb941, 0x2c0e636a, 0xba7dd9cd,
408280304Sjkim    0xea6f7388, 0xe70bc762, 0x35f29adb, 0x5c4cdd8d,
409280304Sjkim    0xf0d48d8c, 0xb88153e2, 0x08a19866, 0x1ae2eac8,
410280304Sjkim    0x284caf89, 0xaa928223, 0x9334be53, 0x3b3a21bf,
411280304Sjkim    0x16434be3, 0x9aea3906, 0xefe8c36e, 0xf890cdd9,
412280304Sjkim    0x80226dae, 0xc340a4a3, 0xdf7e9c09, 0xa694a807,
413280304Sjkim    0x5b7c5ecc, 0x221db3a6, 0x9a69a02f, 0x68818a54,
414280304Sjkim    0xceb2296f, 0x53c0843a, 0xfe893655, 0x25bfe68a,
415280304Sjkim    0xb4628abc, 0xcf222ebf, 0x25ac6f48, 0xa9a99387,
416280304Sjkim    0x53bddb65, 0xe76ffbe7, 0xe967fd78, 0x0ba93563,
417280304Sjkim    0x8e342bc1, 0xe8a11be9, 0x4980740d, 0xc8087dfc,
418280304Sjkim    0x8de4bf99, 0xa11101a0, 0x7fd37975, 0xda5a26c0,
419280304Sjkim    0xe81f994f, 0x9528cd89, 0xfd339fed, 0xb87834bf,
420280304Sjkim    0x5f04456d, 0x22258698, 0xc9c4c83b, 0x2dc156be,
421280304Sjkim    0x4f628daa, 0x57f55ec5, 0xe2220abe, 0xd2916ebf,
422280304Sjkim    0x4ec75b95, 0x24f2c3c0, 0x42d15d99, 0xcd0d7fa0,
423280304Sjkim    0x7b6e27ff, 0xa8dc8af0, 0x7345c106, 0xf41e232f,
424280304Sjkim    0x35162386, 0xe6ea8926, 0x3333b094, 0x157ec6f2,
425280304Sjkim    0x372b74af, 0x692573e4, 0xe9a9d848, 0xf3160289,
426280304Sjkim    0x3a62ef1d, 0xa787e238, 0xf3a5f676, 0x74364853,
427280304Sjkim    0x20951063, 0x4576698d, 0xb6fad407, 0x592af950,
428280304Sjkim    0x36f73523, 0x4cfb6e87, 0x7da4cec0, 0x6c152daa,
429280304Sjkim    0xcb0396a8, 0xc50dfe5d, 0xfcd707ab, 0x0921c42f,
430280304Sjkim    0x89dff0bb, 0x5fe2be78, 0x448f4f33, 0x754613c9,
431280304Sjkim    0x2b05d08d, 0x48b9d585, 0xdc049441, 0xc8098f9b,
432280304Sjkim    0x7dede786, 0xc39a3373, 0x42410005, 0x6a091751,
433280304Sjkim    0x0ef3c8a6, 0x890072d6, 0x28207682, 0xa9a9f7be,
434280304Sjkim    0xbf32679d, 0xd45b5b75, 0xb353fd00, 0xcbb0e358,
435280304Sjkim    0x830f220a, 0x1f8fb214, 0xd372cf08, 0xcc3c4a13,
436280304Sjkim    0x8cf63166, 0x061c87be, 0x88c98f88, 0x6062e397,
437280304Sjkim    0x47cf8e7a, 0xb6c85283, 0x3cc2acfb, 0x3fc06976,
438280304Sjkim    0x4e8f0252, 0x64d8314d, 0xda3870e3, 0x1e665459,
439280304Sjkim    0xc10908f0, 0x513021a5, 0x6c5b68b7, 0x822f8aa0,
440280304Sjkim    0x3007cd3e, 0x74719eef, 0xdc872681, 0x073340d4,
441280304Sjkim    0x7e432fd9, 0x0c5ec241, 0x8809286c, 0xf592d891,
442280304Sjkim    0x08a930f6, 0x957ef305, 0xb7fbffbd, 0xc266e96f,
443280304Sjkim    0x6fe4ac98, 0xb173ecc0, 0xbc60b42a, 0x953498da,
444280304Sjkim    0xfba1ae12, 0x2d4bd736, 0x0f25faab, 0xa4f3fceb,
445280304Sjkim    0xe2969123, 0x257f0c3d, 0x9348af49, 0x361400bc,
446280304Sjkim    0xe8816f4a, 0x3814f200, 0xa3f94043, 0x9c7a54c2,
447280304Sjkim    0xbc704f57, 0xda41e7f9, 0xc25ad33a, 0x54f4a084,
448280304Sjkim    0xb17f5505, 0x59357cbe, 0xedbd15c8, 0x7f97c5ab,
449280304Sjkim    0xba5ac7b5, 0xb6f6deaf, 0x3a479c3a, 0x5302da25,
450280304Sjkim    0x653d7e6a, 0x54268d49, 0x51a477ea, 0x5017d55b,
451280304Sjkim    0xd7d25d88, 0x44136c76, 0x0404a8c8, 0xb8e5a121,
452280304Sjkim    0xb81a928a, 0x60ed5869, 0x97c55b96, 0xeaec991b,
453280304Sjkim    0x29935913, 0x01fdb7f1, 0x088e8dfa, 0x9ab6f6f5,
454280304Sjkim    0x3b4cbf9f, 0x4a5de3ab, 0xe6051d35, 0xa0e1d855,
455280304Sjkim    0xd36b4cf1, 0xf544edeb, 0xb0e93524, 0xbebb8fbd,
456280304Sjkim    0xa2d762cf, 0x49c92f54, 0x38b5f331, 0x7128a454,
457280304Sjkim    0x48392905, 0xa65b1db8, 0x851c97bd, 0xd675cf2f,
458280304Sjkim};
459280304Sjkim
460280304SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table6[256] = {
461280304Sjkim    0x85e04019, 0x332bf567, 0x662dbfff, 0xcfc65693,
462280304Sjkim    0x2a8d7f6f, 0xab9bc912, 0xde6008a1, 0x2028da1f,
463280304Sjkim    0x0227bce7, 0x4d642916, 0x18fac300, 0x50f18b82,
464280304Sjkim    0x2cb2cb11, 0xb232e75c, 0x4b3695f2, 0xb28707de,
465280304Sjkim    0xa05fbcf6, 0xcd4181e9, 0xe150210c, 0xe24ef1bd,
466280304Sjkim    0xb168c381, 0xfde4e789, 0x5c79b0d8, 0x1e8bfd43,
467280304Sjkim    0x4d495001, 0x38be4341, 0x913cee1d, 0x92a79c3f,
468280304Sjkim    0x089766be, 0xbaeeadf4, 0x1286becf, 0xb6eacb19,
469280304Sjkim    0x2660c200, 0x7565bde4, 0x64241f7a, 0x8248dca9,
470280304Sjkim    0xc3b3ad66, 0x28136086, 0x0bd8dfa8, 0x356d1cf2,
471280304Sjkim    0x107789be, 0xb3b2e9ce, 0x0502aa8f, 0x0bc0351e,
472280304Sjkim    0x166bf52a, 0xeb12ff82, 0xe3486911, 0xd34d7516,
473280304Sjkim    0x4e7b3aff, 0x5f43671b, 0x9cf6e037, 0x4981ac83,
474280304Sjkim    0x334266ce, 0x8c9341b7, 0xd0d854c0, 0xcb3a6c88,
475280304Sjkim    0x47bc2829, 0x4725ba37, 0xa66ad22b, 0x7ad61f1e,
476280304Sjkim    0x0c5cbafa, 0x4437f107, 0xb6e79962, 0x42d2d816,
477280304Sjkim    0x0a961288, 0xe1a5c06e, 0x13749e67, 0x72fc081a,
478280304Sjkim    0xb1d139f7, 0xf9583745, 0xcf19df58, 0xbec3f756,
479280304Sjkim    0xc06eba30, 0x07211b24, 0x45c28829, 0xc95e317f,
480280304Sjkim    0xbc8ec511, 0x38bc46e9, 0xc6e6fa14, 0xbae8584a,
481280304Sjkim    0xad4ebc46, 0x468f508b, 0x7829435f, 0xf124183b,
482280304Sjkim    0x821dba9f, 0xaff60ff4, 0xea2c4e6d, 0x16e39264,
483280304Sjkim    0x92544a8b, 0x009b4fc3, 0xaba68ced, 0x9ac96f78,
484280304Sjkim    0x06a5b79a, 0xb2856e6e, 0x1aec3ca9, 0xbe838688,
485280304Sjkim    0x0e0804e9, 0x55f1be56, 0xe7e5363b, 0xb3a1f25d,
486280304Sjkim    0xf7debb85, 0x61fe033c, 0x16746233, 0x3c034c28,
487280304Sjkim    0xda6d0c74, 0x79aac56c, 0x3ce4e1ad, 0x51f0c802,
488280304Sjkim    0x98f8f35a, 0x1626a49f, 0xeed82b29, 0x1d382fe3,
489280304Sjkim    0x0c4fb99a, 0xbb325778, 0x3ec6d97b, 0x6e77a6a9,
490280304Sjkim    0xcb658b5c, 0xd45230c7, 0x2bd1408b, 0x60c03eb7,
491280304Sjkim    0xb9068d78, 0xa33754f4, 0xf430c87d, 0xc8a71302,
492280304Sjkim    0xb96d8c32, 0xebd4e7be, 0xbe8b9d2d, 0x7979fb06,
493280304Sjkim    0xe7225308, 0x8b75cf77, 0x11ef8da4, 0xe083c858,
494280304Sjkim    0x8d6b786f, 0x5a6317a6, 0xfa5cf7a0, 0x5dda0033,
495280304Sjkim    0xf28ebfb0, 0xf5b9c310, 0xa0eac280, 0x08b9767a,
496280304Sjkim    0xa3d9d2b0, 0x79d34217, 0x021a718d, 0x9ac6336a,
497280304Sjkim    0x2711fd60, 0x438050e3, 0x069908a8, 0x3d7fedc4,
498280304Sjkim    0x826d2bef, 0x4eeb8476, 0x488dcf25, 0x36c9d566,
499280304Sjkim    0x28e74e41, 0xc2610aca, 0x3d49a9cf, 0xbae3b9df,
500280304Sjkim    0xb65f8de6, 0x92aeaf64, 0x3ac7d5e6, 0x9ea80509,
501280304Sjkim    0xf22b017d, 0xa4173f70, 0xdd1e16c3, 0x15e0d7f9,
502280304Sjkim    0x50b1b887, 0x2b9f4fd5, 0x625aba82, 0x6a017962,
503280304Sjkim    0x2ec01b9c, 0x15488aa9, 0xd716e740, 0x40055a2c,
504280304Sjkim    0x93d29a22, 0xe32dbf9a, 0x058745b9, 0x3453dc1e,
505280304Sjkim    0xd699296e, 0x496cff6f, 0x1c9f4986, 0xdfe2ed07,
506280304Sjkim    0xb87242d1, 0x19de7eae, 0x053e561a, 0x15ad6f8c,
507280304Sjkim    0x66626c1c, 0x7154c24c, 0xea082b2a, 0x93eb2939,
508280304Sjkim    0x17dcb0f0, 0x58d4f2ae, 0x9ea294fb, 0x52cf564c,
509280304Sjkim    0x9883fe66, 0x2ec40581, 0x763953c3, 0x01d6692e,
510280304Sjkim    0xd3a0c108, 0xa1e7160e, 0xe4f2dfa6, 0x693ed285,
511280304Sjkim    0x74904698, 0x4c2b0edd, 0x4f757656, 0x5d393378,
512280304Sjkim    0xa132234f, 0x3d321c5d, 0xc3f5e194, 0x4b269301,
513280304Sjkim    0xc79f022f, 0x3c997e7e, 0x5e4f9504, 0x3ffafbbd,
514280304Sjkim    0x76f7ad0e, 0x296693f4, 0x3d1fce6f, 0xc61e45be,
515280304Sjkim    0xd3b5ab34, 0xf72bf9b7, 0x1b0434c0, 0x4e72b567,
516280304Sjkim    0x5592a33d, 0xb5229301, 0xcfd2a87f, 0x60aeb767,
517280304Sjkim    0x1814386b, 0x30bcc33d, 0x38a0c07d, 0xfd1606f2,
518280304Sjkim    0xc363519b, 0x589dd390, 0x5479f8e6, 0x1cb8d647,
519280304Sjkim    0x97fd61a9, 0xea7759f4, 0x2d57539d, 0x569a58cf,
520280304Sjkim    0xe84e63ad, 0x462e1b78, 0x6580f87e, 0xf3817914,
521280304Sjkim    0x91da55f4, 0x40a230f3, 0xd1988f35, 0xb6e318d2,
522280304Sjkim    0x3ffa50bc, 0x3d40f021, 0xc3c0bdae, 0x4958c24c,
523280304Sjkim    0x518f36b2, 0x84b1d370, 0x0fedce83, 0x878ddada,
524280304Sjkim    0xf2a279c7, 0x94e01be8, 0x90716f4b, 0x954b8aa3,
525280304Sjkim};
526280304Sjkim
527280304SjkimOPENSSL_GLOBAL const CAST_LONG CAST_S_table7[256] = {
528280304Sjkim    0xe216300d, 0xbbddfffc, 0xa7ebdabd, 0x35648095,
529280304Sjkim    0x7789f8b7, 0xe6c1121b, 0x0e241600, 0x052ce8b5,
530280304Sjkim    0x11a9cfb0, 0xe5952f11, 0xece7990a, 0x9386d174,
531280304Sjkim    0x2a42931c, 0x76e38111, 0xb12def3a, 0x37ddddfc,
532280304Sjkim    0xde9adeb1, 0x0a0cc32c, 0xbe197029, 0x84a00940,
533280304Sjkim    0xbb243a0f, 0xb4d137cf, 0xb44e79f0, 0x049eedfd,
534280304Sjkim    0x0b15a15d, 0x480d3168, 0x8bbbde5a, 0x669ded42,
535280304Sjkim    0xc7ece831, 0x3f8f95e7, 0x72df191b, 0x7580330d,
536280304Sjkim    0x94074251, 0x5c7dcdfa, 0xabbe6d63, 0xaa402164,
537280304Sjkim    0xb301d40a, 0x02e7d1ca, 0x53571dae, 0x7a3182a2,
538280304Sjkim    0x12a8ddec, 0xfdaa335d, 0x176f43e8, 0x71fb46d4,
539280304Sjkim    0x38129022, 0xce949ad4, 0xb84769ad, 0x965bd862,
540280304Sjkim    0x82f3d055, 0x66fb9767, 0x15b80b4e, 0x1d5b47a0,
541280304Sjkim    0x4cfde06f, 0xc28ec4b8, 0x57e8726e, 0x647a78fc,
542280304Sjkim    0x99865d44, 0x608bd593, 0x6c200e03, 0x39dc5ff6,
543280304Sjkim    0x5d0b00a3, 0xae63aff2, 0x7e8bd632, 0x70108c0c,
544280304Sjkim    0xbbd35049, 0x2998df04, 0x980cf42a, 0x9b6df491,
545280304Sjkim    0x9e7edd53, 0x06918548, 0x58cb7e07, 0x3b74ef2e,
546280304Sjkim    0x522fffb1, 0xd24708cc, 0x1c7e27cd, 0xa4eb215b,
547280304Sjkim    0x3cf1d2e2, 0x19b47a38, 0x424f7618, 0x35856039,
548280304Sjkim    0x9d17dee7, 0x27eb35e6, 0xc9aff67b, 0x36baf5b8,
549280304Sjkim    0x09c467cd, 0xc18910b1, 0xe11dbf7b, 0x06cd1af8,
550280304Sjkim    0x7170c608, 0x2d5e3354, 0xd4de495a, 0x64c6d006,
551280304Sjkim    0xbcc0c62c, 0x3dd00db3, 0x708f8f34, 0x77d51b42,
552280304Sjkim    0x264f620f, 0x24b8d2bf, 0x15c1b79e, 0x46a52564,
553280304Sjkim    0xf8d7e54e, 0x3e378160, 0x7895cda5, 0x859c15a5,
554280304Sjkim    0xe6459788, 0xc37bc75f, 0xdb07ba0c, 0x0676a3ab,
555280304Sjkim    0x7f229b1e, 0x31842e7b, 0x24259fd7, 0xf8bef472,
556280304Sjkim    0x835ffcb8, 0x6df4c1f2, 0x96f5b195, 0xfd0af0fc,
557280304Sjkim    0xb0fe134c, 0xe2506d3d, 0x4f9b12ea, 0xf215f225,
558280304Sjkim    0xa223736f, 0x9fb4c428, 0x25d04979, 0x34c713f8,
559280304Sjkim    0xc4618187, 0xea7a6e98, 0x7cd16efc, 0x1436876c,
560280304Sjkim    0xf1544107, 0xbedeee14, 0x56e9af27, 0xa04aa441,
561280304Sjkim    0x3cf7c899, 0x92ecbae6, 0xdd67016d, 0x151682eb,
562280304Sjkim    0xa842eedf, 0xfdba60b4, 0xf1907b75, 0x20e3030f,
563280304Sjkim    0x24d8c29e, 0xe139673b, 0xefa63fb8, 0x71873054,
564280304Sjkim    0xb6f2cf3b, 0x9f326442, 0xcb15a4cc, 0xb01a4504,
565280304Sjkim    0xf1e47d8d, 0x844a1be5, 0xbae7dfdc, 0x42cbda70,
566280304Sjkim    0xcd7dae0a, 0x57e85b7a, 0xd53f5af6, 0x20cf4d8c,
567280304Sjkim    0xcea4d428, 0x79d130a4, 0x3486ebfb, 0x33d3cddc,
568280304Sjkim    0x77853b53, 0x37effcb5, 0xc5068778, 0xe580b3e6,
569280304Sjkim    0x4e68b8f4, 0xc5c8b37e, 0x0d809ea2, 0x398feb7c,
570280304Sjkim    0x132a4f94, 0x43b7950e, 0x2fee7d1c, 0x223613bd,
571280304Sjkim    0xdd06caa2, 0x37df932b, 0xc4248289, 0xacf3ebc3,
572280304Sjkim    0x5715f6b7, 0xef3478dd, 0xf267616f, 0xc148cbe4,
573280304Sjkim    0x9052815e, 0x5e410fab, 0xb48a2465, 0x2eda7fa4,
574280304Sjkim    0xe87b40e4, 0xe98ea084, 0x5889e9e1, 0xefd390fc,
575280304Sjkim    0xdd07d35b, 0xdb485694, 0x38d7e5b2, 0x57720101,
576280304Sjkim    0x730edebc, 0x5b643113, 0x94917e4f, 0x503c2fba,
577280304Sjkim    0x646f1282, 0x7523d24a, 0xe0779695, 0xf9c17a8f,
578280304Sjkim    0x7a5b2121, 0xd187b896, 0x29263a4d, 0xba510cdf,
579280304Sjkim    0x81f47c9f, 0xad1163ed, 0xea7b5965, 0x1a00726e,
580280304Sjkim    0x11403092, 0x00da6d77, 0x4a0cdd61, 0xad1f4603,
581280304Sjkim    0x605bdfb0, 0x9eedc364, 0x22ebe6a8, 0xcee7d28a,
582280304Sjkim    0xa0e736a0, 0x5564a6b9, 0x10853209, 0xc7eb8f37,
583280304Sjkim    0x2de705ca, 0x8951570f, 0xdf09822b, 0xbd691a6c,
584280304Sjkim    0xaa12e4f2, 0x87451c0f, 0xe0f6a27a, 0x3ada4819,
585280304Sjkim    0x4cf1764f, 0x0d771c2b, 0x67cdb156, 0x350d8384,
586280304Sjkim    0x5938fa0f, 0x42399ef3, 0x36997b07, 0x0e84093d,
587280304Sjkim    0x4aa93e61, 0x8360d87b, 0x1fa98b0c, 0x1149382c,
588280304Sjkim    0xe97625a5, 0x0614d1b7, 0x0e25244b, 0x0c768347,
589280304Sjkim    0x589e8d82, 0x0d2059d1, 0xa466bb1e, 0xf8da0a82,
590280304Sjkim    0x04f19130, 0xba6e4ec0, 0x99265164, 0x1ee7230d,
591280304Sjkim    0x50b2ad80, 0xeaee6801, 0x8db2a283, 0xea8bf59e,
592280304Sjkim};
593