xref: /illumos-gate/usr/src/uts/common/des/desdata.h (revision b4203d75)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License, Version 1.0 only
6  * (the "License").  You may not use this file except in compliance
7  * with the License.
8  *
9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10  * or http://www.opensolaris.org/os/licensing.
11  * See the License for the specific language governing permissions
12  * and limitations under the License.
13  *
14  * When distributing Covered Code, include this CDDL HEADER in each
15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16  * If applicable, add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your own identifying
18  * information: Portions Copyright [yyyy] [name of copyright owner]
19  *
20  * CDDL HEADER END
21  *
22  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
23  * Use is subject to license terms.
24  */
25 
26 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
27 /*	  All Rights Reserved	*/
28 
29 /*
30  * Portions of this source code were derived from Berkeley 4.3 BSD
31  * under license from the Regents of the University of California.
32  */
33 
34 #ifndef _SYS_DESDATA_H
35 #define	_SYS_DESDATA_H
36 
37 #ifdef	__cplusplus
38 extern "C" {
39 #endif
40 
41 /*
42  * softdesdata.c, Data for software implementation of DES
43  */
44 
45 /*
46  * Lint can't handle static's in include files.
47  * Complains "defined but not used" and then "used but not defined"
48  */
49 #ifdef __lint
50 #define	static
51 #endif
52 
53 /*
54  * Permuted-choice 1 from the key bits
55  * to yield C and D.
56  * Note that bits 8,16... are left out:
57  * They are intended for a parity check.
58  * Table has been munged to be zero-origin
59  */
60 
61 const short	PC1_C[] = {
62 	57-1, 49-1, 41-1, 33-1, 25-1, 17-1,  9-1,
63 	1-1,  58-1, 50-1, 42-1, 34-1, 26-1, 18-1,
64 	10-1,  2-1, 59-1, 51-1, 43-1, 35-1, 27-1,
65 	19-1, 11-1,  3-1, 60-1, 52-1, 44-1, 36-1,
66 };
67 
68 const short	PC1_D[] = {
69 	63-1, 55-1, 47-1, 39-1, 31-1, 23-1, 15-1,
70 	7-1,  62-1, 54-1, 46-1, 38-1, 30-1, 22-1,
71 	14-1,  6-1, 61-1, 53-1, 45-1, 37-1, 29-1,
72 	21-1, 13-1,  5-1, 28-1, 20-1, 12-1,  4-1,
73 };
74 
75 /*
76  * Sequence of shifts used for the key schedule.
77  */
78 const char	shifts[] = {
79 	1-1, 1-1, 2-1, 2-1, 2-1, 2-1, 2-1, 2-1,
80 	1-1, 2-1, 2-1, 2-1, 2-1, 2-1, 2-1, 1-1,
81 };
82 
83 /*
84  * Permuted-choice 2, to pick out the bits from
85  * the CD array that generate the key schedule.
86  */
87 const	char	PC2_C[] = {
88 	14, 17, 11, 24, 1,  5,
89 	3,  28, 15, 6,  21, 10,
90 	23, 19, 12, 4,  26, 8,
91 	16, 7,  27, 20, 13, 2,
92 };
93 
94 const	char	PC2_D[] = {
95 	41-28, 52-28, 31-28, 37-28, 47-28, 55-28,
96 	30-28, 40-28, 51-28, 45-28, 33-28, 48-28,
97 	44-28, 49-28, 39-28, 56-28, 34-28, 53-28,
98 	46-28, 42-28, 50-28, 36-28, 29-28, 32-28,
99 };
100 
101 /*
102  * Initial permutation
103  */
104 const	short	IPtab[64] = {
105 	40-1,  8-1, 48-1, 16-1, 56-1, 24-1, 64-1, 32-1,
106 	39-1,  7-1, 47-1, 15-1, 55-1, 23-1, 63-1, 31-1,
107 	38-1,  6-1, 46-1, 14-1, 54-1, 22-1, 62-1, 30-1,
108 	37-1,  5-1, 45-1, 13-1, 53-1, 21-1, 61-1, 29-1,
109 	36-1,  4-1, 44-1, 12-1, 52-1, 20-1, 60-1, 28-1,
110 	35-1,  3-1, 43-1, 11-1, 51-1, 19-1, 59-1, 27-1,
111 	34-1,  2-1, 42-1, 10-1, 50-1, 18-1, 58-1, 26-1,
112 	33-1,  1-1, 41-1,  9-1, 49-1, 17-1, 57-1, 25-1,
113 };
114 
115 /*
116  * Final permutation
117  */
118 const	short	FPtab[64] = {
119 	58-1, 50-1, 42-1, 34-1, 26-1, 18-1, 10-1,  2-1,
120 	60-1, 52-1, 44-1, 36-1, 28-1, 20-1, 12-1,  4-1,
121 	62-1, 54-1, 46-1, 38-1, 30-1, 22-1, 14-1,  6-1,
122 	64-1, 56-1, 48-1, 40-1, 32-1, 24-1, 16-1,  8-1,
123 	57-1, 49-1, 41-1, 33-1, 25-1, 17-1,  9-1,  1-1,
124 	59-1, 51-1, 43-1, 35-1, 27-1, 19-1, 11-1,  3-1,
125 	61-1, 53-1, 45-1, 37-1, 29-1, 21-1, 13-1,  5-1,
126 	63-1, 55-1, 47-1, 39-1, 31-1, 23-1, 15-1,  7-1,
127 };
128 
129 /*
130  * Mask bit selection table
131  */
132 const	uint32_t longtab[32] = {
133 	0x80000000U,	0x40000000U,	0x20000000U,	0x10000000U,
134 	0x8000000U,	0x4000000U,	0x2000000U,	0x1000000U,
135 	0x800000U,	0x400000U,	0x200000U,	0x100000U,
136 	0x80000U,	0x40000U,	0x20000U,	0x10000U,
137 	0x8000U,	0x4000U,	0x2000U,	0x1000U,
138 	0x800U,		0x400U,		0x200U,		0x100U,
139 	0x80U,		0x40U,		0x20U,		0x10U,
140 	0x8U,		0x4U,		0x2U,		0x1U,
141 };
142 
143 /*
144  * Table to expand 32 bit (4 bytes of 8 bits) R value
145  * to 48 bits (8 bytes of 6 bits)
146  */
147 struct R_to_ER {
148 	uint32_t l0, l1;
149 };
150 
151 const	struct R_to_ER R_to_ER_tab[4][256] = {
152 	{{ 0x00000000, 0x00000000, },	{ 0x00022000, 0x00000000, },
153 	{ 0x00040000, 0x00000000, },	{ 0x00062000, 0x00000000, },
154 	{ 0x00080000, 0x00000000, },	{ 0x000a2000, 0x00000000, },
155 	{ 0x000c0000, 0x00000000, },	{ 0x000e2000, 0x00000000, },
156 	{ 0x01100000, 0x00000000, },	{ 0x01122000, 0x00000000, },
157 	{ 0x01140000, 0x00000000, },	{ 0x01162000, 0x00000000, },
158 	{ 0x01180000, 0x00000000, },	{ 0x011a2000, 0x00000000, },
159 	{ 0x011c0000, 0x00000000, },	{ 0x011e2000, 0x00000000, },
160 	{ 0x02200000, 0x00000000, },	{ 0x02222000, 0x00000000, },
161 	{ 0x02240000, 0x00000000, },	{ 0x02262000, 0x00000000, },
162 	{ 0x02280000, 0x00000000, },	{ 0x022a2000, 0x00000000, },
163 	{ 0x022c0000, 0x00000000, },	{ 0x022e2000, 0x00000000, },
164 	{ 0x03300000, 0x00000000, },	{ 0x03322000, 0x00000000, },
165 	{ 0x03340000, 0x00000000, },	{ 0x03362000, 0x00000000, },
166 	{ 0x03380000, 0x00000000, },	{ 0x033a2000, 0x00000000, },
167 	{ 0x033c0000, 0x00000000, },	{ 0x033e2000, 0x00000000, },
168 	{ 0x04000000, 0x00000000, },	{ 0x04022000, 0x00000000, },
169 	{ 0x04040000, 0x00000000, },	{ 0x04062000, 0x00000000, },
170 	{ 0x04080000, 0x00000000, },	{ 0x040a2000, 0x00000000, },
171 	{ 0x040c0000, 0x00000000, },	{ 0x040e2000, 0x00000000, },
172 	{ 0x05100000, 0x00000000, },	{ 0x05122000, 0x00000000, },
173 	{ 0x05140000, 0x00000000, },	{ 0x05162000, 0x00000000, },
174 	{ 0x05180000, 0x00000000, },	{ 0x051a2000, 0x00000000, },
175 	{ 0x051c0000, 0x00000000, },	{ 0x051e2000, 0x00000000, },
176 	{ 0x06200000, 0x00000000, },	{ 0x06222000, 0x00000000, },
177 	{ 0x06240000, 0x00000000, },	{ 0x06262000, 0x00000000, },
178 	{ 0x06280000, 0x00000000, },	{ 0x062a2000, 0x00000000, },
179 	{ 0x062c0000, 0x00000000, },	{ 0x062e2000, 0x00000000, },
180 	{ 0x07300000, 0x00000000, },	{ 0x07322000, 0x00000000, },
181 	{ 0x07340000, 0x00000000, },	{ 0x07362000, 0x00000000, },
182 	{ 0x07380000, 0x00000000, },	{ 0x073a2000, 0x00000000, },
183 	{ 0x073c0000, 0x00000000, },	{ 0x073e2000, 0x00000000, },
184 	{ 0x08000000, 0x00000000, },	{ 0x08022000, 0x00000000, },
185 	{ 0x08040000, 0x00000000, },	{ 0x08062000, 0x00000000, },
186 	{ 0x08080000, 0x00000000, },	{ 0x080a2000, 0x00000000, },
187 	{ 0x080c0000, 0x00000000, },	{ 0x080e2000, 0x00000000, },
188 	{ 0x09100000, 0x00000000, },	{ 0x09122000, 0x00000000, },
189 	{ 0x09140000, 0x00000000, },	{ 0x09162000, 0x00000000, },
190 	{ 0x09180000, 0x00000000, },	{ 0x091a2000, 0x00000000, },
191 	{ 0x091c0000, 0x00000000, },	{ 0x091e2000, 0x00000000, },
192 	{ 0x0a200000, 0x00000000, },	{ 0x0a222000, 0x00000000, },
193 	{ 0x0a240000, 0x00000000, },	{ 0x0a262000, 0x00000000, },
194 	{ 0x0a280000, 0x00000000, },	{ 0x0a2a2000, 0x00000000, },
195 	{ 0x0a2c0000, 0x00000000, },	{ 0x0a2e2000, 0x00000000, },
196 	{ 0x0b300000, 0x00000000, },	{ 0x0b322000, 0x00000000, },
197 	{ 0x0b340000, 0x00000000, },	{ 0x0b362000, 0x00000000, },
198 	{ 0x0b380000, 0x00000000, },	{ 0x0b3a2000, 0x00000000, },
199 	{ 0x0b3c0000, 0x00000000, },	{ 0x0b3e2000, 0x00000000, },
200 	{ 0x0c000000, 0x00000000, },	{ 0x0c022000, 0x00000000, },
201 	{ 0x0c040000, 0x00000000, },	{ 0x0c062000, 0x00000000, },
202 	{ 0x0c080000, 0x00000000, },	{ 0x0c0a2000, 0x00000000, },
203 	{ 0x0c0c0000, 0x00000000, },	{ 0x0c0e2000, 0x00000000, },
204 	{ 0x0d100000, 0x00000000, },	{ 0x0d122000, 0x00000000, },
205 	{ 0x0d140000, 0x00000000, },	{ 0x0d162000, 0x00000000, },
206 	{ 0x0d180000, 0x00000000, },	{ 0x0d1a2000, 0x00000000, },
207 	{ 0x0d1c0000, 0x00000000, },	{ 0x0d1e2000, 0x00000000, },
208 	{ 0x0e200000, 0x00000000, },	{ 0x0e222000, 0x00000000, },
209 	{ 0x0e240000, 0x00000000, },	{ 0x0e262000, 0x00000000, },
210 	{ 0x0e280000, 0x00000000, },	{ 0x0e2a2000, 0x00000000, },
211 	{ 0x0e2c0000, 0x00000000, },	{ 0x0e2e2000, 0x00000000, },
212 	{ 0x0f300000, 0x00000000, },	{ 0x0f322000, 0x00000000, },
213 	{ 0x0f340000, 0x00000000, },	{ 0x0f362000, 0x00000000, },
214 	{ 0x0f380000, 0x00000000, },	{ 0x0f3a2000, 0x00000000, },
215 	{ 0x0f3c0000, 0x00000000, },	{ 0x0f3e2000, 0x00000000, },
216 	{ 0x10000000, 0x00000001, },	{ 0x10022000, 0x00000001, },
217 	{ 0x10040000, 0x00000001, },	{ 0x10062000, 0x00000001, },
218 	{ 0x10080000, 0x00000001, },	{ 0x100a2000, 0x00000001, },
219 	{ 0x100c0000, 0x00000001, },	{ 0x100e2000, 0x00000001, },
220 	{ 0x11100000, 0x00000001, },	{ 0x11122000, 0x00000001, },
221 	{ 0x11140000, 0x00000001, },	{ 0x11162000, 0x00000001, },
222 	{ 0x11180000, 0x00000001, },	{ 0x111a2000, 0x00000001, },
223 	{ 0x111c0000, 0x00000001, },	{ 0x111e2000, 0x00000001, },
224 	{ 0x12200000, 0x00000001, },	{ 0x12222000, 0x00000001, },
225 	{ 0x12240000, 0x00000001, },	{ 0x12262000, 0x00000001, },
226 	{ 0x12280000, 0x00000001, },	{ 0x122a2000, 0x00000001, },
227 	{ 0x122c0000, 0x00000001, },	{ 0x122e2000, 0x00000001, },
228 	{ 0x13300000, 0x00000001, },	{ 0x13322000, 0x00000001, },
229 	{ 0x13340000, 0x00000001, },	{ 0x13362000, 0x00000001, },
230 	{ 0x13380000, 0x00000001, },	{ 0x133a2000, 0x00000001, },
231 	{ 0x133c0000, 0x00000001, },	{ 0x133e2000, 0x00000001, },
232 	{ 0x14000000, 0x00000001, },	{ 0x14022000, 0x00000001, },
233 	{ 0x14040000, 0x00000001, },	{ 0x14062000, 0x00000001, },
234 	{ 0x14080000, 0x00000001, },	{ 0x140a2000, 0x00000001, },
235 	{ 0x140c0000, 0x00000001, },	{ 0x140e2000, 0x00000001, },
236 	{ 0x15100000, 0x00000001, },	{ 0x15122000, 0x00000001, },
237 	{ 0x15140000, 0x00000001, },	{ 0x15162000, 0x00000001, },
238 	{ 0x15180000, 0x00000001, },	{ 0x151a2000, 0x00000001, },
239 	{ 0x151c0000, 0x00000001, },	{ 0x151e2000, 0x00000001, },
240 	{ 0x16200000, 0x00000001, },	{ 0x16222000, 0x00000001, },
241 	{ 0x16240000, 0x00000001, },	{ 0x16262000, 0x00000001, },
242 	{ 0x16280000, 0x00000001, },	{ 0x162a2000, 0x00000001, },
243 	{ 0x162c0000, 0x00000001, },	{ 0x162e2000, 0x00000001, },
244 	{ 0x17300000, 0x00000001, },	{ 0x17322000, 0x00000001, },
245 	{ 0x17340000, 0x00000001, },	{ 0x17362000, 0x00000001, },
246 	{ 0x17380000, 0x00000001, },	{ 0x173a2000, 0x00000001, },
247 	{ 0x173c0000, 0x00000001, },	{ 0x173e2000, 0x00000001, },
248 	{ 0x18000000, 0x00000001, },	{ 0x18022000, 0x00000001, },
249 	{ 0x18040000, 0x00000001, },	{ 0x18062000, 0x00000001, },
250 	{ 0x18080000, 0x00000001, },	{ 0x180a2000, 0x00000001, },
251 	{ 0x180c0000, 0x00000001, },	{ 0x180e2000, 0x00000001, },
252 	{ 0x19100000, 0x00000001, },	{ 0x19122000, 0x00000001, },
253 	{ 0x19140000, 0x00000001, },	{ 0x19162000, 0x00000001, },
254 	{ 0x19180000, 0x00000001, },	{ 0x191a2000, 0x00000001, },
255 	{ 0x191c0000, 0x00000001, },	{ 0x191e2000, 0x00000001, },
256 	{ 0x1a200000, 0x00000001, },	{ 0x1a222000, 0x00000001, },
257 	{ 0x1a240000, 0x00000001, },	{ 0x1a262000, 0x00000001, },
258 	{ 0x1a280000, 0x00000001, },	{ 0x1a2a2000, 0x00000001, },
259 	{ 0x1a2c0000, 0x00000001, },	{ 0x1a2e2000, 0x00000001, },
260 	{ 0x1b300000, 0x00000001, },	{ 0x1b322000, 0x00000001, },
261 	{ 0x1b340000, 0x00000001, },	{ 0x1b362000, 0x00000001, },
262 	{ 0x1b380000, 0x00000001, },	{ 0x1b3a2000, 0x00000001, },
263 	{ 0x1b3c0000, 0x00000001, },	{ 0x1b3e2000, 0x00000001, },
264 	{ 0x1c000000, 0x00000001, },	{ 0x1c022000, 0x00000001, },
265 	{ 0x1c040000, 0x00000001, },	{ 0x1c062000, 0x00000001, },
266 	{ 0x1c080000, 0x00000001, },	{ 0x1c0a2000, 0x00000001, },
267 	{ 0x1c0c0000, 0x00000001, },	{ 0x1c0e2000, 0x00000001, },
268 	{ 0x1d100000, 0x00000001, },	{ 0x1d122000, 0x00000001, },
269 	{ 0x1d140000, 0x00000001, },	{ 0x1d162000, 0x00000001, },
270 	{ 0x1d180000, 0x00000001, },	{ 0x1d1a2000, 0x00000001, },
271 	{ 0x1d1c0000, 0x00000001, },	{ 0x1d1e2000, 0x00000001, },
272 	{ 0x1e200000, 0x00000001, },	{ 0x1e222000, 0x00000001, },
273 	{ 0x1e240000, 0x00000001, },	{ 0x1e262000, 0x00000001, },
274 	{ 0x1e280000, 0x00000001, },	{ 0x1e2a2000, 0x00000001, },
275 	{ 0x1e2c0000, 0x00000001, },	{ 0x1e2e2000, 0x00000001, },
276 	{ 0x1f300000, 0x00000001, },	{ 0x1f322000, 0x00000001, },
277 	{ 0x1f340000, 0x00000001, },	{ 0x1f362000, 0x00000001, },
278 	{ 0x1f380000, 0x00000001, },	{ 0x1f3a2000, 0x00000001, },
279 	{ 0x1f3c0000, 0x00000001, },	{ 0x1f3e2000, 0x00000001, }, },
280 
281 	{{ 0x00000000, 0x00000000, },	{ 0x00000002, 0x20000000, },
282 	{ 0x00000004, 0x00000000, },	{ 0x00000006, 0x20000000, },
283 	{ 0x00000008, 0x00000000, },	{ 0x0000000a, 0x20000000, },
284 	{ 0x0000000c, 0x00000000, },	{ 0x0000000e, 0x20000000, },
285 	{ 0x00000110, 0x00000000, },	{ 0x00000112, 0x20000000, },
286 	{ 0x00000114, 0x00000000, },	{ 0x00000116, 0x20000000, },
287 	{ 0x00000118, 0x00000000, },	{ 0x0000011a, 0x20000000, },
288 	{ 0x0000011c, 0x00000000, },	{ 0x0000011e, 0x20000000, },
289 	{ 0x00000220, 0x00000000, },	{ 0x00000222, 0x20000000, },
290 	{ 0x00000224, 0x00000000, },	{ 0x00000226, 0x20000000, },
291 	{ 0x00000228, 0x00000000, },	{ 0x0000022a, 0x20000000, },
292 	{ 0x0000022c, 0x00000000, },	{ 0x0000022e, 0x20000000, },
293 	{ 0x00000330, 0x00000000, },	{ 0x00000332, 0x20000000, },
294 	{ 0x00000334, 0x00000000, },	{ 0x00000336, 0x20000000, },
295 	{ 0x00000338, 0x00000000, },	{ 0x0000033a, 0x20000000, },
296 	{ 0x0000033c, 0x00000000, },	{ 0x0000033e, 0x20000000, },
297 	{ 0x00000400, 0x00000000, },	{ 0x00000402, 0x20000000, },
298 	{ 0x00000404, 0x00000000, },	{ 0x00000406, 0x20000000, },
299 	{ 0x00000408, 0x00000000, },	{ 0x0000040a, 0x20000000, },
300 	{ 0x0000040c, 0x00000000, },	{ 0x0000040e, 0x20000000, },
301 	{ 0x00000510, 0x00000000, },	{ 0x00000512, 0x20000000, },
302 	{ 0x00000514, 0x00000000, },	{ 0x00000516, 0x20000000, },
303 	{ 0x00000518, 0x00000000, },	{ 0x0000051a, 0x20000000, },
304 	{ 0x0000051c, 0x00000000, },	{ 0x0000051e, 0x20000000, },
305 	{ 0x00000620, 0x00000000, },	{ 0x00000622, 0x20000000, },
306 	{ 0x00000624, 0x00000000, },	{ 0x00000626, 0x20000000, },
307 	{ 0x00000628, 0x00000000, },	{ 0x0000062a, 0x20000000, },
308 	{ 0x0000062c, 0x00000000, },	{ 0x0000062e, 0x20000000, },
309 	{ 0x00000730, 0x00000000, },	{ 0x00000732, 0x20000000, },
310 	{ 0x00000734, 0x00000000, },	{ 0x00000736, 0x20000000, },
311 	{ 0x00000738, 0x00000000, },	{ 0x0000073a, 0x20000000, },
312 	{ 0x0000073c, 0x00000000, },	{ 0x0000073e, 0x20000000, },
313 	{ 0x00000800, 0x00000000, },	{ 0x00000802, 0x20000000, },
314 	{ 0x00000804, 0x00000000, },	{ 0x00000806, 0x20000000, },
315 	{ 0x00000808, 0x00000000, },	{ 0x0000080a, 0x20000000, },
316 	{ 0x0000080c, 0x00000000, },	{ 0x0000080e, 0x20000000, },
317 	{ 0x00000910, 0x00000000, },	{ 0x00000912, 0x20000000, },
318 	{ 0x00000914, 0x00000000, },	{ 0x00000916, 0x20000000, },
319 	{ 0x00000918, 0x00000000, },	{ 0x0000091a, 0x20000000, },
320 	{ 0x0000091c, 0x00000000, },	{ 0x0000091e, 0x20000000, },
321 	{ 0x00000a20, 0x00000000, },	{ 0x00000a22, 0x20000000, },
322 	{ 0x00000a24, 0x00000000, },	{ 0x00000a26, 0x20000000, },
323 	{ 0x00000a28, 0x00000000, },	{ 0x00000a2a, 0x20000000, },
324 	{ 0x00000a2c, 0x00000000, },	{ 0x00000a2e, 0x20000000, },
325 	{ 0x00000b30, 0x00000000, },	{ 0x00000b32, 0x20000000, },
326 	{ 0x00000b34, 0x00000000, },	{ 0x00000b36, 0x20000000, },
327 	{ 0x00000b38, 0x00000000, },	{ 0x00000b3a, 0x20000000, },
328 	{ 0x00000b3c, 0x00000000, },	{ 0x00000b3e, 0x20000000, },
329 	{ 0x00000c00, 0x00000000, },	{ 0x00000c02, 0x20000000, },
330 	{ 0x00000c04, 0x00000000, },	{ 0x00000c06, 0x20000000, },
331 	{ 0x00000c08, 0x00000000, },	{ 0x00000c0a, 0x20000000, },
332 	{ 0x00000c0c, 0x00000000, },	{ 0x00000c0e, 0x20000000, },
333 	{ 0x00000d10, 0x00000000, },	{ 0x00000d12, 0x20000000, },
334 	{ 0x00000d14, 0x00000000, },	{ 0x00000d16, 0x20000000, },
335 	{ 0x00000d18, 0x00000000, },	{ 0x00000d1a, 0x20000000, },
336 	{ 0x00000d1c, 0x00000000, },	{ 0x00000d1e, 0x20000000, },
337 	{ 0x00000e20, 0x00000000, },	{ 0x00000e22, 0x20000000, },
338 	{ 0x00000e24, 0x00000000, },	{ 0x00000e26, 0x20000000, },
339 	{ 0x00000e28, 0x00000000, },	{ 0x00000e2a, 0x20000000, },
340 	{ 0x00000e2c, 0x00000000, },	{ 0x00000e2e, 0x20000000, },
341 	{ 0x00000f30, 0x00000000, },	{ 0x00000f32, 0x20000000, },
342 	{ 0x00000f34, 0x00000000, },	{ 0x00000f36, 0x20000000, },
343 	{ 0x00000f38, 0x00000000, },	{ 0x00000f3a, 0x20000000, },
344 	{ 0x00000f3c, 0x00000000, },	{ 0x00000f3e, 0x20000000, },
345 	{ 0x00011000, 0x00000000, },	{ 0x00011002, 0x20000000, },
346 	{ 0x00011004, 0x00000000, },	{ 0x00011006, 0x20000000, },
347 	{ 0x00011008, 0x00000000, },	{ 0x0001100a, 0x20000000, },
348 	{ 0x0001100c, 0x00000000, },	{ 0x0001100e, 0x20000000, },
349 	{ 0x00011110, 0x00000000, },	{ 0x00011112, 0x20000000, },
350 	{ 0x00011114, 0x00000000, },	{ 0x00011116, 0x20000000, },
351 	{ 0x00011118, 0x00000000, },	{ 0x0001111a, 0x20000000, },
352 	{ 0x0001111c, 0x00000000, },	{ 0x0001111e, 0x20000000, },
353 	{ 0x00011220, 0x00000000, },	{ 0x00011222, 0x20000000, },
354 	{ 0x00011224, 0x00000000, },	{ 0x00011226, 0x20000000, },
355 	{ 0x00011228, 0x00000000, },	{ 0x0001122a, 0x20000000, },
356 	{ 0x0001122c, 0x00000000, },	{ 0x0001122e, 0x20000000, },
357 	{ 0x00011330, 0x00000000, },	{ 0x00011332, 0x20000000, },
358 	{ 0x00011334, 0x00000000, },	{ 0x00011336, 0x20000000, },
359 	{ 0x00011338, 0x00000000, },	{ 0x0001133a, 0x20000000, },
360 	{ 0x0001133c, 0x00000000, },	{ 0x0001133e, 0x20000000, },
361 	{ 0x00011400, 0x00000000, },	{ 0x00011402, 0x20000000, },
362 	{ 0x00011404, 0x00000000, },	{ 0x00011406, 0x20000000, },
363 	{ 0x00011408, 0x00000000, },	{ 0x0001140a, 0x20000000, },
364 	{ 0x0001140c, 0x00000000, },	{ 0x0001140e, 0x20000000, },
365 	{ 0x00011510, 0x00000000, },	{ 0x00011512, 0x20000000, },
366 	{ 0x00011514, 0x00000000, },	{ 0x00011516, 0x20000000, },
367 	{ 0x00011518, 0x00000000, },	{ 0x0001151a, 0x20000000, },
368 	{ 0x0001151c, 0x00000000, },	{ 0x0001151e, 0x20000000, },
369 	{ 0x00011620, 0x00000000, },	{ 0x00011622, 0x20000000, },
370 	{ 0x00011624, 0x00000000, },	{ 0x00011626, 0x20000000, },
371 	{ 0x00011628, 0x00000000, },	{ 0x0001162a, 0x20000000, },
372 	{ 0x0001162c, 0x00000000, },	{ 0x0001162e, 0x20000000, },
373 	{ 0x00011730, 0x00000000, },	{ 0x00011732, 0x20000000, },
374 	{ 0x00011734, 0x00000000, },	{ 0x00011736, 0x20000000, },
375 	{ 0x00011738, 0x00000000, },	{ 0x0001173a, 0x20000000, },
376 	{ 0x0001173c, 0x00000000, },	{ 0x0001173e, 0x20000000, },
377 	{ 0x00011800, 0x00000000, },	{ 0x00011802, 0x20000000, },
378 	{ 0x00011804, 0x00000000, },	{ 0x00011806, 0x20000000, },
379 	{ 0x00011808, 0x00000000, },	{ 0x0001180a, 0x20000000, },
380 	{ 0x0001180c, 0x00000000, },	{ 0x0001180e, 0x20000000, },
381 	{ 0x00011910, 0x00000000, },	{ 0x00011912, 0x20000000, },
382 	{ 0x00011914, 0x00000000, },	{ 0x00011916, 0x20000000, },
383 	{ 0x00011918, 0x00000000, },	{ 0x0001191a, 0x20000000, },
384 	{ 0x0001191c, 0x00000000, },	{ 0x0001191e, 0x20000000, },
385 	{ 0x00011a20, 0x00000000, },	{ 0x00011a22, 0x20000000, },
386 	{ 0x00011a24, 0x00000000, },	{ 0x00011a26, 0x20000000, },
387 	{ 0x00011a28, 0x00000000, },	{ 0x00011a2a, 0x20000000, },
388 	{ 0x00011a2c, 0x00000000, },	{ 0x00011a2e, 0x20000000, },
389 	{ 0x00011b30, 0x00000000, },	{ 0x00011b32, 0x20000000, },
390 	{ 0x00011b34, 0x00000000, },	{ 0x00011b36, 0x20000000, },
391 	{ 0x00011b38, 0x00000000, },	{ 0x00011b3a, 0x20000000, },
392 	{ 0x00011b3c, 0x00000000, },	{ 0x00011b3e, 0x20000000, },
393 	{ 0x00011c00, 0x00000000, },	{ 0x00011c02, 0x20000000, },
394 	{ 0x00011c04, 0x00000000, },	{ 0x00011c06, 0x20000000, },
395 	{ 0x00011c08, 0x00000000, },	{ 0x00011c0a, 0x20000000, },
396 	{ 0x00011c0c, 0x00000000, },	{ 0x00011c0e, 0x20000000, },
397 	{ 0x00011d10, 0x00000000, },	{ 0x00011d12, 0x20000000, },
398 	{ 0x00011d14, 0x00000000, },	{ 0x00011d16, 0x20000000, },
399 	{ 0x00011d18, 0x00000000, },	{ 0x00011d1a, 0x20000000, },
400 	{ 0x00011d1c, 0x00000000, },	{ 0x00011d1e, 0x20000000, },
401 	{ 0x00011e20, 0x00000000, },	{ 0x00011e22, 0x20000000, },
402 	{ 0x00011e24, 0x00000000, },	{ 0x00011e26, 0x20000000, },
403 	{ 0x00011e28, 0x00000000, },	{ 0x00011e2a, 0x20000000, },
404 	{ 0x00011e2c, 0x00000000, },	{ 0x00011e2e, 0x20000000, },
405 	{ 0x00011f30, 0x00000000, },	{ 0x00011f32, 0x20000000, },
406 	{ 0x00011f34, 0x00000000, },	{ 0x00011f36, 0x20000000, },
407 	{ 0x00011f38, 0x00000000, },	{ 0x00011f3a, 0x20000000, },
408 	{ 0x00011f3c, 0x00000000, },	{ 0x00011f3e, 0x20000000, }, },
409 
410 	{{ 0x00000000, 0x00000000, },	{ 0x00000000, 0x00022000, },
411 	{ 0x00000000, 0x00040000, },	{ 0x00000000, 0x00062000, },
412 	{ 0x00000000, 0x00080000, },	{ 0x00000000, 0x000a2000, },
413 	{ 0x00000000, 0x000c0000, },	{ 0x00000000, 0x000e2000, },
414 	{ 0x00000000, 0x01100000, },	{ 0x00000000, 0x01122000, },
415 	{ 0x00000000, 0x01140000, },	{ 0x00000000, 0x01162000, },
416 	{ 0x00000000, 0x01180000, },	{ 0x00000000, 0x011a2000, },
417 	{ 0x00000000, 0x011c0000, },	{ 0x00000000, 0x011e2000, },
418 	{ 0x00000000, 0x02200000, },	{ 0x00000000, 0x02222000, },
419 	{ 0x00000000, 0x02240000, },	{ 0x00000000, 0x02262000, },
420 	{ 0x00000000, 0x02280000, },	{ 0x00000000, 0x022a2000, },
421 	{ 0x00000000, 0x022c0000, },	{ 0x00000000, 0x022e2000, },
422 	{ 0x00000000, 0x03300000, },	{ 0x00000000, 0x03322000, },
423 	{ 0x00000000, 0x03340000, },	{ 0x00000000, 0x03362000, },
424 	{ 0x00000000, 0x03380000, },	{ 0x00000000, 0x033a2000, },
425 	{ 0x00000000, 0x033c0000, },	{ 0x00000000, 0x033e2000, },
426 	{ 0x00000000, 0x04000000, },	{ 0x00000000, 0x04022000, },
427 	{ 0x00000000, 0x04040000, },	{ 0x00000000, 0x04062000, },
428 	{ 0x00000000, 0x04080000, },	{ 0x00000000, 0x040a2000, },
429 	{ 0x00000000, 0x040c0000, },	{ 0x00000000, 0x040e2000, },
430 	{ 0x00000000, 0x05100000, },	{ 0x00000000, 0x05122000, },
431 	{ 0x00000000, 0x05140000, },	{ 0x00000000, 0x05162000, },
432 	{ 0x00000000, 0x05180000, },	{ 0x00000000, 0x051a2000, },
433 	{ 0x00000000, 0x051c0000, },	{ 0x00000000, 0x051e2000, },
434 	{ 0x00000000, 0x06200000, },	{ 0x00000000, 0x06222000, },
435 	{ 0x00000000, 0x06240000, },	{ 0x00000000, 0x06262000, },
436 	{ 0x00000000, 0x06280000, },	{ 0x00000000, 0x062a2000, },
437 	{ 0x00000000, 0x062c0000, },	{ 0x00000000, 0x062e2000, },
438 	{ 0x00000000, 0x07300000, },	{ 0x00000000, 0x07322000, },
439 	{ 0x00000000, 0x07340000, },	{ 0x00000000, 0x07362000, },
440 	{ 0x00000000, 0x07380000, },	{ 0x00000000, 0x073a2000, },
441 	{ 0x00000000, 0x073c0000, },	{ 0x00000000, 0x073e2000, },
442 	{ 0x00000000, 0x08000000, },	{ 0x00000000, 0x08022000, },
443 	{ 0x00000000, 0x08040000, },	{ 0x00000000, 0x08062000, },
444 	{ 0x00000000, 0x08080000, },	{ 0x00000000, 0x080a2000, },
445 	{ 0x00000000, 0x080c0000, },	{ 0x00000000, 0x080e2000, },
446 	{ 0x00000000, 0x09100000, },	{ 0x00000000, 0x09122000, },
447 	{ 0x00000000, 0x09140000, },	{ 0x00000000, 0x09162000, },
448 	{ 0x00000000, 0x09180000, },	{ 0x00000000, 0x091a2000, },
449 	{ 0x00000000, 0x091c0000, },	{ 0x00000000, 0x091e2000, },
450 	{ 0x00000000, 0x0a200000, },	{ 0x00000000, 0x0a222000, },
451 	{ 0x00000000, 0x0a240000, },	{ 0x00000000, 0x0a262000, },
452 	{ 0x00000000, 0x0a280000, },	{ 0x00000000, 0x0a2a2000, },
453 	{ 0x00000000, 0x0a2c0000, },	{ 0x00000000, 0x0a2e2000, },
454 	{ 0x00000000, 0x0b300000, },	{ 0x00000000, 0x0b322000, },
455 	{ 0x00000000, 0x0b340000, },	{ 0x00000000, 0x0b362000, },
456 	{ 0x00000000, 0x0b380000, },	{ 0x00000000, 0x0b3a2000, },
457 	{ 0x00000000, 0x0b3c0000, },	{ 0x00000000, 0x0b3e2000, },
458 	{ 0x00000000, 0x0c000000, },	{ 0x00000000, 0x0c022000, },
459 	{ 0x00000000, 0x0c040000, },	{ 0x00000000, 0x0c062000, },
460 	{ 0x00000000, 0x0c080000, },	{ 0x00000000, 0x0c0a2000, },
461 	{ 0x00000000, 0x0c0c0000, },	{ 0x00000000, 0x0c0e2000, },
462 	{ 0x00000000, 0x0d100000, },	{ 0x00000000, 0x0d122000, },
463 	{ 0x00000000, 0x0d140000, },	{ 0x00000000, 0x0d162000, },
464 	{ 0x00000000, 0x0d180000, },	{ 0x00000000, 0x0d1a2000, },
465 	{ 0x00000000, 0x0d1c0000, },	{ 0x00000000, 0x0d1e2000, },
466 	{ 0x00000000, 0x0e200000, },	{ 0x00000000, 0x0e222000, },
467 	{ 0x00000000, 0x0e240000, },	{ 0x00000000, 0x0e262000, },
468 	{ 0x00000000, 0x0e280000, },	{ 0x00000000, 0x0e2a2000, },
469 	{ 0x00000000, 0x0e2c0000, },	{ 0x00000000, 0x0e2e2000, },
470 	{ 0x00000000, 0x0f300000, },	{ 0x00000000, 0x0f322000, },
471 	{ 0x00000000, 0x0f340000, },	{ 0x00000000, 0x0f362000, },
472 	{ 0x00000000, 0x0f380000, },	{ 0x00000000, 0x0f3a2000, },
473 	{ 0x00000000, 0x0f3c0000, },	{ 0x00000000, 0x0f3e2000, },
474 	{ 0x00000001, 0x10000000, },	{ 0x00000001, 0x10022000, },
475 	{ 0x00000001, 0x10040000, },	{ 0x00000001, 0x10062000, },
476 	{ 0x00000001, 0x10080000, },	{ 0x00000001, 0x100a2000, },
477 	{ 0x00000001, 0x100c0000, },	{ 0x00000001, 0x100e2000, },
478 	{ 0x00000001, 0x11100000, },	{ 0x00000001, 0x11122000, },
479 	{ 0x00000001, 0x11140000, },	{ 0x00000001, 0x11162000, },
480 	{ 0x00000001, 0x11180000, },	{ 0x00000001, 0x111a2000, },
481 	{ 0x00000001, 0x111c0000, },	{ 0x00000001, 0x111e2000, },
482 	{ 0x00000001, 0x12200000, },	{ 0x00000001, 0x12222000, },
483 	{ 0x00000001, 0x12240000, },	{ 0x00000001, 0x12262000, },
484 	{ 0x00000001, 0x12280000, },	{ 0x00000001, 0x122a2000, },
485 	{ 0x00000001, 0x122c0000, },	{ 0x00000001, 0x122e2000, },
486 	{ 0x00000001, 0x13300000, },	{ 0x00000001, 0x13322000, },
487 	{ 0x00000001, 0x13340000, },	{ 0x00000001, 0x13362000, },
488 	{ 0x00000001, 0x13380000, },	{ 0x00000001, 0x133a2000, },
489 	{ 0x00000001, 0x133c0000, },	{ 0x00000001, 0x133e2000, },
490 	{ 0x00000001, 0x14000000, },	{ 0x00000001, 0x14022000, },
491 	{ 0x00000001, 0x14040000, },	{ 0x00000001, 0x14062000, },
492 	{ 0x00000001, 0x14080000, },	{ 0x00000001, 0x140a2000, },
493 	{ 0x00000001, 0x140c0000, },	{ 0x00000001, 0x140e2000, },
494 	{ 0x00000001, 0x15100000, },	{ 0x00000001, 0x15122000, },
495 	{ 0x00000001, 0x15140000, },	{ 0x00000001, 0x15162000, },
496 	{ 0x00000001, 0x15180000, },	{ 0x00000001, 0x151a2000, },
497 	{ 0x00000001, 0x151c0000, },	{ 0x00000001, 0x151e2000, },
498 	{ 0x00000001, 0x16200000, },	{ 0x00000001, 0x16222000, },
499 	{ 0x00000001, 0x16240000, },	{ 0x00000001, 0x16262000, },
500 	{ 0x00000001, 0x16280000, },	{ 0x00000001, 0x162a2000, },
501 	{ 0x00000001, 0x162c0000, },	{ 0x00000001, 0x162e2000, },
502 	{ 0x00000001, 0x17300000, },	{ 0x00000001, 0x17322000, },
503 	{ 0x00000001, 0x17340000, },	{ 0x00000001, 0x17362000, },
504 	{ 0x00000001, 0x17380000, },	{ 0x00000001, 0x173a2000, },
505 	{ 0x00000001, 0x173c0000, },	{ 0x00000001, 0x173e2000, },
506 	{ 0x00000001, 0x18000000, },	{ 0x00000001, 0x18022000, },
507 	{ 0x00000001, 0x18040000, },	{ 0x00000001, 0x18062000, },
508 	{ 0x00000001, 0x18080000, },	{ 0x00000001, 0x180a2000, },
509 	{ 0x00000001, 0x180c0000, },	{ 0x00000001, 0x180e2000, },
510 	{ 0x00000001, 0x19100000, },	{ 0x00000001, 0x19122000, },
511 	{ 0x00000001, 0x19140000, },	{ 0x00000001, 0x19162000, },
512 	{ 0x00000001, 0x19180000, },	{ 0x00000001, 0x191a2000, },
513 	{ 0x00000001, 0x191c0000, },	{ 0x00000001, 0x191e2000, },
514 	{ 0x00000001, 0x1a200000, },	{ 0x00000001, 0x1a222000, },
515 	{ 0x00000001, 0x1a240000, },	{ 0x00000001, 0x1a262000, },
516 	{ 0x00000001, 0x1a280000, },	{ 0x00000001, 0x1a2a2000, },
517 	{ 0x00000001, 0x1a2c0000, },	{ 0x00000001, 0x1a2e2000, },
518 	{ 0x00000001, 0x1b300000, },	{ 0x00000001, 0x1b322000, },
519 	{ 0x00000001, 0x1b340000, },	{ 0x00000001, 0x1b362000, },
520 	{ 0x00000001, 0x1b380000, },	{ 0x00000001, 0x1b3a2000, },
521 	{ 0x00000001, 0x1b3c0000, },	{ 0x00000001, 0x1b3e2000, },
522 	{ 0x00000001, 0x1c000000, },	{ 0x00000001, 0x1c022000, },
523 	{ 0x00000001, 0x1c040000, },	{ 0x00000001, 0x1c062000, },
524 	{ 0x00000001, 0x1c080000, },	{ 0x00000001, 0x1c0a2000, },
525 	{ 0x00000001, 0x1c0c0000, },	{ 0x00000001, 0x1c0e2000, },
526 	{ 0x00000001, 0x1d100000, },	{ 0x00000001, 0x1d122000, },
527 	{ 0x00000001, 0x1d140000, },	{ 0x00000001, 0x1d162000, },
528 	{ 0x00000001, 0x1d180000, },	{ 0x00000001, 0x1d1a2000, },
529 	{ 0x00000001, 0x1d1c0000, },	{ 0x00000001, 0x1d1e2000, },
530 	{ 0x00000001, 0x1e200000, },	{ 0x00000001, 0x1e222000, },
531 	{ 0x00000001, 0x1e240000, },	{ 0x00000001, 0x1e262000, },
532 	{ 0x00000001, 0x1e280000, },	{ 0x00000001, 0x1e2a2000, },
533 	{ 0x00000001, 0x1e2c0000, },	{ 0x00000001, 0x1e2e2000, },
534 	{ 0x00000001, 0x1f300000, },	{ 0x00000001, 0x1f322000, },
535 	{ 0x00000001, 0x1f340000, },	{ 0x00000001, 0x1f362000, },
536 	{ 0x00000001, 0x1f380000, },	{ 0x00000001, 0x1f3a2000, },
537 	{ 0x00000001, 0x1f3c0000, },	{ 0x00000001, 0x1f3e2000, }, },
538 
539 	{{ 0x00000000, 0x00000000, },	{ 0x20000000, 0x00000002, },
540 	{ 0x00000000, 0x00000004, },	{ 0x20000000, 0x00000006, },
541 	{ 0x00000000, 0x00000008, },	{ 0x20000000, 0x0000000a, },
542 	{ 0x00000000, 0x0000000c, },	{ 0x20000000, 0x0000000e, },
543 	{ 0x00000000, 0x00000110, },	{ 0x20000000, 0x00000112, },
544 	{ 0x00000000, 0x00000114, },	{ 0x20000000, 0x00000116, },
545 	{ 0x00000000, 0x00000118, },	{ 0x20000000, 0x0000011a, },
546 	{ 0x00000000, 0x0000011c, },	{ 0x20000000, 0x0000011e, },
547 	{ 0x00000000, 0x00000220, },	{ 0x20000000, 0x00000222, },
548 	{ 0x00000000, 0x00000224, },	{ 0x20000000, 0x00000226, },
549 	{ 0x00000000, 0x00000228, },	{ 0x20000000, 0x0000022a, },
550 	{ 0x00000000, 0x0000022c, },	{ 0x20000000, 0x0000022e, },
551 	{ 0x00000000, 0x00000330, },	{ 0x20000000, 0x00000332, },
552 	{ 0x00000000, 0x00000334, },	{ 0x20000000, 0x00000336, },
553 	{ 0x00000000, 0x00000338, },	{ 0x20000000, 0x0000033a, },
554 	{ 0x00000000, 0x0000033c, },	{ 0x20000000, 0x0000033e, },
555 	{ 0x00000000, 0x00000400, },	{ 0x20000000, 0x00000402, },
556 	{ 0x00000000, 0x00000404, },	{ 0x20000000, 0x00000406, },
557 	{ 0x00000000, 0x00000408, },	{ 0x20000000, 0x0000040a, },
558 	{ 0x00000000, 0x0000040c, },	{ 0x20000000, 0x0000040e, },
559 	{ 0x00000000, 0x00000510, },	{ 0x20000000, 0x00000512, },
560 	{ 0x00000000, 0x00000514, },	{ 0x20000000, 0x00000516, },
561 	{ 0x00000000, 0x00000518, },	{ 0x20000000, 0x0000051a, },
562 	{ 0x00000000, 0x0000051c, },	{ 0x20000000, 0x0000051e, },
563 	{ 0x00000000, 0x00000620, },	{ 0x20000000, 0x00000622, },
564 	{ 0x00000000, 0x00000624, },	{ 0x20000000, 0x00000626, },
565 	{ 0x00000000, 0x00000628, },	{ 0x20000000, 0x0000062a, },
566 	{ 0x00000000, 0x0000062c, },	{ 0x20000000, 0x0000062e, },
567 	{ 0x00000000, 0x00000730, },	{ 0x20000000, 0x00000732, },
568 	{ 0x00000000, 0x00000734, },	{ 0x20000000, 0x00000736, },
569 	{ 0x00000000, 0x00000738, },	{ 0x20000000, 0x0000073a, },
570 	{ 0x00000000, 0x0000073c, },	{ 0x20000000, 0x0000073e, },
571 	{ 0x00000000, 0x00000800, },	{ 0x20000000, 0x00000802, },
572 	{ 0x00000000, 0x00000804, },	{ 0x20000000, 0x00000806, },
573 	{ 0x00000000, 0x00000808, },	{ 0x20000000, 0x0000080a, },
574 	{ 0x00000000, 0x0000080c, },	{ 0x20000000, 0x0000080e, },
575 	{ 0x00000000, 0x00000910, },	{ 0x20000000, 0x00000912, },
576 	{ 0x00000000, 0x00000914, },	{ 0x20000000, 0x00000916, },
577 	{ 0x00000000, 0x00000918, },	{ 0x20000000, 0x0000091a, },
578 	{ 0x00000000, 0x0000091c, },	{ 0x20000000, 0x0000091e, },
579 	{ 0x00000000, 0x00000a20, },	{ 0x20000000, 0x00000a22, },
580 	{ 0x00000000, 0x00000a24, },	{ 0x20000000, 0x00000a26, },
581 	{ 0x00000000, 0x00000a28, },	{ 0x20000000, 0x00000a2a, },
582 	{ 0x00000000, 0x00000a2c, },	{ 0x20000000, 0x00000a2e, },
583 	{ 0x00000000, 0x00000b30, },	{ 0x20000000, 0x00000b32, },
584 	{ 0x00000000, 0x00000b34, },	{ 0x20000000, 0x00000b36, },
585 	{ 0x00000000, 0x00000b38, },	{ 0x20000000, 0x00000b3a, },
586 	{ 0x00000000, 0x00000b3c, },	{ 0x20000000, 0x00000b3e, },
587 	{ 0x00000000, 0x00000c00, },	{ 0x20000000, 0x00000c02, },
588 	{ 0x00000000, 0x00000c04, },	{ 0x20000000, 0x00000c06, },
589 	{ 0x00000000, 0x00000c08, },	{ 0x20000000, 0x00000c0a, },
590 	{ 0x00000000, 0x00000c0c, },	{ 0x20000000, 0x00000c0e, },
591 	{ 0x00000000, 0x00000d10, },	{ 0x20000000, 0x00000d12, },
592 	{ 0x00000000, 0x00000d14, },	{ 0x20000000, 0x00000d16, },
593 	{ 0x00000000, 0x00000d18, },	{ 0x20000000, 0x00000d1a, },
594 	{ 0x00000000, 0x00000d1c, },	{ 0x20000000, 0x00000d1e, },
595 	{ 0x00000000, 0x00000e20, },	{ 0x20000000, 0x00000e22, },
596 	{ 0x00000000, 0x00000e24, },	{ 0x20000000, 0x00000e26, },
597 	{ 0x00000000, 0x00000e28, },	{ 0x20000000, 0x00000e2a, },
598 	{ 0x00000000, 0x00000e2c, },	{ 0x20000000, 0x00000e2e, },
599 	{ 0x00000000, 0x00000f30, },	{ 0x20000000, 0x00000f32, },
600 	{ 0x00000000, 0x00000f34, },	{ 0x20000000, 0x00000f36, },
601 	{ 0x00000000, 0x00000f38, },	{ 0x20000000, 0x00000f3a, },
602 	{ 0x00000000, 0x00000f3c, },	{ 0x20000000, 0x00000f3e, },
603 	{ 0x00000000, 0x00011000, },	{ 0x20000000, 0x00011002, },
604 	{ 0x00000000, 0x00011004, },	{ 0x20000000, 0x00011006, },
605 	{ 0x00000000, 0x00011008, },	{ 0x20000000, 0x0001100a, },
606 	{ 0x00000000, 0x0001100c, },	{ 0x20000000, 0x0001100e, },
607 	{ 0x00000000, 0x00011110, },	{ 0x20000000, 0x00011112, },
608 	{ 0x00000000, 0x00011114, },	{ 0x20000000, 0x00011116, },
609 	{ 0x00000000, 0x00011118, },	{ 0x20000000, 0x0001111a, },
610 	{ 0x00000000, 0x0001111c, },	{ 0x20000000, 0x0001111e, },
611 	{ 0x00000000, 0x00011220, },	{ 0x20000000, 0x00011222, },
612 	{ 0x00000000, 0x00011224, },	{ 0x20000000, 0x00011226, },
613 	{ 0x00000000, 0x00011228, },	{ 0x20000000, 0x0001122a, },
614 	{ 0x00000000, 0x0001122c, },	{ 0x20000000, 0x0001122e, },
615 	{ 0x00000000, 0x00011330, },	{ 0x20000000, 0x00011332, },
616 	{ 0x00000000, 0x00011334, },	{ 0x20000000, 0x00011336, },
617 	{ 0x00000000, 0x00011338, },	{ 0x20000000, 0x0001133a, },
618 	{ 0x00000000, 0x0001133c, },	{ 0x20000000, 0x0001133e, },
619 	{ 0x00000000, 0x00011400, },	{ 0x20000000, 0x00011402, },
620 	{ 0x00000000, 0x00011404, },	{ 0x20000000, 0x00011406, },
621 	{ 0x00000000, 0x00011408, },	{ 0x20000000, 0x0001140a, },
622 	{ 0x00000000, 0x0001140c, },	{ 0x20000000, 0x0001140e, },
623 	{ 0x00000000, 0x00011510, },	{ 0x20000000, 0x00011512, },
624 	{ 0x00000000, 0x00011514, },	{ 0x20000000, 0x00011516, },
625 	{ 0x00000000, 0x00011518, },	{ 0x20000000, 0x0001151a, },
626 	{ 0x00000000, 0x0001151c, },	{ 0x20000000, 0x0001151e, },
627 	{ 0x00000000, 0x00011620, },	{ 0x20000000, 0x00011622, },
628 	{ 0x00000000, 0x00011624, },	{ 0x20000000, 0x00011626, },
629 	{ 0x00000000, 0x00011628, },	{ 0x20000000, 0x0001162a, },
630 	{ 0x00000000, 0x0001162c, },	{ 0x20000000, 0x0001162e, },
631 	{ 0x00000000, 0x00011730, },	{ 0x20000000, 0x00011732, },
632 	{ 0x00000000, 0x00011734, },	{ 0x20000000, 0x00011736, },
633 	{ 0x00000000, 0x00011738, },	{ 0x20000000, 0x0001173a, },
634 	{ 0x00000000, 0x0001173c, },	{ 0x20000000, 0x0001173e, },
635 	{ 0x00000000, 0x00011800, },	{ 0x20000000, 0x00011802, },
636 	{ 0x00000000, 0x00011804, },	{ 0x20000000, 0x00011806, },
637 	{ 0x00000000, 0x00011808, },	{ 0x20000000, 0x0001180a, },
638 	{ 0x00000000, 0x0001180c, },	{ 0x20000000, 0x0001180e, },
639 	{ 0x00000000, 0x00011910, },	{ 0x20000000, 0x00011912, },
640 	{ 0x00000000, 0x00011914, },	{ 0x20000000, 0x00011916, },
641 	{ 0x00000000, 0x00011918, },	{ 0x20000000, 0x0001191a, },
642 	{ 0x00000000, 0x0001191c, },	{ 0x20000000, 0x0001191e, },
643 	{ 0x00000000, 0x00011a20, },	{ 0x20000000, 0x00011a22, },
644 	{ 0x00000000, 0x00011a24, },	{ 0x20000000, 0x00011a26, },
645 	{ 0x00000000, 0x00011a28, },	{ 0x20000000, 0x00011a2a, },
646 	{ 0x00000000, 0x00011a2c, },	{ 0x20000000, 0x00011a2e, },
647 	{ 0x00000000, 0x00011b30, },	{ 0x20000000, 0x00011b32, },
648 	{ 0x00000000, 0x00011b34, },	{ 0x20000000, 0x00011b36, },
649 	{ 0x00000000, 0x00011b38, },	{ 0x20000000, 0x00011b3a, },
650 	{ 0x00000000, 0x00011b3c, },	{ 0x20000000, 0x00011b3e, },
651 	{ 0x00000000, 0x00011c00, },	{ 0x20000000, 0x00011c02, },
652 	{ 0x00000000, 0x00011c04, },	{ 0x20000000, 0x00011c06, },
653 	{ 0x00000000, 0x00011c08, },	{ 0x20000000, 0x00011c0a, },
654 	{ 0x00000000, 0x00011c0c, },	{ 0x20000000, 0x00011c0e, },
655 	{ 0x00000000, 0x00011d10, },	{ 0x20000000, 0x00011d12, },
656 	{ 0x00000000, 0x00011d14, },	{ 0x20000000, 0x00011d16, },
657 	{ 0x00000000, 0x00011d18, },	{ 0x20000000, 0x00011d1a, },
658 	{ 0x00000000, 0x00011d1c, },	{ 0x20000000, 0x00011d1e, },
659 	{ 0x00000000, 0x00011e20, },	{ 0x20000000, 0x00011e22, },
660 	{ 0x00000000, 0x00011e24, },	{ 0x20000000, 0x00011e26, },
661 	{ 0x00000000, 0x00011e28, },	{ 0x20000000, 0x00011e2a, },
662 	{ 0x00000000, 0x00011e2c, },	{ 0x20000000, 0x00011e2e, },
663 	{ 0x00000000, 0x00011f30, },	{ 0x20000000, 0x00011f32, },
664 	{ 0x00000000, 0x00011f34, },	{ 0x20000000, 0x00011f36, },
665 	{ 0x00000000, 0x00011f38, },	{ 0x20000000, 0x00011f3a, },
666 	{ 0x00000000, 0x00011f3c, },	{ 0x20000000, 0x00011f3e, }, }
667 };
668 
669 /*
670  * The 8 selection functions.
671  * 8 functions to map 6 bits to 64 bits
672  */
673 const	uint32_t  S_tab[8][64] = {
674 	{
675 		0xe0000000U, 0x00000000U, 0x40000000U, 0xf0000000U,
676 		0xd0000000U, 0x70000000U, 0x10000000U, 0x40000000U,
677 		0x20000000U, 0xe0000000U, 0xf0000000U, 0x20000000U,
678 		0xb0000000U, 0xd0000000U, 0x80000000U, 0x10000000U,
679 		0x30000000U, 0xa0000000U, 0xa0000000U, 0x60000000U,
680 		0x60000000U, 0xc0000000U, 0xc0000000U, 0xb0000000U,
681 		0x50000000U, 0x90000000U, 0x90000000U, 0x50000000U,
682 		0x00000000U, 0x30000000U, 0x70000000U, 0x80000000U,
683 		0x40000000U, 0xf0000000U, 0x10000000U, 0xc0000000U,
684 		0xe0000000U, 0x80000000U, 0x80000000U, 0x20000000U,
685 		0xd0000000U, 0x40000000U, 0x60000000U, 0x90000000U,
686 		0x20000000U, 0x10000000U, 0xb0000000U, 0x70000000U,
687 		0xf0000000U, 0x50000000U, 0xc0000000U, 0xb0000000U,
688 		0x90000000U, 0x30000000U, 0x70000000U, 0xe0000000U,
689 		0x30000000U, 0xa0000000U, 0xa0000000U, 0x00000000U,
690 		0x50000000U, 0x60000000U, 0x00000000U, 0xd0000000U,
691 	},
692 	{
693 		0x0f000000U, 0x03000000U, 0x01000000U, 0x0d000000U,
694 		0x08000000U, 0x04000000U, 0x0e000000U, 0x07000000U,
695 		0x06000000U, 0x0f000000U, 0x0b000000U, 0x02000000U,
696 		0x03000000U, 0x08000000U, 0x04000000U, 0x0e000000U,
697 		0x09000000U, 0x0c000000U, 0x07000000U, 0x00000000U,
698 		0x02000000U, 0x01000000U, 0x0d000000U, 0x0a000000U,
699 		0x0c000000U, 0x06000000U, 0x00000000U, 0x09000000U,
700 		0x05000000U, 0x0b000000U, 0x0a000000U, 0x05000000U,
701 		0x00000000U, 0x0d000000U, 0x0e000000U, 0x08000000U,
702 		0x07000000U, 0x0a000000U, 0x0b000000U, 0x01000000U,
703 		0x0a000000U, 0x03000000U, 0x04000000U, 0x0f000000U,
704 		0x0d000000U, 0x04000000U, 0x01000000U, 0x02000000U,
705 		0x05000000U, 0x0b000000U, 0x08000000U, 0x06000000U,
706 		0x0c000000U, 0x07000000U, 0x06000000U, 0x0c000000U,
707 		0x09000000U, 0x00000000U, 0x03000000U, 0x05000000U,
708 		0x02000000U, 0x0e000000U, 0x0f000000U, 0x09000000U,
709 	},
710 	{
711 		0x00a00000U, 0x00d00000U, 0x00000000U, 0x00700000U,
712 		0x00900000U, 0x00000000U, 0x00e00000U, 0x00900000U,
713 		0x00600000U, 0x00300000U, 0x00300000U, 0x00400000U,
714 		0x00f00000U, 0x00600000U, 0x00500000U, 0x00a00000U,
715 		0x00100000U, 0x00200000U, 0x00d00000U, 0x00800000U,
716 		0x00c00000U, 0x00500000U, 0x00700000U, 0x00e00000U,
717 		0x00b00000U, 0x00c00000U, 0x00400000U, 0x00b00000U,
718 		0x00200000U, 0x00f00000U, 0x00800000U, 0x00100000U,
719 		0x00d00000U, 0x00100000U, 0x00600000U, 0x00a00000U,
720 		0x00400000U, 0x00d00000U, 0x00900000U, 0x00000000U,
721 		0x00800000U, 0x00600000U, 0x00f00000U, 0x00900000U,
722 		0x00300000U, 0x00800000U, 0x00000000U, 0x00700000U,
723 		0x00b00000U, 0x00400000U, 0x00100000U, 0x00f00000U,
724 		0x00200000U, 0x00e00000U, 0x00c00000U, 0x00300000U,
725 		0x00500000U, 0x00b00000U, 0x00a00000U, 0x00500000U,
726 		0x00e00000U, 0x00200000U, 0x00700000U, 0x00c00000U,
727 	},
728 	{
729 		0x00070000U, 0x000d0000U, 0x000d0000, 0x00080000U,
730 		0x000e0000U, 0x000b0000U, 0x00030000, 0x00050000U,
731 		0x00000000U, 0x00060000U, 0x00060000, 0x000f0000U,
732 		0x00090000U, 0x00000000U, 0x000a0000, 0x00030000U,
733 		0x00010000U, 0x00040000U, 0x00020000, 0x00070000U,
734 		0x00080000U, 0x00020000U, 0x00050000, 0x000c0000U,
735 		0x000b0000U, 0x00010000U, 0x000c0000, 0x000a0000U,
736 		0x00040000U, 0x000e0000U, 0x000f0000, 0x00090000U,
737 		0x000a0000U, 0x00030000U, 0x00060000, 0x000f0000U,
738 		0x00090000U, 0x00000000U, 0x00000000, 0x00060000U,
739 		0x000c0000U, 0x000a0000U, 0x000b0000, 0x00010000U,
740 		0x00070000U, 0x000d0000U, 0x000d0000, 0x00080000U,
741 		0x000f0000U, 0x00090000U, 0x00010000, 0x00040000U,
742 		0x00030000U, 0x00050000U, 0x000e0000, 0x000b0000U,
743 		0x00050000U, 0x000c0000U, 0x00020000, 0x00070000U,
744 		0x00080000U, 0x00020000U, 0x00040000, 0x000e0000U,
745 	},
746 	{
747 		0x00002000U, 0x0000e000U, 0x0000c000U, 0x0000b000U,
748 		0x00004000U, 0x00002000U, 0x00001000U, 0x0000c000U,
749 		0x00007000U, 0x00004000U, 0x0000a000U, 0x00007000U,
750 		0x0000b000U, 0x0000d000U, 0x00006000U, 0x00001000U,
751 		0x00008000U, 0x00005000U, 0x00005000U, 0x00000000U,
752 		0x00003000U, 0x0000f000U, 0x0000f000U, 0x0000a000U,
753 		0x0000d000U, 0x00003000U, 0x00000000U, 0x00009000U,
754 		0x0000e000U, 0x00008000U, 0x00009000U, 0x00006000U,
755 		0x00004000U, 0x0000b000U, 0x00002000U, 0x00008000U,
756 		0x00001000U, 0x0000c000U, 0x0000b000U, 0x00007000U,
757 		0x0000a000U, 0x00001000U, 0x0000d000U, 0x0000e000U,
758 		0x00007000U, 0x00002000U, 0x00008000U, 0x0000d000U,
759 		0x0000f000U, 0x00006000U, 0x00009000U, 0x0000f000U,
760 		0x0000c000U, 0x00000000U, 0x00005000U, 0x00009000U,
761 		0x00006000U, 0x0000a000U, 0x00003000U, 0x00004000U,
762 		0x00000000U, 0x00005000U, 0x0000e000U, 0x00003000U,
763 	},
764 	{
765 		0x00000c00U, 0x00000a00U, 0x00000100U, 0x00000f00U,
766 		0x00000a00U, 0x00000400U, 0x00000f00U, 0x00000200U,
767 		0x00000900U, 0x00000700U, 0x00000200U, 0x00000c00U,
768 		0x00000600U, 0x00000900U, 0x00000800U, 0x00000500U,
769 		0x00000000U, 0x00000600U, 0x00000d00U, 0x00000100U,
770 		0x00000300U, 0x00000d00U, 0x00000400U, 0x00000e00U,
771 		0x00000e00U, 0x00000000U, 0x00000700U, 0x00000b00U,
772 		0x00000500U, 0x00000300U, 0x00000b00U, 0x00000800U,
773 		0x00000900U, 0x00000400U, 0x00000e00U, 0x00000300U,
774 		0x00000f00U, 0x00000200U, 0x00000500U, 0x00000c00U,
775 		0x00000200U, 0x00000900U, 0x00000800U, 0x00000500U,
776 		0x00000c00U, 0x00000f00U, 0x00000300U, 0x00000a00U,
777 		0x00000700U, 0x00000b00U, 0x00000000U, 0x00000e00U,
778 		0x00000400U, 0x00000100U, 0x00000a00U, 0x00000700U,
779 		0x00000100U, 0x00000600U, 0x00000d00U, 0x00000000U,
780 		0x00000b00U, 0x00000800U, 0x00000600U, 0x00000d00U,
781 	},
782 	{
783 		0x00000040U, 0x000000d0U, 0x000000b0U, 0x00000000U,
784 		0x00000020U, 0x000000b0U, 0x000000e0U, 0x00000070U,
785 		0x000000f0U, 0x00000040U, 0x00000000U, 0x00000090U,
786 		0x00000080U, 0x00000010U, 0x000000d0U, 0x000000a0U,
787 		0x00000030U, 0x000000e0U, 0x000000c0U, 0x00000030U,
788 		0x00000090U, 0x00000050U, 0x00000070U, 0x000000c0U,
789 		0x00000050U, 0x00000020U, 0x000000a0U, 0x000000f0U,
790 		0x00000060U, 0x00000080U, 0x00000010U, 0x00000060U,
791 		0x00000010U, 0x00000060U, 0x00000040U, 0x000000b0U,
792 		0x000000b0U, 0x000000d0U, 0x000000d0U, 0x00000080U,
793 		0x000000c0U, 0x00000010U, 0x00000030U, 0x00000040U,
794 		0x00000070U, 0x000000a0U, 0x000000e0U, 0x00000070U,
795 		0x000000a0U, 0x00000090U, 0x000000f0U, 0x00000050U,
796 		0x00000060U, 0x00000000U, 0x00000080U, 0x000000f0U,
797 		0x00000000U, 0x000000e0U, 0x00000050U, 0x00000020U,
798 		0x00000090U, 0x00000030U, 0x00000020U, 0x000000c0U,
799 	},
800 	{
801 		0x0000000dU, 0x00000001U, 0x00000002U, 0x0000000fU,
802 		0x00000008U, 0x0000000dU, 0x00000004U, 0x00000008U,
803 		0x00000006U, 0x0000000aU, 0x0000000fU, 0x00000003U,
804 		0x0000000bU, 0x00000007U, 0x00000001U, 0x00000004U,
805 		0x0000000aU, 0x0000000cU, 0x00000009U, 0x00000005U,
806 		0x00000003U, 0x00000006U, 0x0000000eU, 0x0000000bU,
807 		0x00000005U, 0x00000000U, 0x00000000U, 0x0000000eU,
808 		0x0000000cU, 0x00000009U, 0x00000007U, 0x00000002U,
809 		0x00000007U, 0x00000002U, 0x0000000bU, 0x00000001U,
810 		0x00000004U, 0x0000000eU, 0x00000001U, 0x00000007U,
811 		0x00000009U, 0x00000004U, 0x0000000cU, 0x0000000aU,
812 		0x0000000eU, 0x00000008U, 0x00000002U, 0x0000000dU,
813 		0x00000000U, 0x0000000fU, 0x00000006U, 0x0000000cU,
814 		0x0000000aU, 0x00000009U, 0x0000000dU, 0x00000000U,
815 		0x0000000fU, 0x00000003U, 0x00000003U, 0x00000005U,
816 		0x00000005U, 0x00000006U, 0x00000008U, 0x0000000bU,
817 	},
818 };
819 
820 /*
821  * Permute 32 bit output of S boxes
822  */
823 const 	uint32_t	P_tab[4][256] = {
824 	0x00000000U, 0x00004000U, 0x40000000U, 0x40004000U,
825 	0x00000010U, 0x00004010U, 0x40000010U, 0x40004010U,
826 	0x00080000U, 0x00084000U, 0x40080000U, 0x40084000U,
827 	0x00080010U, 0x00084010U, 0x40080010U, 0x40084010U,
828 	0x00000002U, 0x00004002U, 0x40000002U, 0x40004002U,
829 	0x00000012U, 0x00004012U, 0x40000012U, 0x40004012U,
830 	0x00080002U, 0x00084002U, 0x40080002U, 0x40084002U,
831 	0x00080012U, 0x00084012U, 0x40080012U, 0x40084012U,
832 	0x00000200U, 0x00004200U, 0x40000200U, 0x40004200U,
833 	0x00000210U, 0x00004210U, 0x40000210U, 0x40004210U,
834 	0x00080200U, 0x00084200U, 0x40080200U, 0x40084200U,
835 	0x00080210U, 0x00084210U, 0x40080210U, 0x40084210U,
836 	0x00000202U, 0x00004202U, 0x40000202U, 0x40004202U,
837 	0x00000212U, 0x00004212U, 0x40000212U, 0x40004212U,
838 	0x00080202U, 0x00084202U, 0x40080202U, 0x40084202U,
839 	0x00080212U, 0x00084212U, 0x40080212U, 0x40084212U,
840 	0x00008000U, 0x0000c000U, 0x40008000U, 0x4000c000U,
841 	0x00008010U, 0x0000c010U, 0x40008010U, 0x4000c010U,
842 	0x00088000U, 0x0008c000U, 0x40088000U, 0x4008c000U,
843 	0x00088010U, 0x0008c010U, 0x40088010U, 0x4008c010U,
844 	0x00008002U, 0x0000c002U, 0x40008002U, 0x4000c002U,
845 	0x00008012U, 0x0000c012U, 0x40008012U, 0x4000c012U,
846 	0x00088002U, 0x0008c002U, 0x40088002U, 0x4008c002U,
847 	0x00088012U, 0x0008c012U, 0x40088012U, 0x4008c012U,
848 	0x00008200U, 0x0000c200U, 0x40008200U, 0x4000c200U,
849 	0x00008210U, 0x0000c210U, 0x40008210U, 0x4000c210U,
850 	0x00088200U, 0x0008c200U, 0x40088200U, 0x4008c200U,
851 	0x00088210U, 0x0008c210U, 0x40088210U, 0x4008c210U,
852 	0x00008202U, 0x0000c202U, 0x40008202U, 0x4000c202U,
853 	0x00008212U, 0x0000c212U, 0x40008212U, 0x4000c212U,
854 	0x00088202U, 0x0008c202U, 0x40088202U, 0x4008c202U,
855 	0x00088212U, 0x0008c212U, 0x40088212U, 0x4008c212U,
856 	0x00800000U, 0x00804000U, 0x40800000U, 0x40804000U,
857 	0x00800010U, 0x00804010U, 0x40800010U, 0x40804010U,
858 	0x00880000U, 0x00884000U, 0x40880000U, 0x40884000U,
859 	0x00880010U, 0x00884010U, 0x40880010U, 0x40884010U,
860 	0x00800002U, 0x00804002U, 0x40800002U, 0x40804002U,
861 	0x00800012U, 0x00804012U, 0x40800012U, 0x40804012U,
862 	0x00880002U, 0x00884002U, 0x40880002U, 0x40884002U,
863 	0x00880012U, 0x00884012U, 0x40880012U, 0x40884012U,
864 	0x00800200U, 0x00804200U, 0x40800200U, 0x40804200U,
865 	0x00800210U, 0x00804210U, 0x40800210U, 0x40804210U,
866 	0x00880200U, 0x00884200U, 0x40880200U, 0x40884200U,
867 	0x00880210U, 0x00884210U, 0x40880210U, 0x40884210U,
868 	0x00800202U, 0x00804202U, 0x40800202U, 0x40804202U,
869 	0x00800212U, 0x00804212U, 0x40800212U, 0x40804212U,
870 	0x00880202U, 0x00884202U, 0x40880202U, 0x40884202U,
871 	0x00880212U, 0x00884212U, 0x40880212U, 0x40884212U,
872 	0x00808000U, 0x0080c000U, 0x40808000U, 0x4080c000U,
873 	0x00808010U, 0x0080c010U, 0x40808010U, 0x4080c010U,
874 	0x00888000U, 0x0088c000U, 0x40888000U, 0x4088c000U,
875 	0x00888010U, 0x0088c010U, 0x40888010U, 0x4088c010U,
876 	0x00808002U, 0x0080c002U, 0x40808002U, 0x4080c002U,
877 	0x00808012U, 0x0080c012U, 0x40808012U, 0x4080c012U,
878 	0x00888002U, 0x0088c002U, 0x40888002U, 0x4088c002U,
879 	0x00888012U, 0x0088c012U, 0x40888012U, 0x4088c012U,
880 	0x00808200U, 0x0080c200U, 0x40808200U, 0x4080c200U,
881 	0x00808210U, 0x0080c210U, 0x40808210U, 0x4080c210U,
882 	0x00888200U, 0x0088c200U, 0x40888200U, 0x4088c200U,
883 	0x00888210U, 0x0088c210U, 0x40888210U, 0x4088c210U,
884 	0x00808202U, 0x0080c202U, 0x40808202U, 0x4080c202U,
885 	0x00808212U, 0x0080c212U, 0x40808212U, 0x4080c212U,
886 	0x00888202U, 0x0088c202U, 0x40888202U, 0x4088c202U,
887 	0x00888212U, 0x0088c212U, 0x40888212U, 0x4088c212U,
888 	0x00000000U, 0x80000000U, 0x00400000U, 0x80400000U,
889 	0x00001000U, 0x80001000U, 0x00401000U, 0x80401000U,
890 	0x00000040U, 0x80000040U, 0x00400040U, 0x80400040U,
891 	0x00001040U, 0x80001040U, 0x00401040U, 0x80401040U,
892 	0x04000000U, 0x84000000U, 0x04400000U, 0x84400000U,
893 	0x04001000U, 0x84001000U, 0x04401000U, 0x84401000U,
894 	0x04000040U, 0x84000040U, 0x04400040U, 0x84400040U,
895 	0x04001040U, 0x84001040U, 0x04401040U, 0x84401040U,
896 	0x00000004U, 0x80000004U, 0x00400004U, 0x80400004U,
897 	0x00001004U, 0x80001004U, 0x00401004U, 0x80401004U,
898 	0x00000044U, 0x80000044U, 0x00400044U, 0x80400044U,
899 	0x00001044U, 0x80001044U, 0x00401044U, 0x80401044U,
900 	0x04000004U, 0x84000004U, 0x04400004U, 0x84400004U,
901 	0x04001004U, 0x84001004U, 0x04401004U, 0x84401004U,
902 	0x04000044U, 0x84000044U, 0x04400044U, 0x84400044U,
903 	0x04001044U, 0x84001044U, 0x04401044U, 0x84401044U,
904 	0x00010000U, 0x80010000U, 0x00410000U, 0x80410000U,
905 	0x00011000U, 0x80011000U, 0x00411000U, 0x80411000U,
906 	0x00010040U, 0x80010040U, 0x00410040U, 0x80410040U,
907 	0x00011040U, 0x80011040U, 0x00411040U, 0x80411040U,
908 	0x04010000U, 0x84010000U, 0x04410000U, 0x84410000U,
909 	0x04011000U, 0x84011000U, 0x04411000U, 0x84411000U,
910 	0x04010040U, 0x84010040U, 0x04410040U, 0x84410040U,
911 	0x04011040U, 0x84011040U, 0x04411040U, 0x84411040U,
912 	0x00010004U, 0x80010004U, 0x00410004U, 0x80410004U,
913 	0x00011004U, 0x80011004U, 0x00411004U, 0x80411004U,
914 	0x00010044U, 0x80010044U, 0x00410044U, 0x80410044U,
915 	0x00011044U, 0x80011044U, 0x00411044U, 0x80411044U,
916 	0x04010004U, 0x84010004U, 0x04410004U, 0x84410004U,
917 	0x04011004U, 0x84011004U, 0x04411004U, 0x84411004U,
918 	0x04010044U, 0x84010044U, 0x04410044U, 0x84410044U,
919 	0x04011044U, 0x84011044U, 0x04411044U, 0x84411044U,
920 	0x00000100U, 0x80000100U, 0x00400100U, 0x80400100U,
921 	0x00001100U, 0x80001100U, 0x00401100U, 0x80401100U,
922 	0x00000140U, 0x80000140U, 0x00400140U, 0x80400140U,
923 	0x00001140U, 0x80001140U, 0x00401140U, 0x80401140U,
924 	0x04000100U, 0x84000100U, 0x04400100U, 0x84400100U,
925 	0x04001100U, 0x84001100U, 0x04401100U, 0x84401100U,
926 	0x04000140U, 0x84000140U, 0x04400140U, 0x84400140U,
927 	0x04001140U, 0x84001140U, 0x04401140U, 0x84401140U,
928 	0x00000104U, 0x80000104U, 0x00400104U, 0x80400104U,
929 	0x00001104U, 0x80001104U, 0x00401104U, 0x80401104U,
930 	0x00000144U, 0x80000144U, 0x00400144U, 0x80400144U,
931 	0x00001144U, 0x80001144U, 0x00401144U, 0x80401144U,
932 	0x04000104U, 0x84000104U, 0x04400104U, 0x84400104U,
933 	0x04001104U, 0x84001104U, 0x04401104U, 0x84401104U,
934 	0x04000144U, 0x84000144U, 0x04400144U, 0x84400144U,
935 	0x04001144U, 0x84001144U, 0x04401144U, 0x84401144U,
936 	0x00010100U, 0x80010100U, 0x00410100U, 0x80410100U,
937 	0x00011100U, 0x80011100U, 0x00411100U, 0x80411100U,
938 	0x00010140U, 0x80010140U, 0x00410140U, 0x80410140U,
939 	0x00011140U, 0x80011140U, 0x00411140U, 0x80411140U,
940 	0x04010100U, 0x84010100U, 0x04410100U, 0x84410100U,
941 	0x04011100U, 0x84011100U, 0x04411100U, 0x84411100U,
942 	0x04010140U, 0x84010140U, 0x04410140U, 0x84410140U,
943 	0x04011140U, 0x84011140U, 0x04411140U, 0x84411140U,
944 	0x00010104U, 0x80010104U, 0x00410104U, 0x80410104U,
945 	0x00011104U, 0x80011104U, 0x00411104U, 0x80411104U,
946 	0x00010144U, 0x80010144U, 0x00410144U, 0x80410144U,
947 	0x00011144U, 0x80011144U, 0x00411144U, 0x80411144U,
948 	0x04010104U, 0x84010104U, 0x04410104U, 0x84410104U,
949 	0x04011104U, 0x84011104U, 0x04411104U, 0x84411104U,
950 	0x04010144U, 0x84010144U, 0x04410144U, 0x84410144U,
951 	0x04011144U, 0x84011144U, 0x04411144U, 0x84411144U,
952 	0x00000000U, 0x00002000U, 0x00200000U, 0x00202000U,
953 	0x00000008U, 0x00002008U, 0x00200008U, 0x00202008U,
954 	0x10000000U, 0x10002000U, 0x10200000U, 0x10202000U,
955 	0x10000008U, 0x10002008U, 0x10200008U, 0x10202008U,
956 	0x20000000U, 0x20002000U, 0x20200000U, 0x20202000U,
957 	0x20000008U, 0x20002008U, 0x20200008U, 0x20202008U,
958 	0x30000000U, 0x30002000U, 0x30200000U, 0x30202000U,
959 	0x30000008U, 0x30002008U, 0x30200008U, 0x30202008U,
960 	0x00000080U, 0x00002080U, 0x00200080U, 0x00202080U,
961 	0x00000088U, 0x00002088U, 0x00200088U, 0x00202088U,
962 	0x10000080U, 0x10002080U, 0x10200080U, 0x10202080U,
963 	0x10000088U, 0x10002088U, 0x10200088U, 0x10202088U,
964 	0x20000080U, 0x20002080U, 0x20200080U, 0x20202080U,
965 	0x20000088U, 0x20002088U, 0x20200088U, 0x20202088U,
966 	0x30000080U, 0x30002080U, 0x30200080U, 0x30202080U,
967 	0x30000088U, 0x30002088U, 0x30200088U, 0x30202088U,
968 	0x00040000U, 0x00042000U, 0x00240000U, 0x00242000U,
969 	0x00040008U, 0x00042008U, 0x00240008U, 0x00242008U,
970 	0x10040000U, 0x10042000U, 0x10240000U, 0x10242000U,
971 	0x10040008U, 0x10042008U, 0x10240008U, 0x10242008U,
972 	0x20040000U, 0x20042000U, 0x20240000U, 0x20242000U,
973 	0x20040008U, 0x20042008U, 0x20240008U, 0x20242008U,
974 	0x30040000U, 0x30042000U, 0x30240000U, 0x30242000U,
975 	0x30040008U, 0x30042008U, 0x30240008U, 0x30242008U,
976 	0x00040080U, 0x00042080U, 0x00240080U, 0x00242080U,
977 	0x00040088U, 0x00042088U, 0x00240088U, 0x00242088U,
978 	0x10040080U, 0x10042080U, 0x10240080U, 0x10242080U,
979 	0x10040088U, 0x10042088U, 0x10240088U, 0x10242088U,
980 	0x20040080U, 0x20042080U, 0x20240080U, 0x20242080U,
981 	0x20040088U, 0x20042088U, 0x20240088U, 0x20242088U,
982 	0x30040080U, 0x30042080U, 0x30240080U, 0x30242080U,
983 	0x30040088U, 0x30042088U, 0x30240088U, 0x30242088U,
984 	0x01000000U, 0x01002000U, 0x01200000U, 0x01202000U,
985 	0x01000008U, 0x01002008U, 0x01200008U, 0x01202008U,
986 	0x11000000U, 0x11002000U, 0x11200000U, 0x11202000U,
987 	0x11000008U, 0x11002008U, 0x11200008U, 0x11202008U,
988 	0x21000000U, 0x21002000U, 0x21200000U, 0x21202000U,
989 	0x21000008U, 0x21002008U, 0x21200008U, 0x21202008U,
990 	0x31000000U, 0x31002000U, 0x31200000U, 0x31202000U,
991 	0x31000008U, 0x31002008U, 0x31200008U, 0x31202008U,
992 	0x01000080U, 0x01002080U, 0x01200080U, 0x01202080U,
993 	0x01000088U, 0x01002088U, 0x01200088U, 0x01202088U,
994 	0x11000080U, 0x11002080U, 0x11200080U, 0x11202080U,
995 	0x11000088U, 0x11002088U, 0x11200088U, 0x11202088U,
996 	0x21000080U, 0x21002080U, 0x21200080U, 0x21202080U,
997 	0x21000088U, 0x21002088U, 0x21200088U, 0x21202088U,
998 	0x31000080U, 0x31002080U, 0x31200080U, 0x31202080U,
999 	0x31000088U, 0x31002088U, 0x31200088U, 0x31202088U,
1000 	0x01040000U, 0x01042000U, 0x01240000U, 0x01242000U,
1001 	0x01040008U, 0x01042008U, 0x01240008U, 0x01242008U,
1002 	0x11040000U, 0x11042000U, 0x11240000U, 0x11242000U,
1003 	0x11040008U, 0x11042008U, 0x11240008U, 0x11242008U,
1004 	0x21040000U, 0x21042000U, 0x21240000U, 0x21242000U,
1005 	0x21040008U, 0x21042008U, 0x21240008U, 0x21242008U,
1006 	0x31040000U, 0x31042000U, 0x31240000U, 0x31242000U,
1007 	0x31040008U, 0x31042008U, 0x31240008U, 0x31242008U,
1008 	0x01040080U, 0x01042080U, 0x01240080U, 0x01242080U,
1009 	0x01040088U, 0x01042088U, 0x01240088U, 0x01242088U,
1010 	0x11040080U, 0x11042080U, 0x11240080U, 0x11242080U,
1011 	0x11040088U, 0x11042088U, 0x11240088U, 0x11242088U,
1012 	0x21040080U, 0x21042080U, 0x21240080U, 0x21242080U,
1013 	0x21040088U, 0x21042088U, 0x21240088U, 0x21242088U,
1014 	0x31040080U, 0x31042080U, 0x31240080U, 0x31242080U,
1015 	0x31040088U, 0x31042088U, 0x31240088U, 0x31242088U,
1016 	0x00000000U, 0x00000800U, 0x00020000U, 0x00020800U,
1017 	0x00000020U, 0x00000820U, 0x00020020U, 0x00020820U,
1018 	0x08000000U, 0x08000800U, 0x08020000U, 0x08020800U,
1019 	0x08000020U, 0x08000820U, 0x08020020U, 0x08020820U,
1020 	0x02000000U, 0x02000800U, 0x02020000U, 0x02020800U,
1021 	0x02000020U, 0x02000820U, 0x02020020U, 0x02020820U,
1022 	0x0a000000U, 0x0a000800U, 0x0a020000U, 0x0a020800U,
1023 	0x0a000020U, 0x0a000820U, 0x0a020020U, 0x0a020820U,
1024 	0x00000400U, 0x00000c00U, 0x00020400U, 0x00020c00U,
1025 	0x00000420U, 0x00000c20U, 0x00020420U, 0x00020c20U,
1026 	0x08000400U, 0x08000c00U, 0x08020400U, 0x08020c00U,
1027 	0x08000420U, 0x08000c20U, 0x08020420U, 0x08020c20U,
1028 	0x02000400U, 0x02000c00U, 0x02020400U, 0x02020c00U,
1029 	0x02000420U, 0x02000c20U, 0x02020420U, 0x02020c20U,
1030 	0x0a000400U, 0x0a000c00U, 0x0a020400U, 0x0a020c00U,
1031 	0x0a000420U, 0x0a000c20U, 0x0a020420U, 0x0a020c20U,
1032 	0x00100000U, 0x00100800U, 0x00120000U, 0x00120800U,
1033 	0x00100020U, 0x00100820U, 0x00120020U, 0x00120820U,
1034 	0x08100000U, 0x08100800U, 0x08120000U, 0x08120800U,
1035 	0x08100020U, 0x08100820U, 0x08120020U, 0x08120820U,
1036 	0x02100000U, 0x02100800U, 0x02120000U, 0x02120800U,
1037 	0x02100020U, 0x02100820U, 0x02120020U, 0x02120820U,
1038 	0x0a100000U, 0x0a100800U, 0x0a120000U, 0x0a120800U,
1039 	0x0a100020U, 0x0a100820U, 0x0a120020U, 0x0a120820U,
1040 	0x00100400U, 0x00100c00U, 0x00120400U, 0x00120c00U,
1041 	0x00100420U, 0x00100c20U, 0x00120420U, 0x00120c20U,
1042 	0x08100400U, 0x08100c00U, 0x08120400U, 0x08120c00U,
1043 	0x08100420U, 0x08100c20U, 0x08120420U, 0x08120c20U,
1044 	0x02100400U, 0x02100c00U, 0x02120400U, 0x02120c00U,
1045 	0x02100420U, 0x02100c20U, 0x02120420U, 0x02120c20U,
1046 	0x0a100400U, 0x0a100c00U, 0x0a120400U, 0x0a120c00U,
1047 	0x0a100420U, 0x0a100c20U, 0x0a120420U, 0x0a120c20U,
1048 	0x00000001U, 0x00000801U, 0x00020001U, 0x00020801U,
1049 	0x00000021U, 0x00000821U, 0x00020021U, 0x00020821U,
1050 	0x08000001U, 0x08000801U, 0x08020001U, 0x08020801U,
1051 	0x08000021U, 0x08000821U, 0x08020021U, 0x08020821U,
1052 	0x02000001U, 0x02000801U, 0x02020001U, 0x02020801U,
1053 	0x02000021U, 0x02000821U, 0x02020021U, 0x02020821U,
1054 	0x0a000001U, 0x0a000801U, 0x0a020001U, 0x0a020801U,
1055 	0x0a000021U, 0x0a000821U, 0x0a020021U, 0x0a020821U,
1056 	0x00000401U, 0x00000c01U, 0x00020401U, 0x00020c01U,
1057 	0x00000421U, 0x00000c21U, 0x00020421U, 0x00020c21U,
1058 	0x08000401U, 0x08000c01U, 0x08020401U, 0x08020c01U,
1059 	0x08000421U, 0x08000c21U, 0x08020421U, 0x08020c21U,
1060 	0x02000401U, 0x02000c01U, 0x02020401U, 0x02020c01U,
1061 	0x02000421U, 0x02000c21U, 0x02020421U, 0x02020c21U,
1062 	0x0a000401U, 0x0a000c01U, 0x0a020401U, 0x0a020c01U,
1063 	0x0a000421U, 0x0a000c21U, 0x0a020421U, 0x0a020c21U,
1064 	0x00100001U, 0x00100801U, 0x00120001U, 0x00120801U,
1065 	0x00100021U, 0x00100821U, 0x00120021U, 0x00120821U,
1066 	0x08100001U, 0x08100801U, 0x08120001U, 0x08120801U,
1067 	0x08100021U, 0x08100821U, 0x08120021U, 0x08120821U,
1068 	0x02100001U, 0x02100801U, 0x02120001U, 0x02120801U,
1069 	0x02100021U, 0x02100821U, 0x02120021U, 0x02120821U,
1070 	0x0a100001U, 0x0a100801U, 0x0a120001U, 0x0a120801U,
1071 	0x0a100021U, 0x0a100821U, 0x0a120021U, 0x0a120821U,
1072 	0x00100401U, 0x00100c01U, 0x00120401U, 0x00120c01U,
1073 	0x00100421U, 0x00100c21U, 0x00120421U, 0x00120c21U,
1074 	0x08100401U, 0x08100c01U, 0x08120401U, 0x08120c01U,
1075 	0x08100421U, 0x08100c21U, 0x08120421U, 0x08120c21U,
1076 	0x02100401U, 0x02100c01U, 0x02120401U, 0x02120c01U,
1077 	0x02100421U, 0x02100c21U, 0x02120421U, 0x02120c21U,
1078 	0x0a100401U, 0x0a100c01U, 0x0a120401U, 0x0a120c01U,
1079 	0x0a100421U, 0x0a100c21U, 0x0a120421U, 0x0a120c21U,
1080 };
1081 
1082 #ifdef	__cplusplus
1083 }
1084 #endif
1085 
1086 #endif /* _SYS_DESDATA_H */
1087