Add fclang.c to CVS; easier than attempting to build it on the fly
[platform/upstream/fontconfig.git] / src / fclang.c
1 /*
2  * $XFree86: xc/lib/fontconfig/fc-lang/fclang.tmpl.c,v 1.1 2002/07/06 23:21:36 keithp Exp $
3  *
4  * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
5  *
6  * Permission to use, copy, modify, distribute, and sell this software and its
7  * documentation for any purpose is hereby granted without fee, provided that
8  * the above copyright notice appear in all copies and that both that
9  * copyright notice and this permission notice appear in supporting
10  * documentation, and that the name of Keith Packard not be used in
11  * advertising or publicity pertaining to distribution of the software without
12  * specific, written prior permission.  Keith Packard makes no
13  * representations about the suitability of this software for any purpose.  It
14  * is provided "as is" without express or implied warranty.
15  *
16  * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
17  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
18  * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
19  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
22  * PERFORMANCE OF THIS SOFTWARE.
23  */
24
25 #include "fcint.h"
26
27 typedef struct {
28     FcChar8     *lang;
29     FcCharSet   charset;
30 } FcLangCharSet;
31
32 /* total size: 482 unique leaves: 422 */
33
34 static const FcCharLeaf leaves[422] = {
35     { { /* 0 */
36     0x00000000, 0x00000000, 0x00000000, 0x00000000,
37     0x00000000, 0x08000800, 0x00000000, 0x00000000,
38     } },
39     { { /* 1 */
40     0xffff8002, 0xffffffff, 0x8002ffff, 0x00000000,
41     0xc0000000, 0xf0fc33c0, 0x03000000, 0x00000000,
42     } },
43     { { /* 2 */
44     0x88001000, 0x07fffffe, 0x0007ffff, 0x00000000,
45     0x00000000, 0x00000000, 0x00000000, 0x00000000,
46     } },
47     { { /* 3 */
48     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
49     0x00000000, 0x00000000, 0x10400090, 0x10400090,
50     } },
51     { { /* 4 */
52     0xc0000000, 0x00030000, 0xc0000000, 0x00000000,
53     0x00008000, 0x00000000, 0x00000000, 0x00000000,
54     } },
55     { { /* 5 */
56     0x00000000, 0x00000000, 0x02000000, 0x00000000,
57     0x00000000, 0x10000000, 0x00000000, 0x00000000,
58     } },
59     { { /* 6 */
60     0xffff0100, 0xffffffff, 0x0100ffff, 0x00000000,
61     0x300c0000, 0x0f00c000, 0x03000000, 0x00000300,
62     } },
63     { { /* 7 */
64     0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
65     0x030c0000, 0x0000cc0f, 0x03000000, 0x00000300,
66     } },
67     { { /* 8 */
68     0xffff4042, 0xffffffff, 0x4042ffff, 0x00000000,
69     0x00000000, 0x00000000, 0x00000000, 0x00000000,
70     } },
71     { { /* 9 */
72     0xffff0001, 0xffffd7ff, 0x2001d7ff, 0x00000c0c,
73     0x00000000, 0x00002000, 0x00000000, 0x00000000,
74     } },
75     { { /* 10 */
76     0x00000000, 0x00000080, 0x07fffffe, 0x07fffffe,
77     0x00000000, 0x08000800, 0x12020404, 0x12020404,
78     } },
79     { { /* 11 */
80     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
81     0x00000000, 0x00800000, 0x140ca381, 0x140ca381,
82     } },
83     { { /* 12 */
84     0x00000000, 0x80000000, 0x00000001, 0x00000000,
85     0x00000000, 0x00000000, 0x00000000, 0x00000000,
86     } },
87     { { /* 13 */
88     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
89     0x00000000, 0x08000800, 0x0a12cf45, 0x8a12cf45,
90     } },
91     { { /* 14 */
92     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
93     0x00000000, 0x00000000, 0x34482212, 0x34482212,
94     } },
95     { { /* 15 */
96     0x0c00f000, 0x00000000, 0x03000180, 0x6000c033,
97     0x00000000, 0x00000000, 0x00000000, 0x00000000,
98     } },
99     { { /* 16 */
100     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
101     0x00000000, 0x08000800, 0x75592ff7, 0x75592ff7,
102     } },
103     { { /* 17 */
104     0x00000000, 0x00000000, 0x000c0000, 0x00000000,
105     0x00000000, 0x00000000, 0x00000000, 0xfc000000,
106     } },
107     { { /* 18 */
108     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
109     0x00000000, 0x08000800, 0x90400010, 0x10400010,
110     } },
111     { { /* 19 */
112     0x00000000, 0x00000000, 0x00000000, 0x44300000,
113     0xffffd7f0, 0xfffffffb, 0xfc807fff, 0x00000003,
114     } },
115     { { /* 20 */
116     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
117     0x00000000, 0x00000000, 0x8fd38f81, 0x00520000,
118     } },
119     { { /* 21 */
120     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
121     0x00000000, 0x00000000, 0x00000000, 0x00000000,
122     } },
123     { { /* 22 */
124     0x30000300, 0x00300030, 0x30000000, 0x00003000,
125     0x00000000, 0x00000000, 0x00000000, 0x00000000,
126     } },
127     { { /* 23 */
128     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
129     0x00000000, 0x80000002, 0x140a2202, 0x140a2202,
130     } },
131     { { /* 24 */
132     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
133     0x00000000, 0x00000000, 0x10600010, 0x10600010,
134     } },
135     { { /* 25 */
136     0x00000000, 0x00000000, 0x00000000, 0x60000003,
137     0x00000000, 0x00000000, 0x00000000, 0x00000000,
138     } },
139     { { /* 26 */
140     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
141     0x00000000, 0x00000000, 0x10020000, 0x10020000,
142     } },
143     { { /* 27 */
144     0x00000000, 0x00000000, 0x00300000, 0x00000000,
145     0x00000000, 0x00000000, 0x00000000, 0x00000000,
146     } },
147     { { /* 28 */
148     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
149     0x00000000, 0x08000000, 0x10600070, 0x10600070,
150     } },
151     { { /* 29 */
152     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
153     0x00000000, 0x00000000, 0x35492072, 0x35492072,
154     } },
155     { { /* 30 */
156     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
157     0x00000000, 0x00000000, 0x060c3383, 0x060c3383,
158     } },
159     { { /* 31 */
160     0x00000c00, 0x00000003, 0x00000000, 0x80000000,
161     0x00000000, 0x00000000, 0x00000000, 0x00000000,
162     } },
163     { { /* 32 */
164     0x00000000, 0x00000000, 0x00000000, 0x10000000,
165     0x00000000, 0x00000000, 0x00000000, 0x00000000,
166     } },
167     { { /* 33 */
168     0xc0000c0c, 0x00000000, 0x00c00003, 0x00000c03,
169     0x08000000, 0x00000000, 0x00000000, 0x00000000,
170     } },
171     { { /* 34 */
172     0x00000000, 0x00000000, 0x00000400, 0x00000000,
173     0x00000000, 0x00000000, 0x00000000, 0x00000000,
174     } },
175     { { /* 35 */
176     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
177     0x00000000, 0x00000000, 0x020c1381, 0x020c1381,
178     } },
179     { { /* 36 */
180     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
181     0x00000000, 0x88000802, 0x140a2202, 0x140a2202,
182     } },
183     { { /* 37 */
184     0x00000000, 0x00000000, 0x00000000, 0x00000000,
185     0x00000000, 0x00000000, 0xffff0000, 0x000007ff,
186     } },
187     { { /* 38 */
188     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
189     0x00000000, 0x00000000, 0x02041101, 0x02041101,
190     } },
191     { { /* 39 */
192     0x000330c0, 0x00000000, 0x00000000, 0x60000003,
193     0x00000000, 0x00000000, 0x00001ff0, 0x003e0000,
194     } },
195     { { /* 40 */
196     0x00ffffff, 0x00000000, 0x00000000, 0x00000000,
197     0x00000000, 0x00000000, 0x00000000, 0x00000000,
198     } },
199     { { /* 41 */
200     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
201     0x00000000, 0x00000000, 0x14482203, 0x14482203,
202     } },
203     { { /* 42 */
204     0x00000000, 0x00000000, 0x00030000, 0x00030000,
205     0x00000000, 0x00000000, 0x00000000, 0x00000000,
206     } },
207     { { /* 43 */
208     0x00000000, 0xfffe0000, 0xfc7fffff, 0xfffffffe,
209     0x0000067f, 0x00000000, 0x00000000, 0x00000000,
210     } },
211     { { /* 44 */
212     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
213     0x00000000, 0x00000000, 0x75092a72, 0x75092272,
214     } },
215     { { /* 45 */
216     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
217     0x00000000, 0x00000000, 0x060cb301, 0x060cb300,
218     } },
219     { { /* 46 */
220     0x000000e7, 0x00000000, 0xfffffffe, 0xffffffff,
221     0x780fffff, 0xfffffffe, 0xffffffff, 0x787fffff,
222     } },
223     { { /* 47 */
224     0x43f36f8b, 0x9b462442, 0xe3e0e82c, 0x400a0004,
225     0xdb365f65, 0x04497977, 0xe3f0ecd7, 0x08c56038,
226     } },
227     { { /* 48 */
228     0x3403e602, 0x35518000, 0x7eabe0c8, 0x98698200,
229     0x2942a948, 0x8060e803, 0xad93441c, 0x4568c03a,
230     } },
231     { { /* 49 */
232     0x8656aa60, 0x02403f7a, 0x14618388, 0x21741020,
233     0x07022021, 0x40bc3000, 0x4462a624, 0x0a2060a8,
234     } },
235     { { /* 50 */
236     0x85740217, 0x9c840402, 0x14157bfb, 0x11e27f24,
237     0x02efb665, 0x20ff1f75, 0x38403a70, 0x676326c3,
238     } },
239     { { /* 51 */
240     0x20924dd9, 0x0fc946b0, 0x4850bc98, 0xa03f8638,
241     0x88162388, 0x52323e09, 0xe3a422aa, 0xc72c00dd,
242     } },
243     { { /* 52 */
244     0x26e1a166, 0x8f0a840b, 0x559e27eb, 0x89bbc241,
245     0x85400014, 0x08496361, 0x8ad07f0c, 0x05cfff3e,
246     } },
247     { { /* 53 */
248     0xa803ff1a, 0x7b407a41, 0x80024745, 0x38eb0500,
249     0x0005d851, 0x710c9934, 0x01000397, 0x24046366,
250     } },
251     { { /* 54 */
252     0x005180d0, 0x430ac000, 0x30c89071, 0x58000008,
253     0xf7000e99, 0x00415f80, 0x941000b0, 0x62800018,
254     } },
255     { { /* 55 */
256     0x09d00240, 0x01568200, 0x08015004, 0x05101d10,
257     0x001084c1, 0x10504025, 0x4d8a410f, 0xa60d4009,
258     } },
259     { { /* 56 */
260     0x914cab19, 0x098121c0, 0x0003c485, 0x80000652,
261     0x00080b04, 0x0009041d, 0x905c4849, 0x16900009,
262     } },
263     { { /* 57 */
264     0x22200c65, 0x24338412, 0x47960c03, 0x42250a04,
265     0x90880028, 0x4f084900, 0xd3aa14a2, 0x3e87d830,
266     } },
267     { { /* 58 */
268     0x1f618604, 0x41867ea4, 0x05b3c390, 0x211857a5,
269     0x2a48241e, 0x4a041128, 0x161b0a40, 0x88400d60,
270     } },
271     { { /* 59 */
272     0x9502020a, 0x10608221, 0x04000243, 0x80001444,
273     0x0c040000, 0x70000000, 0x00c11a06, 0x0c00024a,
274     } },
275     { { /* 60 */
276     0x00401a00, 0x40451404, 0xbdb30029, 0x052b0a78,
277     0xbfa0bba9, 0x8379407c, 0xe81d12fc, 0xc5694bf6,
278     } },
279     { { /* 61 */
280     0x044aeff6, 0xff022115, 0x402bed63, 0x0242d033,
281     0x00131000, 0x59ca1b02, 0x020000a0, 0x2c41a703,
282     } },
283     { { /* 62 */
284     0x8ff24880, 0x00000204, 0x10055800, 0x00489200,
285     0x20011894, 0x34805004, 0x684c3200, 0x68be49ea,
286     } },
287     { { /* 63 */
288     0x2e42184c, 0x21c9a820, 0x80b050b9, 0xff7c001e,
289     0x14e0849a, 0x01e028c1, 0xac49870e, 0xdddb130f,
290     } },
291     { { /* 64 */
292     0x89fbbe1a, 0x51a2a2e0, 0x32ca5502, 0x928b3e46,
293     0x438f1dbf, 0x32186703, 0x33c03028, 0xa9230811,
294     } },
295     { { /* 65 */
296     0x3a65c000, 0x04028fe3, 0x86252c4e, 0x00a1bf3d,
297     0x8cd43a1a, 0x317c06c9, 0x950a00e0, 0x0edb018b,
298     } },
299     { { /* 66 */
300     0x8c20e34b, 0xf0101182, 0xa7287d94, 0x40fbc9ac,
301     0x06534484, 0x44445a90, 0x00013fc8, 0xf5d40048,
302     } },
303     { { /* 67 */
304     0xec577701, 0x891dc442, 0x49286b83, 0xd2424109,
305     0x59fe061d, 0x3a221800, 0x3b9fb7e4, 0xc0eaf003,
306     } },
307     { { /* 68 */
308     0x82021386, 0xe4008980, 0x10a1b200, 0x0cc44b80,
309     0x8944d309, 0x48341faf, 0x0c458259, 0x0450420a,
310     } },
311     { { /* 69 */
312     0x10c8a040, 0x44503140, 0x01004004, 0x05408280,
313     0x442c0108, 0x1a056a30, 0x051420a6, 0x645690cf,
314     } },
315     { { /* 70 */
316     0x31000021, 0xcbf09c18, 0x63e2a120, 0x01b5104c,
317     0x9a83538c, 0x3281b8b2, 0x0a84987a, 0x0c0233e7,
318     } },
319     { { /* 71 */
320     0x9018d4cc, 0x9070a1a1, 0xe0048a1e, 0x0451c3d4,
321     0x21c2439a, 0x53104844, 0x36400292, 0xf3bd0241,
322     } },
323     { { /* 72 */
324     0xe8f0ab09, 0xa5d27dc0, 0xd24bc242, 0xd0afa43f,
325     0x34a11aa0, 0x03d88247, 0x651bc452, 0xc83ad294,
326     } },
327     { { /* 73 */
328     0x40c8001c, 0x33140e06, 0xb21b614f, 0xc0d00088,
329     0xa898a02a, 0x166ba1c5, 0x85b42e50, 0x0604c08b,
330     } },
331     { { /* 74 */
332     0x1e04f933, 0xa251056e, 0x76380400, 0x73b8ec07,
333     0x18324406, 0xc8164081, 0x63097c8a, 0xaa042980,
334     } },
335     { { /* 75 */
336     0xca9c1c24, 0x27604e0e, 0x83000990, 0x81040046,
337     0x10816011, 0x0908540d, 0xcc0a000e, 0x0c000500,
338     } },
339     { { /* 76 */
340     0xa0440430, 0x6784008b, 0x8a195288, 0x8b18865e,
341     0x41602e59, 0x9cbe8c10, 0x891c6861, 0x00089800,
342     } },
343     { { /* 77 */
344     0x089a8100, 0x41900018, 0xe4a14007, 0x640d0505,
345     0x0e4d310e, 0xff0a4806, 0x2aa81632, 0x000b852e,
346     } },
347     { { /* 78 */
348     0xca841800, 0x696c0e20, 0x16000032, 0x03905658,
349     0x1a285120, 0x11248000, 0x432618e1, 0x0eaa5d52,
350     } },
351     { { /* 79 */
352     0xae280fa0, 0x4500fa7b, 0x89406408, 0xc044c880,
353     0xb1419005, 0x24c48424, 0x603a1a34, 0xc1949000,
354     } },
355     { { /* 80 */
356     0x003a8246, 0xc106180d, 0x99100022, 0x1511e050,
357     0x00824057, 0x020a041a, 0x8930004f, 0x444ad813,
358     } },
359     { { /* 81 */
360     0xed228a02, 0x400510c0, 0x01021000, 0x31018808,
361     0x02044600, 0x0708f000, 0xa2008900, 0x22020000,
362     } },
363     { { /* 82 */
364     0x16100200, 0x10400042, 0x02605200, 0x200052f4,
365     0x82308510, 0x42021100, 0x80b54308, 0x9a2070e1,
366     } },
367     { { /* 83 */
368     0x08012040, 0xfc653500, 0xab0419c1, 0x62140286,
369     0x00440087, 0x02449085, 0x0a85405c, 0x33803207,
370     } },
371     { { /* 84 */
372     0xb8c00400, 0xc0d0ce20, 0x0080c030, 0x0d250508,
373     0x00400a90, 0x080c0200, 0x40006505, 0x41026421,
374     } },
375     { { /* 85 */
376     0x00000268, 0x847c0024, 0xde200002, 0x40498619,
377     0x40000808, 0x20010084, 0x10108400, 0x01c742cd,
378     } },
379     { { /* 86 */
380     0xd52a7038, 0x1d8f1968, 0x3e12be50, 0x81d92ef5,
381     0x2412cec4, 0x732e0828, 0x4b3424ac, 0xd41d020c,
382     } },
383     { { /* 87 */
384     0x80002a02, 0x08110097, 0x114411c4, 0x7d451786,
385     0x064949d9, 0x87914000, 0xd8c4254c, 0x491444ba,
386     } },
387     { { /* 88 */
388     0xc8001b92, 0x15800271, 0x0c000081, 0xc200096a,
389     0x40024800, 0xba493021, 0x1c802080, 0x1008e2ac,
390     } },
391     { { /* 89 */
392     0x00341004, 0x841400e1, 0x20000020, 0x10149800,
393     0x04aa70c2, 0x54208688, 0x04130c62, 0x20109180,
394     } },
395     { { /* 90 */
396     0x02064082, 0x54001c40, 0xe4e90383, 0x84802125,
397     0x2000e433, 0xe60944c0, 0x81260a03, 0x080112da,
398     } },
399     { { /* 91 */
400     0x97906901, 0xf8864001, 0x0081e24d, 0xa6510a0e,
401     0x81ec011a, 0x8441c600, 0xb62cadb8, 0x8741a46f,
402     } },
403     { { /* 92 */
404     0x4b028d54, 0x02681161, 0x2057bb60, 0x043350a0,
405     0xb7b4a8c0, 0x01122402, 0x20009ad3, 0x00c82271,
406     } },
407     { { /* 93 */
408     0x809e2081, 0xe1800c8a, 0x8151b009, 0x40281031,
409     0x89a52a0e, 0x620e69b6, 0xd1444425, 0x4d548085,
410     } },
411     { { /* 94 */
412     0x1fb12c75, 0x862dd807, 0x4841d87c, 0x226e414e,
413     0x9e088200, 0xed37f80c, 0x75268c80, 0x08149313,
414     } },
415     { { /* 95 */
416     0xc8040e32, 0x6ea6484e, 0x66702c4a, 0xba0126c0,
417     0x185dd30c, 0x00000000, 0x00000000, 0x00000000,
418     } },
419     { { /* 96 */
420     0x00000000, 0x05400000, 0x81337020, 0x03a54f81,
421     0x641055ec, 0x2344c318, 0x00341462, 0x1a090a43,
422     } },
423     { { /* 97 */
424     0x13a5187b, 0xa8480102, 0xc5440440, 0xe2dd8106,
425     0x2d481af0, 0x0416b626, 0x6e405058, 0x31128032,
426     } },
427     { { /* 98 */
428     0x0c0007e4, 0x420a8208, 0x803b4840, 0x87134860,
429     0x3428850d, 0xe5290319, 0x870a2345, 0x5c1825a9,
430     } },
431     { { /* 99 */
432     0xd9c577a6, 0x03e85e00, 0xa7000081, 0x41c6cd54,
433     0xa2042800, 0x2b0ab860, 0xda9e0020, 0x0e1a08ea,
434     } },
435     { { /* 100 */
436     0x11c0427c, 0x03768908, 0x01058621, 0x18a80000,
437     0xc44846a0, 0x20220d05, 0x91485422, 0x28978a01,
438     } },
439     { { /* 101 */
440     0x00087898, 0x31221605, 0x08804240, 0x06a2fa4e,
441     0x92110814, 0x9b042002, 0x06432e52, 0x90105000,
442     } },
443     { { /* 102 */
444     0x85ba0041, 0x20203042, 0x05a04f0b, 0x40802708,
445     0x1a930591, 0x0600df50, 0x3021a202, 0x4e800630,
446     } },
447     { { /* 103 */
448     0x04c80cc4, 0x8001a004, 0xd4316000, 0x0a020880,
449     0x00281c00, 0x00418e18, 0xca106ad0, 0x4b00f210,
450     } },
451     { { /* 104 */
452     0x1506274d, 0x88900220, 0x82a85a00, 0x81504549,
453     0x80002004, 0x2c088804, 0x000508d1, 0x4ac48001,
454     } },
455     { { /* 105 */
456     0x0062e020, 0x0a42008e, 0x6a8c3055, 0xe0a5090e,
457     0x42c42906, 0x80b34814, 0xb330803e, 0x731c0102,
458     } },
459     { { /* 106 */
460     0x600d1494, 0x09400c20, 0xc040301a, 0xc094a451,
461     0x05c88dca, 0xa40c96c2, 0x34040001, 0x011000c8,
462     } },
463     { { /* 107 */
464     0xa9c9550d, 0x1c5a2428, 0x48370142, 0x100f7a4d,
465     0x452a32b4, 0x9205317b, 0x5c44b894, 0x458a68d7,
466     } },
467     { { /* 108 */
468     0x2ed15097, 0x42081943, 0x9d40d202, 0x20979840,
469     0x064d5409, 0x00000000, 0x00000000, 0x00000000,
470     } },
471     { { /* 109 */
472     0x00000000, 0x84800000, 0x04215542, 0x17001c06,
473     0x61107624, 0xb9ddff87, 0x5c0a659f, 0x3c00245d,
474     } },
475     { { /* 110 */
476     0x0059adb0, 0x00000000, 0x00000000, 0x009b28d0,
477     0x02000422, 0x44080108, 0xac409804, 0x90288d0a,
478     } },
479     { { /* 111 */
480     0xe0018700, 0x00310400, 0x82211794, 0x10540019,
481     0x021a2cb2, 0x40039c02, 0x88043d60, 0x7900080c,
482     } },
483     { { /* 112 */
484     0xba3c1628, 0xcb088640, 0x90807274, 0x0000001e,
485     0xd8000000, 0x9c87e188, 0x04124034, 0x2791ae64,
486     } },
487     { { /* 113 */
488     0xe6fbe86b, 0x5366408f, 0x537feea6, 0xb5e4e32b,
489     0x0002869f, 0x01228548, 0x08004402, 0x20a02116,
490     } },
491     { { /* 114 */
492     0x02040004, 0x00052000, 0x01547e00, 0x01ac162c,
493     0x10852a84, 0x05308c14, 0xb943fbc3, 0x906000ca,
494     } },
495     { { /* 115 */
496     0x40326000, 0x80901200, 0x4c810b30, 0x40020054,
497     0x1d6a0029, 0x02802000, 0x00048000, 0x150c2610,
498     } },
499     { { /* 116 */
500     0x07018040, 0x0c24d94d, 0x18502810, 0x50205001,
501     0x04d01000, 0x02017080, 0x21c30108, 0x00000132,
502     } },
503     { { /* 117 */
504     0x07190088, 0x05600802, 0x4c0e0012, 0xf0a10405,
505     0x00000002, 0x00000000, 0x00000000, 0x00000000,
506     } },
507     { { /* 118 */
508     0x00000000, 0x00000000, 0x00000000, 0x00800000,
509     0x035a8e8d, 0x5a0421bd, 0x11703488, 0x00000026,
510     } },
511     { { /* 119 */
512     0x10000000, 0x8804c502, 0xf801b815, 0x25ed147c,
513     0x1bb0ed60, 0x1bd70589, 0x1a627af3, 0x0ac50d0c,
514     } },
515     { { /* 120 */
516     0x524ae5d1, 0x63050490, 0x52440354, 0x16122b57,
517     0x1101a872, 0x00182949, 0x10080948, 0x886c6000,
518     } },
519     { { /* 121 */
520     0x058f916e, 0x39903012, 0x4930f840, 0x001b8880,
521     0x00000000, 0x00428500, 0x98000058, 0x7014ea04,
522     } },
523     { { /* 122 */
524     0x611d1628, 0x60005113, 0x00a71a24, 0x00000000,
525     0x03c00000, 0x10187120, 0xa9270172, 0x89066004,
526     } },
527     { { /* 123 */
528     0x020cc022, 0x40810900, 0x8ca0202d, 0x00000e34,
529     0x00000000, 0x11012100, 0xc11a8011, 0x0892ec4c,
530     } },
531     { { /* 124 */
532     0x85000040, 0x1806c7ac, 0x0512e03e, 0x00108000,
533     0x80ce4008, 0x02106d01, 0x08568641, 0x0027011e,
534     } },
535     { { /* 125 */
536     0x083d3750, 0x4e05e032, 0x048401c0, 0x01400081,
537     0x00000000, 0x00000000, 0x00000000, 0x00591aa0,
538     } },
539     { { /* 126 */
540     0x882443c8, 0xc8001d48, 0x72030152, 0x04049013,
541     0x04008280, 0x0d148a10, 0x02088056, 0x2704a040,
542     } },
543     { { /* 127 */
544     0x4c000000, 0x00000000, 0x00000000, 0xa3200000,
545     0xa0ae1902, 0xdf002660, 0x7b15f010, 0x3ad08121,
546     } },
547     { { /* 128 */
548     0x00284180, 0x48001003, 0x8014cc00, 0x00c414cf,
549     0x30202000, 0x00000001, 0x00000000, 0x00000000,
550     } },
551     { { /* 129 */
552     0x00000000, 0x00000000, 0x00000000, 0x00000000,
553     0x00000000, 0x00000000, 0x00000000, 0x00000020,
554     } },
555     { { /* 130 */
556     0x00000000, 0x00000000, 0x00000000, 0x00000000,
557     0x00000200, 0x00000000, 0x00000000, 0x00000000,
558     } },
559     { { /* 131 */
560     0x00000000, 0x00000000, 0x00000000, 0x00000000,
561     0x00000000, 0xffffffff, 0xffff003f, 0x09ffffff,
562     } },
563     { { /* 132 */
564     0xffff0042, 0xffffffff, 0x0042ffff, 0x00000000,
565     0x0c0c0000, 0x0c00000c, 0x03000000, 0x00000300,
566     } },
567     { { /* 133 */
568     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
569     0x00000000, 0x08000800, 0x0d10646e, 0x0d10646e,
570     } },
571     { { /* 134 */
572     0x00000000, 0x01000300, 0x00000000, 0x00000300,
573     0x00000000, 0x00000000, 0x00000000, 0x00000000,
574     } },
575     { { /* 135 */
576     0x00000007, 0x00000000, 0x00000000, 0x00000000,
577     0x00000000, 0x00000000, 0x00000000, 0x00000000,
578     } },
579     { { /* 136 */
580     0x00000000, 0xfffe0000, 0xffffffff, 0xffffffff,
581     0x00007fff, 0x00000000, 0x00000000, 0x00000000,
582     } },
583     { { /* 137 */
584     0x1fffffff, 0x00000000, 0x00000000, 0x8fffffff,
585     0x00000000, 0x00000000, 0x00000000, 0x00000000,
586     } },
587     { { /* 138 */
588     0x43722f8b, 0x0b042000, 0xe340e82c, 0x40c82800,
589     0x49375944, 0x04407976, 0xa3f02c93, 0x08c50038,
590     } },
591     { { /* 139 */
592     0x0003ee02, 0x35508000, 0x1e23e1c8, 0xc4498200,
593     0x2942ad5a, 0x8060c000, 0xa49a461c, 0x052ac003,
594     } },
595     { { /* 140 */
596     0xd6462a44, 0x08003dda, 0x14208388, 0x01700020,
597     0x03022021, 0x40ac3000, 0x44628620, 0x8a0020a0,
598     } },
599     { { /* 141 */
600     0x80040253, 0x14840402, 0x10047bfb, 0x11e27fa4,
601     0x00a42441, 0x20c01421, 0x70003a50, 0x27430002,
602     } },
603     { { /* 142 */
604     0x208245c9, 0x0fc14630, 0x28503c88, 0xa0248602,
605     0x88062388, 0x40000e19, 0xeb6422aa, 0xcd28001c,
606     } },
607     { { /* 143 */
608     0x02e1a120, 0x8200840b, 0x549e279b, 0xa0b38141,
609     0x85080010, 0x08002061, 0x08d02f08, 0x010fbe3e,
610     } },
611     { { /* 144 */
612     0xa803f718, 0x5b080a41, 0x00020504, 0x382a0500,
613     0x00015041, 0x21081910, 0x00000313, 0x04046122,
614     } },
615     { { /* 145 */
616     0x100140d0, 0x40228000, 0x40488050, 0x10000008,
617     0x370006d1, 0x00005e80, 0x941000a0, 0x60000018,
618     } },
619     { { /* 146 */
620     0x00900240, 0x00548000, 0x00080000, 0x00100900,
621     0x00000040, 0x10105020, 0x4c022400, 0x06010001,
622     } },
623     { { /* 147 */
624     0x814c2918, 0x08012100, 0x00036485, 0x10214452,
625     0x00080904, 0x0000000d, 0x80004988, 0x16910001,
626     } },
627     { { /* 148 */
628     0x40000765, 0x04338492, 0x45928c00, 0x52200016,
629     0xd0080228, 0x4c084300, 0xc32a40a2, 0x2e009810,
630     } },
631     { { /* 149 */
632     0x16708000, 0x40826e84, 0x04b3c390, 0x21187c85,
633     0x02c8041c, 0x4a001120, 0x361b0a48, 0x89005540,
634     } },
635     { { /* 150 */
636     0x9902000a, 0x10400221, 0x04000242, 0x00000044,
637     0x0c040000, 0x00000010, 0x00001216, 0x00000242,
638     } },
639     { { /* 151 */
640     0x00401a20, 0x00000400, 0xb5b30009, 0x15230a18,
641     0x1fe89ba0, 0x8379507c, 0xc09d10fd, 0x0560dbf6,
642     } },
643     { { /* 152 */
644     0x0242ef92, 0xdf020110, 0x08226961, 0x02029035,
645     0x00030000, 0x45aa1a02, 0x02000001, 0x28518101,
646     } },
647     { { /* 153 */
648     0x02d26080, 0x00000280, 0x00011800, 0x00009200,
649     0x20000880, 0x35000405, 0x60442000, 0x609e49e6,
650     } },
651     { { /* 154 */
652     0x2a42104c, 0xa1482820, 0x802010b1, 0x7b9c000e,
653     0x14a08490, 0x41e028c1, 0x8c490704, 0x0cc8100d,
654     } },
655     { { /* 155 */
656     0x89ba8412, 0x142202c0, 0x0ac05500, 0x92833ec4,
657     0x43871ca3, 0x22a04703, 0x03c03028, 0xa0200801,
658     } },
659     { { /* 156 */
660     0x30448000, 0x000085a3, 0x2225200e, 0x0001b73c,
661     0x8c503220, 0x315d0099, 0x940200a0, 0x0e4b0003,
662     } },
663     { { /* 157 */
664     0x8c20e342, 0xd0910080, 0xa3281d94, 0x60c1499c,
665     0x07134406, 0x44445a90, 0x00000f88, 0x95c40040,
666     } },
667     { { /* 158 */
668     0x84477581, 0xc0534402, 0x01082b83, 0x92424000,
669     0x09a60611, 0x32220800, 0x1bddb384, 0xc08af000,
670     } },
671     { { /* 159 */
672     0x00020282, 0x6c008800, 0x00219200, 0x8c844180,
673     0x09441308, 0x000007a7, 0x0c418051, 0x00d06002,
674     } },
675     { { /* 160 */
676     0x10d0a000, 0x44003004, 0x01000000, 0x07008201,
677     0x440e0100, 0x08056830, 0x051464b2, 0x441410e6,
678     } },
679     { { /* 161 */
680     0x21000011, 0xcbc09c08, 0x40c2e120, 0x41b4304c,
681     0x9a8310ac, 0x328198b2, 0x00849822, 0xbc123369,
682     } },
683     { { /* 162 */
684     0xc03bd6c0, 0x0c53a1a1, 0xea008a1e, 0x05d8cbf0,
685     0x21c34390, 0x4a1c4805, 0x324002d0, 0xd79d0041,
686     } },
687     { { /* 163 */
688     0xe8b02b09, 0x24527dc0, 0xd04bc240, 0xc8aba000,
689     0x34a98a80, 0x41c98000, 0x241f8010, 0x487b9200,
690     } },
691     { { /* 164 */
692     0x00cc0000, 0x33008406, 0x001b410f, 0x80402000,
693     0xa0988022, 0x006ba186, 0x85a42a30, 0x06044181,
694     } },
695     { { /* 165 */
696     0x00046021, 0xa0010080, 0x46b80400, 0x03a0e90f,
697     0x18200000, 0x081040a0, 0x0001380a, 0xa8000500,
698     } },
699     { { /* 166 */
700     0xc28a0404, 0x2720000a, 0x830c0910, 0x00000802,
701     0x10806211, 0x0808000c, 0x0c08000c, 0x08400000,
702     } },
703     { { /* 167 */
704     0x00441410, 0x6404000b, 0x800150c0, 0x8984047e,
705     0x41400658, 0x94a4c000, 0x09dca862, 0x00001800,
706     } },
707     { { /* 168 */
708     0x000a8100, 0x41900008, 0xe4a14007, 0x64452501,
709     0x0e7d11ee, 0xfb084800, 0x08a81616, 0x0009c92e,
710     } },
711     { { /* 169 */
712     0x4a821800, 0x6b6406a0, 0x16000002, 0x83905648,
713     0x002a73a0, 0x00248000, 0x470288f9, 0x0faa4d02,
714     } },
715     { { /* 170 */
716     0x8e800000, 0x7554b87b, 0xd9402418, 0x040cc880,
717     0xb0410000, 0x04428c24, 0x001a5a34, 0xc1108000,
718     } },
719     { { /* 171 */
720     0x00328046, 0x8106180d, 0xcd920002, 0x74016014,
721     0x00916112, 0x420ac098, 0x8420040f, 0x40029a13,
722     } },
723     { { /* 172 */
724     0xfd228a62, 0x40808188, 0x21031000, 0x31010808,
725     0x07044420, 0x0388b812, 0xa3008900, 0x22020000,
726     } },
727     { { /* 173 */
728     0x46001210, 0x00410042, 0x52415680, 0x200052f0,
729     0x82148610, 0x46021004, 0x8035430a, 0xd80060e0,
730     } },
731     { { /* 174 */
732     0x08010041, 0x6c653400, 0xab0411c1, 0x22040286,
733     0x00000003, 0x00009084, 0x02814015, 0x33000202,
734     } },
735     { { /* 175 */
736     0x38400400, 0xc0c00e20, 0x00850030, 0x0d250500,
737     0x81d04ad0, 0x020c2280, 0x6240b605, 0x62802679,
738     } },
739     { { /* 176 */
740     0x080802ea, 0x8579dd67, 0xdea0081b, 0x40008735,
741     0xd1000a8c, 0xa22505aa, 0x15108440, 0x0080404d,
742     } },
743     { { /* 177 */
744     0x8d220012, 0x058f1968, 0x3a1a9080, 0x85618464,
745     0x2002ccc0, 0x732e0820, 0x0b3420a4, 0x14150004,
746     } },
747     { { /* 178 */
748     0x82002001, 0x08000057, 0x00445004, 0x79051212,
749     0x000940d0, 0x84004000, 0xd844054c, 0x5114409a,
750     } },
751     { { /* 179 */
752     0x40000b12, 0x15800201, 0x08002001, 0xc200084a,
753     0x40020800, 0x98093020, 0x18800000, 0x0008e22c,
754     } },
755     { { /* 180 */
756     0x00040004, 0x001410e0, 0x20008020, 0x10009800,
757     0x00827082, 0x1c000288, 0x00014c22, 0x08209100,
758     } },
759     { { /* 181 */
760     0x00404002, 0x44001c00, 0x7cc10383, 0x84002121,
761     0x0002e002, 0xe20a44c0, 0x81260e03, 0x080002d0,
762     } },
763     { { /* 182 */
764     0x96902921, 0xb8c24001, 0x00806241, 0xa6510a06,
765     0x812c0112, 0x0400c600, 0xa2800cb0, 0x8640a429,
766     } },
767     { { /* 183 */
768     0x4a028000, 0x02003041, 0x0057ba40, 0x20205001,
769     0x24b08880, 0x01122002, 0x000402d3, 0x00000211,
770     } },
771     { { /* 184 */
772     0x40040080, 0xe0000c82, 0x00003008, 0x00081011,
773     0x81a40208, 0x420e40a0, 0xc0400400, 0x48000081,
774     } },
775     { { /* 185 */
776     0x0f912df5, 0x0629d807, 0x4001007c, 0x824e4546,
777     0x1008c000, 0xed363005, 0x65400c80, 0x0810930b,
778     } },
779     { { /* 186 */
780     0xe8200600, 0x6082c80a, 0x403400ca, 0x12012e02,
781     0x19489004, 0x00000000, 0x00000000, 0x00000000,
782     } },
783     { { /* 187 */
784     0x00000000, 0x05400000, 0x00311000, 0x02a54c00,
785     0x44105520, 0x23040310, 0x80345422, 0x12010a03,
786     } },
787     { { /* 188 */
788     0x01a1126b, 0xa0482000, 0x45400448, 0xe08d8000,
789     0x28401af0, 0x04168626, 0x4c005018, 0x21120032,
790     } },
791     { { /* 189 */
792     0x0d0005e4, 0x42008a08, 0x00334800, 0x87030860,
793     0x34008501, 0xe4280109, 0x81002045, 0x5c1825a8,
794     } },
795     { { /* 190 */
796     0xd80435a0, 0x02e01c02, 0x020000a1, 0x4146c050,
797     0xa6046800, 0xbb8af260, 0xc8b60000, 0x600200e2,
798     } },
799     { { /* 191 */
800     0x0080023e, 0x03728900, 0x00068681, 0x08880000,
801     0x41404600, 0x20000e04, 0x10481622, 0x22178a00,
802     } },
803     { { /* 192 */
804     0x00007418, 0x21021200, 0x08800200, 0x0420984a,
805     0x12110000, 0x99040002, 0x04022a55, 0x10105000,
806     } },
807     { { /* 193 */
808     0x459a0000, 0xa000b02a, 0x0208420a, 0x00002708,
809     0x08128090, 0x04018740, 0x3020e202, 0x8c800630,
810     } },
811     { { /* 194 */
812     0x04c004c4, 0x80002000, 0xd8314000, 0x02000080,
813     0x00081400, 0x00000218, 0x8a100880, 0x40002010,
814     } },
815     { { /* 195 */
816     0x1500010d, 0x00000000, 0x80a04000, 0x01500140,
817     0x80002004, 0x04080004, 0x00000010, 0x4a049001,
818     } },
819     { { /* 196 */
820     0x80000020, 0x0842000c, 0x2a8c3041, 0xc085090e,
821     0x40c42906, 0x00100800, 0xb2308006, 0x21380102,
822     } },
823     { { /* 197 */
824     0x030d0080, 0x09400420, 0x80000012, 0x80040410,
825     0x004888ca, 0x24040602, 0x00040001, 0x01100008,
826     } },
827     { { /* 198 */
828     0xa9c8550d, 0x0c522428, 0x48310000, 0x022f624d,
829     0x412830a0, 0xd205057b, 0x1844a894, 0x45c26cc2,
830     } },
831     { { /* 199 */
832     0x2ed14017, 0x02081901, 0x1500c202, 0x20919040,
833     0x044d0401, 0x00000000, 0x00000000, 0x00000000,
834     } },
835     { { /* 200 */
836     0x00000000, 0x80800000, 0x04201542, 0x06000c02,
837     0x60001404, 0xb9d99f87, 0x540a059f, 0x3810245d,
838     } },
839     { { /* 201 */
840     0x004825b0, 0x00000000, 0x00000000, 0x00990850,
841     0x02000420, 0x44080108, 0x28009840, 0x0008810a,
842     } },
843     { { /* 202 */
844     0x40018400, 0x00210400, 0x82000794, 0x00500001,
845     0x00002482, 0x00001c00, 0x80043c01, 0x49000800,
846     } },
847     { { /* 203 */
848     0xf83c0228, 0xcb0886c0, 0xa0006230, 0x00000004,
849     0x18000000, 0x0007a148, 0x00124024, 0x22852c40,
850     } },
851     { { /* 204 */
852     0xe6b3a96f, 0x5126400f, 0x723b6c86, 0xb5a4e20b,
853     0x0222859f, 0x0123854c, 0x40000402, 0x20202102,
854     } },
855     { { /* 205 */
856     0x02240004, 0x00042080, 0x00047e00, 0x01a01604,
857     0x10042a80, 0x0032d800, 0x3183fa81, 0x00200488,
858     } },
859     { { /* 206 */
860     0x40872000, 0x84100000, 0x48800221, 0x00000074,
861     0x114a0029, 0x02c80000, 0x00049000, 0x11000410,
862     } },
863     { { /* 207 */
864     0xc5010010, 0x0000c957, 0x08102d00, 0x50204000,
865     0x04501000, 0x00013088, 0x40020008, 0x00400012,
866     } },
867     { { /* 208 */
868     0x01000010, 0x01200820, 0x08060010, 0xa0000000,
869     0x00000000, 0x00000000, 0x00000000, 0x00000000,
870     } },
871     { { /* 209 */
872     0x00000000, 0x00000000, 0x00000000, 0x00800000,
873     0x011e8a09, 0x18022138, 0x10700480, 0x00000006,
874     } },
875     { { /* 210 */
876     0x10000000, 0x88044402, 0xf8013815, 0x21e9041c,
877     0x1b306c60, 0x08820588, 0x1a607af3, 0x0ac5870c,
878     } },
879     { { /* 211 */
880     0x524a00c1, 0x22050080, 0x50420114, 0x04902206,
881     0x0000a800, 0x00002901, 0x10080840, 0x88480000,
882     } },
883     { { /* 212 */
884     0x018f156f, 0x0b012000, 0x45107040, 0x000088a0,
885     0x00000000, 0x00028100, 0x98000090, 0x7010e006,
886     } },
887     { { /* 213 */
888     0x41091608, 0x00000101, 0x00963a20, 0x00000000,
889     0x22400000, 0x021a7120, 0xa2270002, 0x80022000,
890     } },
891     { { /* 214 */
892     0x0200c102, 0x00c10800, 0x8ca02029, 0x00000624,
893     0x00000000, 0x01000100, 0x01180000, 0x00004020,
894     } },
895     { { /* 215 */
896     0x04000000, 0x10020480, 0x0410803e, 0x00008000,
897     0x80024000, 0x00004800, 0x00400200, 0x00000110,
898     } },
899     { { /* 216 */
900     0x00252000, 0x08040020, 0x00800280, 0x00000000,
901     0x00000000, 0x00000000, 0x00000000, 0x005802a0,
902     } },
903     { { /* 217 */
904     0x08000200, 0x08000140, 0x20020000, 0x00041003,
905     0x00000000, 0x00108200, 0x00800010, 0x07040000,
906     } },
907     { { /* 218 */
908     0x44000000, 0x00000000, 0x00000000, 0xa2200000,
909     0xa08c0000, 0x48300020, 0x59126008, 0x00100100,
910     } },
911     { { /* 219 */
912     0x00084180, 0x08000001, 0x80044c00, 0x00801482,
913     0x10212000, 0x00000000, 0x00000000, 0x00000000,
914     } },
915     { { /* 220 */
916     0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
917     0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
918     } },
919     { { /* 221 */
920     0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
921     0xffffffff, 0x0000000f, 0x00000000, 0x00000000,
922     } },
923     { { /* 222 */
924     0x00000fff, 0x00000000, 0x00000000, 0x00000000,
925     0x00000000, 0x00000000, 0x00000000, 0x00000000,
926     } },
927     { { /* 223 */
928     0x00000000, 0x00000000, 0x00000000, 0x00000000,
929     0x00000000, 0x00000000, 0x00000000, 0x00000040,
930     } },
931     { { /* 224 */
932     0x000c0003, 0x00003c00, 0x0000f000, 0x00003c00,
933     0x00000000, 0x00000000, 0x00000000, 0x00000000,
934     } },
935     { { /* 225 */
936     0x000033f0, 0x0000c000, 0x00000000, 0x600c0c03,
937     0x00000000, 0x00000000, 0x00000000, 0x00000000,
938     } },
939     { { /* 226 */
940     0x000c3003, 0x18c00c0c, 0x00c03060, 0x60000c03,
941     0x00000000, 0x00000000, 0x00000000, 0x00000000,
942     } },
943     { { /* 227 */
944     0xfdffb729, 0x000001ff, 0xb7290000, 0x00000000,
945     0x00000000, 0x00000000, 0x00000000, 0x00000000,
946     } },
947     { { /* 228 */
948     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
949     0x00000000, 0x00000000, 0x00004004, 0x00004004,
950     } },
951     { { /* 229 */
952     0x0000000c, 0x00000000, 0x00000000, 0x00000000,
953     0x00000000, 0x00000000, 0x00000000, 0x00000000,
954     } },
955     { { /* 230 */
956     0x0f000000, 0x00000000, 0x00000000, 0x00000000,
957     0x00000000, 0x00000000, 0x00000000, 0x00000000,
958     } },
959     { { /* 231 */
960     0xffff0002, 0xffffffff, 0x0002ffff, 0x00000000,
961     0x00000000, 0x00000000, 0x00000000, 0x00000000,
962     } },
963     { { /* 232 */
964     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
965     0x00000000, 0x00000000, 0x0e1c7707, 0x0e1c7707,
966     } },
967     { { /* 233 */
968     0x00000c00, 0x000000c3, 0x00000000, 0x18000000,
969     0x00000000, 0x00000000, 0x00000000, 0x00000000,
970     } },
971     { { /* 234 */
972     0x00000000, 0x00000000, 0x00000000, 0x00000000,
973     0x00000000, 0x10000000, 0x00000000, 0x00000000,
974     } },
975     { { /* 235 */
976     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
977     0x00000000, 0x00000000, 0x10408810, 0x10408810,
978     } },
979     { { /* 236 */
980     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
981     0x00000000, 0x08000800, 0x115c0ff7, 0x115c0ff7,
982     } },
983     { { /* 237 */
984     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
985     0x00000000, 0x00000000, 0x000cab83, 0x0004ab83,
986     } },
987     { { /* 238 */
988     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
989     0x00000000, 0x00000000, 0x00080000, 0x00080000,
990     } },
991     { { /* 239 */
992     0x030000f0, 0x00000000, 0x0c00001e, 0x1e000000,
993     0x00000000, 0x00000000, 0x00000000, 0x00000000,
994     } },
995     { { /* 240 */
996     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
997     0x00000000, 0x08000000, 0x1438268f, 0x1438268f,
998     } },
999     { { /* 241 */
1000     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
1001     0x00000000, 0x00000000, 0x02045301, 0x02045301,
1002     } },
1003     { { /* 242 */
1004     0xffff0042, 0xffffffff, 0x0042ffff, 0x003c000c,
1005     0x00000000, 0x00000000, 0x00000000, 0x00000000,
1006     } },
1007     { { /* 243 */
1008     0xfdff8f04, 0xfdff01ff, 0x8f0401ff, 0x00000000,
1009     0x00000000, 0x00000000, 0x00000000, 0x00000000,
1010     } },
1011     { { /* 244 */
1012     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
1013     0x00000000, 0x00000000, 0x34582212, 0x34582212,
1014     } },
1015     { { /* 245 */
1016     0x0000f000, 0x66000000, 0x00330180, 0x60030033,
1017     0x00000000, 0x00000000, 0x00000000, 0x00000000,
1018     } },
1019     { { /* 246 */
1020     0x000330c0, 0x00000000, 0x00000000, 0x60000003,
1021     0x00000000, 0x00000000, 0x00001b60, 0x003c0000,
1022     } },
1023     { { /* 247 */
1024     0x00009e2c, 0x00000000, 0x9e2c0000, 0x00000000,
1025     0x00000000, 0x00000000, 0x00000000, 0x00000000,
1026     } },
1027     { { /* 248 */
1028     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
1029     0x00000000, 0x00000000, 0x00000880, 0x00000880,
1030     } },
1031     { { /* 249 */
1032     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
1033     0x00000000, 0x08000000, 0x3fdfffff, 0x3f5fffff,
1034     } },
1035     { { /* 250 */
1036     0xfffffffe, 0x87ffffff, 0x0fffffff, 0x00000000,
1037     0x00000000, 0x00000000, 0x00000000, 0x00000000,
1038     } },
1039     { { /* 251 */
1040     0x00000000, 0x00000000, 0x07fffffe, 0x07fffffe,
1041     0x00000000, 0x00800000, 0x18400004, 0x18400084,
1042     } },
1043     { { /* 252 */
1044     0xc0000000, 0x00000000, 0x00000000, 0x00000000,
1045     0x00000000, 0x00000000, 0x00000000, 0x00000000,
1046     } },
1047     { { /* 253 */
1048     0xffff00d2, 0xffffffff, 0x00d2ffff, 0x00000000,
1049     0x00030000, 0x00000000, 0x00000000, 0x00000000,
1050     } },
1051     { { /* 254 */
1052     0x00000000, 0x00000000, 0x077dfffe, 0x077dfffe,
1053     0x00000000, 0x00000000, 0x10400010, 0x10400010,
1054     } },
1055     { { /* 255 */
1056     0x00000000, 0x00000000, 0x00000000, 0x00000000,
1057     0x00000000, 0x00000000, 0x00000280, 0x00000000,
1058     } },
1059     { { /* 256 */
1060     0x7f7b7f8b, 0xef553db4, 0xf35dfba8, 0x400b0243,
1061     0x8d3efb40, 0x8c2c7bf7, 0xe3fa6eff, 0xa8ed1d3a,
1062     } },
1063     { { /* 257 */
1064     0xcf83e602, 0x35558cf5, 0xffabe048, 0xd85992b9,
1065     0x2892ab18, 0x8020d7e9, 0xf583c438, 0x450ae74a,
1066     } },
1067     { { /* 258 */
1068     0x9714b000, 0x54007762, 0x1420d188, 0xc8c01020,
1069     0x00002121, 0x0c0413a8, 0x04408000, 0x082870c0,
1070     } },
1071     { { /* 259 */
1072     0x000408c0, 0x80000002, 0x14722b7b, 0x3bfb7924,
1073     0x1ae43327, 0x38ef9835, 0x28029ad1, 0xbf69a813,
1074     } },
1075     { { /* 260 */
1076     0x2fc665cf, 0xafc96b11, 0x5053340f, 0xa00486a2,
1077     0xe8090106, 0xc00e3f0f, 0x81450a88, 0xc6010010,
1078     } },
1079     { { /* 261 */
1080     0x26e1a161, 0xce00444b, 0xd4eec7aa, 0x85bbcadf,
1081     0xa5203a74, 0x8840436c, 0x8bd23f06, 0x3befff79,
1082     } },
1083     { { /* 262 */
1084     0xe8eff75a, 0x5b36fbcb, 0x1bfd0d49, 0x39ee0154,
1085     0x2e75d855, 0xa91abfd8, 0xf6bff3d7, 0xb40c67e0,
1086     } },
1087     { { /* 263 */
1088     0x081382c2, 0xd08bd49d, 0x1061065a, 0x59e074f2,
1089     0xb3128f9f, 0x6aaa0080, 0xb05e3230, 0x60ac9d7a,
1090     } },
1091     { { /* 264 */
1092     0xc900d303, 0x8a563098, 0x13907000, 0x18421f14,
1093     0x0008c060, 0x10808008, 0xec900400, 0xe6332817,
1094     } },
1095     { { /* 265 */
1096     0x90000758, 0x4e09f708, 0xfc83f485, 0x18c8af53,
1097     0x080c187c, 0x01146adf, 0xa734c80c, 0x2710a011,
1098     } },
1099     { { /* 266 */
1100     0x422228c5, 0x00210413, 0x41123010, 0x40001820,
1101     0xc60c022b, 0x10000300, 0x00220022, 0x02495810,
1102     } },
1103     { { /* 267 */
1104     0x9670a094, 0x1792eeb0, 0x05f2cb96, 0x23580025,
1105     0x42cc25de, 0x4a04cf38, 0x359f0c40, 0x8a001128,
1106     } },
1107     { { /* 268 */
1108     0x910a13fa, 0x10560229, 0x04200641, 0x84f00484,
1109     0x0c040000, 0x412c0400, 0x11541206, 0x00020a4b,
1110     } },
1111     { { /* 269 */
1112     0x00c00200, 0x00940000, 0xbfbb0001, 0x242b167c,
1113     0x7fa89bbb, 0xe3790c7f, 0xe00d10f4, 0x9f014132,
1114     } },
1115     { { /* 270 */
1116     0x35728652, 0xff1210b4, 0x4223cf27, 0x8602c06b,
1117     0x1fd33106, 0xa1aa3a0c, 0x02040812, 0x08012572,
1118     } },
1119     { { /* 271 */
1120     0x485040cc, 0x601062d0, 0x29001c80, 0x00109a00,
1121     0x22000004, 0x00800000, 0x68002020, 0x609ecbe6,
1122     } },
1123     { { /* 272 */
1124     0x3f73916e, 0x398260c0, 0x48301034, 0xbd5c0006,
1125     0xd6fb8cd1, 0x43e820e1, 0x084e0600, 0xc4d00500,
1126     } },
1127     { { /* 273 */
1128     0x89aa8d1f, 0x1602a6e1, 0x21ed0001, 0x1a8b3656,
1129     0x13a51fb7, 0x30a06502, 0x23c7b278, 0xe9226c93,
1130     } },
1131     { { /* 274 */
1132     0x3a74e47f, 0x98208fe3, 0x2625280e, 0xbf49bf9c,
1133     0xac543218, 0x1916b949, 0xb5220c60, 0x0659fbc1,
1134     } },
1135     { { /* 275 */
1136     0x8420e343, 0x800008d9, 0x20225500, 0x00a10184,
1137     0x20104800, 0x40801380, 0x00160d04, 0x80200040,
1138     } },
1139     { { /* 276 */
1140     0x8de7fd40, 0xe0985436, 0x091e7b8b, 0xd249fec8,
1141     0x8dee0611, 0xba221937, 0x9fdd77f4, 0xf0daf3ec,
1142     } },
1143     { { /* 277 */
1144     0xec424386, 0x26048d3f, 0xc021fa6c, 0x0cc2628e,
1145     0x0145d785, 0x559977ad, 0x4045e250, 0xa154260b,
1146     } },
1147     { { /* 278 */
1148     0x58199827, 0xa4103443, 0x411405f2, 0x07002280,
1149     0x426600b4, 0x15a17210, 0x41856025, 0x00000054,
1150     } },
1151     { { /* 279 */
1152     0x01040201, 0xcb70c820, 0x6a629320, 0x0095184c,
1153     0x9a8b1880, 0x3201aab2, 0x00c4d87a, 0x04c3f3e5,
1154     } },
1155     { { /* 280 */
1156     0xa238d44d, 0x5072a1a1, 0x84fc980a, 0x44d1c152,
1157     0x20c21094, 0x42104180, 0x3a000000, 0xd29d0240,
1158     } },
1159     { { /* 281 */
1160     0xa8b12f01, 0x2432bd40, 0xd04bd34d, 0xd0ada723,
1161     0x75a10a92, 0x01e9adac, 0x771f801a, 0xa01b9225,
1162     } },
1163     { { /* 282 */
1164     0x20cadfa1, 0x738c0602, 0x003b577f, 0x00d00bff,
1165     0x0088806a, 0x0029a1c4, 0x05242a05, 0x16234009,
1166     } },
1167     { { /* 283 */
1168     0x80056822, 0xa2112011, 0x64900004, 0x13824849,
1169     0x193023d5, 0x08922980, 0x88115402, 0xa0042001,
1170     } },
1171     { { /* 284 */
1172     0x81800400, 0x60228502, 0x0b010090, 0x12020022,
1173     0x00834011, 0x00001a01, 0x00000000, 0x00000000,
1174     } },
1175     { { /* 285 */
1176     0x00000000, 0x4684009f, 0x020012c8, 0x1a0004fc,
1177     0x0c4c2ede, 0x80b80402, 0x0afca826, 0x22288c02,
1178     } },
1179     { { /* 286 */
1180     0x8f7ba0e0, 0x2135c7d6, 0xf8b106c7, 0x62550713,
1181     0x8a19936e, 0xfb0e6efa, 0x48f91630, 0x7debcd2f,
1182     } },
1183     { { /* 287 */
1184     0x4e845892, 0x7a2e4ca0, 0x561eedea, 0x1190c649,
1185     0xe83a5324, 0x8124cfdb, 0x634218f1, 0x1a8a5853,
1186     } },
1187     { { /* 288 */
1188     0x24d37420, 0x0514aa3b, 0x89586018, 0xc0004800,
1189     0x91018268, 0x2cd684a4, 0xc4ba8886, 0x02100377,
1190     } },
1191     { { /* 289 */
1192     0x00388244, 0x404aae11, 0x510028c0, 0x15146044,
1193     0x10007310, 0x02480082, 0x40060205, 0x0000c003,
1194     } },
1195     { { /* 290 */
1196     0x0c020000, 0x02200008, 0x40009000, 0xd161b800,
1197     0x32744621, 0x3b8af800, 0x8b00050f, 0x2280bbd0,
1198     } },
1199     { { /* 291 */
1200     0x07690600, 0x00438040, 0x50005420, 0x250c41d0,
1201     0x83108410, 0x02281101, 0x00304008, 0x020040a1,
1202     } },
1203     { { /* 292 */
1204     0x20000040, 0xabe31500, 0xaa443180, 0xc624c2c6,
1205     0x8004ac13, 0x03d1b000, 0x4285611e, 0x1d9ff303,
1206     } },
1207     { { /* 293 */
1208     0x78e8440a, 0xc3925e26, 0x00852000, 0x4000b001,
1209     0x88424a90, 0x0c8dca04, 0x4203a705, 0x000422a1,
1210     } },
1211     { { /* 294 */
1212     0x0c018668, 0x10795564, 0xdea00002, 0x40c12000,
1213     0x5001488b, 0x04000380, 0x50040000, 0x80d0c05d,
1214     } },
1215     { { /* 295 */
1216     0x970aa010, 0x4dafbb20, 0x1e10d921, 0x83140460,
1217     0xa6d68848, 0x733fd83b, 0x497427bc, 0x92130ddc,
1218     } },
1219     { { /* 296 */
1220     0x8ba1142b, 0xd1392e75, 0x50503009, 0x69008808,
1221     0x024a49d4, 0x80164010, 0x89d7e564, 0x5316c020,
1222     } },
1223     { { /* 297 */
1224     0x86002b92, 0x15e0a345, 0x0c03008b, 0xe200196e,
1225     0x80067031, 0xa82916a5, 0x18802000, 0xe1487aac,
1226     } },
1227     { { /* 298 */
1228     0xb5d63207, 0x5f9132e8, 0x20e550a1, 0x10807c00,
1229     0x9d8a7280, 0x421f00aa, 0x02310e22, 0x04941100,
1230     } },
1231     { { /* 299 */
1232     0x40080022, 0x5c100010, 0xfcc80343, 0x0580a1a5,
1233     0x04008433, 0x6e080080, 0x81262a4b, 0x2901aad8,
1234     } },
1235     { { /* 300 */
1236     0x4490684d, 0xba880009, 0x00820040, 0x87d10000,
1237     0xb1e6215b, 0x80083161, 0xc2400800, 0xa600a069,
1238     } },
1239     { { /* 301 */
1240     0x4a328d58, 0x550a5d71, 0x2d579aa0, 0x4aa64005,
1241     0x30b12021, 0x01123fc6, 0x260a10c2, 0x50824462,
1242     } },
1243     { { /* 302 */
1244     0x80409880, 0x810004c0, 0x00002003, 0x38180000,
1245     0xf1a60200, 0x720e4434, 0x92e035a2, 0x09008101,
1246     } },
1247     { { /* 303 */
1248     0x00000400, 0x00008885, 0x00000000, 0x00804000,
1249     0x00000000, 0x00004040, 0x00000000, 0x00000000,
1250     } },
1251     { { /* 304 */
1252     0x00000000, 0x08000000, 0x00000082, 0x00000000,
1253     0x88000004, 0xe7efbfff, 0xffbfffff, 0xfdffefef,
1254     } },
1255     { { /* 305 */
1256     0xbffefbff, 0x057fffff, 0x85b30034, 0x42164706,
1257     0xe4105402, 0xb3058092, 0x81305422, 0x180b4263,
1258     } },
1259     { { /* 306 */
1260     0x13f5387b, 0xa9ea07e5, 0x05143c4c, 0x80020600,
1261     0xbd481ad9, 0xf496ee37, 0x7ec0705f, 0x355fbfb2,
1262     } },
1263     { { /* 307 */
1264     0x455fe644, 0x41469000, 0x063b1d40, 0xfe1362a1,
1265     0x39028505, 0x0c080548, 0x0000144f, 0x58183488,
1266     } },
1267     { { /* 308 */
1268     0xd8153077, 0x4bfbbd0e, 0x85008a90, 0xe61dc100,
1269     0xb386ed14, 0x639bff72, 0xd9befd92, 0x0a92887b,
1270     } },
1271     { { /* 309 */
1272     0x1cb2d3fe, 0x177ab980, 0xdc1782c9, 0x3980fffb,
1273     0x590c4260, 0x37df0f01, 0xb15094a3, 0x23070623,
1274     } },
1275     { { /* 310 */
1276     0x3102f85a, 0x310201f0, 0x1e820040, 0x056a3a0a,
1277     0x12805b84, 0xa7148002, 0xa04b2612, 0x90011069,
1278     } },
1279     { { /* 311 */
1280     0x848a1000, 0x3f801802, 0x42400708, 0x4e140110,
1281     0x180080b0, 0x0281c510, 0x10298202, 0x88000210,
1282     } },
1283     { { /* 312 */
1284     0x00420020, 0x11000280, 0x4413e000, 0xfe025804,
1285     0x30283c07, 0x04739798, 0xcb13ced1, 0x431f6210,
1286     } },
1287     { { /* 313 */
1288     0x55ac278d, 0xc892422e, 0x02885380, 0x78514039,
1289     0x8088292c, 0x2428b900, 0x080e0c41, 0x42004421,
1290     } },
1291     { { /* 314 */
1292     0x08680408, 0x12040006, 0x02903031, 0xe0855b3e,
1293     0x10442936, 0x10822814, 0x83344266, 0x531b013c,
1294     } },
1295     { { /* 315 */
1296     0x0e0d0404, 0x00510c22, 0xc0000012, 0x88000040,
1297     0x0000004a, 0x00000000, 0x5447dff6, 0x00088868,
1298     } },
1299     { { /* 316 */
1300     0x00000081, 0x40000000, 0x00000100, 0x02000000,
1301     0x00080600, 0x00000000, 0x00000000, 0x00000000,
1302     } },
1303     { { /* 317 */
1304     0x00000080, 0x00000040, 0x00000000, 0x00001040,
1305     0x00000000, 0xf7fdefff, 0xfffeff7f, 0xfffffbff,
1306     } },
1307     { { /* 318 */
1308     0xbffffdff, 0x00ffffff, 0x042012c2, 0x07080c06,
1309     0x01101624, 0x00000000, 0x00000000, 0x00000000,
1310     } },
1311     { { /* 319 */
1312     0xe0000000, 0xfffffffe, 0x7f79ffff, 0x00f928df,
1313     0x80120c32, 0xd53a0008, 0xecc2d858, 0x2fa89d18,
1314     } },
1315     { { /* 320 */
1316     0xe0109620, 0x2622d60c, 0x02060f97, 0x9055b240,
1317     0x501180a2, 0x04049800, 0x00004000, 0x00000000,
1318     } },
1319     { { /* 321 */
1320     0x00000000, 0x00000000, 0x00000000, 0xfffffbc0,
1321     0xdffbeffe, 0x62430b08, 0xfb3b41b6, 0x23896f74,
1322     } },
1323     { { /* 322 */
1324     0xecd7ae7f, 0x5960e047, 0x098fa096, 0xa030612c,
1325     0x2aaa090d, 0x4f7bd44e, 0x388bc4b2, 0x6110a9c6,
1326     } },
1327     { { /* 323 */
1328     0x42000014, 0x0202800c, 0x6485fe48, 0xe3f7d63e,
1329     0x0c073aa0, 0x0430e40c, 0x1002f680, 0x00000000,
1330     } },
1331     { { /* 324 */
1332     0x00000000, 0x00000000, 0x00000000, 0x00100000,
1333     0x00004000, 0x00004000, 0x00000100, 0x00000000,
1334     } },
1335     { { /* 325 */
1336     0x00000000, 0x40000000, 0x00000000, 0x00000400,
1337     0x00008000, 0x00000000, 0x00400400, 0x00000000,
1338     } },
1339     { { /* 326 */
1340     0x00000000, 0x40000000, 0x00000000, 0x00000800,
1341     0xfebdffe0, 0xffffffff, 0xfbe77f7f, 0xf7ffffbf,
1342     } },
1343     { { /* 327 */
1344     0xefffffff, 0xdff7ff7e, 0xfbdff6f7, 0x804fbffe,
1345     0x00000000, 0x00000000, 0x00000000, 0x7fffef00,
1346     } },
1347     { { /* 328 */
1348     0xb6f7ff7f, 0xb87e4406, 0x88313bf5, 0x00f41796,
1349     0x1391a960, 0x72490080, 0x0024f2f3, 0x42c88701,
1350     } },
1351     { { /* 329 */
1352     0x5048e3d3, 0x43052400, 0x4a4c0000, 0x10580227,
1353     0x01162820, 0x0014a809, 0x00000000, 0x00683ec0,
1354     } },
1355     { { /* 330 */
1356     0x00000000, 0x00000000, 0x00000000, 0xffe00000,
1357     0xfddbb7ff, 0x000000f7, 0xc72e4000, 0x00000180,
1358     } },
1359     { { /* 331 */
1360     0x00012000, 0x00004000, 0x00300000, 0xb4f7ffa8,
1361     0x03ffadf3, 0x00000120, 0x00000000, 0x00000000,
1362     } },
1363     { { /* 332 */
1364     0x00000000, 0x00000000, 0x00000000, 0xfffbf000,
1365     0xfdcf9df7, 0x15c301bf, 0x810a1827, 0x0a00a842,
1366     } },
1367     { { /* 333 */
1368     0x80088108, 0x18048008, 0x0012a3be, 0x00000000,
1369     0x00000000, 0x00000000, 0x00000000, 0x00000000,
1370     } },
1371     { { /* 334 */
1372     0x00000000, 0x00000000, 0x00000000, 0x90000000,
1373     0xdc3769e6, 0x3dff6bff, 0xf3f9fcf8, 0x00000004,
1374     } },
1375     { { /* 335 */
1376     0x80000000, 0xe7eebf6f, 0x5da2dffe, 0xc00b3fd8,
1377     0xa00c0984, 0x69100040, 0xb912e210, 0x5a0086a5,
1378     } },
1379     { { /* 336 */
1380     0x02896800, 0x6a809005, 0x00030010, 0x80000000,
1381     0x8e001ff9, 0x00000001, 0x00000000, 0x00000000,
1382     } },
1383     { { /* 337 */
1384     0x0000002f, 0x000003fe, 0x00000000, 0x00000000,
1385     0x00000000, 0x00000000, 0x00000000, 0x00000000,
1386     } },
1387     { { /* 338 */
1388     0xc373ff8b, 0x1b0f6840, 0xf34ce9ac, 0xc0080200,
1389     0xca3e795c, 0x06487976, 0xf7f02fdf, 0xa8ff033a,
1390     } },
1391     { { /* 339 */
1392     0x233fef37, 0xfd59b004, 0xfffff3ca, 0xfff9de9f,
1393     0x7df7abff, 0x8eecc000, 0xffdbeebf, 0x45fad003,
1394     } },
1395     { { /* 340 */
1396     0xdffefae1, 0x10abbfef, 0xfcaaffeb, 0x24fdef3f,
1397     0x7f7678ad, 0xedfff00c, 0x2cfacff6, 0xeb6bf7f9,
1398     } },
1399     { { /* 341 */
1400     0x95bf1ffd, 0xbfbf6677, 0xfeb43bfb, 0x11e27bae,
1401     0x41bea681, 0x72c31435, 0x71917d70, 0x276b0003,
1402     } },
1403     { { /* 342 */
1404     0x70cf57cb, 0x0def4732, 0xfc747eda, 0xbdb4fe06,
1405     0x8bca3f9f, 0x58007e49, 0xebec228f, 0xddbb8a5c,
1406     } },
1407     { { /* 343 */
1408     0xb6e7ef60, 0xf293a40f, 0x549e37bb, 0x9bafd04b,
1409     0xf7d4c414, 0x0a1430b0, 0x88d02f08, 0x192fff7e,
1410     } },
1411     { { /* 344 */
1412     0xfb07ffda, 0x7beb7ff1, 0x0010c5ef, 0xfdff99ff,
1413     0x056779d7, 0xfdcbffe7, 0x4040c3ff, 0xbd8e6ff7,
1414     } },
1415     { { /* 345 */
1416     0x0497dffa, 0x5bfff4c0, 0xd0e7ed7b, 0xf8e0047e,
1417     0xb73eff9f, 0x882e7dfe, 0xbe7ffffd, 0xf6c483fe,
1418     } },
1419     { { /* 346 */
1420     0xb8fdf357, 0xef7dd680, 0x47885767, 0xc3dfff7d,
1421     0x37a9f0ff, 0x70fc7de0, 0xec9a3f6f, 0x86814cb3,
1422     } },
1423     { { /* 347 */
1424     0xdd5c3f9e, 0x4819f70d, 0x0007fea3, 0x38ffaf56,
1425     0xefb8980d, 0xb760403d, 0x9035d8ce, 0x3fff72bf,
1426     } },
1427     { { /* 348 */
1428     0x7a117ff7, 0xabfff7bb, 0x6fbeff00, 0xfe72a93c,
1429     0xf11bcfef, 0xf40adb6b, 0xef7ec3e6, 0xf6109b9c,
1430     } },
1431     { { /* 349 */
1432     0x16f4f048, 0x5182feb5, 0x15bbc7b1, 0xfbdf6e87,
1433     0x63cde43f, 0x7e7ec1ff, 0x7d5ffdeb, 0xfcfe777b,
1434     } },
1435     { { /* 350 */
1436     0xdbea960b, 0x53e86229, 0xfdef37df, 0xbd8136f5,
1437     0xfcbddc18, 0xffffd2e4, 0xffe03fd7, 0xabf87f6f,
1438     } },
1439     { { /* 351 */
1440     0x6ed99bae, 0xf115f5fb, 0xbdfb79a9, 0xadaf5a3c,
1441     0x1facdbba, 0x837971fc, 0xc35f7cf7, 0x0567dfff,
1442     } },
1443     { { /* 352 */
1444     0x8467ff9a, 0xdf8b1534, 0x3373f9f3, 0x5e1af7bd,
1445     0xa03fbf40, 0x01ebffff, 0xcfdddfc0, 0xabd37500,
1446     } },
1447     { { /* 353 */
1448     0xeed6f8c3, 0xb7ff43fd, 0x42275eaf, 0xf6869bac,
1449     0xf6bc27d7, 0x35b7f787, 0xe176aacd, 0xe29f49e7,
1450     } },
1451     { { /* 354 */
1452     0xaff2545c, 0x61d82b3f, 0xbbb8fc3b, 0x7b7dffcf,
1453     0x1ce0bf95, 0x43ff7dfd, 0xfffe5ff6, 0xc4ced3ef,
1454     } },
1455     { { /* 355 */
1456     0xadbc8db6, 0x11eb63dc, 0x23d0df59, 0xf3dbbeb4,
1457     0xdbc71fe7, 0xfae4ff63, 0x63f7b22b, 0xadbaed3b,
1458     } },
1459     { { /* 356 */
1460     0x7efffe01, 0x02bcfff7, 0xef3932ff, 0x8005fffc,
1461     0xbcf577fb, 0xfff7010d, 0xbf3afffb, 0xdfff0057,
1462     } },
1463     { { /* 357 */
1464     0xbd7def7b, 0xc8d4db88, 0xed7cfff3, 0x56ff5dee,
1465     0xac5f7e0d, 0xd57fff96, 0xc1403fee, 0xffe76ff9,
1466     } },
1467     { { /* 358 */
1468     0x8e77779b, 0xe45d6ebf, 0x5f1f6fcf, 0xfedfe07f,
1469     0x01fed7db, 0xfb7bff00, 0x1fdfffd4, 0xfffff800,
1470     } },
1471     { { /* 359 */
1472     0x007bfb8f, 0x7f5cbf00, 0x07f3ffff, 0x3de7eba0,
1473     0xfbd7f7bf, 0x6003ffbf, 0xbfedfffd, 0x027fefbb,
1474     } },
1475     { { /* 360 */
1476     0xddfdfe40, 0xe2f9fdff, 0xfb1f680b, 0xaffdfbe3,
1477     0xf7ed9fa4, 0xf80f7a7d, 0x0fd5eebe, 0xfd9fbb5d,
1478     } },
1479     { { /* 361 */
1480     0x3bf9f2db, 0xebccfe7f, 0x73fa876a, 0x9ffc95fc,
1481     0xfaf7109f, 0xbbcdddb7, 0xeccdf87e, 0x3c3ff366,
1482     } },
1483     { { /* 362 */
1484     0xb03ffffd, 0x067ee9f7, 0xfe0696ae, 0x5fd7d576,
1485     0xa3f33fd1, 0x6fb7cf07, 0x7f449fd1, 0xd3dd7b59,
1486     } },
1487     { { /* 363 */
1488     0xa9bdaf3b, 0xff3a7dcf, 0xf6ebfbe0, 0xffffb401,
1489     0xb7bf7afa, 0x0ffdc000, 0xff1fff7f, 0x95fffefc,
1490     } },
1491     { { /* 364 */
1492     0xb5dc0000, 0x3f3eef63, 0x001bfb7f, 0xfbf6e800,
1493     0xb8df9eef, 0x003fff9f, 0xf5ff7bd0, 0x3fffdfdb,
1494     } },
1495     { { /* 365 */
1496     0x00bffdf0, 0xbbbd8420, 0xffdedf37, 0x0ff3ff6d,
1497     0x5efb604c, 0xfafbfffb, 0x0219fe5e, 0xf9de79f4,
1498     } },
1499     { { /* 366 */
1500     0xebfaa7f7, 0xff3401eb, 0xef73ebd3, 0xc040afd7,
1501     0xdcff72bb, 0x2fd8f17f, 0xfe0bb8ec, 0x1f0bdda3,
1502     } },
1503     { { /* 367 */
1504     0x47cf8f1d, 0xffdeb12b, 0xda737fee, 0xcbc424ff,
1505     0xcbf2f75d, 0xb4edecfd, 0x4dddbff9, 0xfb8d99dd,
1506     } },
1507     { { /* 368 */
1508     0xaf7bbb7f, 0xc959ddfb, 0xfab5fc4f, 0x6d5fafe3,
1509     0x3f7dffff, 0xffdb7800, 0x7effb6ff, 0x022ffbaf,
1510     } },
1511     { { /* 369 */
1512     0xefc7ff9b, 0xffffffa5, 0xc7000007, 0xfff1f7ff,
1513     0x01bf7ffd, 0xfdbcdc00, 0xffffbff5, 0x3effff7f,
1514     } },
1515     { { /* 370 */
1516     0xbe000029, 0xff7ff9ff, 0xfd7e6efb, 0x039ecbff,
1517     0xfbdde300, 0xf6dfccff, 0x117fffff, 0xfbf6f800,
1518     } },
1519     { { /* 371 */
1520     0xd73ce7ef, 0xdfeffeef, 0xedbfc00b, 0xfdcdfedf,
1521     0x40fd7bf5, 0xb75fffff, 0xf930ffdf, 0xdc97fbdf,
1522     } },
1523     { { /* 372 */
1524     0xbff2fef3, 0xdfbf8fdf, 0xede6177f, 0x35530f7f,
1525     0x877e447c, 0x45bbfa12, 0x779eede0, 0xbfd98017,
1526     } },
1527     { { /* 373 */
1528     0xde897e55, 0x0447c16f, 0xf75d7ade, 0x290557ff,
1529     0xfe9586f7, 0xf32f97b3, 0x9f75cfff, 0xfb1771f7,
1530     } },
1531     { { /* 374 */
1532     0xee1934ee, 0xef6137cc, 0xef4c9fd6, 0xfbddd68f,
1533     0x6def7b73, 0xa431d7fe, 0x97d75e7f, 0xffd80f5b,
1534     } },
1535     { { /* 375 */
1536     0x7bce9d83, 0xdcff22ec, 0xef87763d, 0xfdeddfe7,
1537     0xa0fc4fff, 0xdbfc3b77, 0x7fdc3ded, 0xf5706fa9,
1538     } },
1539     { { /* 376 */
1540     0x2c403ffb, 0x847fff7f, 0xdeb7ec57, 0xf22fe69c,
1541     0xd5b50feb, 0xede7afeb, 0xfff08c2f, 0xe8f0537f,
1542     } },
1543     { { /* 377 */
1544     0xb5ffb99d, 0xe78fff66, 0xbe10d981, 0xe3c19c7c,
1545     0x27339cd1, 0xff6d0cbc, 0xefb7fcb7, 0xffffa0df,
1546     } },
1547     { { /* 378 */
1548     0xfe7bbf0b, 0x353fa3ff, 0x97cd13cc, 0xfb277637,
1549     0x7e6ccfd6, 0xed31ec50, 0xfc1c677c, 0x5fbff6fa,
1550     } },
1551     { { /* 379 */
1552     0xae2f0fba, 0x7ffea3ad, 0xde74fcf0, 0xf200ffef,
1553     0xfea2fbbf, 0xbcff3daf, 0x5fb9f694, 0x3f8ff3ad,
1554     } },
1555     { { /* 380 */
1556     0xa01ff26c, 0x01bfffef, 0x70057728, 0xda03ff35,
1557     0xc7fad2f9, 0x5c1d3fbf, 0xec33ff3a, 0xfe9cb7af,
1558     } },
1559     { { /* 381 */
1560     0x7a9f5236, 0xe722bffa, 0xfcff9ff7, 0xb61d2fbb,
1561     0x1dfded06, 0xefdf7dd7, 0xf166eb23, 0x0dc07ed9,
1562     } },
1563     { { /* 382 */
1564     0xdfbf3d3d, 0xba83c945, 0x9dd07dd1, 0xcf737b87,
1565     0xc3f59ff3, 0xc5fedf0d, 0x83020cb3, 0xaec0e879,
1566     } },
1567     { { /* 383 */
1568     0x6f0fc773, 0x093ffd7d, 0x0157fff1, 0x01ff62fb,
1569     0x3bf3fdb4, 0x43b2b013, 0xff305ed3, 0xeb9f0fff,
1570     } },
1571     { { /* 384 */
1572     0xf203feef, 0xfb893fef, 0x9e9937a9, 0xa72cdef9,
1573     0xc1f63733, 0xfe3e812e, 0xf2f75d20, 0x69d7d585,
1574     } },
1575     { { /* 385 */
1576     0xffffffff, 0xff6fdb07, 0xd97fc4ff, 0xbe0fefce,
1577     0xf05ef17b, 0xffb7f6cf, 0xef845ef7, 0x0edfd7cb,
1578     } },
1579     { { /* 386 */
1580     0xfcffff08, 0xffffee3f, 0xd7ff13ff, 0x7ffdaf0f,
1581     0x1ffabdc7, 0x00000000, 0x00000000, 0x00000000,
1582     } },
1583     { { /* 387 */
1584     0x00000000, 0xe7400000, 0xf933bd38, 0xfeed7feb,
1585     0x7c767fe8, 0xffefb3f7, 0xd8b7feaf, 0xfbbfff6f,
1586     } },
1587     { { /* 388 */
1588     0xdbf7f8fb, 0xe2f91752, 0x754785c8, 0xe3ef9090,
1589     0x3f6d9ef4, 0x0536ee2e, 0x7ff3f7bc, 0x7f3fa07b,
1590     } },
1591     { { /* 389 */
1592     0xeb600567, 0x6601babe, 0x583ffcd8, 0x87dfcaf7,
1593     0xffa0bfcd, 0xfebf5bcd, 0xefa7b6fd, 0xdf9c77ef,
1594     } },
1595     { { /* 390 */
1596     0xf8773fb7, 0xb7fc9d27, 0xdfefcab5, 0xf1b6fb5a,
1597     0xef1fec39, 0x7ffbfbbf, 0xdafe000d, 0x4e7fbdfb,
1598     } },
1599     { { /* 391 */
1600     0x5ac033ff, 0x9ffebff5, 0x005fffbf, 0xfdf80000,
1601     0x6ffdffca, 0xa001cffd, 0xfbf2dfff, 0xff7fdfbf,
1602     } },
1603     { { /* 392 */
1604     0x080ffeda, 0xbfffba08, 0xeed77afd, 0x67f9fbeb,
1605     0xff93e044, 0x9f57df97, 0x08dffef7, 0xfedfdf80,
1606     } },
1607     { { /* 393 */
1608     0xf7feffc5, 0x6803fffb, 0x6bfa67fb, 0x5fe27fff,
1609     0xff73ffff, 0xe7fb87df, 0xf7a7ebfd, 0xefc7bf7e,
1610     } },
1611     { { /* 394 */
1612     0xdf821ef3, 0xdf7e76ff, 0xda7d79c9, 0x1e9befbe,
1613     0x77fb7ce0, 0xfffb87be, 0xffdb1bff, 0x4fe03f5c,
1614     } },
1615     { { /* 395 */
1616     0x5f0e7fff, 0xddbf77ff, 0xfffff04f, 0x0ff8ffff,
1617     0xfddfa3be, 0xfffdfc1c, 0xfb9e1f7d, 0xdedcbdff,
1618     } },
1619     { { /* 396 */
1620     0xbafb3f6f, 0xfbefdf7f, 0x2eec7d1b, 0xf2f7af8e,
1621     0xcfee7b0f, 0x77c61d96, 0xfff57e07, 0x7fdfd982,
1622     } },
1623     { { /* 397 */
1624     0xc7ff5ee6, 0x79effeee, 0xffcf9a56, 0xde5efe5f,
1625     0xf9e8896e, 0xe6c4f45e, 0xbe7c0001, 0xdddf3b7f,
1626     } },
1627     { { /* 398 */
1628     0xe9efd59d, 0xde5334ac, 0x4bf7f573, 0x9eff7b4f,
1629     0x476eb8fe, 0xff450dfb, 0xfbfeabfd, 0xddffe9d7,
1630     } },
1631     { { /* 399 */
1632     0x7fffedf7, 0x7eebddfd, 0xb7ffcfe7, 0xef91bde9,
1633     0xd77c5d75, 0x00000000, 0x00000000, 0x00000000,
1634     } },
1635     { { /* 400 */
1636     0x00000000, 0xfa800000, 0xb4f1ffee, 0x2fefbf76,
1637     0x77bfb677, 0xfffd9fbf, 0xf6ae95bf, 0x7f3b75ff,
1638     } },
1639     { { /* 401 */
1640     0x0af9a7f5, 0x00000000, 0x00000000, 0x2bddfbd0,
1641     0x9a7ff633, 0xd6fcfdab, 0xbfebf9e6, 0xf41fdfdf,
1642     } },
1643     { { /* 402 */
1644     0xffffa6fd, 0xf37b4aff, 0xfef97fb7, 0x1d5cb6ff,
1645     0xe5ff7ff6, 0x24041f7b, 0xf99ebe05, 0xdff2dbe3,
1646     } },
1647     { { /* 403 */
1648     0xfdff6fef, 0xcbfcd679, 0xefffebfd, 0x0000001f,
1649     0x98000000, 0x8017e148, 0x00fe6a74, 0xfdf16d7f,
1650     } },
1651     { { /* 404 */
1652     0xfef3b87f, 0xf176e01f, 0x7b3fee96, 0xfffdeb8d,
1653     0xcbb3adff, 0xe17f84ef, 0xbff04daa, 0xfe3fbf3f,
1654     } },
1655     { { /* 405 */
1656     0xffd7ebff, 0xcf7fffdf, 0x85edfffb, 0x07bcd73f,
1657     0xfe0faeff, 0x76bffdaf, 0x37bbfaef, 0xa3ba7fdc,
1658     } },
1659     { { /* 406 */
1660     0x56f7b6ff, 0xe7df60f8, 0x4cdfff61, 0xff45b0fb,
1661     0x3ffa7ded, 0x18fc1fff, 0xe3afffff, 0xdf83c7d3,
1662     } },
1663     { { /* 407 */
1664     0xef7dfb57, 0x1378efff, 0x5ff7fec0, 0x5ee334bb,
1665     0xeff6f70d, 0x00bfd7fe, 0xf7f7f59d, 0xffe051de,
1666     } },
1667     { { /* 408 */
1668     0x037ffec9, 0xbfef5f01, 0x60a79ff1, 0xf1ffef1d,
1669     0x0000000f, 0x00000000, 0x00000000, 0x00000000,
1670     } },
1671     { { /* 409 */
1672     0x00000000, 0x00000000, 0x00000000, 0x3c800000,
1673     0xd91ffb4d, 0xfee37b3a, 0xdc7f3fe9, 0x0000003f,
1674     } },
1675     { { /* 410 */
1676     0x50000000, 0xbe07f51f, 0xf91bfc1d, 0x71ffbc1e,
1677     0x5bbe6ff9, 0x9b1b5796, 0xfffc7fff, 0xafe7872e,
1678     } },
1679     { { /* 411 */
1680     0xf34febf5, 0xe725dffd, 0x5d440bdc, 0xfddd5747,
1681     0x7790ed3f, 0x8ac87d7f, 0xf3f9fafa, 0xef4b202a,
1682     } },
1683     { { /* 412 */
1684     0x79cff5ff, 0x0ba5abd3, 0xfb8ff77a, 0x001f8ebd,
1685     0x00000000, 0xfd4ef300, 0x88001a57, 0x7654aeac,
1686     } },
1687     { { /* 413 */
1688     0xcdff17ad, 0xf42fffb2, 0xdbff5baa, 0x00000002,
1689     0x73c00000, 0x2e3ff9ea, 0xbbfffa8e, 0xffd376bc,
1690     } },
1691     { { /* 414 */
1692     0x7e72eefe, 0xe7f77ebd, 0xcefdf77f, 0x00000ff5,
1693     0x00000000, 0xdb9ba900, 0x917fa4c7, 0x7ecef8ca,
1694     } },
1695     { { /* 415 */
1696     0xc7e77d7a, 0xdcaecbbd, 0x8f76fd7e, 0x7cf391d3,
1697     0x4c2f01e5, 0xa360ed77, 0x5ef807db, 0x21811df7,
1698     } },
1699     { { /* 416 */
1700     0x309c6be0, 0xfade3b3a, 0xc3f57f53, 0x07ba61cd,
1701     0x00000000, 0x00000000, 0x00000000, 0xbefe26e0,
1702     } },
1703     { { /* 417 */
1704     0xebb503f9, 0xe9cbe36d, 0xbfde9c2f, 0xabbf9f83,
1705     0xffd51ff7, 0xdffeb7df, 0xffeffdae, 0xeffdfb7e,
1706     } },
1707     { { /* 418 */
1708     0x6ebfaaff, 0x00000000, 0x00000000, 0xb6200000,
1709     0xbe9e7fcd, 0x58f162b3, 0xfd7bf10d, 0xbefde9f1,
1710     } },
1711     { { /* 419 */
1712     0x5f6dc6c3, 0x69ffff3d, 0xfbf4ffcf, 0x4ff7dcfb,
1713     0x11372000, 0x00000015, 0x00000000, 0x00000000,
1714     } },
1715     { { /* 420 */
1716     0x00003000, 0x00000000, 0x00000000, 0x00000000,
1717     0x00000000, 0x00000000, 0x00000000, 0x00000000,
1718     } },
1719     { { /* 421 */
1720     0x00000000, 0x00000000, 0x00000000, 0x00000000,
1721     0x00000000, 0xffffffff, 0xffffffff, 0x001fffff,
1722     } },
1723 };
1724
1725 #define L(n) ((FcCharLeaf *) &leaves[n])
1726
1727 static const FcCharLeaf *leaves_ab[2] = {
1728     L(  0), L(  1),
1729 };
1730
1731 static const FcChar16 numbers_ab[2] = {
1732     0x0000, 0x0004,
1733 };
1734
1735 static const FcCharLeaf *leaves_ar[1] = {
1736     L(  2),
1737 };
1738
1739 static const FcChar16 numbers_ar[1] = {
1740     0x0006,
1741 };
1742
1743 static const FcCharLeaf *leaves_az[4] = {
1744     L(  3), L(  4), L(  5), L(  6),
1745 };
1746
1747 static const FcChar16 numbers_az[4] = {
1748     0x0000, 0x0001, 0x0002, 0x0004,
1749 };
1750
1751 static const FcCharLeaf *leaves_ba[2] = {
1752     L(  0), L(  7),
1753 };
1754
1755 static const FcChar16 numbers_ba[2] = {
1756     0x0000, 0x0004,
1757 };
1758
1759 static const FcCharLeaf *leaves_be[2] = {
1760     L(  0), L(  8),
1761 };
1762
1763 static const FcChar16 numbers_be[2] = {
1764     0x0000, 0x0004,
1765 };
1766
1767 static const FcCharLeaf *leaves_bg[1] = {
1768     L(  9),
1769 };
1770
1771 static const FcChar16 numbers_bg[1] = {
1772     0x0004,
1773 };
1774
1775 static const FcCharLeaf *leaves_br[1] = {
1776     L( 10),
1777 };
1778
1779 static const FcChar16 numbers_br[1] = {
1780     0x0000,
1781 };
1782
1783 static const FcCharLeaf *leaves_ca[2] = {
1784     L( 11), L( 12),
1785 };
1786
1787 static const FcChar16 numbers_ca[2] = {
1788     0x0000, 0x0001,
1789 };
1790
1791 static const FcCharLeaf *leaves_co[1] = {
1792     L( 13),
1793 };
1794
1795 static const FcChar16 numbers_co[1] = {
1796     0x0000,
1797 };
1798
1799 static const FcCharLeaf *leaves_cs[2] = {
1800     L( 14), L( 15),
1801 };
1802
1803 static const FcChar16 numbers_cs[2] = {
1804     0x0000, 0x0001,
1805 };
1806
1807 static const FcCharLeaf *leaves_da[2] = {
1808     L( 16), L( 17),
1809 };
1810
1811 static const FcChar16 numbers_da[2] = {
1812     0x0000, 0x0001,
1813 };
1814
1815 static const FcCharLeaf *leaves_de[1] = {
1816     L( 18),
1817 };
1818
1819 static const FcChar16 numbers_de[1] = {
1820     0x0000,
1821 };
1822
1823 static const FcCharLeaf *leaves_el[1] = {
1824     L( 19),
1825 };
1826
1827 static const FcChar16 numbers_el[1] = {
1828     0x0003,
1829 };
1830
1831 static const FcCharLeaf *leaves_en[1] = {
1832     L( 20),
1833 };
1834
1835 static const FcChar16 numbers_en[1] = {
1836     0x0000,
1837 };
1838
1839 static const FcCharLeaf *leaves_eo[2] = {
1840     L( 21), L( 22),
1841 };
1842
1843 static const FcChar16 numbers_eo[2] = {
1844     0x0000, 0x0001,
1845 };
1846
1847 static const FcCharLeaf *leaves_es[1] = {
1848     L( 23),
1849 };
1850
1851 static const FcChar16 numbers_es[1] = {
1852     0x0000,
1853 };
1854
1855 static const FcCharLeaf *leaves_et[2] = {
1856     L( 24), L( 25),
1857 };
1858
1859 static const FcChar16 numbers_et[2] = {
1860     0x0000, 0x0001,
1861 };
1862
1863 static const FcCharLeaf *leaves_eu[2] = {
1864     L( 26), L( 27),
1865 };
1866
1867 static const FcChar16 numbers_eu[2] = {
1868     0x0000, 0x0001,
1869 };
1870
1871 static const FcCharLeaf *leaves_fi[2] = {
1872     L( 28), L( 25),
1873 };
1874
1875 static const FcChar16 numbers_fi[2] = {
1876     0x0000, 0x0001,
1877 };
1878
1879 static const FcCharLeaf *leaves_fo[1] = {
1880     L( 29),
1881 };
1882
1883 static const FcChar16 numbers_fo[1] = {
1884     0x0000,
1885 };
1886
1887 static const FcCharLeaf *leaves_fr[1] = {
1888     L( 13),
1889 };
1890
1891 static const FcChar16 numbers_fr[1] = {
1892     0x0000,
1893 };
1894
1895 static const FcCharLeaf *leaves_fy[1] = {
1896     L( 18),
1897 };
1898
1899 static const FcChar16 numbers_fy[1] = {
1900     0x0000,
1901 };
1902
1903 static const FcCharLeaf *leaves_ga[5] = {
1904     L( 30), L( 31), L( 32), L( 33), L( 34),
1905 };
1906
1907 static const FcChar16 numbers_ga[5] = {
1908     0x0000, 0x0001, 0x0002, 0x001e, 0x0020,
1909 };
1910
1911 static const FcCharLeaf *leaves_gd[1] = {
1912     L( 35),
1913 };
1914
1915 static const FcChar16 numbers_gd[1] = {
1916     0x0000,
1917 };
1918
1919 static const FcCharLeaf *leaves_gl[1] = {
1920     L( 36),
1921 };
1922
1923 static const FcChar16 numbers_gl[1] = {
1924     0x0000,
1925 };
1926
1927 static const FcCharLeaf *leaves_he[1] = {
1928     L( 37),
1929 };
1930
1931 static const FcChar16 numbers_he[1] = {
1932     0x0005,
1933 };
1934
1935 static const FcCharLeaf *leaves_hr[3] = {
1936     L( 38), L( 39), L( 40),
1937 };
1938
1939 static const FcChar16 numbers_hr[3] = {
1940     0x0000, 0x0001, 0x0002,
1941 };
1942
1943 static const FcCharLeaf *leaves_hu[2] = {
1944     L( 41), L( 42),
1945 };
1946
1947 static const FcChar16 numbers_hu[2] = {
1948     0x0000, 0x0001,
1949 };
1950
1951 static const FcCharLeaf *leaves_hy[1] = {
1952     L( 43),
1953 };
1954
1955 static const FcChar16 numbers_hy[1] = {
1956     0x0005,
1957 };
1958
1959 static const FcCharLeaf *leaves_is[1] = {
1960     L( 44),
1961 };
1962
1963 static const FcChar16 numbers_is[1] = {
1964     0x0000,
1965 };
1966
1967 static const FcCharLeaf *leaves_it[1] = {
1968     L( 45),
1969 };
1970
1971 static const FcChar16 numbers_it[1] = {
1972     0x0000,
1973 };
1974
1975 static const FcCharLeaf *leaves_ja[84] = {
1976     L( 46), L( 47), L( 48), L( 49), L( 50), L( 51), L( 52), L( 53),
1977     L( 54), L( 55), L( 56), L( 57), L( 58), L( 59), L( 60), L( 61),
1978     L( 62), L( 63), L( 64), L( 65), L( 66), L( 67), L( 68), L( 69),
1979     L( 70), L( 71), L( 72), L( 73), L( 74), L( 75), L( 76), L( 77),
1980     L( 78), L( 79), L( 80), L( 81), L( 82), L( 83), L( 84), L( 85),
1981     L( 86), L( 87), L( 88), L( 89), L( 90), L( 91), L( 92), L( 93),
1982     L( 94), L( 95), L( 96), L( 97), L( 98), L( 99), L(100), L(101),
1983     L(102), L(103), L(104), L(105), L(106), L(107), L(108), L(109),
1984     L(110), L(111), L(112), L(113), L(114), L(115), L(116), L(117),
1985     L(118), L(119), L(120), L(121), L(122), L(123), L(124), L(125),
1986     L(126), L(127), L(128), L(129),
1987 };
1988
1989 static const FcChar16 numbers_ja[84] = {
1990     0x0030, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054,
1991     0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, 0x005c,
1992     0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064,
1993     0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c,
1994     0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074,
1995     0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c,
1996     0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084,
1997     0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, 0x008c,
1998     0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094,
1999     0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, 0x009c,
2000     0x009d, 0x009e, 0x009f, 0x00ff,
2001 };
2002
2003 static const FcCharLeaf *leaves_ka[2] = {
2004     L(130), L(131),
2005 };
2006
2007 static const FcChar16 numbers_ka[2] = {
2008     0x0005, 0x0010,
2009 };
2010
2011 static const FcCharLeaf *leaves_kk[2] = {
2012     L(  0), L(132),
2013 };
2014
2015 static const FcChar16 numbers_kk[2] = {
2016     0x0000, 0x0004,
2017 };
2018
2019 static const FcCharLeaf *leaves_kl[2] = {
2020     L(133), L(134),
2021 };
2022
2023 static const FcChar16 numbers_kl[2] = {
2024     0x0000, 0x0001,
2025 };
2026
2027 static const FcCharLeaf *leaves_ko[132] = {
2028     L(135), L(136), L(137), L(138), L(139), L(140), L(141), L(142),
2029     L(143), L(144), L(145), L(146), L(147), L(148), L(149), L(150),
2030     L(151), L(152), L(153), L(154), L(155), L(156), L(157), L(158),
2031     L(159), L(160), L(161), L(162), L(163), L(164), L(165), L(166),
2032     L(167), L(168), L(169), L(170), L(171), L(172), L(173), L(174),
2033     L(175), L(176), L(177), L(178), L(179), L(180), L(181), L(182),
2034     L(183), L(184), L(185), L(186), L(187), L(188), L(189), L(190),
2035     L(191), L(192), L(193), L(194), L(195), L(196), L(197), L(198),
2036     L(199), L(200), L(201), L(202), L(203), L(204), L(205), L(206),
2037     L(207), L(208), L(209), L(210), L(211), L(212), L(213), L(214),
2038     L(215), L(216), L(217), L(218), L(219), L(220), L(220), L(220),
2039     L(220), L(220), L(220), L(220), L(220), L(220), L(220), L(220),
2040     L(220), L(220), L(220), L(220), L(220), L(220), L(220), L(220),
2041     L(220), L(220), L(220), L(220), L(220), L(220), L(220), L(220),
2042     L(220), L(220), L(220), L(220), L(220), L(220), L(220), L(220),
2043     L(220), L(220), L(220), L(220), L(220), L(220), L(220), L(220),
2044     L(221), L(220), L(222), L(223),
2045 };
2046
2047 static const FcChar16 numbers_ko[132] = {
2048     0x0030, 0x0031, 0x0032, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052,
2049     0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a,
2050     0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062,
2051     0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a,
2052     0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072,
2053     0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a,
2054     0x007b, 0x007c, 0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082,
2055     0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a,
2056     0x008b, 0x008c, 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092,
2057     0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a,
2058     0x009b, 0x009c, 0x009d, 0x009e, 0x009f, 0x00ac, 0x00ad, 0x00ae,
2059     0x00af, 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6,
2060     0x00b7, 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be,
2061     0x00bf, 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6,
2062     0x00c7, 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce,
2063     0x00cf, 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6,
2064     0x00d7, 0x00f9, 0x00fa, 0x00ff,
2065 };
2066
2067 static const FcCharLeaf *leaves_la[2] = {
2068     L( 21), L(224),
2069 };
2070
2071 static const FcChar16 numbers_la[2] = {
2072     0x0000, 0x0001,
2073 };
2074
2075 static const FcCharLeaf *leaves_lt[2] = {
2076     L( 21), L(225),
2077 };
2078
2079 static const FcChar16 numbers_lt[2] = {
2080     0x0000, 0x0001,
2081 };
2082
2083 static const FcCharLeaf *leaves_lv[2] = {
2084     L( 21), L(226),
2085 };
2086
2087 static const FcChar16 numbers_lv[2] = {
2088     0x0000, 0x0001,
2089 };
2090
2091 static const FcCharLeaf *leaves_mk[1] = {
2092     L(227),
2093 };
2094
2095 static const FcChar16 numbers_mk[1] = {
2096     0x0004,
2097 };
2098
2099 static const FcCharLeaf *leaves_mo[4] = {
2100     L(228), L(229), L(230), L(231),
2101 };
2102
2103 static const FcChar16 numbers_mo[4] = {
2104     0x0000, 0x0001, 0x0002, 0x0004,
2105 };
2106
2107 static const FcCharLeaf *leaves_mt[3] = {
2108     L(232), L(233), L(234),
2109 };
2110
2111 static const FcChar16 numbers_mt[3] = {
2112     0x0000, 0x0001, 0x0002,
2113 };
2114
2115 static const FcCharLeaf *leaves_nl[1] = {
2116     L(235),
2117 };
2118
2119 static const FcChar16 numbers_nl[1] = {
2120     0x0000,
2121 };
2122
2123 static const FcCharLeaf *leaves_no[1] = {
2124     L(236),
2125 };
2126
2127 static const FcChar16 numbers_no[1] = {
2128     0x0000,
2129 };
2130
2131 static const FcCharLeaf *leaves_oc[1] = {
2132     L(237),
2133 };
2134
2135 static const FcChar16 numbers_oc[1] = {
2136     0x0000,
2137 };
2138
2139 static const FcCharLeaf *leaves_pl[2] = {
2140     L(238), L(239),
2141 };
2142
2143 static const FcChar16 numbers_pl[2] = {
2144     0x0000, 0x0001,
2145 };
2146
2147 static const FcCharLeaf *leaves_pt[1] = {
2148     L(240),
2149 };
2150
2151 static const FcChar16 numbers_pt[1] = {
2152     0x0000,
2153 };
2154
2155 static const FcCharLeaf *leaves_rm[1] = {
2156     L(241),
2157 };
2158
2159 static const FcChar16 numbers_rm[1] = {
2160     0x0000,
2161 };
2162
2163 static const FcCharLeaf *leaves_ro[3] = {
2164     L(228), L(229), L(230),
2165 };
2166
2167 static const FcChar16 numbers_ro[3] = {
2168     0x0000, 0x0001, 0x0002,
2169 };
2170
2171 static const FcCharLeaf *leaves_ru[2] = {
2172     L(  0), L(242),
2173 };
2174
2175 static const FcChar16 numbers_ru[2] = {
2176     0x0000, 0x0004,
2177 };
2178
2179 static const FcCharLeaf *leaves_sh[1] = {
2180     L(243),
2181 };
2182
2183 static const FcChar16 numbers_sh[1] = {
2184     0x0004,
2185 };
2186
2187 static const FcCharLeaf *leaves_sk[2] = {
2188     L(244), L(245),
2189 };
2190
2191 static const FcChar16 numbers_sk[2] = {
2192     0x0000, 0x0001,
2193 };
2194
2195 static const FcCharLeaf *leaves_sl[3] = {
2196     L( 21), L(246), L(247),
2197 };
2198
2199 static const FcChar16 numbers_sl[3] = {
2200     0x0000, 0x0001, 0x0004,
2201 };
2202
2203 static const FcCharLeaf *leaves_sq[1] = {
2204     L(248),
2205 };
2206
2207 static const FcChar16 numbers_sq[1] = {
2208     0x0000,
2209 };
2210
2211 static const FcCharLeaf *leaves_sr[1] = {
2212     L(243),
2213 };
2214
2215 static const FcChar16 numbers_sr[1] = {
2216     0x0004,
2217 };
2218
2219 static const FcCharLeaf *leaves_sv[1] = {
2220     L(249),
2221 };
2222
2223 static const FcChar16 numbers_sv[1] = {
2224     0x0000,
2225 };
2226
2227 static const FcCharLeaf *leaves_th[1] = {
2228     L(250),
2229 };
2230
2231 static const FcChar16 numbers_th[1] = {
2232     0x000e,
2233 };
2234
2235 static const FcCharLeaf *leaves_tr[2] = {
2236     L(251), L(252),
2237 };
2238
2239 static const FcChar16 numbers_tr[2] = {
2240     0x0000, 0x0001,
2241 };
2242
2243 static const FcCharLeaf *leaves_uk[2] = {
2244     L(  0), L(253),
2245 };
2246
2247 static const FcChar16 numbers_uk[2] = {
2248     0x0000, 0x0004,
2249 };
2250
2251 static const FcCharLeaf *leaves_vo[1] = {
2252     L(254),
2253 };
2254
2255 static const FcChar16 numbers_vo[1] = {
2256     0x0000,
2257 };
2258
2259 static const FcCharLeaf *leaves_yi[1] = {
2260     L( 37),
2261 };
2262
2263 static const FcChar16 numbers_yi[1] = {
2264     0x0005,
2265 };
2266
2267 static const FcCharLeaf *leaves_zh_cn[82] = {
2268     L(255), L(256), L(257), L(258), L(259), L(260), L(261), L(262),
2269     L(263), L(264), L(265), L(266), L(267), L(268), L(269), L(270),
2270     L(271), L(272), L(273), L(274), L(275), L(276), L(277), L(278),
2271     L(279), L(280), L(281), L(282), L(283), L(284), L(285), L(286),
2272     L(287), L(288), L(289), L(290), L(291), L(292), L(293), L(294),
2273     L(295), L(296), L(297), L(298), L(299), L(300), L(301), L(302),
2274     L(303), L(304), L(305), L(306), L(307), L(308), L(309), L(310),
2275     L(311), L(312), L(313), L(314), L(315), L(316), L(317), L(318),
2276     L(319), L(320), L(321), L(322), L(323), L(324), L(325), L(326),
2277     L(327), L(328), L(329), L(330), L(331), L(332), L(333), L(334),
2278     L(335), L(336),
2279 };
2280
2281 static const FcChar16 numbers_zh_cn[82] = {
2282     0x0002, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054,
2283     0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, 0x005c,
2284     0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064,
2285     0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c,
2286     0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074,
2287     0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c,
2288     0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084,
2289     0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, 0x008c,
2290     0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094,
2291     0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, 0x009c,
2292     0x009e, 0x009f,
2293 };
2294
2295 static const FcCharLeaf *leaves_zh_tw[84] = {
2296     L(337), L(338), L(339), L(340), L(341), L(342), L(343), L(344),
2297     L(345), L(346), L(347), L(348), L(349), L(350), L(351), L(352),
2298     L(353), L(354), L(355), L(356), L(357), L(358), L(359), L(360),
2299     L(361), L(362), L(363), L(364), L(365), L(366), L(367), L(368),
2300     L(369), L(370), L(371), L(372), L(373), L(374), L(375), L(376),
2301     L(377), L(378), L(379), L(380), L(381), L(382), L(383), L(384),
2302     L(385), L(386), L(387), L(388), L(389), L(390), L(391), L(392),
2303     L(393), L(394), L(395), L(396), L(397), L(398), L(399), L(400),
2304     L(401), L(402), L(403), L(404), L(405), L(406), L(407), L(408),
2305     L(409), L(410), L(411), L(412), L(413), L(414), L(415), L(416),
2306     L(417), L(418), L(419), L(420),
2307 };
2308
2309 static const FcChar16 numbers_zh_tw[84] = {
2310     0x0030, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, 0x0054,
2311     0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, 0x005c,
2312     0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, 0x0064,
2313     0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, 0x006c,
2314     0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, 0x0074,
2315     0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, 0x007c,
2316     0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, 0x0084,
2317     0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, 0x008c,
2318     0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, 0x0094,
2319     0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, 0x009c,
2320     0x009d, 0x009e, 0x009f, 0x00fa,
2321 };
2322
2323 static const FcCharLeaf *leaves_chr[1] = {
2324     L(421),
2325 };
2326
2327 static const FcChar16 numbers_chr[1] = {
2328     0x0013,
2329 };
2330
2331 #undef L
2332
2333 static const FcLangCharSet  fcLangCharSets[] = {
2334     { (FcChar8 *) "ab",
2335       { 1, FcTrue, 2, (FcCharLeaf **) leaves_ab, (FcChar16 *) numbers_ab } },
2336     { (FcChar8 *) "ar",
2337       { 1, FcTrue, 1, (FcCharLeaf **) leaves_ar, (FcChar16 *) numbers_ar } },
2338     { (FcChar8 *) "az",
2339       { 1, FcTrue, 4, (FcCharLeaf **) leaves_az, (FcChar16 *) numbers_az } },
2340     { (FcChar8 *) "ba",
2341       { 1, FcTrue, 2, (FcCharLeaf **) leaves_ba, (FcChar16 *) numbers_ba } },
2342     { (FcChar8 *) "be",
2343       { 1, FcTrue, 2, (FcCharLeaf **) leaves_be, (FcChar16 *) numbers_be } },
2344     { (FcChar8 *) "bg",
2345       { 1, FcTrue, 1, (FcCharLeaf **) leaves_bg, (FcChar16 *) numbers_bg } },
2346     { (FcChar8 *) "br",
2347       { 1, FcTrue, 1, (FcCharLeaf **) leaves_br, (FcChar16 *) numbers_br } },
2348     { (FcChar8 *) "ca",
2349       { 1, FcTrue, 2, (FcCharLeaf **) leaves_ca, (FcChar16 *) numbers_ca } },
2350     { (FcChar8 *) "co",
2351       { 1, FcTrue, 1, (FcCharLeaf **) leaves_co, (FcChar16 *) numbers_co } },
2352     { (FcChar8 *) "cs",
2353       { 1, FcTrue, 2, (FcCharLeaf **) leaves_cs, (FcChar16 *) numbers_cs } },
2354     { (FcChar8 *) "da",
2355       { 1, FcTrue, 2, (FcCharLeaf **) leaves_da, (FcChar16 *) numbers_da } },
2356     { (FcChar8 *) "de",
2357       { 1, FcTrue, 1, (FcCharLeaf **) leaves_de, (FcChar16 *) numbers_de } },
2358     { (FcChar8 *) "el",
2359       { 1, FcTrue, 1, (FcCharLeaf **) leaves_el, (FcChar16 *) numbers_el } },
2360     { (FcChar8 *) "en",
2361       { 1, FcTrue, 1, (FcCharLeaf **) leaves_en, (FcChar16 *) numbers_en } },
2362     { (FcChar8 *) "eo",
2363       { 1, FcTrue, 2, (FcCharLeaf **) leaves_eo, (FcChar16 *) numbers_eo } },
2364     { (FcChar8 *) "es",
2365       { 1, FcTrue, 1, (FcCharLeaf **) leaves_es, (FcChar16 *) numbers_es } },
2366     { (FcChar8 *) "et",
2367       { 1, FcTrue, 2, (FcCharLeaf **) leaves_et, (FcChar16 *) numbers_et } },
2368     { (FcChar8 *) "eu",
2369       { 1, FcTrue, 2, (FcCharLeaf **) leaves_eu, (FcChar16 *) numbers_eu } },
2370     { (FcChar8 *) "fi",
2371       { 1, FcTrue, 2, (FcCharLeaf **) leaves_fi, (FcChar16 *) numbers_fi } },
2372     { (FcChar8 *) "fo",
2373       { 1, FcTrue, 1, (FcCharLeaf **) leaves_fo, (FcChar16 *) numbers_fo } },
2374     { (FcChar8 *) "fr",
2375       { 1, FcTrue, 1, (FcCharLeaf **) leaves_fr, (FcChar16 *) numbers_fr } },
2376     { (FcChar8 *) "fy",
2377       { 1, FcTrue, 1, (FcCharLeaf **) leaves_fy, (FcChar16 *) numbers_fy } },
2378     { (FcChar8 *) "ga",
2379       { 1, FcTrue, 5, (FcCharLeaf **) leaves_ga, (FcChar16 *) numbers_ga } },
2380     { (FcChar8 *) "gd",
2381       { 1, FcTrue, 1, (FcCharLeaf **) leaves_gd, (FcChar16 *) numbers_gd } },
2382     { (FcChar8 *) "gl",
2383       { 1, FcTrue, 1, (FcCharLeaf **) leaves_gl, (FcChar16 *) numbers_gl } },
2384     { (FcChar8 *) "he",
2385       { 1, FcTrue, 1, (FcCharLeaf **) leaves_he, (FcChar16 *) numbers_he } },
2386     { (FcChar8 *) "hr",
2387       { 1, FcTrue, 3, (FcCharLeaf **) leaves_hr, (FcChar16 *) numbers_hr } },
2388     { (FcChar8 *) "hu",
2389       { 1, FcTrue, 2, (FcCharLeaf **) leaves_hu, (FcChar16 *) numbers_hu } },
2390     { (FcChar8 *) "hy",
2391       { 1, FcTrue, 1, (FcCharLeaf **) leaves_hy, (FcChar16 *) numbers_hy } },
2392     { (FcChar8 *) "is",
2393       { 1, FcTrue, 1, (FcCharLeaf **) leaves_is, (FcChar16 *) numbers_is } },
2394     { (FcChar8 *) "it",
2395       { 1, FcTrue, 1, (FcCharLeaf **) leaves_it, (FcChar16 *) numbers_it } },
2396     { (FcChar8 *) "ja",
2397       { 1, FcTrue, 84, (FcCharLeaf **) leaves_ja, (FcChar16 *) numbers_ja } },
2398     { (FcChar8 *) "ka",
2399       { 1, FcTrue, 2, (FcCharLeaf **) leaves_ka, (FcChar16 *) numbers_ka } },
2400     { (FcChar8 *) "kk",
2401       { 1, FcTrue, 2, (FcCharLeaf **) leaves_kk, (FcChar16 *) numbers_kk } },
2402     { (FcChar8 *) "kl",
2403       { 1, FcTrue, 2, (FcCharLeaf **) leaves_kl, (FcChar16 *) numbers_kl } },
2404     { (FcChar8 *) "ko",
2405       { 1, FcTrue, 132, (FcCharLeaf **) leaves_ko, (FcChar16 *) numbers_ko } },
2406     { (FcChar8 *) "la",
2407       { 1, FcTrue, 2, (FcCharLeaf **) leaves_la, (FcChar16 *) numbers_la } },
2408     { (FcChar8 *) "lt",
2409       { 1, FcTrue, 2, (FcCharLeaf **) leaves_lt, (FcChar16 *) numbers_lt } },
2410     { (FcChar8 *) "lv",
2411       { 1, FcTrue, 2, (FcCharLeaf **) leaves_lv, (FcChar16 *) numbers_lv } },
2412     { (FcChar8 *) "mk",
2413       { 1, FcTrue, 1, (FcCharLeaf **) leaves_mk, (FcChar16 *) numbers_mk } },
2414     { (FcChar8 *) "mo",
2415       { 1, FcTrue, 4, (FcCharLeaf **) leaves_mo, (FcChar16 *) numbers_mo } },
2416     { (FcChar8 *) "mt",
2417       { 1, FcTrue, 3, (FcCharLeaf **) leaves_mt, (FcChar16 *) numbers_mt } },
2418     { (FcChar8 *) "nl",
2419       { 1, FcTrue, 1, (FcCharLeaf **) leaves_nl, (FcChar16 *) numbers_nl } },
2420     { (FcChar8 *) "no",
2421       { 1, FcTrue, 1, (FcCharLeaf **) leaves_no, (FcChar16 *) numbers_no } },
2422     { (FcChar8 *) "oc",
2423       { 1, FcTrue, 1, (FcCharLeaf **) leaves_oc, (FcChar16 *) numbers_oc } },
2424     { (FcChar8 *) "pl",
2425       { 1, FcTrue, 2, (FcCharLeaf **) leaves_pl, (FcChar16 *) numbers_pl } },
2426     { (FcChar8 *) "pt",
2427       { 1, FcTrue, 1, (FcCharLeaf **) leaves_pt, (FcChar16 *) numbers_pt } },
2428     { (FcChar8 *) "rm",
2429       { 1, FcTrue, 1, (FcCharLeaf **) leaves_rm, (FcChar16 *) numbers_rm } },
2430     { (FcChar8 *) "ro",
2431       { 1, FcTrue, 3, (FcCharLeaf **) leaves_ro, (FcChar16 *) numbers_ro } },
2432     { (FcChar8 *) "ru",
2433       { 1, FcTrue, 2, (FcCharLeaf **) leaves_ru, (FcChar16 *) numbers_ru } },
2434     { (FcChar8 *) "sh",
2435       { 1, FcTrue, 1, (FcCharLeaf **) leaves_sh, (FcChar16 *) numbers_sh } },
2436     { (FcChar8 *) "sk",
2437       { 1, FcTrue, 2, (FcCharLeaf **) leaves_sk, (FcChar16 *) numbers_sk } },
2438     { (FcChar8 *) "sl",
2439       { 1, FcTrue, 3, (FcCharLeaf **) leaves_sl, (FcChar16 *) numbers_sl } },
2440     { (FcChar8 *) "sq",
2441       { 1, FcTrue, 1, (FcCharLeaf **) leaves_sq, (FcChar16 *) numbers_sq } },
2442     { (FcChar8 *) "sr",
2443       { 1, FcTrue, 1, (FcCharLeaf **) leaves_sr, (FcChar16 *) numbers_sr } },
2444     { (FcChar8 *) "sv",
2445       { 1, FcTrue, 1, (FcCharLeaf **) leaves_sv, (FcChar16 *) numbers_sv } },
2446     { (FcChar8 *) "th",
2447       { 1, FcTrue, 1, (FcCharLeaf **) leaves_th, (FcChar16 *) numbers_th } },
2448     { (FcChar8 *) "tr",
2449       { 1, FcTrue, 2, (FcCharLeaf **) leaves_tr, (FcChar16 *) numbers_tr } },
2450     { (FcChar8 *) "uk",
2451       { 1, FcTrue, 2, (FcCharLeaf **) leaves_uk, (FcChar16 *) numbers_uk } },
2452     { (FcChar8 *) "vo",
2453       { 1, FcTrue, 1, (FcCharLeaf **) leaves_vo, (FcChar16 *) numbers_vo } },
2454     { (FcChar8 *) "yi",
2455       { 1, FcTrue, 1, (FcCharLeaf **) leaves_yi, (FcChar16 *) numbers_yi } },
2456     { (FcChar8 *) "zh-cn",
2457       { 1, FcTrue, 82, (FcCharLeaf **) leaves_zh_cn, (FcChar16 *) numbers_zh_cn } },
2458     { (FcChar8 *) "zh-tw",
2459       { 1, FcTrue, 84, (FcCharLeaf **) leaves_zh_tw, (FcChar16 *) numbers_zh_tw } },
2460     { (FcChar8 *) "chr",
2461       { 1, FcTrue, 1, (FcCharLeaf **) leaves_chr, (FcChar16 *) numbers_chr } },
2462 };
2463
2464
2465 #define NUM_LANG_CHAR_SET       (sizeof (fcLangCharSets) / sizeof (fcLangCharSets[0]))
2466                                                  
2467 FcBool
2468 FcFreeTypeSetLang (FcPattern *pattern, FcCharSet *charset)
2469 {
2470     int         i;
2471     FcChar32    missing;
2472
2473     for (i = 0; i < NUM_LANG_CHAR_SET; i++)
2474     {
2475         missing = FcCharSetSubtractCount (&fcLangCharSets[i].charset, charset);
2476         if (FcDebug() & FC_DBG_SCANV)
2477             printf ("%s(%d) ", fcLangCharSets[i].lang, missing);
2478         if (!missing && !FcFreeTypeHasLang (pattern, fcLangCharSets[i].lang))
2479             if (!FcPatternAddString (pattern, FC_LANG, fcLangCharSets[i].lang))
2480                 return FcFalse;
2481     }
2482     if (FcDebug() & FC_DBG_SCANV)
2483         printf ("\n");
2484     return FcTrue;
2485 }
2486
2487
2488 FcLangResult
2489 FcLangCompare (const FcChar8 *s1, const FcChar8 *s2)
2490 {
2491     const FcChar8   *orig_s1 = s1;
2492     FcChar8         c1, c2;
2493     FcLangResult    result;
2494     /*
2495      * Compare ISO 639 language codes
2496      */
2497     for (;;)
2498     {
2499         c1 = *s1++;
2500         c2 = *s2++;
2501         if (c1 == '\0' || c1 == '-')
2502             break;
2503         if (c2 == '\0' || c2 == '-')
2504             break;
2505         c1 = FcToLower (c1);
2506         c2 = FcToLower (c2);
2507         if (c1 != c2)
2508             return FcLangDifferentLang;     /* mismatching lang code */
2509     }
2510     if (!c1 && !c2)
2511         return FcLangEqual;
2512     /*
2513      * Make x-* mismatch as if the lang part didn't match
2514      */
2515     result = FcLangDifferentCountry;
2516     if (orig_s1[0] == 'x' && (orig_s1[1] == '\0' || orig_s1[1] == '-'))
2517         result = FcLangDifferentLang;
2518     
2519     if (c1 == '\0' || c2 == '\0')
2520         return result;
2521     /*
2522      * Compare ISO 3166 country codes
2523      */
2524     for (;;)
2525     {
2526         c1 = *s1++;
2527         c2 = *s2++;
2528         if (!c1 || !c2)
2529             break;
2530         c1 = FcToLower (c1);
2531         c2 = FcToLower (c2);
2532         if (c1 != c2)
2533             break;
2534     }
2535     if (c1 == c2)
2536         return FcLangEqual;
2537     else
2538         return result;
2539 }
2540
2541 const FcCharSet *
2542 FcCharSetForLang (const FcChar8 *lang)
2543 {
2544     int         i;
2545     int         country = -1;
2546     for (i = 0; i < NUM_LANG_CHAR_SET; i++)
2547     {
2548         switch (FcLangCompare (lang, fcLangCharSets[i].lang)) {
2549         case FcLangEqual:
2550             return &fcLangCharSets[i].charset;
2551         case FcLangDifferentCountry:
2552             if (country == -1)
2553                 country = i;
2554         default:
2555             break;
2556         }
2557     }
2558     if (country == -1)
2559         return 0;
2560     return &fcLangCharSets[i].charset;
2561 }